Category Archives: .net

Microsoft pledges commitment to Silverlight – but is it enough?

Microsoft’s president of Server and Tools Bob Muglia has posted a response to the widespread perception that the company is backing off its commitment to Silverlight, a cross-browser, cross-platform runtime for rich internet applications. He is the right person to do so, since it was his remark that ”Our strategy with Silverlight has shifted” which seemed to confirm a strategy change that had already been implied by the strong focus in the keynote on HTML 5 as an application platform.

Muglia says Silverlight is in fact “very important and strategic to Microsoft”. He confirms that a new release is in development, notes that Silverlight is the development platform for Windows Phone 7, and affirms Silverlight both as a media client and as “the richest way to build web-delivered client apps.”

So what is the strategy change? It is this:

When we started Silverlight, the number of unique/different Internet-connected devices in the world was relatively small, and our goal was to provide the most consistent, richest experience across those devices.  But the world has changed.  As a result, getting a single runtime implementation installed on every potential device is practically impossible.  We think HTML will provide the broadest, cross-platform reach across all these devices.  At Microsoft, we’re committed to building the world’s best implementation of HTML 5 for devices running Windows, and at the PDC, we showed the great progress we’re making on this with IE 9.

The key problem here is Apple’s iOS, which Muglia mentioned specifically in his earlier interview:

HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform.

Muglia’s words are somewhat reassuring to Silverlight developers; but not, I think, all that much. Silverlight will continue on Windows, Mac and on Windows Phone; but there are many more devices which developers want to target, and it sounds as if Microsoft does not intend to broaden Silverlight’s reach.

Faced with the same issues, Adobe has brought Flash to device platforms including Android, MeeGo, Blackberry and Google TV; and come up with a packager that compiles Flash applications to native iOS code. There is still no Flash or AIR (out of browser Flash) on Apple iOS; but Adobe has done all possible to make Flash a broad cross-platform runtime.

Microsoft by contrast has not really entered the fight. It has been left to Novell’s Mono team to show what can be done with cross-platform .NET, including MonoTouch for iOS and MonoDroid for Google’s Android platform.

Microsoft could have done more to bring Silverlight to further platforms, but has chosen instead to focus on HTML 5 – just as Muglia said in his earlier interview.

Whether Microsoft is right or wrong in this is a matter for debate. From what I have seen, the  comments on Microsoft’s de-emphasis of Silverlight at PDC have been worrying for .NET developers, but mostly cheered elsewhere.

The problem is that HTML 5 is not ready, nor is it capable of everything that can be done in Silverlight or Flash. There is a gap to be filled; and it looks as if Microsoft is leaving that task to Adobe.

It does seem to me inevitable that if Microsoft really gets behind HTML 5, by supporting it with tools and libraries to make it a strong and productive client for Microsoft’s server applications, then Silverlight will slip further behind.

Which mobile platforms will fail?

Gartner’s Nick Jones addressed this question in a blog post yesterday. He refers to the “rule of three” which conjectures that no more than three large vendors can succeed in a mature market. If this applies in mobile, then we will see no more than three survivors, after failures and consolidation, from the following group plus any I’ve missed. I have shown platforms that have common ownership and are already slated to be replaced in strikeout format.

  • Apple iOS
  • Google Android
  • Samsung Bada
  • Maemo MeeGo
  • RIM BlackBerry OS BlackBerry Tablet OS (QNX)
  • HP/Palm WebOS
  • Symbian
  • Windows Mobile Windows Phone 7 and successors

Jones says that success requires differentiation, critical mass, and a large handset manufacturer. I am not sure that the last two are really distinct. It is easy to fall into the tautology trap: to be successful a platform needs to be successful. Quite so; but what we are after is the magic ingredient(s) that make it so.

Drawing up a list like this is hard, since some operating systems are more distinct than others. Android, Bada, MeeGo and WebOS are all Linux-based; iOS is also a Unix-like OS. Windows Mobile and Windows Phone 7 are both based on Windows CE.

