Category Archives: microsoft

The Windows Netbook experience: Toshiba NB300

I’ve just received a Toshiba NB300 Netbook, which looks like it will be useful for blogging and web access during a couple of conferences coming up shortly – up to 11 hours battery life, great. I am interested in the user experience when starting out with a new machine, so made a few notes.

I regard this as a critical issue. Microsoft and its OEM partners are up against Apple, a company which pays careful attention to the user experience, from box unwrapping on. Apple charges a premium of course; Windows machines are generally cheaper, and there is an unwritten deal that you put up with a certain amount of foistware and rough edges for the sake of better value overall. On the other hand, if users do not feel good about a product they are unlikely to recommend it to others; Apple has won a fanatical following partly thanks to this attention to detail.

So how was the Toshiba? Better than the Samsung/Vodafone Netbook about which I blogged last month, but still not great.

I switched on and was immediately guided through a registration wizard, being assured that this would activate my warranty. Next I was prompted to activate TEMPRO, a Toshiba service which is meant to send me alerts concerning software updates and so on. I tried to do so, but the activation wizard told me the serial number was invalid, though as far as I can tell it is correct. Next, TEMPRO sent me an alert that my warranty was not registered. You what?

Trying to imagine what a typical user might do, I clicked the Register button just in case. This started up Internet Explorer for the first time. Next, Google popped up a dialog asking me to agree to its privacy policy for the pre-installed Google toolbar. I clicked Disagree and it started uninstalling. In the meantime, IE started its welcome wizard and McAfee started badgering me that I was not fully protected. Here’s my screen a few minutes after first power-on:

image

The problem here is that a bunch of different applications want to get you to agree some terms or set up a subscription, and they are all competing for attention. It is all very predictable, and the end result is ugly. You would think that someone could figure out how to do this in an organised manner.

I took a look at Control Panel. There was a ton of stuff installed although Toshiba is certainly not the worst when it comes to the bundling game. Pre-installed software included the following:

  • Adobe AIR
  • Amazon.co.uk
  • eBay.co.uk
  • Java 6
  • McAfee Security Center (reboot required on uninstall)
  • Silverlight 3
  • Office Home and Student 2007 trial (reboot required on uninstall)
  • Powerpoint 2007
  • Microsoft Works 9
  • Photo Service powered by myphotobook
  • An amazing number of Toshiba utilities – I counted 24
  • Wild Tangent games
  • Windows Live Essentials

I tried Office 2007 trial, which asked to install an ActiveX control to check whether Office 2007 was already installed. This seems a clumsy solution, and perplexing for the user. I let it install, then clicked Buy Now, which got me to a web site where I could purchase it for £86.04.

Microsoft Works 9.0 is also installed in a full version, but whereas Office 2007 has an icon on the desktop, Works is hidden away in the Start menu. It might be all you need on a Netbook, except that its default document formats are unhelpful, if you need to share them with others. Works can open Microsoft’s Office 2007 XML formats (.docx, .xslsx) to some extent, but things went a little awry after I uninstalled Office 2007 trial. Double-clicking a .docx raises a Save As dialog defaulting to .docm, the macro-enabled Open XML format, which is something to do with the Microsoft Open XML Converter. I can’t imagine why it is doing that. Office 2007 will be going back on shortly.

A Toshiba utility called Web Camera Application has an annoying menu which docks to the side of the screen and pops up when you move the mouse there. Since Microsoft has worked hard on the taskbar area, which is where always-on utilities normally live, I’m not clear why Toshiba thinks this is a good idea. Having said that, the similar effort at the top of the screen which handles the Fn keys (known as Flash Cards) is not so bad: mouse activation is off by default, and it shows at a glance what all these keys do. Fn-F8 disables wireless for flight mode, for example. If you want to get rid of the side menu but not the top one, open it and right-click. Uncheck Auto Run and then click Close. If you then want it back, choose Start – All Programs – Toshiba – Utilities – Web Camera Application.

Toshiba pre-installs a multi-function utility called Toshiba Bulletin Board. It includes a Message Center which raises alerts, some of which link to TEMPRO as mentioned above. This turns out to be a bit of a usability disaster too. Here’s what happens. I get a notification that there are alerts to be read. I open Toshiba Bulletin Board and click a hyperlink to open Message Center. It says TEMPRO has some alerts to read, so I click Open. Now I’m in TEMPRO which apparently was not designed with the short 1024×600 screen in mind. It has lots of stuff in a huge dialog, leaving only 1.5 lines of space for the actual message, with a tiny scroll bar next to it. I’ve encircled the message in the pic below so you can see it:

