The giants are stumbling?

This year's CES has been quite interesting. Alliances of old have been strained, and new ones have unexpectedly appeared. There is the smell of a changing world in the horizon, or maybe that's just wishful thinking?

In any case, in the next 2 years, I expect the computer landscape will have tremendously changed. The announcement of Nvidia's Project Denver, an ARM CPU+GPU for the desktop, workstation, and server market, was interesting by itself. But coupled with Microsoft's announcement of Windows 8, it has the potential of being huge.

For years we have lived in "Wintel" land, with the symbiotic Intel+Microsoft relation ever present, overshadowing any alternative. And suddenly Microsoft turns around and supports a direct shot at Intel's flotation line from a very powerful new contender. Nvidia has the expertise necessary to produce very powerful SoCs (System-on-a-Chip) that would perform very competently for desktop computing.

However, this might not be that surprising, when Intel had an interesting alliance with Nokia earlier in 2010, which was squarely targetting Microsofts' cash cows. Hold on... Nokia??? Well, yes, didn't you know they also make computers?

And that's the key here: there is a major convergence going on. The word "computer" is expanding, to cover devices that fit in your pocket, devices with or without a keyboard, but especially devices with or without Windows/Office on them.

As customer expectations change, the market is adapting. People want to do everything on their iPads, on their iPhones, on their Nexus One, Samsung Galaxy Tab, Motorola Milestone, you name it. So companies have stepped up, and done it the right way.

Online: Google Docs, Zoho, Aviary (seriously, check it out), and a miriad other web "2.0" tools. The advent of HTML5's offline capabilities, plus the huge increase of browsers' javascript speed, enable web developers to create experiences that were impossible to imagine just a few years ago.

Offline: the maturity of several cross-platform development environments, that allow a company to target different platforms (MacOSX, Windows, Linux, iOS, Android) without rewriting all the code. It is only logical: more markets mean more customers, but the cost to target them used to be much higher.

So I understand Microsoft's announcement as a sign to manufacturers, and not so much to customers: "Hey, wait! No need to look at alternatives! We are available on ARM too! Just... not yet."

It is all fine that Windows and Office will run on ARM. But once you move over, the traditional advantage of Windows disappears: the huge ecosystem of third party applications doesn't exist. Most of them expect an Intel/AMD/x86 processor underneath. Most of them are not written for a VM (Java, .NET), and nothing but the real deal will suffice. By the time Windows 8 is here, this situation will be better, but will it be enough?

When you look at the Apple App Store for the iPad/iPhone, the count of applications is above 300,000 right now. The Android Market is growing by the minute, and is already above 200,000. How large will these numbers be by the time Windows 8 is here? And how many applications do you need to cover 99% of the needs of 99% of the customers?

The fact is: all these applications are right here, right now available for ARM. All the hardware tablets coming out this year on ARM will not run Windows. They will not run Microsoft Office. They will not have an Intel processor. And their users will not care.

And when they want to run the same applications on their desktop computers, the market will go there. And you just might see that in 2012 this is no longer the exception, but the rule.

In that low-energy, the phone is the computer, ARM-powered world, the Windows ecosystem is gone. But the desktop Linux ecosystem is already there. (Yes, this video is almost a year old, and it's far from being the first thing you can find...)

So in 2012, when Windows 8 comes out, and you are in the market for a cheap laptop, with long battery life (so it will have an ARM processor), what would you choose? Windows for ARM with a very limited selection of (very immature) software? Or Ubuntu, with thousands and thousands of applications, and the maturity of years and years behind them?

Take some time to think about, no need to rush.