While it seems obvious that not all the above will prosper, I am not sure that the rule of three applies. I agree that it is unlikely that mobile app vendors will want to support and build 8 or more versions of each app in order to cover the whole market; but this problem does not apply to web apps, and cross-platform frameworks and runtimes can solve the problem to some extent – things like Adobe AIR for mobile, PhoneGap and Appcelerator. Further, there will probably always be mobile devices on which few if any apps are installed, where the user will not care about the OS or application store.

Still, pick your winners. Gartner is betting on iOS and Android, predicting decline for RIM and Symbian, and projecting a small 3.9% share for Microsoft by 2014.

I am sure there will be surprises. The question of mobile OS market share should not be seen in isolation, but as part of a bigger picture in which cloud+device dominates computing. Microsoft has an opportunity here, because in theory it can offer smooth migration to existing Microsoft-platform businesses, taking advantage of their investment – or lock-in – to Active Directory, Exchange, Office and .NET. In the cloud that makes Microsoft BPOS and Azure attractive, while a mobile device with great support for Exchange and SharePoint, for example, is attractive to businesses that already use these platforms.

The cloud will be a big influence at the consumer end too. There is talk of a Facebook phone which could disrupt the market; but I wonder if we will see the existing Facebook and Microsoft partnership strengthen once people realise that Windows Phone 7 has, from what I have seen, the best Facebook integration out there.

So there are two reasons why Gartner may have under-rated Microsoft’s prospects. Equally, you can argue that Microsoft is too late into this market, with Android perfectly positioned to occupy the same position with respect to Apple that worked so well for Microsoft on the desktop.

It is all too early to call. The best advice is to build in the cloud and plan for change when it comes to devices.

Can Microsoft repeat history and come from behind with Windows Phone 7?

This week is Windows Phone 7 week. Microsoft is announcing details of the launch devices and operators, and I shall be watching and reporting with interest on the joint press conference with CEO Steve Ballmer and AT&T’s Ralph de la Vega.

But how significant is this launch? I think it is of considerable significance. Mobile devices are changing the way we do computing. It is not only that more powerful SmartPhones and tablets are encroaching on territory that used to belong to laptop and desktop computers. We are also seeing new business models based on locked-down devices and over-the-air app stores, and new operating systems, or old ones re-purposed. It is a power shift.

Despite its long years of presence in mobile, it feels like a standing start for Microsoft. A recent, and excellent, free day of training on developing for Windows Phone 7 was only one-third full. Verizon will not be offering the phone, and its president Lowell McAdam suggests that the market belongs RIM, Google and Apple, and that Microsoft’s phones are not innovative or leading edge.

I disagree with McAdam’s assessment. Although I’ve not yet had a chance to try a device for myself, what I have seen so far suggests that it is innovative. While the touch UI does borrow ideas with which we have become familiar thanks to iPhone and Android, the dynamically updating tiles and the hub concept both strike me as distinctive. What McAdam really means is that the phone might not succeed in the market, and such views from someone in his position may be self-fulfilling.

The application development platform is distinctive too, being based on .NET, Silverlight and XNA. I have followed Microsoft’s .NET platform since its earliest days – which as it happens were on Windows Mobile, in the form of the Common Executable Format – and Silverlight seems to me the best incarnation yet of the .NET client. It is lightweight; it performs well; it has a powerful layout language that scales nicely, and it has all sorts of multimedia tricks and effects. Visual Studio and the C# language form a familiar and capable set of tools, supplemented by the admittedly challenging Expression Blend for design.

Still, having a decent product is not always enough. Palm’s webOS devices were widely admired on launch, but that was not enough to rescue the company, or to win more than a tiny market share.