image

This one is a new software driver. Sounds like something useful, so I click Alert Details. This takes me to a web page called Driver Details. It has a big download icon, but clicking that does nothing. The page says:

To download your chosen file, simply click on the filename below.

Curiously, the “filename” is actually a link to an HTML page.

image

I click it. Now I’m here:

image

The IE pop-up blocker is doing its stuff, and if I’m impatient I can click a link. I wait a few seconds, nothing happens, so I click the link.

Help! Now I’m at some kind of portal with four big buttons and no clue which to click:

image

I vaguely recall it was a wireless driver so using my knowledge of acronyms I click WLAN Downloads:

image

Lovely! Now I have a list of around 25 downloads for various operating systems. All I have to do is decide whether my adapter is Intel, Atheros or Realtek, and which version and operating system I require.

Sorry, Toshiba, this is a bad joke. You’ve installed your special utility supposedly to make it easy to keep your product up-to-date, it takes multiple clicks to get anywhere useful, and it is so hopeless that it cannot even select the right driver automatically.

By the way, there is yet another update utility called Toshiba Service Station that comes with an intimidating agreement saying it will keep your data for seven years. I tried that too when prompted; it said No software updates available. How many update utilities does a little netbook need?

While I’m beating up this machine, let me mention the partitioning. The hard drive is only 250GB, but it is divided into three partitions: a small hidden partition for some clever recovery stuff, then two equally-sized partitions one called Windows and the other Data. There’s a case for having a separate partition for the operating system, though I don’t much like it on a Windows client machine because getting the sizes right is a challenge. However, Toshiba hasn’t really done what the names imply. Everything is on the Windows partition, including the data. In other words, the user’s home directory and documents are on the operating system partition. The only thing on drive D is an irritating directory called HDDRecovery which includes a readme pleading with you not to delete it.

Drive D may be handy though – I expect I’ll be trying MeeGo on here soon.

Lessons not learned

I like Toshiba machines, I know Windows backwards, and likely this machine will do a great job for me. Nevertheless, I can see that it has all sorts of usability issues, and that these are mostly not Microsoft’s fault but put there by the OEM vendor.

It beats why there isn’t some kind of usability trial where the prototype is put before a user, who is asked to turn the machine on and, as they say, follow the on-screen directions. The issues are not hard to spot. Toshiba is not a small company; it has the skills and resources to make a machine that offers a pleasing user experience.

It also beats me why resources are devoted to half-baked software like Toshiba Bulletin Board and TEMPRO, which are counter-productive, instead of aiming to integrate seamlessly with the good usability work Microsoft has done in Windows 7.

Why programmers should study Microsoft’s random failure and not trust Google search

The bizarre story of the EU-mandated Windows browser choice screen took an unexpected twist recently when it was noticed that the order of the browsers was not truly random.

image

IBM’s Rob Weir was not the first to spot the problem, but did a great job in writing it up, both when initially observed and after it was fixed by Microsoft.

It was an algorithm error, a piece of code that did not return the results the programmer intended.

Unless Microsoft chooses to tell us, there is no way to tell how the error happened. However, as Weir and others observe, it may be significant that a Google search for something like Javascript random sort immediately gets you sample code that has the same error. Further, the error is not immediately obvious, making it particularly dangerous.

I am sure I am not the only person to turn to Google when confronted with some programming task that requires some research. In general, it is a great resource; and Google’s own algorithms help a little with filtering the results so that sites with better reputation or more inbound links come higher in the results.

Still, what this case illustrates – though accepting again that we do not know how the error occurred in this instance – is that pasting code from a Google search into your project without fully understanding and testing it does not always work. Subtle bugs like this one, which may go unnoticed for a long time, can have severe consequences. Randomisation is used in security code, for example.

As an aside, there also seems to be some randomness in the appearance of the browser choice screen. It turned up on my laptop, but not on my desktop, although both have IE as the default.

And who would have guessed that the EU would arrange for so many of us to get an ad for something like the GreenBrowser popping up on our desktop? Apparently it is the “best choice of flexible and powerful green web browser”, though since it is based on IE it is less radical a choice than it first seems.

image

Microsoft maybe gets the cloud – maybe too late

