During a conference call to discuss Intel’s latest financials, CEO Paul Otellini raised the possibility of putting the full Windows OS onto a smartphone, running a low power Intel SoC (System on Chip). The matter came up with Otellini was asked about the impact of Windows on ARM, announced at CES earlier this month:
The plus for Intel is that as they unify their operating systems we now have the ability for the first time: one, to have a designed-from-scratch, touch-enabled operating system for tablets that runs on Intel that we don’t have today. And secondly, we have the ability to put our lowest-power Intel processors running Windows 8 – or ‘next-generation Windows’ – into phones, because it’s the same OS stack. And I look at that as an upside opportunity for us.
The reasoning seems to be: if Windows 8 is designed to run well on mobile devices with ARM, it will also run well on mobile devices with an Intel SoC, which will let us put it on phones.
Note the point he highlighted: Microsoft unifying its operating systems. No more full Windows vs Windows CE; one OS from mobile to desktop.
Although that sounds compelling, the snag is that Windows is not well suited to low-power mobile devices, which is why Windows CE was invented in the first place. Microsoft can fix this to some extent by fixing the things that make it unsuitable, but it carries a heavy compatibility burden.
It also throws up the question: just what are Microsoft’s long-term plans for Windows Phone 7, which is built on Windows CE, has its own GUI mostly written in native code, and a development platform based on .NET – Silverlight and XNA – plus a native code SDK that only mobile operators and device manufacturers get to use?
At CES Microsoft Steven Sinofsky sort-of denied that Windows will encroach on Windows Phone 7 territory. “Windows Phone 7 is uniquely focused on the small form factor that Windows doesn’t focus on,” he said.
Nevertheless, the company’s decision not to use the Windows Phone 7 OS for tablets may make that inevitable. What is the difference between a smartphone and a small tablet? Does Microsoft expect developers to write apps designed for Windows on a small tablet and then rewrite them for Windows Phone 7 using Silverlight?
It does not make sense; and despite the Windows Phone 7 promotion included in CEO Steve Ballmer’s CES keynote, I was left wondering whether Microsoft’s new mobile OS really has a future.
That said, Silverlight abstracts the OS, so in principle Microsoft could use it to form a consistent mobile development platform irrespective of whether the underlying OS is Windows CE or full Windows. I am not getting that sense from the company though, and I’d expect the primary Windows SDK to remain based on C++.
I am struggling to understand how Microsoft expects this to work. App compatibility is the obvious benefit of full Windows; but two big issues are that most Windows apps are not touch-friendly and are not designed for small screens. Putting Windows on a tablet with a decent screen size and the dreaded stylus works to some extent, but will never compete with Apple’s iPad for usability. On smaller screens most existing apps will not work properly; and if Windows on small devices sprouts a completely new touch-friendly GUI, or borrows the one from Windows Phone 7, then app compatibility with desktop Windows will be limited.
It feels as if Microsoft’s Windows team is saying one thing, the Windows Phone 7 and developer teams saying another, and partners like Intel saying yet another. Windows Phone 7 was meant to be the thing that made belated sense of Microsoft’s mobile strategy, but even that now looks doubtful for the reasons stated above.
Microsoft is still a long way from having a coherent strategy for mobile devices, and that lack is damaging the company and helping Apple and Google to establish their competing operating systems.
Update: Mary-Jo Foley writes about Microsoft “Jupiter” which is a rumoured new user interface and application model designed for Windows 8 and its app store:
Jupiter is going to be a new user interface (UI) library for Windows, built alongside Windows 8. It will be a thin XAML/UI layer on top of Windows application programming interfaces and frameworks for subsystems like graphics, text and input. The idea is Jupiter will bring support for smoother and more fluid animation, rich typography, and new media capabilities to Windows 8 devices.
Is Jupiter a .Net technology, or XAML adapted for native code, or both? Is it one and the same as, say, Silverlight 6? That is not stated, though Senior VP Soma Somasegar helpfully (or not) said that:
some of the information in this post is not right and out of date, not reflecting Microsoft’s current thinking.
That seems to tacitly confirm that it fairly represents Microsoft’s thinking at some time in the not-too-distant past.
It would make sense to me if Microsoft used Silverlight to unify its application platform as mentioned above, and combining the XAML presentation layer with native code could address performance and memory usage concerns with .NET. This is the kind of news that would really give confidence to Silverlight developers, rather than the damage limitation PR that Microsoft has put out since PDC late last year.
On the other hand, I believe Somasegar when he says the information is out of date, so for the time being it is just another dose of uncertainty.
Hello Tim,
I am not entirely sure what you are trying to say. Let’s break this down.
Google/Android’s strategy for the desktopmobile is web apps, this works equally well(or bad rather) on all devices, but they still require specific tailoring for each form factor to be any good. This strategy is covered by Microsoft
Apple’s strategy for the desktopmobile is a rewrite, with library reuse much like a split .Net app would be unless they give full silverlight support in all windows OSes. But even if they did give full silverlight support you still want to tailor write code for each form factor.
Microsoft’s strategy is one of choice for the developers, it has always been. The first time they ever broke this promise was actually with Windows 7 Phone(no native code), but if you stick to silverlight/C# you will actually be set for
mobile client
windows client
xbox client
server components
webapps
No other platform/development story covers all that.
C# also has moonlight and monodroid/monotouch which covers the android and iPhone bases as well as silverlight on the Mac OS, so even more code reuse if that is what you want.
I still have a hard time with managed languages like java/C#, their performance, or perceived performance is always sub par. For client apps java is worse than .Net, but if platform coverage is your thing, C#/.Net/monoXXX is where it is at, at the moment if you’re not into webapps.
I on the other hand don’t understand this hesitant view of rewriting code, it happens all the time, it is not really a problem. When Apple deprecates entire API lines or development paths everyone seem to think it is fine, when Microsoft doesn’t make it clear it is somehow worse than the whim’s of Apple you live by in the Apple land. In Apple’s world everything is native requiring you to write on app for each platform, expect for iPad/iPhone.
I also believe it isn’t a good long term choice to keep a sub par OS (be it iOs or Windows CE) for slates and up, probably not even for a phone. Devices will get more and more functional areas, people will expect more and more from them. A slate is more a laptop than a phone.
To optimize your OS for a slate will have tremendous benefits for the desktop/laptops/netbook as well.
So in the end you have two troubling areas to unify
* server
* phone
Where do those fit in the OS stack, the phone is probably easier to fit than the server. As phones will get closer to slates (not takling iPad here as it is essentially an iPone with a bigger screen).
So that leaves the server, how can you split your stack to make server components as addons (more than today), maybe HyperV is even a good idea for phone/slates as well… Compartments with security barriers that are more or less impossible to breach(at least much harder), like Qubes. On phone OS running your business stuff another your personal stuff.
Microsoft has worked hard to unify the desktop and the server and just when they are getting there and started working on unifying windows CE and windows (minwin work) they get new headaches with the cloud OS.
We know it is possible to have the same kernel across all devices, Linux is doing it, they just fail in other areas instead.
I suspect Microsoft is going to rebase Windows Phone from Windows CE to Windows. IOW, Windows 8 will be able to use either the Windows desktop interface we’re used to, or the Windows Phone interface, depending on the underlying device. I think this must be what is happening (or something similar) since we now know Windows 8 will run on ARM, and even Microsoft must understand (from painful experience) that mobile devices require a completely different interface than PCs.
The appeal of Windows on mobile is not backwards app compatibility, that’s irrelevant for the very reasons you mentioned. The appeal is that now mobile devices will be undergirded by a powerful OS that plays nicely with other networked devices and has far more capabilities than the iOS. It presents a unique possibility for Microsoft tablets to suddenly leapfrog the iPad in capability. But the risk is huge since Windows 8 is still a couple of years away.
@Niclas
Thanks for the thoughtful comment. If Microsoft would just come out and say that the long-term plan is full Windows OS (but with different GUIs) on all devices, and that Silverlight/.NET is the long-term app strategy across all those devices (but with native code as an option) then I’d have no problem; I think that makes sense, provided Microsoft can strip enough legacy baggage out of Windows. Perhaps that is the strategy. But leaving developers to guess is unhelpful.
Tim
Getting Windows in shape for mobile devices will likely be challenging. But it may not be quite as bad as it sounds since Microsoft is probably counting on the hardware in those devices being much powerful by the time Windows 8 is finally ready.
Perhaps the concern is Apple and Google would make moves to blunt the impact of Microsoft’s strategy if it were known. But I agree with you, keeping developers in the dark about the roadmap going forward is harmful at a time when Microsoft needs to better cultivate their relationship with developers.
Maybe “MS” at a high level is not sure themselves what path to take. They can’t announce a decision if they haven’t made it yet. It would be interesting to hear the full scope of the internal conflicts over this from an insider.