Microsoft has resources that Palm lacked, and a reach that extends from cloud to desktop to device. It may be that Windows Phone 7 has better chances. The problem is that the company’s recent history does not demonstrate the success in coming from behind that characterised its earlier days:

  • Microsoft came from behind with a GUI operating system, even though Windows was inferior to the Mac’s GUI.
  • Microsoft came from behind with Excel versus Lotus 1-2-3.
  • Microsoft came from behind in desktop database managers with Access versus dBase.
  • Microsoft came from behind in networking and then directory services versus Novell and others.
  • Microsoft came from behind with .NET versus Java, which I judge a success even though Java has also prospered.

I am sure there are other examples. Recent efforts though have been less successful. Examples that come to mind include:

  • Internet Explorer – still the most popular web browser, but continues to lose market share, even though Microsoft has been working to regain its momentum since the release of IE7 in 2006.
  • Zune – now a well-liked portable music player, but never came close to catching Apple’s iPod.
  • Silverlight – despite energetic development and strong technology, has done little to disturb the momentum behind Adobe Flash.
  • Tablets – Microsoft was an innovator and evangelist for the slate format, but Apple’s iPad is the first device in this category that has caught on.
  • Numerous examples from Windows Live versus Google and others.

Now here comes Windows Phone 7, with attention to design and usability that is uncharacteristic of Microsoft other than perhaps in Xbox consoles (red light of death aside). In one sense Microsoft can afford for it to fail; it has strong businesses elsewhere. In another sense, if it cannot establish this new product in such a strategic market, it will confirm its declining influence. The upside for the company is that a success with Windows Phone 7 will do a lot to mend its tarnished image.

Windows Phone 7 development hits the big screen

I spent yesterday in the dim light of a Manchester cinema, attending the Windows Phone 7 developer day.

The event was organised by DeveloperDeveloperDeveloper, which is a .NET community group run, as far as I can tell, by a group of Microsoft MVPs. The sponsors were Microsoft, Appa Mundi, and NxtGenUG. Towards the end of the day, Andy Wigley (from Appa Mundi) made a statement that this was a community event and not an official Microsoft event. It was true up to a point, though as far as I can tell Microsoft paid for most of it -“Microsoft UK very kindly provided the venue and logistic support.” says the event description. Microsoft was present showing real Windows Phone 7 devices, and the presenters included Andy Wigley (from Appa Mundi) and Rob Miles, who have also presented the official Jump Start training for Windows Phone 7, and regular TechEd speaker Maarten Struys who is a Windows embedded and Windows Phone evangelist working for Alten PTS in the Netherlands. Community, or Microsoft PR?

Regardless, they were excellent speakers and well informed on all things Windows Phone 7. The community aspect did come to the fore when it came to the catering – there was none – and the venue itself which felt as you would expect a cinema out of hours to feel. I’m guessing Microsoft the community was disappointed with the attendance, around 100 in a venue that seats 330.

image

There is one significant benefit to presenting in a cinema. The screen and projection was first-rate.

image

The sessions themselves were introductory but struck me as useful for anyone getting started with Windows Phone 7 development – which given the devices are not yet available, is probably most of us. Andrej Radinger’s session on creating apps that work offline was particularly interesting to me. I had previously seen the Jump Start course so some of the material was already familiar, though the refresher did no harm.

Much of the challenge of Windows Phone 7 development is coping with the fact that your app will frequently get killed and have to resume later as if nothing happened. We got a lot of input on this topic.

Another challenge is coping with Expression Blend. Designer Tricky Bassett gave a short but insightful view of the design process for a Windows Phone 7 app, with some intriguing asides along the way. He is a design professional, and said that his team had been excited about SketchFlow, the prototyping tool in Blend, but in practice found it little use because they only need sketches, rather then the working controls which SketchFlow gives you. He also commented on Blend, saying that Blend with Windows Phone 7 projects was more stable than it had been before, in his experience with other projects. In previous work with Blend, solutions that did not load have been a recurring problem – I take it that either they loaded in Visual Studio but not in Blend, or vice versa.

Bassett also said that Blend takes some effort to learn, and this was confirmed by the way some of the presenters struggled to do basic operations with the tool. The Blend UI is perplexing and at events like this one I’d suggest that a Blend Basics piece would go down well.