Microsoft CEO Steve Ballmer gave a talk on the company’s cloud strategy at the University of Washington yesterday. Although a small event, the webcast was widely publicised and coincides with a leaked internal memo on “how cloud computing will change the way people and businesses use technology”, a new Cloud website, and a Cloud Computing press portal, so it is fair to assume that this represents a significant strategy shift.

According to Ballmer:

about 70 percent of our folks are doing things that are entirely cloud-based, or cloud inspired. And by a year from now that will be 90 percent

I watched the webcast, and it struck me as significant that Ballmer kicked off with a vox pop video where various passers by were asked what they thought about cloud computing. Naturally they had no idea, the implication being, I suppose, that the cloud is some new thing that most people are not yet aware of. Ballmer did not spell out why Microsoft made the video, but I suspect he was trying to reassure himself and others that his company is not too late.

I thought the vox pop was mis-conceived. Cloud computing is a technical concept. What if you did a vox pop on the graphical user interface? or concurrency? or Unix? or SQL? You would get equally baffled responses.

It was an interesting contrast with Google’s Eric Schmidt who gave a talk at last month’s Mobile World Congress that was also a big strategy talk; I posted about it here. Schmidt takes the cloud for granted. He does not treat it as the next big thing, but as something that is already here. His talk was both inspiring and chilling. It was inspiring in the sense of what is now possible – for example, that you can go into a restaurant, point your mobile at a foreign-language menu, and get back an instant translation, thanks to Google’s ability to mine its database of human activity. It was chilling with its implications for privacy and Schmidt’s seeming disregard for them.

Ballmer on the other hand is focused on how to transition a company whose business is primarily desktop operating systems and software to one that can prosper in the cloud era:

If you think about where we grew up, other than Windows, we grew up with this product called Microsoft Office. And it’s all about expressing yourself. It’s e-mail, it’s Word, it’s PowerPoint. It’s expression, and interaction, and collaboration. And so really taking Microsoft Office to the cloud, letting it run in the cloud, letting it run from the cloud, helping it let people connect and communicate, and express themselves. That’s one of the core kind of technical ambitions behind the next release of our Office product, which you’ll see coming to market this June.

Really? That’s not my impression of Office 2010. It’s the same old desktop suite, with a dollop of new features and a heavily cut-down online version called Office Web Apps. The problem is not only that Office Web Apps is designed to keep you dependent on offline Office. The problem is that the whole model is wrong. The business model is still based on the three-year upgrade cycle. The real transition comes when the Web Apps are the main version, to which we subscribe, which get constant incremental updates and have an API that lets them participate in mash-ups across the internet.

That said, there are parallels between Ballmer’s talk and that of Schmidt. Ballmer spoke of 5 dimensions:

  • The cloud creates opportunities and responsibilities
  • The cloud learns and helps you learn, decide and take action
  • The cloud enhances your social and professional interactions
  • The cloud wants smarter devices
  • The cloud drives server advances

In the most general sense, those are similar themes. I can even believe that Ballmer, and by implication Microsoft, now realises the necessity of a deep transition, not just adding a few features to Office and Windows. I am not sure though that it is possible for Microsoft as we know it, which is based on Windows, Office and Partners.

Someone asks if Microsoft is just reacting to others. Ballmer says:

You know, if I take a look and say, hey, look, where am I proud of where we are relative to other guys, I’d point to Azure. I think Azure is very different than anything else on the market. I don’t think anybody else is trying to redefine the programming model. I think Amazon has done a nice job of helping you take the server-based programming model, the programming model of yesterday that is not scale agnostic, and then bringing it into the cloud. They’ve done a great job; I give them credit for that. On the other hand, what we’re trying to do with Azure is let you write a different kind of application, and I think we’re more forward-looking in our design point than on a lot of things that we’re doing, and at least right now I don’t see the other guy out there who’s doing the equivalent.

Sorry, I don’t buy this either. Azure does have distinct advantages, mainly to do with porting your existing ASP.NET application and integrating with existing Windows infrastructure. I don’t believe it is “scale agnostic”; something like Google App Engine is better in that respect. With Azure you have to think about how many virtual machines you want to purchase. Nor do I think Azure lets you write “a different kind of application.” There is too little multi-tenancy, too much of the old Windows server model remains in Azure.

Finally, I am surprised how poor Microsoft has become at articulating its message. Azure was badly presented at last year’s PDC, which Ballmer did not attend. It is not an attractive platform for small-scale developers, which makes it hard to get started.

Windows Phone 7 incompatibility may drive developers elsewhere

