Thursday, June 02, 2011

Some Thoughts on Windows 8

Microsoft is the rabbit caught in Apple’s headlights… and about to be run over by the Google juggernaut. Microsoft’s income comes from two major sources, Windows and Office. The need to maintain the stream of licence fees for these two products is at the very core of everything Microsoft does. Windows has three major groups of customers: consumer PCs, business PCs and business servers. Microsoft is the incumbent in all three markets, it can’t grow any more by taking market share, its income can only increase at the rate of growth for these markets as a whole. The only way Microsoft can break out of this static lock is by creating new markets for its products. But it must be careful not to injure it’s existing Windows franchises in attempts to get market share elsewhere.

But it’s a tough world to be selling operating system licences. Unfortunately for Microsoft, the situation is far from static. It’s core source of income is under threat. The iPad has created a new class of consumer product that is eroding Microsoft’s market for consumer PCs. Many people have no need for the full power of a desktop PC. For browsing, reading and writing email and watching YouTube, an iPad, or one of the many Android competitors is perfectly adequate. Android in particular is becoming more and more able to do PC like tasks with every release. For many people a PC is overcomplicated and unreliable.

Windows is also under threat in business server rooms. The main challenge here is from cloud based services. Why employ expensive people to look after servers running Exchange when you can simply sign up for Google Apps? For many small and medium businesses, cloud based services are a very attractive alternative to running in-house IT.

Windows is probably safest of all on the business desktop. There’s no real alternative for running productivity applications like Office. However, with many line-of-business applications becoming cloud based, there is a risk that a Chrome OS style browser-only desktop might look attractive to some business. Also when everyone’s got an iPad or an Android tablet at home, having a similar device at work will start to make more sense.

So is Windows 8 an answer to any of these challenges? It’s obviously designed to answer the first, the erosion of the consumer PC market by iPad and friends. Fundamentally it looks like a simple UI layer, derived from WP7, stuck on top of Windows 7. Microsoft’s strategy seems to be to offer a simple touch-UI for ‘consumer’ tasks, but which allows you to switch back to Windows 7 for running desktop applications like Office. John Gruber makes the point here, that simply skinning Windows 7 for tablets is probably a mistake.

Microsoft is not the leader in the tablet market, it’s playing catch-up from quite a long way behind. Will consumers be willing to pay the Windows tax when they can simply buy a more mature iPad or Android device? Microsoft can’t start offering it for free like Google does with Android because they would immediately kill one of their main sources of income. There is no way they can do anything other than ask people to pay more, for what will, at least initially, be an inferior device. It doesn’t strike me as a winning strategy.

The Windows 8 developer story is somewhat odd to say the least. No mention of WPF or Silverlight. Instead developers are being asked to build apps for the Windows 8 touch UI in Javascript and HTML. There are more Javascript developers out there than Silverlight ones, but the people who already care about Microsoft platforms have put considerable investment into WPF and Silverlight. The Windows 8 announcement is a real slap-down for them. Just take a look at the anger on Channel 9. It’s also a snub to Microsoft’s developer division who have put considerable effort into building .NET. Is this a hangover from the Vista debacle? Was WinFX such a failure that the Windows team now want nothing to do with .NET? If so, what’s the point of the developer division?

It’s a confusing time for us developers. I think Microsoft still have a very strong position on the business desktop. If you are building line-of-business applications for a living with .NET, there’s probably still some millage in that. But the feeling is very much that .NET is now middle age, like many of its developers. No matter how nice the technology is, and it is very nice, it’s part of a platform that’s perceived to be part of the past, not the future.

But if you are building for the consumer market, or the cloud, then Microsoft is merely a niche player. It’s been obvious for some time that everyone should have Javascript as a core skill. The Windows 8 announcement reinforces that. It’s also clear that UNIX/Linux operating systems (including iOS and Android) are now ubiquitous in the same way that TCP/IP is. You’d probably want to make sure you know how to find your way around a UNIX system. For building server side applications for the cloud the field is wide open. Ruby, Python & Javascript are all well established and for some exotic applications, things like Erlang, Scala and Haskell are very interesting. Personally I’m hoping, optimistically I think, that Mono and Xamarin are a success. The excellent .NET platform deserves more than to be chained to Windows’ declining market share.


