Is Microsoft Screwing Up WPF/E? aka What Does the “E” Really Stand For?

I’ve said it before, and I’ll say it again - WPF/E could be massive for Microsoft. However, as is the case with many things, the devil is in the detail. And my assertion is that, whether or not it turns out a success depends critically on how well they execute on the “E” in “WPF/E”…

The possibilities for WPF/E are huge. If Microsoft can deliver a Rich Internet Application platform that can genuinely run applications identically, everywhere - from desktop computer web browsers to mobile phone handsets - they will have a huge hit on their hands. A hit that, accompanied by right business strategy (can you say, “universal advertising platform”?), could provide Microsoft with massive future top-line growth (which is what commentators such as Scoble are asking for).

However, if the past is any indicator of the future, you would have to say Microsoft will fail here. Why? Because, frankly, they have a terrible history of incompetence when it comes to making cross-platform software.

A little history for you. Back in the day, Microsoft wanted Internet Explorer to run “everywhere”… you know, just like they say they want WPF/E to run “everywhere”. So, believe it or not, they made a version of IE for Sun’s Solaris OS. We tried it out when Microsoft made it available - if nothing else, we thought it would be interesting to give it a go. How wrong we were….

Now, Solaris is probably one of the most rock-solid mainstream Operating System on the planet. It can run for years without crashing or getting into difficulties. But guess what IE for Solaris did? Yep - it managed to make Solaris crash! I’m afraid you really do have to be deeply and spectacularly incompetent to write and release software that brings Solaris down.

But, that was then, and this is now. Microsoft will have learned from their past mistakes, right? They’re gonna take the cross-platform thing seriously this time around. And, you know, “running everywhere” really isn’t a difficult concept. At least, you wouldn’t have thought so.

However, WPE/E isn’t even out yet, and already Microsoft is showing signs of simply not understanding what writing software that runs “everywhere” actually means…

So, let’s be crystal clear what “everywhere” should mean in 2007. Of course, it doesn’t mean running on absolutely every platform known to man. For example, there’s really no need to release WPF/E for Windows 3.1, Mac OS 7.1, CP/M, the BBC Micro and the Sinclair ZX80. However, it does mean running on every major, current platform that is capable of running modern software like WPF/E.

So, does Microsoft get this? Well, unfortunately for them, it seems not to. It turns out that the “E” in WPF/E doesn’t actually stand for “everwhere” at all. Rather the “E” appears to stand for, “Errrrrrrr… in a couple of places“. Microsoft will not themselves be developing versions of WPF/E for either Linux or for non-Windows Mobile phones. This is just plain bad business strategy, and there’s only one explanation for it. It’s not “limited financial resources”. It’s not “you know, it’s difficult to recruit high quality developers with the right expertise in these platforms”. No, the only credible explanation is that Microsoft doesn’t truly want WPF/E to run well everywhere… presumably because they can’t get over the idea that they want everyone to run WPF/E on Microsoft platforms.

There’s still time to put this right. But if they don’t, make no mistake - WPF/E will go the way of the Zune. And by that I mean - no-one will use it. Of course, in that scenario, Microsoft will proclaim that it’s a “great success” being “the fourth most popular RIA platform in the world” with deployments and usage “exactly in line with projections”, and that WPF/E is actually part of a fifty year strategic plan, and they never expected anyone to actually use it for at least the next forty-five years. But still, no-one will care.

So, with that said, how could Microsoft put things right, before WPF/E fails to deliver on its potential? Herewith, my simple, two-step recipe for WPF/E success:

  1. Make WPF/E run well, and identically, on the major platforms: Windows, Mac OS X, Linux, Solaris, Windows Mobile and mobile phones from the big players: Nokia; Motorola; Samsung; LG; Sony Ericsson; and errr… Apple.
  2. Make best-in-class developer tools available for free that run on at least Windows, but preferably on Mac OS X, Linux and Solaris too.

That’s it. Just a two-step recipe. That’s simpler, even, than the (forthcoming) recipe for my world-beating Margaritas!

Trackbacks & Pings

  1. Puppies, Flowers, Rainbows and Kittens » Blog Archive » Is Microsoft Screwing Up WPF/E? on 03 Mar 2007 at 11:25 pm

    [...] Simon Brocklehurst thinks so, and I agree with him. Microsoft has a long history of promising to support other platforms and then coming up short or dropping them quickly. We used to joke at Microsoft that cross platform meant both Windows98 and WindowsNT. [...]