Microsoft’s Charlie Kindel has blogged about the Windows Phone 7 development platform.

As widely leaked, the new mobile device supports Silverlight and XNA; Kindel also mentions .NET, but since both Silverlight and XNA are .NET platforms, that might not mean anything additional.

The big story is about compatibility:

To deliver what developers expect in the developer platform we’ve had to change how phone apps were written. One result of this is previous Windows mobile applications will not run on Windows Phone 7 Series.

This puts Microsoft in an awkward position. Support for custom business apps has been one of the better aspects of Windows Mobile. What Microsoft should do is to have some way of continuing to run those old apps on the new devices. Instead, Kindel adds:

To be clear, we will continue to work with our partners to deliver new devices based on Windows Mobile 6.5 and will support those products for many years to come, so it’s not as though one line ends as soon as the other begins.

I would not take much account of this. No doubt there will some devices, but demand for Windows Mobile will dive through the floor (if it has not already) once Phone 7 is available, making it an unattractive proposition for hardware partners.

The danger for Microsoft is that after this let-down, those with existing Windows Mobile apps that are now forced to choose a new development platform might choose one from a competitor.

The mitigation is that apps which use the Compact Framework will likely be easier to port to Windows Phone 7, because the language is the same. Native code apps are a different matter. Of course it will be technically possible to write native code apps for Windows Phone 7, but probably locked down and restricted to special cases, such as perhaps the Adobe Flash runtime (I am speculating here).

PS – I see that developer Thomas Amberg has articulated exactly these concerns in a comment to Kindel’s post:

Platform continuity was the single most important feature of Windows Mobile. Being able to run code from 2003 on a current phone is more important to our customers than a fancy UI (which Microsoft seems not able to get right anyway). Further, the ability to access hardware specific APIs through P/Invoke has been vital in many of our projects (e.g. to use Bluetooth in the early days). Those advantages have now gone. You just rendered useless years of development work and many thousands of lines of code.

"we will continue to work with our partners to deliver new devices based on Windows Mobile 6.5 and will support those products for many years to come"

You will, I bet. But which device manufacturer will produce such "dead-end" devices?

Time to switch to another mobile OS.

Microsoft’s super-exciting Sky TV on Xbox with social interaction

I’m watching Microsoft’s Steve Ballmer present a session on cloud computing. It’s been underwhelming so far, but I was interested to see how Sky TV will look on Xbox 360 (though I’d readily swap it for BBC iPlayer, which Microsoft seems to be obstructing). The key point: you can watch with your Xbox Live friends and interact during the broadcast.

The broadcast was coming all the way from the UK to west coast USA, which was apparently why the avatars spent some time watching a buffering thermometer. Still, it worked eventually.

image

More on Ballmer’s cloud perspective later.

Microsoft .NET gotchas revealed by Visual Studio team

The Visual Studio Blog makes great reading for .NET developers, and not only because of the product it describes. Visual Studio 2010 is one of the few Microsoft products that has made a transition from native C++ code to .NET managed code – the transition is partial, in that parts of Visual Studio remain in native code, but this is true of the shell and the editor, two of the core components. Visual Studio is also a complex application, and one that is extensible by third parties. Overall the development team stressed the .NET platform, which is good for the rest of us because the developers are in a strong position both to understand problems, and to get them fixed even if it means changes to the .NET Framework.

Two recent posts interested me. One is Marshal.ReleaseComObject Considered Dangerous. I have some familiarity with this obscure-sounding topic, thanks to work on embedding Internet Explorer components. It relates to a fundamental feature of .NET: the ability to interact with the older COM component model, which is still widely used. In fact, Microsoft still uses COM for new Windows 7 APIs; but I digress. A strong feature of .NET from its first release is that it can easily consume COM objects, and also expose .NET objects to COM.

The .NET platform manages memory using garbage collection, where the runtime detects objects that are no longer referenced by active code and deletes them. COM on the other hand uses reference counting, maintaining a count of the number of references to an object and deleting the object when it reaches zero.

Visual Studio 2008 and earlier has lots of COM APIs. Some of these were called from .NET code, and for the same of efficiency called the method mentioned above, Marshal.ReleaseComObject, to reduce the reference count immediately so that the COM object would be deleted.