Andy Baker said...

I think the business case for continually upgrading desktop O/S and office is getting weaker too. There are plenty of businesses out there running XP and Office 2003 because, they're simply good enough. Let's be honest, Word 6 was perfectly adequate for most users needs.

Microsoft are also challenging themselves on that front with Office 365 - which is excellent from what I've seen so far.

Whilst you can do a lot with HTML5/js you still need to write and awful lot of code to achieve the equivalent of a few lines of xaml.

Mike Hadlow said...

Hi Andy,

"Whilst you can do a lot with HTML5/js you still need to write and awful lot of code to achieve the equivalent of a few lines of xaml."

That's the crazy thing. Either the Windows division simply has no trust in .NET, or Microsoft simply think they can't rely on the platform alone to attract developers, but instead need to adopt a more open platform. But, yes, it means it's going to be harder to write Windows apps.

I wonder when we'll see Visual Javascript? ;)

Tristan said...

That's what I don't get, I can understand that the live tiles themselves are written in HTML / JS, after all, the same functionality on WP7 is about as limited as HTML with JSON calls for data would be.

If applications themselves are meant to be written in them that's got to be a major limiting factor to the kind of apps that CAN be written on the platform. (Unless they start adding a JS framework to call in to native functionality :|).

We need Silverlight or WPF as a first class citizen, it seems like the only sensible choice, and the perfect one to follow the metro/WP7 dynamics.

Anonymous said...

"John Gruber makes the point here, that simply skinning Windows 7 for tablets is probably a mistake."
I know - it's a very popular point of view, but it's absolutely wrong.
Imagine Windows indeed will be redesigned to be Windows Tablet and break compatibility with current applications.
Now tell me - will you really upgrade to this version of Windows? To run what?
Having huge pool of legacy applications is the last leverage Windows have. Remove it - and nobody needs Windows at all. Hint - this version exists already, it's called Windows Compact.
All those technical journalists, who are incidentally also MS haters, intuitively push Microsoft in that direction.

Mike Hadlow said...

Hi Anonymous,

I don't think John Gruber was suggesting that Microsoft drop the current version of Windows in favour of a tablet OS, just that they should have a different OS for touch devices. You can't run OSX apps on iOS, but is doesn't seem to be a problem for Apple's sales figures.

But you are making a very salient point: that Microsoft's ability to move into new OS markets is hindered by it's ownership of the PC OS market. It's very hard for it to provide new products without cannibalising its Windows revenue stream.

Anonymous said...

What John Griber is suggesting, Microsoft already tried for almost decade.
As for Apple... Apple quietly built very compelling company. Universe even - it provides you the whole (and modern) experience, from hardware to OS to content. In fact, the closest to Apple is Amazon (providing AWS is operational system), not Microsoft.

So, I don't see how current Microsoft can compete with Apple on same turf (and that's the whole point of "Microsft don't get it rant) - without hardware, without content, without public love...

In other words, you think (or John Gruber thinks - I am not sure you share his view) that MS is not "bold enough", I think - they cannot afford to be bold.

In their current position they just don't have enough leverage to compete by innovation.

Innovations always bring choice and Microsoft brand at the moment is not that compelling to justify choice on its favor.

Anonymous said...

Yuck. Javascript/HTML is such a huge step backwards for development. Might as well throw away our IDEs, profilers, and debuggers so we can go back to using edlin again too... :-(

Maybe we can compromise and use COBOL. That's an old technology and at least that would be better than Javascript/HTML...

Anonymous said...

Hello Mike,

You make some interesting points but....

Let's not get ahead of ourselves. Keep in mind that yesterday's announcement was veyr preliminary. We do not know if MSFT has a nice surprise for use regarding their App marketplace and Silverlight (the fact that they mention only HTML5 and JavaScript yesterday does not excludes SilverLight or WPF from the picture).

Regarding MSFT's server business, lets not forget about Windows Azure. This is their bet in the future and heavily relies on .NET (Although it also supports other languages like any FastCGI application or Java).

wayne-o said...

who's behind xamarin? smart stuff - wonder if it'll be better than monotouch/droid... must be in response to the shake up at mono?

Tristan said...

I believe that Miguel De Icaza is behind it. He used to run the Mono team for Novell before they axed the whole department.

Here's his blog