MS shines Silverlight into thin AIR (and kicks 'beaten up' Google Gears)
We say 'Hah!' to your puny desktop experience
At the Mix07 conference in London last week, Scott Guthrie, co-inventor of ASP.NET and Microsoft's general manager for the technology, presented the latest plans for ASP.NET and Silverlight and took a swipe at the competition in the process.
Version 1.1 of Silverlight is set for release during 2008, and looks compelling for .NET developers, since it delivers a cross-platform .NET runtime for Windows, Mac and (just announced) Linux. That said, Microsoft has no direct equivalent to Adobe's AIR, which takes the Flash runtime out of the browser to form a desktop application.
I asked Guthrie, who runs the development teams that build the .NET Framework, if there are any plans to take Silverlight in that direction. "If you want to have the richest desktop experience it requires significantly more than what's going to be in AIR," he told me, claiming that there is "a lot of frustration with AIR", and making the point that an AIR application will not look truly native to its host platform.
He is equally dismissive of Google Gears, an API for making browser applications work offline. "How does offline work? If you close your browser, is your data saved, or not? If you're filling out your expense report on a plane, and you clear your cache, did you lose your expense report or not? This is why Google Gears has been pretty beaten up by the community. It's asked 'How does Gmail work offline?' and right now there's no answer, it doesn't. It sounded great and turned out to be a lot less than people thought."
Does this mean that the idea of browser applications that work seamlessly online and offline is not feasible? "I think it will happen," says Guthrie, but adds that it will need deep browser support. "FireFox and IE need to provide more of a user model, so you could indicate, when the browser gets closed and you have some unsaved state, how to prompt the user. The user must choose how much data to give a site, and when to clear it, and who gets permission to see it. Those are the things browsers need to add, and at that point you could build a great offline solution."
Microsoft's cool attitude to offline web applications is understandable, given that it has its own solution for offline clients: use Windows. Nevertheless, the appearance of cross-platform .NET within Silverlight is an admission that this answer does not work for everyone. Guthrie says the company is serious about cross-platform. "One of the things we did with our Mac [Silverlight] port is that we didn't release any features that didn't work on the Mac. We had some early features that were working on some browsers and not others, and we said, those features will not ship in this upcoming beta, until it works the same everywhere." Will that be true on Linux as well? "We're going to be giving the Moonlight project all of our test suites that we use internally, and all of our specs. We want to make sure we have a highly compatible implementation."
Guthrie says that the number of existing Microsoft developers gives Visual Studio and Silverlight an advantage over Adobe's FlexBuilder and Flash. "Flex is probably a 20th the size of the ASP.NET developer base. So it's still pretty small. I don't mean to minimise it, but we're going to have a really compelling offering with Silverlight that's richer and we'll have better tools and language support."
In reality, Adobe's technology is not quite free of lock-in since it depends on the proprietary Flash runtime, but it is a more natural fit for Java developers than Silverlight, just as Microsoft's plug-in has obvious appeal for .NET developers. ®