The Silverlight and XNA platforms strike me as pretty good, though I think that lack of native code development will be a problem among the best developers – there are interesting rumours about certain developers getting special privileges.

image

My overriding impression though is that the phone is good, the tools are good, but the demand is lacking. One developer told me that he has been trying to sell an idea for a custom Windows Mobile application to a small business client with 12 employees. They are keen but their employees want either Apple iPhone or Google Android phones. Windows Phone 7 may help by being a better and more attractive device, but getting past the perception that Windows phones are not much good is going to be a problem.

But what can Microsoft do? It is going to take devices that deliver on the promise, a stunning marketing campaign, and aggressive pricing, for this thing to flourish.

NuPack brings package management to Microsoft .NET

Microsoft has announced the beta release of NuPack, which is a package manager for .NET projects, mainly focused on open source libraries. NuPack itself is open source.

I downloaded NuPack and took a look. It installs as a Visual Studio extension, and I used it with Visual Studio 2010. Once installed, you get a new Add Package Reference option for any .NET project, which opens this dialog:

image

There seem to be around 40 projects currently available, including some familiar names:

  • Castle Inversion of Control
  • fbConnectAuth Facebook Connect authentication library
  • JQuery – though this already appears by default in many ASP.NET projects
  • log4net logging library
  • Moq mocking library
  • NHibernate object-relational mapper
  • NUnit unit-testing framework

Once you find the package you want to add, click install and it is automatically added to your project, complete with any necessary configuration changes. There is also a PowerShell-based console. In some cases it is better to use the console, as a package can add new commands which you can call from there.

NuPack strikes me as a great idea; one comment to Scott Hanselman’s post on the subject calls it GEM for .NET, GEM being the Ruby package manager. That said my quick go with NuPack has not been entirely smooth, and I got an error on my first attempt at adding NUnit to a project, fixed after restarting Visual Studio.

My main reservation is whether Microsoft will really get behind this and support it, or whether it will end up as another promising initiative that after a while is abandoned.

ASP.NET Padding Oracle fix released, time to patch for Windows administrators

Scott Guthrie’s blog reports that a fix is now available for the Padding Oracle attack, which enables successful attackers to break the security of ASP.NET applications. There are a few points of interest.

First, there is not one patch but several, and which ones you need depend both on the version of Windows and the version of .NET. Multiple versions of .NET may be installed on a single server.

Second, the exploit is rated “important” in Microsoft security-speak, rather than “critical”. This is apparently because in itself the vulnerability merely discloses information. However, Microsoft is treating it with a high priority because the vulnerability is likely to reveal information that would let the attacker go to to more sever actions such as taking over a server. Confusing, but to my mind it is as critical as they come.

Third, Guthrie’s blog notes:

We’d like to thank Juliano Rizzo and Thai Duong, who discovered that their previous research worked against ASP.NET, for not releasing their POET tool publicly before our update was ready.

The implication is that the POET tool may be publicly available soon – so if you are responsible for an affected machine, get patching! In fact, in the webcast on the subject Microsoft stated that “The potential for exploit is very high during the next 30 days.”

Fourth, the update works by “additionally signing all data that is encrypted by ASP.NET.”

Update: Marc Brooks has investigated and it looks like there is a bit more to it than that.

Finally, the update will be included in Windows Update but not immediately. Your choice is whether to risk a hack in the period before the automatic update appears, or endure the hassle of the manual downloads. Microsoft advises to do it as soon as possible for servers on the public internet.

I am not sure what percentage of systems are likely to be patched soon, but I’d guess that plenty of vulnerable systems will remain online and that we have not heard the last of this bug.

Latest job stats on technology adoption – Flash, Silverlight, iPhone, Android, C#, Java

It is all very well expressing opinions on which technologies are hot and which are struggling, but what is happening in the real world? It is hard to get an accurate picture – surveys tend to have sampling biases of one kind or another, and vendors rarely release sales figures. I’ve never been happy with the TIOBE approach, counting mentions on the Internet; it is a measure of what is discussed, not what is used.

