Recently, Microsoft has been talking about its Cobalt project, a drive to emulate the instructions of Intel-style x86 CPUs on ARM CPUs. There's a lot more involved in running, say, Windows apps on ARM-based portable devices than that, but it's certainly possible and the reasoning behind it is clear. The company is very keen to chase Apple down the path of mobile devices and has repeatedly (and with mixed success) released phones and tablets running various Windows derivative operating systems. The company is clearly very aware how reliant it is on the desktop and workstation market, as well as that of home computers. Fusing those two worlds, such that one platform can run software built for the other, is a tantalising possibility.
21 years of the same
This is interesting not only from the perspective of portability for desktop applications. There's also the reality that operating systems have been almost completely stagnant, features-wise, for a very long time. Operating systems now don't actually do anything particularly different now than they did twenty-one years ago. I'm serious – from the user point of view,Windows 10 operates pretty much like Windows 95 did, but for a few comparatively minor graphical polishes. Like a lot of very popular software, Windows has a bit of a problem in that every time anything is changed, howls of torment arise from everyone who's used to the status quo, which is pretty much everyone.
This was demonstrated in Windows 8, when Microsoft made the (ostensibly fairly reasonable) decision to go for a tablet-style layout. This might have made sense in terms of unifying its user interface between the mobile and desktop versions of the operating system, but the change broke people's familiarity with the software and drew so much flak that it was almost immediately reverted. As far as the user is concerned, Windows 10 and Windows 95 use, to all practical purposes, the same approaches to most things.
Well, OK, that's a grotesque and somewhat unfair oversimplification. Windows 10 and, in fact, all versions since 2000 are based around the same core as was built for Windows NT. There is common code between Windows 95 and Windows 10, but probably not very much. The list of things that 95 can't do compared to more modern versions is vast. It wouldn't even work with USB devices by default. What's remained the same is the fundamental expectation of what it is: boxes on a display, each full of files or the output of a program. There is a very limited degree to which this can be polished without imposing massive change and there's a very limited amount of change Microsoft can get away with.
What's actually possible?
What Microsoft can get away with (and what might well be welcomed) is an entirely new feature, like the Cobalt project. Run Windows applications on ARM tablets? Now that would be a new-new feature and one potentially well worth paying for, although, of course, the way it works will depend on what Microsoft cares to give us. There's a big gap between emulating processor instructions and running software. Also, all of this is likely motivated, at least in part, by the appearance that Intel lacks some commitment to the Atom CPU line for tablets and smartphones. Microsoft is probably just looking for a way out of a problem with the status quo, not necessarily looking for a wild new feature that would change the way the whole world of computing worked.
But that's what it needs. Let's think wildly outside the box, for a moment. What if there were a new operating system that allowed people to run a program on the desktop, then pick up a tablet and carry on using it as they walked out of the door? That's sort of possible, given a VNC client, but it's far from push-button and sending a video image of the desktop is not a particularly efficient approach. What if we could pause and resume applications using disk storage like we do with the entire OS, so our programs would start up in the exact state we last used them? Why not do this across the internet, so we can run our licenced programs on a machine halfway across the world? What if we had an operating system that allowed people to rent more CPU time on the cloud, simply by sliding a performance control up and down. What, for that matter, if we had a version of Windows that could run Mac applications or vice versa?
Some of these are crazy, maybe, and we're crawling painfully towards others. Still, they're all technically possible and they're the sorts of genuinely new and useful things that operating system manufacturers need to do in order to keep us interested. Otherwise, it's still just Windows 3.1 with a start menu. It's still files and programs in boxes. Right now, the solution favoured by some software houses seems to be to corral us all into renting the software as a service, which solves the problem by ensuring that no innovation is actually required in order to keep the money rolling in. Given the possibilities, this seems like a bit – no, a lot – of a retrograde step. Let's hope for more projects like Cobalt and more genuinely new things which represent genuine progress.