Comments

  1. OffBeatMammal wrote:

    I think it’s not quite fair to blame the current MS for their past mistakes. It appears that there’s a lot of energy and interest in getting this right while keeping it on a commercially viable footing.
    WPF/E is a lightweight technology that needs to appeal to a large enough populous to gain momentumn and traction to prove the concept is viable.
    Solaris may be a wonderful OS but what percentage of the web using population use it? The same for each of the flavors of Linux. Sure, taken together they’re into whole numbers now (I’m only talking client here) but to develop and test for each variant isn’t a trivial task.
    I’d much prefer they develop a rich and lightweight stable platform that lets me target Windows and OSX users in the next 12 months, and then have them work out to other platforms as my target audience ask for it.
    I don’t expect the same UI and tools on my smartphone as my pocketPC as my UMPC as my PC (tablet, notebook or desktop) so the smaller screens will probably require a further subsetting… but we can encourage them to get it right

  2. simon wrote:

    “To develop and test for each variant isn’t a trivial task.”

    So, we can expect only “trivial” from Microsoft then?

    Of course, the rest of the world moved on from trivial a number of years ago. Everything I suggested is perfectly do-able for any large organisation that has the ability to develop software.

    For example, Flash 9 is available today on Windows, Mac OS X and Linux; with Solaris (Intel and SPARC) currently on Flash 7.

    Firefox 2 is available today on Windows, Mac OS X, Linux and Solaris.

    Java is available today on Windows, Mac OS X, Linux and Solaris.

    Now, having said that, I do take your point about market share. Taken together, Windows and Mac OS X probably have 95% of the desktops covered. But you know, if that’s your argument, they might as well ignore Mac OS X as well… and just have it run on Windows…. in Internet Explorer….

    However, this isn’t just about desktop market share. This is a battle for developer *mind-share*. Developers, developers, developers… etc.

    You say you just want it to work on Windows and Mac OS X. That’s a perfectly reasonable viewpoint to take.

    However, if the E in WPF/E doesn’t end up standing for “Everywhere”, I suspect many developers will be left rather unimpressed… and just go use something else instead… like Flash or AJAX or even Java.

    The point is: Microsoft has a lot of history that has created a lot of negative perception in the minds of web application developers. If they want to be taken seriously, it’s about time they started *over-delivering* on this cross-platform stuff, instead of looking like they’re struggling.

  3. Asam Bashir wrote:

    See, there you go with your bias again,

    “Now, Solaris is probably the most rock-solid mainstream Operating System on the planet.”

    I’m sorry, I don’t agree, I want to see some proof and a direct comparison of Solaris stability vs Mac OS X. What exactly do you mean ‘mainstream’, does Solaris suddenly have a bigger install base now then Mac OS X?

  4. simon wrote:

    LOL! I was lazy with my choice of words there - I should have said “one of the most rock-solid.” Very remiss of me…

  5. Scott Barnes wrote:

    Hi,

    (Firstly: Sun’s Solaris on x86 had a 0.25% unit market share of the worldwide x86 market) - scale that to client pc’s and well i think I’ve made my point.

    WPF/E is still got more to come, so no use calling the race before its finished.

    All platforms and operating systems are being weigh accordingly but you have to remember that as popular as what most people think products like OSX are, they aren’t per say in terms of market share (In 2006 they accounted for roughly 3% of the US PC Market). Don’t freak out, WPF/E works on OSX.

    Economy of scale needs to play a role here is what I’m pointing out, in that WPF/E with enough budget and time could potentially fit on every single platform known to man - but if the consumer base isn’t there that only complicates things for future generations of the products.

    Every time WPF/E is going to open up to various flavoured operating systems, means the WPF/E runtime engine may need to grow in size so that’s also a key element in the discussion.

    WPF/E is not going to be nirvana it is making leaps and bounds in not only its distribution model (which more to come) but the tools that will support it (more to come).

    There are a lot of extremely smart, talented people from all walks of life and companies whom have joined to ensure this solution reaches its full potential. I mention this as Microsoft internally, strategically and culturally is not the same company it was 5 years ago.

    Think about this: If I were to sit in a conference of RIA Enthusiasts and I asked the question - “How many of you use Linux as your operating system client-side” could you guess at the number of hands that would rise.

    Furthermore, same question but in a Office Depot, on the street and so on… the numbers aren’t there per say - that doesn’t make it right but when it comes to economy of scale at times, we may have to sacrifice certain platforms vs. others. It’s not just about whom create the RIA with WPF/E but whom will consume them aswell and its being relevant to the mainstream.

    Linux is being supported - because Microsoft has the resources available to do so and believe its a worthwhile cause - but BeOS may not get a look-in this time ;) is all I am saying.

    Microsoft is persistant in its approach to software, Windows Vista is a prime example of this and if WPF/E isn’t relevant the first release, then the second release it will be and so on..

    Scott Barnes
    Developer Evangelist
    Microsoft.

  6. Stephane Rodriguez wrote:

    The funny bit is that if WPF/E tries to become really Everywhere, it will distant itself as much to WPF core principles, which are Windows optimized code, thereby causing a lot of problems for developers out there.

    It will be interesting to see how WPF 2.0 makes use of DirectX 10 or not, how WPF itself becomes Vista-only (today it also runs on XP since it’s just a library).

    And on top of that, you are right that Microsoft still has to prove they are competent to write cross-platform code although it’s not in their culture. Quite the opposite, most divisions suffer from the NIH syndrome and they rewrite everything to make sure it’s “for Windows”.

  7. simon wrote:

    Thanks for posting Scott.

    I have no idea why you would think that people somehow don’t understand market share. Contrary to what you suggest, I think people are very well aware of the dominant Windows market share on the desktop. I think you might even consider the possibility that many developers take a more sophisticated view of these numbers than Microsoft does.

    And, I have no doubt at all that WPF/E is going to be fabulous from a technical point of view; as you say there are lots of smart people on the team. I have looked at the CTPs. It looks great. And I look forward to the future C# support etc. Yep. No doubt. Technically, WPF/E is going to be great. So - I would really like it to succeed. Why? Because I think it will be a great platform to develop for. Perhaps better, even, than your main competition, from a technical stand-point. Time will tell on that.

    But really. Your (Microsoft’s) problems with WPF/E are not going to be technical. No. Your problems with WPF/E are going to be “people” issues; which are, of course, always the most difficult to deal with. And, from the WPF/E perspective, “people” means “developers”.

    Now, of course, when “bad things” have happened before at companies, employees always get this, “We’re different now, the past is history. We must forget about the past” attitude. So, you attitude here is natural. But - here’s the deal: it doesn’t convince anyone. Microsoft will convince people by its *actions*, not its *words* on this. So there’s no point in saying “we’ve changed” all the time… if anything, that will just make people believe that you haven’t!

    What does this mean? It means that if you (Microsoft) want to convince developers that you’re serious about WPF/E being a cross-platform system, you have to *over-deliver*. Why? Because otherwise, the *perception* will be that Microsoft only cares about WPF-WPF/E on Windows.

    So, for example, developers will believe that Microsoft doesn’t *really* want cross-platform applications at all; and what it *really* wants is for everything to run on Windows; and that it will compete to try to prevent every other desktop OS from growing market share.

    Note - I said “perception”. Forget about the reality. It’s the perception that will count. And, as I said, it’s *actions*, not *words* that will count here.

    You said that WPF/E is being supported on Linux. That is news to me - last I heard, Microsoft had decided not to support Linux. So - great news!!! I think it’s a sensible decision to support Linux as a “first-class” OS. That would at least bring WPF/E in line with the competition.

    Do you know when? When I go here:

    http://msdn2.microsoft.com/en-us/asp.net/bb187452.aspx

    I see support for Windows and Mac; but nothing for Linux.

    As I said though, I think it would be smart for Microsoft to over-deliver here. Imagine this (from the point of view of actions, not words)… If WPF/E supported Windows, Mac OS X, Linux, and Solaris in a first-class way (with simultaneous release of the latest versions on all platforms) - it would be the *only* RIA platform to do so. WPF/E would be *the most cross-platform* developer platform on the planet. That would be great for getting developer mind-share IMHO.

    Of course, the *really* smart thing to do would be to GPL WPF/E. That would really get developers talking. But I guess Microsoft might not be ready for that one yet ;-)

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*