Another approach is to look at job vacancies. This is not ideal either; the number of vacancies might not be proportionate to the numbers in work, keyword searches are arbitrary and can include false positives and omit relevant ads that happen not to mention the keywords. Still, it is a real-world metric and worth inspecting along with the others. The following table shows figures as of today at indeed.com (for the US) and itjobswatch (for the UK), both of which make it easy to get stats.

Update – for the UK I’ve added both permanent and contract jobs from itjobswatch. I’ve also added C, C++, Python and F#, (which hardly registers). For C I searched Indeed.com for “C programming”.

  Indeed.com (US) itjobswatch (UK permanent) itjobswatch (UK contract)
Java 97,890 17,844 6,919
Flash 52,616 2,288 723
C++ 48,816 8,440 2470
C# 46,708 18,345 5.674
Visual Basic 35,412 3,332 1,061
C 27,195 7,225 3,137
ASP.NET 25,613 10,353 2,628
Python 17,256 1,970 520
Ruby 9,757 968 157
iPhone 7,067 783 335
Silverlight 5,026 2,162 524
Android 4,755 585 164
WPF 4,441 3,088 857
Adobe Flex 2,920 1,143 579
Azure 892 76 5
F# 36 66 1

A few quick comments. First, don’t take the figures too seriously – it’s a quick snapshot of a couple of job sites and there could be all sorts of reasons why the figures are skewed.

Second, there are some surprising differences between the two sites in some cases, particularly for Flash – this may be because indeed.com covers design jobs but itjobswatch not really. The difference for Ruby surprises me, but it is a common word and may be over-stated at Indeed.com.

Third, I noticed that of 892 Azure jobs at Indeed.com, 442 of the vacancies are in Redmond.

Fourth, I struggled to search for Flex at Indeed.com. A search for Flex on its own pulls in plenty of jobs that have nothing to do with Adobe, while narrowing with a second word understates the figure.

The language stats probably mean more than the technology stats. There are plenty of ads that mention C# but don’t regard it as necessary to state “ASP.NET” or “WPF” – but that C# code must be running somewhere.

Conclusions? Well, Java is not dead. Silverlight is not unseating Flash, though it is on the map. iPhone and Android have come from nowhere to become significant platforms, especially in the USA. Beyond that I’m not sure, though I’ll aim to repeat the exercise in six months and see how it changes.

If you have better stats, let me know or comment below.

Microsoft’s Scott Guthrie: We have 200+ engineers working on Silverlight and WPF

Microsoft is countering rumours that WPF (Windows Presentation Foundation) or Silverlight, a cross-platform browser plug-in based on the same XAML markup language and .NET programming combination as WPF, are under any sort of threat from HTML 5.0.

We have 200+ engineers right now working on upcoming releases of SL and WPF – which is a heck of a lot.

says Corporate VP .NET Developer Platform Scott Guthrie in a Twitter post. Other comments include this one:

We are investing heavily in Silverlight and WPF

and this one:

We just shipped Silverlight for Windows Phone 7 last week, and WPF Ribbon about 30 days ago: http://bit.ly/aB6e6X

In addition, Microsoft has been showing off IIS Media Services 4.0 at the International Broadcasting Conference, which uses Silverlight as the multimedia client:

Key new features include sub-two-second low-latency streaming, transmuxing between H.264 file formats and integrated transcoding through Microsoft Expression Encoder 4. Microsoft will also show technology demonstrations of Silverlight Enhanced Movies, surround sound in Silverlight and live 3-D 1080p Internet broadcasting using IIS Smooth Streaming and Silverlight technologies.

No problem then? Well, Silverlight is great work from Microsoft, powerful, flexible, and surprisingly small and lightweight for what it can do. Combined with ASP.NET or Windows Azure it forms part of an excellent cloud-to-client .NET platform. Rumours of internal wrangling aside, the biggest issue is that Microsoft seems reluctant to grasp its cross-platform potential, leaving it as a Windows and desktop Mac solution just at the time when iPhone, iPad and Android devices are exploding in popularity. 