Now here comes Visual Studio 2010, and some of those COM APIs are re-implemented as .NET code. For compatibility with existing code, the new .NET code is also exposed as a COM API. Some of that existing code is actually .NET code which wraps the COM API as .NET code. Yes, we have .NET to COM to .NET, a double wrapper. Everything still works though, until you call Marshal.ReleaseComObject on the doubly-wrapped object. At this point the .NET runtime throws up its hands and says it cannot decrement the reference count, because it isn’t really a COM object. Oops.

The post goes on to observe that Marshal.ReleaseComObject is dangerous in any cause, because it leaves you with an invalid .NET wrapper. This means you should only call it when the .NET instance is definitely not going to be used again. Obvious, really.

Once you’ve digested that, try this illuminating post on WPF in Visual Studio 2010 – Part 2 : Performance tuning. WPF, or Windows Presentation Foundation, is the .NET API for rich graphical user interfaces on desktop Windows applications. Here is an example of why you should read the post, if you work with WPF. Many of us frequently use Remote Desktop to run applications on remote PCs or PCs that do not have a screen and keyboard attached. This is really a bad scenario for WPF, which is designed to take advantage of local accelerated graphics. Here’s the key statement:

Over a remote desktop connection, all WPF content is rendered as a bitmap. This is in contrast to GDI rendering, where primitives such as rectangles and text are sent over the wire for reconstruction on the client.

It’s a bad scenario, but mitigated if you use graphics that are amenable to compression, like solid colours. There are also some tweaks introduced in WPF 4.0, like the ability to scroll an area on the remote client, which saves having to re-send the entire bitmap if it has moved.

Google Chrome usage growing fast; Apple ahead on mobile web

Looking at my browser stats for February one thing stands out: Google Chrome. The top five browsers are these:

  1. Internet Explorer 40.5%
  2. Firefox 34.1%
  3. Chrome 10.5%
  4. Safari 4.3%
  5. Opera 2.9%

Chrome usage has more than doubled in six months, on this site.

I don’t pretend this is representative of the web as a whole, though I suspect it is a good leading indicator because of the relatively technical readership. Note that although I post a lot about Microsoft, IE usage here is below that on the web as a whole. Here are the figures from NetMarketShare for February:

  1. Internet Explorer 61.58%
  2. Firefox 24.23%
  3. Chrome 5.61%
  4. Safari 4.45%
  5. Opera 2.35%

and from  statcounter:

  1. Internet Explorer 54.81%
  2. Firefox 31.29%
  3. Chrome 6.88%
  4. Safari 4.16%
  5. Opera 1.94%

There are sizeable variations (so distrust both), but similar trends: gradual decline for IE, Firefox growing slightly, Chrome growing dramatically. Safari I suspect tracks Mac usage closely, a little below because some Mac users use Firefox. Mobile is interesting too, here’s StatCounter:

  1. Opera 24.26
  2. iPhone 22.5
  3. Nokia 16.8
  4. Blackberry 11.29
  5. Android 6.27
  6. iTouch 10.87

Note that iPhone/iTouch would be top if combined. Note also the complete absence of IE: either Windows Mobile users don’t browse the web, or they use Opera to do so.

I’m most interested in how Chrome usage is gathering pace. There are implications for web applications, since Chrome has an exceptionally fast JavaScript engine. Firefox is fast too, but on my latest quick Sunspider test, Firefox 3.6 scored 998.2ms vs Chrome 4.0’s 588.4ms (lower is better). IE 8.0 is miserably slow on this of course; just for the record, 5075.2ms.

Why are people switching to Chrome? I’d suggest the following. First, it is quick and easy to install, and installs into the user’s home directory on Windows so does not require local administrative rights. Second, it starts in a blink, contributing to a positive impression. Third, Google is now promoting it vigorously – I frequently see it advertised. Finally, users just like it; it works as advertised, and generally does so quickly.

Windows trackpad annoyances: disappearing pointer, auto clicking

Today the mouse pointer disappeared on my Toshiba laptop running Windows 7 disappeared. I could see that the trackpad or mouse (it made no difference if I plugged in a USB mouse) was working, because I could see mouseover effects as I moved round the screen, but the actual pointer was not visible.

The immediate workaround is to go to Control Panel, search for Mouse, and click Make it easier to see the mouse pointer. Tab to Display Pointer Trails and press the spacebar. This lets you see the mouse at least while it is moving. It disappears again when stationary.

image

It’s definitely an improvement; but not a complete fix. What is? Well, rebooting; but the problem may recur. Things that might help: tweaking display settings, updating the video driver, avoiding hibernation. If anyone has a definitive fix, I’d love to hear.

