March 11th 2008 | Jens C Brynildsen
Last week was Microsoft's week in the blogosphere, but what was all the fuss really about? Some people in Microsoft circles say that "Microsoft changed the web". Did they really? Beta versions of Internet Explorer 8, Silverlight 2 and all the Expression tools were announced but what does it really mean?
Some seem to think this weeks announcements changed the web or even the world but is that really so? I'm not dismissing Silverlight by any means, but what was revealed last week was no revolution and certainly not a threat to Flash. What makes Silverlight interesting is not necessarily where its at right now, but rather what it has the potential to become. Silverlight is very important to Microsoft's survival in the long run and Microsoft have now accepted that the web will be the platform of the future. "The web is at the centre of everything Microsoft is doing," said Microsoft's chief software architect Ray Ozzie at Mix08.
Last year, Microsoft's cash cow Office got a lot of new competitors. While few of these will really challenge the Redmond software maker today, it's a sign of the times that software is moving to the web as the platform. The operating system is becoming less important and this will eventually hurt Microsoft's operating system business. Windows is dominant and will be so for years, but when two of your biggest income streams slow down you need to think different. Microsoft really does think differently about the web now.
Several sources have indicated that Microsoft is working on online versions of their key software. These plans were confirmed by Microsoft employees during the Mix08 conference and this confirms that also Microsoft sees their software moving online. Silverlight is the product that will enable this first first wave of online applications. Don't expect the first wave to be fully featured or free though. Google can give away tools for free since they earn their money from other things. Microsoft works differently.
Two years ago, Internet Explorer was "revived from the dead" after being the most cursed browser for more than five years. While nothing happened with IE, browsers such as Firefox, Webkit (used in Safari, AIR and Nokia phones) and Opera flourished and open standards bodies set the agenda. IE has lost market share but the loss of reputation is probably worse. This won't happen again and the announcement of the IE8 beta tells that Microsoft means business. IE7 delivered no new features but fixed those that were broken. IE8 has to be a good browser with features that rival the competition or Microsoft will not be in the game. Expect Silverlight to be part of the IE8 download when it comes around.
Flash has become a standard. Users will be disappointed if their browser can't run Flash. As Flash has become more powerful, it has started doing things online that formerly were not possible. Flash is the number one choice for online video, animation and small webgames. But Flash can do so much more: advanced Rich Internet Applications (RIA), text processing, slideshows, image editing, video mixing, audio tools, , executive dashboards and great looking report generators - Flash has become a real threat to Microsoft and Silverlight is their answer.
With the recent launch of the AIR runtime, Adobe is stepping even further onto Microsoft's turf. Adobe does this with confidence. They have solid experience in building OS independent runtimes and Adobe is not alone about entering the desktop. Google is Gearing up as well though they don't have the same possibility for distribution that Adobe has via the auto updating Flash Player. Since the web is their platform, Google will have to make cross-OS runtimes for Gears as well. Microsoft however, does not have a good track record when it comes to Operating System independency. They have formerly promised cross platform support without delivering. Silverlight is now available for Windows and Macs. That is cross platform, but many will claim that you need to support Linux as well to be really cross platform. A Linux version of Silverlight is in the works via the Mono project, but if you have any experience with this project you know things may take time and never even surface. Not building the Linux version from the same codebase is bound to cause issues.
Some years ago, a portable computer wasn't really common. Now it accounts for more than 70% of all computer sales in some markets. The next wave will be mobile phones and devices. Adobe has a head start in this area with more than 450.000.000 Flash enabled devices and they will bring AIR to devices as well. Last week Microsoft announced that they will work with Nokia to bring Silverlight to Series 60 and 40 mobile phones in addition to phones running Windows Mobile. While not unexpected, this sends a clear signal to Adobe. Microsoft wants Silverlight to "run everywhere" just as Flash does and they won't sit by and watch Adobe take the mobile market.
The battle over developers is a battle over toolsets. Last year, Microsoft released a full set of tools for designers and visual developers. They've been pushing these hard ever since launch and they have started to build up a good reputation. Here's a brief list of the competing products.
Microsoft: Silverlight plugin (OSX, Windows)
Adobe: Flash Player (OSX, Windows, Linux, Solaris, HP-UX)
Microsoft: .NET (subset)
Adobe: Flex framework (Open Source)
Microsoft: Expression Design
Adobe: Photoshop, Illustrator, Fireworks, Indesign, Flash
GUI , animation:
Microsoft: Expression Blend
Adobe: Flash CS3, "Thermo"
Microsoft: Expression Web
Microsoft: Visual Studio
Adobe: Flex Builder
Microsoft: Visual Studio (executables)
Adobe: AIR (runtime)
Expression Web took many by surprise. It is a solid web editor that produce standards compliant code geared towards the Microsoft Platform and new in this release: PHP support. (for some odd reason only Silverlight 1 is supported with this version). The comparison of Blend and Flash CS3 is maybe unfair as these tools are very different in many areas, but it should be noted that Blend offers a much more seamless workflow than Adobe can dream of with Flash/Flex. Designing a workflow from scratch has it's advantages and Flash is inherently tied to the binary FLA files. There's been rumors about a new format that will replace FLAs in Flash CS4 to make workflow improvements possible. Keep in mind that Silverlight developers may also use the Adobe design tools
Flex Builder is built on the Open Source project Eclipse, a favorite with cross-platform developers from the Java world. Adobe contribute fixes and code back to Eclipse project and they get a solid platform for much less effort in return. Flex is available either as a custom build or as a plugin to Eclipse. The latter will integrate with an existing Eclipse setup so that Java developers can just keep working with the tool they already use, but with Flex Builder features integrated.
There is one major difference when it comes to these tools as well. All the Adobe tools are available on Windows and OSX. Flex Builder for Linux is in the works. The Microsoft tools are available on Windows only.
Adobe and Microsoft work together on many things though they also compete; digital documents, developer tools, mobile media, web conferencing, media players to name a few. Flash vs Silverlight is just another area of competition, but it's an important one. Flash and Silverlight are not single applications, but rather technologies that enable you to create other applications and software.
It's fascinating to see how Microsoft plays catchup with Adobe. Keith Smith (Director of Product Management for Microsoft's Developer Tools Division - pheeew) talked about user experiences at Mix08 - "If they're playing with an online music application, they need to be able to unplug and be mobile". This is the same things Adobe have been talking about since Macromedia Central (predecessor to AIR created in 2003). Adobe have been forward thinking, but they also know that it's harder to invent than to follow. Now that Microsoft's strategy is shifting, Flash and Adobe will face solid competition from Microsoft. They're bigger, have deeper pockets, more developers and they now have a complete toolset in it's second generation.
Actionscript is moving up the ladder of programming languages and it's now at tenth place based on programming books sold. Actionscript is constantly gaining new friends and a 53% increase of market share is a nice number. According to O'Reilly, C# increased by 13% whereas .NET based languages lost 27% market share. These numbers lie somewhat though. Last year, Adobe sponsored a lot of conference attendees with a free copy of Colin Moock's Essential ActionScript 3 book. That's a nice way to boost sales and rank.
Flash has matured immensely with Actionscript 3 and the new virtual machine in Flash Player 3. The entire Flash developer community is changing as well. Flash is now less about eye-candy and more about building solid applications utilizing the same ideas as developers with other backgrounds. Design Patterns, best practices, workflow, code versioning, SCRUM are common slang in Actionscript circuits these days (though Flash has always been about Agile Development). Adobe also has a very passionate community, but so has Microsoft. Apparently, there are now about 560.000 copies of Flex downloaded. Let's assume that 20% of these end up on the desk of somebody that will actually use it. That's a far cry from the many million developers with .NET skills. It's hard to find solid numbers, but I've seen estimates claiming about 5 million .NET developers worldwide. That's quite a difference and Adobe still has a lot of work to do.
Adobe can't afford to throw money around at random like that. Adobe is actively using Open Source to boost development speed as the Flex framework grows in size and complexity, gathering community points in the process. Adobe also has a lot of experience building platform independent runtimes that produce consistent results on all machines. Microsoft still needs to convince in this area, but they are doing good this far.
If you are a Flash developer and you think Microsoft won't have a chance with Silverlight, you'd be wrong. A lot of developers had their bets on Netscape some years back and it was unlikely that another browser would come along. Remember that? Silverlight is nowhere near Flash with this second release, but it keeps getting better. I doubt Silverlight ever will be a "Flash Killer", but it will certainly provide some healthy competition and that will eventually benefit you as a developer/designer.