I will be interested to see if Microsoft announces Silverlight for Android this autumn, and if it does, how long it will take to deliver. The company could also give more visibility to its work on Silverlight for Symbian – maybe this will come more into the spotlight following the appointment of Stephen Elop, formerly of Microsoft, as Nokia CEO.

Apple is another matter. A neat solution I’ve seen proposed a few times is to create a Silverlight-to-JavaScript compiler along the lines of GWT (Google Web Toolkit) which converts Java to JavaScript. Of course it would also need to convert XAML layout to SVG. Incidentally, this could also be an interesting option for Adobe Flash applications.

As for WPF, I would be surprised if Microsoft is giving it anything like the attention being devoted to Silverlight, unless the Windows team has decided to embrace it within the OS itself. That said, WPF is already a mature framework. WPF will not go away, but I can readily believe that its future progress will be slow.

More on Microsoft’s difficult choices: WPF, Silverlight, HTML 5

Earlier today I posted a story speculating about the future direction of Microsoft’s development platform, which has proved controversial and to some extent has been misunderstood. Although it is speculative, the issues are important since developers want to target platforms with a strong future. Here’s another take on why Microsoft, whichever way it decides to go, faces some difficult choices.

First, let me be clear: I don’t see Microsoft abandoning Windows Presentation Foundation let alone Silverlight. Microsoft has an good track record when it comes to continuing support for its technologies, better than competing platforms. Visual Basic 6 applications mostly still run today on Windows 7, perhaps with a few issues caused by User Account Control for which there are workarounds. Whatever you target, there is an excellent chance Microsoft will continue to support it long into the future. The main exception I can think of is Windows Mobile, which is incompatible with the new Windows Phone 7 series, but given the challenges Microsoft faces in mobile you can understand the decision.

Nor is there any chance of Microsoft reviving old frameworks. There will not be a return to Windows Forms. WPF is a better GUI framework in every way, other than performance on older systems – though note that Windows Forms applications still run fine today, and I imagine will run fine on Windows 8 and probably 9 as well.

The real question is not about support, but future investment. Microsoft has finite resources. It is in overdrive right now on Internet Explorer, on Silverlight, on Windows Phone 7, and on Azure, for example. There will be other products and technologies that receive less attention, because someone has decided they are not strategic.

It also seems to me that Microsoft’s server and cloud story is less conflicted. From the developer’s perspective it is thoroughly .NET based, and you can be confident that technologies like C#, IIS, ASP.NET, SQL Server, Exchange and SharePoint will be around for the foreseeable future.

With that out of the way, a few further comments.

Windows Presentation Foundation

The history of WPF goes back to the early days of Windows Vista, then called Longhorn. WPF was one of the the “three pillars”, Avalon, where the others were Indigo (WCF) and WinFS. Avalon was the future of the Windows GUI API, based on .NET code and XAML layout.

If Longhorn has proceeded as planned, WPF would be the loose equivalent of Cocoa on Apple’s OS X, the standard way to code Windows GUI applications. Unfortunately, in 2004, Microsoft discovered that Longhorn was heading for disaster. The project was reset, delaying release and resulting in Vista being both late and rushed. The reset project included Avalon as a supported framework, but made it incidental to the workings of Windows itself. The Windows team, in other words, lost faith in Avalon and reverted to native code with a dash of DirectX.

Windows 7 is more of the same. WPF is there but it is not at the heart of the OS. Developers are encouraged to use it for their own apps, but the Windows team is focused on native code.

When Visual Studio 2010 was released, with a shell built in WPF, Microsoft made some noise about how it showed its commitment to the framework. It was also noted that the Visual Studio team had worked with the WPF team to fix some issues. However, there is little sign of WPF changing its role as a layer in Windows primarily to support custom applications, rather than being used for the shell of Windows itself.