While I’m on the subject, here’s another constant annoyance. Every new laptop install of Windows 7 that I’ve seen has a feature called tapping enabled. This converts taps on your touchpad into mouse clicks. It is the first thing I turn off. The reason it drives me crazy is that it always detects unintended taps. The consequences are severe: buttons appear to click themselves, dialogs close unexpectedly, work can even be lost.

Worse still, it is not an easy setting to find. First, you must have the proper driver installed – usually its a Synaptics driver, though downloaded from your laptop vendor’s site. Second, you have to go to Control Panel, Mouse, Change Mouse Settings, Advanced tab, click Advanced Feature Settings, then click Settings under Detailed Settings for Touch Pad operations, then uncheck Enable Tapping. At least, that’s how it is on mine; the path may vary slightly on others.

image

This is a setting that should be off by default; and a setting that should be easy to find, not buried under obscure labels like “Advanced”.

I have lost count of the number of people who have been delighted when I’ve showed them how to disable this feature. “Thank you; I wondered why it kept clicking by itself.”

Fragmentation and the RIA wars: Flash is the least bad solution

The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an open letter to Google:

Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web’s dependence on patent-encumbered video formats and proprietary software (Flash) … Apple has had the mettle to ditch Flash on the iPhone and the iPad – albeit for suspect reasons and using abhorrent methods (DRM) – and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash’s dominance in web video.

Fair point; but one thing the FSF misses is that Apple’s stance has not only “pushed web developers to make Flash-free alternatives of their pages”. It has also pushed developers into making Apple-specific apps as an alternative to web pages – which to my mind is unfortunate.

The problem goes beyond web pages. If you have an application that goes beyond HTML and JavaScript, maybe for offline use or to integrate with other local applications or hardware, there is no cross-platform solution for the iPhone, iTouch or forthcoming iPad.

While I understand that non-proprietary platforms are preferable to proprietary platforms, it seems to me that a free cross-platform runtime is less evil than a vendor-controlled platform where I have to seek approval and share income with the vendor just to get my app installed.

More broadly, it is obvious that the days of Windows on the desktop, Web for everything else are over. We are seeing a proliferation of devices, each with their own SDK: alongside Apple there is Palm WebOS, Nokia/Intel Meego, Google Android, and when Windows Phone 7 comes along, Microsoft Silverlight.

The question: if you have an application and want to reach all these platforms, what do you do? A web app if possible; but otherwise?

It is the new fragmentation; and frankly, Adobe Flash is the closest thing we have to a solution, particularly with the native compilation option for iPhone that is coming in Creative Suite 5.

I don’t like the idea of a single company owning the runtime that unifies all these platforms. That’s not healthy. Still, at least Adobe is currently independent of the obvious industry giants: Google, Apple, Microsoft, IBM and so on.

Dealing a death-blow to Flash is all very well, but the end result could be something worse.

What’s on at Mix 2010 – some surprises as Microsoft talks standards

Microsoft’s Mix conference is on next month – probably the company’s second most interesting conference after PDC, though this Mix looks rather better than last year’s relatively drab PDC (free laptops aside). The company has plenty to talk about, primarily around Windows Phone development – twelve sessions! – Internet Explorer 9, and Silverlight 4. Mix is meant to be a web design conference – though it has always strayed extensively into Windows-only territory – and the inclusion of Windows Phone is a bit of a stretch, but I doubt attendees will care.

It’s notable that Microsoft is making more than a nod to web standards and open source. There is a full day workshop from Molly Holzschlag on HTML5 Now: The Future of Web Markup Today, John Resig on How jQuery Makes Hard Things Simple, and Doug Schepers from the W3C with Microsoft’s Patrick Dengler on SVG: The Past, Present and Future of Vector Graphics for the Web; Christian Heilmann on Participating in the Web of Data with Open Standards; and not forgetting Miguel de Icaza on The Mono Project.

Why would Microsoft talk about such things? Arguably it is a kind of smokescreen, talking standards while busily promoting proprietary stuff like SharePoint and Silverlight. I think there is some of that; but that this new focus also reflects power shifts in the industry. In the new cloud-based era Microsoft has to compete with Google, Mozilla and others; and to make sure that its stuff works in some measure on a diversity of clients, from Android to iPhone. Note the session on Practical Strategies for Debugging Cross-Browser Display Issues.

I would not call this a conversion. I would say this is more about “Windows if we can, standards if we must”. That necessity is increasing though, and the sessions at Mix reflect that.