At last year’s Professional Developer’s Conference, Microsoft made a
surprising move, announcing its Windows Presentation Foundation/Everywhere
(WPF/E) browser plug-in. This will run multimedia applets everywhere, including
Internet Explorer, Firefox, Windows and Mac. Even Linux is promised.
More recently, Microsoft added that WPF/E will include a subset of the .Net
runtime engine, enabling C# and Visual Basic .Net code to run cross-platform,
along with a native multimedia player for audio and video. The design tool for
WPF/E will be Expression, while application developers will be able to code in
Visual Studio.
Advertisement
It is a remarkable turnaround. For years, Microsoft has showed little
interest in anything cross-platform beyond plain HTML and JavaScript served up
by ASP.Net on Windows web servers. However, Microsoft is a late entrant to this
field. Does WPF/E have any chance against Adobe’s well-established Flash player?
It might. Flash has won over designers, but is less attractive for application
developers, though Adobe is working hard to change that with its Flex
development tools.
Flash runs ActionScript, a close cousin to JavaScript, whereas C# is arguably
more suitable for applications that require a significant amount of code. “We
don’t see people building complex applications with JavaScript,” said Microsoft
developer Mike Harsh in a recent interview. Another advantage is that WPF/E has
a native ability to render layouts defined in XML, whereas this feature has been
bolted onto Flash at the tool level.
Java applets are another option for web developers, but Sun’s Java runtime is
larger than WPF/E’s promised 2MB, and Java is less designer-friendly.
Potentially, WPF/E could combine the design appeal of Flash with the application
strength of Java.
There are also plenty of reasons why WPF/E might fail. Microsoft’s biggest
challenge will be to get the runtime deployed. Adobe claims that some 98 percent
of browsers already have the Flash player installed. Others will distrust the
security of a Microsoft plug-in, or be sceptical about its cross-platform
credentials and future. Judgment will have to wait until the first public
previews this summer; final release is set for mid-2007.
In the past Microsoft has been characterised by its single-minded focus on
Windows. Why does it now want to create a cross-platform runtime engine? It is
the clearest sign yet that it can no longer base its entire strategy on the
Windows client monopoly.
Microsoft’s problem is not only Apple and Linux chipping away at its desktop
empire, but more seriously the rising importance of two other computing
platforms where it is a minority player. The first is the web, and the second is
mobile devices. It happens that WPF/E is also intended for device use, though
Microsoft will probably struggle even more than Adobe to get its runtime
embedded onto third-party hardware.
WPF/E is a welcome development, if only because it is time Flash had some
healthy competition. It is also further evidence that the future belongs to
cross-platform internet clients, not Windows desktops.
Do you agree?
Have your say on this article