The question now: how much should Microsoft invest in future WPF development? It is not essential for Windows itself. Nor it is compelling for developers wanting to take advantage of the cloud model and support diverse clients. Frankly it does not look strategic unless it becomes the Windows shell API; and you could understand Microsoft having a “once bitten twice shy” attitude to that possibility.

I find it plausible that Microsoft would throttle back on WPF development.

Silverlight

Silverlight by contrast is strategic. Silverlight is a framework that runs in the browser, out of browser, and on Windows Phone 7. It is lightweight and cloud-oriented, and it runs .NET code, ticking lots of boxes for developers moving on from Windows desktop applications. It is also designer-friendly, with rich graphics and multimedia support. There are still a few gaps – printing is crude, for example – but it makes more sense for Microsoft to invest in Silverlight than WPF. It is significant that the new LightSwitch tool for rapid development of database apps targets Silverlight, not WPF, and not ASP.NET (except on the server). Silverlight is also the application platform for Windows Phone 7.

Then again, Silverlight is WPF. It was originally WPF/Everywhere, and uses the same XAML language for layout.

I will be surprised if Microsoft back-pedals on Silverlight. Nevertheless, I can also understand this being a matter of debate. Despite Microsoft’s efforts to distinguish them, there is considerable overlap between what Silverlight does, and what HTML 5 in IE9 does, especially when in the browser. There is also the Apple problem: HTML applications will run on iPhone and iPad, but Silverlight will not. What if Microsoft focused on the new IE engine instead of Silverlight, supporting it properly in Visual Studio, and providing ways for developers to create out-of-browser apps that run with full trust and have access to local system APIs? This would be along the same lines as the Palm WebOS and Google’s Chrome OS.

Put another way, does it make sense for Microsoft to invest equally in HTML 5 and Silverlight, when possibly IE 9 could be the basis of a unifying technology, a subset of which would work on any modern browser on any client?

It seems to me that Microsoft will have to invest in tooling for HTML 5 clients in some forthcoming edition of Visual Studio, and that this will be a selling point for its cloud platform, while possibly undermining the role of Silverlight.

There is also a continuing case for Silverlight, both because of the inherent advantages of a plug-in – consistency of client platform as well as features that HTML 5 lacks – and because it supports .NET. The .NET languages (Mono aside) tie developers to Visual Studio and to Microsoft’s platform. Visual Studio combined with .NET is a formidable tool for both client and server and a key advantage for the platform.

Watch this space.

Microsoft wrestles with HTML5 vs Silverlight futures

Former Microsoft Silverlight Product Manager Scott Barnes has posted a series of tweets following a visit to Microsoft:

So.. after a week in Microsoft HQ etc.. i have a lot of inside info that just basically puts into question the future of #Silverlight #wpf

he remarks, and then:

Right now there’s a faction war inside Microsoft over HTML5 vs Silverlight. oh and WPF is dead.. i mean..it kind of was..but now.. funeral.

Barnes positions it as a fight between Windows/IE9 backing HTML5, and the developer division backing Silverlight. He also suggests that Microsoft is contemplating a classic “Embrace and extend” strategy for HTML:

HTML5 is the replacement for WPF.. IE team want to fork the HTML5 spec by bolting on custom windows APi’s via JS/HTML5

He says further that Microsoft has “shut down the designer story” – I am not sure what that implies, though I can imagine that a lot of money has been sunk into the Expression tools without drawing significant market share from Adobe’s Creative Suite.

Barnes is a straight-talking guy but clearly this is all speculation. Nevertheless it is obvious that, on the eve of launching IE9 beta with its fast JavaScript engine, hardware accelerated graphics, and pixel-precise bitmap drawing, Microsoft has a tricky job positioning HTML5 vs Silverlight. For that matter, even positioning Silverlight vs desktop Windows Presentation Foundation is not easy.

Since we are also on the eve of launch for Windows Phone 7, which Microsoft has flagged as a strategic product and which uses Silverlight as its app platform, it seems unlikely that the technology will be sidelined; but rumours of internal divisions on the subject do not surprise me.