Tuesday 12 March 2013

Windows 8: Bringing the Desktop Back

In my last post I talked about how I felt Windows 8 had pushed ahead too far into the tablet OS space and left the desktop era trailing behind. In essence there are millions of PCs/devices which are currently capable of running Windows 8 yet are not designed for the brave-new-world interface that is the Modern UI. I did say at the end of that post however that I would suggest ways of improving the situation and this is what this post will be all about.

Disclaimer: I am but a humble software developer expressing my own opinions here. I do not work for Microsoft and definitely have no sway in how Microsoft builds its products. I am also not an expert in operating system design and architecture and cannot vouch for whether anything I say below is technically feasible – consider everything below a “wishlist” of what Windows 8 could be.

This post also contains diagrams and mockups created with my own two hands so they might hurt your eyes – I would strongly suggest some protective eyewear before you continue reading.

Splitting Things Up

Microsoft took a gamble with Windows 8; they wanted it to be the operating system that could be installed on any device/system, small and large. Whereas in the past they tried to shoehorn the behemoth that is Windows onto a smaller form factor – see Windows Mobile for an example – this time they are working the other way around, refining their Modern UI concepts on small devices first and then scaling up to larger systems.

The problem I see with this though is that a full-fledged PC and a tablet are not the same; the “windows” concept works well on a PC and the fullscreen, one-app-at-a-time concept works well on a tablet. But Windows 8 tries to do both at once and then the inconsistencies appear; some apps appear in multiple windows on the desktop while some must take up the entire screen and hide everything else behind it.

Ultimately these two ideologies don’t play well together. Apple, on the other hand, have two operating systems - OS X, their full computer operating system and iOS which is their phone/tablet operating system. Both cater to their target devices by only doing what is appropriate on each device with some room for crossover. It is this idea that I think should have been done for Windows but in this case possibly have one OS for each target device – phone, tablet and PC – all running a core Windows system.

Because Microsoft loves to make beautiful architecture diagrams how about I have a stab at one to demonstrate what I mean:

Architecture

Please bear in mind that this is not very complete and probably laughable but basically I see things working as:

  1. Defining the Windows Core operating system which would contain everything that every other Windows-branded OS requires at a minimum e.g. the kernel with process multi-tasking, input (including touch), output, networking, graphics and even the new Modern UI stack.
  2. Then have the Windows Phone OS be based off of the Core. This would be the smallest OS provided due to the hardware constraints of a phone device but would build upon the core OS to include phone services e.g. SMS.
  3. Then have the Windows Tablet OS be based off of the Core and build upon it to provide enough for a tablet device. Effectively this would be what the Windows 8 Modern UI would become.
  4. Finally have the Windows Desktop OS be based off of the Core and complete the picture; this would provide the full package of components including legacy Windows support (which phones and tablets do not need).

Note there is already the concept of a “core” operating system – Microsoft developed MinWin to disentangle all the dependencies Windows has on its sub-systems and produce a minimal version of the OS to base everything else on – but this idea would take it further. As a lot of the future of Windows is being tied together it makes sense to me to include all the common components into one core system and then build upon them where it makes sense. This means that the Phone OS can focus on just being a smartphone whilst the full Desktop OS can focus on being the productivity powerhouse it used to be.

I also see nothing wrong with including modern concepts into the core OS such as the Modern UI stack or touch inputs – although desktop PCs today may not make much use of them in the future they certainly could.

So that is how I would split them up, but what would each one look like?

Windows Phone

Image courtesy of CNET UK

This one is simple to define as it already exists. When I first got a Windows Phone 7 device I was actually quite impressed that Microsoft almost nailed the entire thing on the first try – thereby breaking their usual “3rd release is best” cycle. And as someone who has used it for a couple of years now I think it works pretty well when considered it is used for things like phone calls, staying connected to your friends and doing things on-the-go. So my thinking is just leave this one be and that is the Phone OS sorted. Next?

Windows Tablet

Image courtesy of Microsoft

This one is also quite simple as well because this would be what Microsoft has been trying to push onto us since Windows 8 was first shown to the world. Basically the Tablet OS would be the new Start Screen and Modern UI apps - no desktop or legacy at all. However, there are a couple of things I would change to make it the tablet OS it should be.

First of all I think the Charms bar should just be ditched as I don’t see any point to it. I think it is meant to show that every app has the capability of several core concepts – Search, Share, Devices (which I’ve never used so don’t even know what this is for) and Settings. But the problem I see with it is that not every app ever developed has to include these charms as sometimes it just does not make sense. Let’s take the example of a simple calculator app. So how many charms would we need for this to function?

  • Search is useless since there isn’t a lot of content to search for
  • I don’t particularly feel the need to Share my calculations on Facebook
  • I don’t really need to print anything usually so Devices isn’t required
  • Calculators are not that complicated so I can’t see too many Settings being needed either

Which means that this app would not require the Charms bar at all – selecting each charm in turn would result in me being told that this function is not available, something I would have to actually click through to find out.

Instead, why can’t we just resort back to some tried-and-true user experience conventions that have been built up over the past couple of decades? For instance, everyone now knows that a rectangular box with a magnifying glass next to it is a “search box” where you can search for things, so why can’t Modern apps simply use the convention too – it’s not like there is a lack of screen estate in some cases.

Store

The Windows Store app now with a search bar to clearly show that you can search for apps

Likewise every website under the sun now has all sorts of “share” buttons littered over their pages, so we could also have Modern UI apps just add a “Share” button when it is appropriate to do so.

Windows Desktop

Now we get the the crux of this post, sorting out the Desktop. I highlighted a few issues I had with the Windows 8 desktop as it is now and the main issue was that every Modern app must be made fullscreen. Now my idea around this problem is simple: put Modern apps in windows again and let the user organise/resize them to how they want them to be. But it turns out someone else has already thought of this; Stardock are developing software which does just this called ModernMix.

An example of how I think desktop should handle Modern apps and what ModernMix is already capable of. Image courtesy of Stardock

To me this feels like the best fit for the desktop – Microsoft could still deploy the new Modern UI apps which use the newer Windows RT technology but not at the expense of what came before it. Remember, Windows is all about building on what already exists. Users would get better, modern applications without sacrificing their own productivity or choices.

And while we’re still removing things let’s get rid of those pesky “hot-corners”. At the moment if you want to see the Start Screen, switch applications or view the Charms bar then with a mouse you can move the pointer into one of the screen “hot” corners and the appropriate action will pop-up. Except that these hot-corners are annoying – it feels so slow and cumbersome to move the mouse all the way to the end of a screen, wait for something to appear and then click on it, which is why I avoid them like the plague and use keyboard shortcuts instead. Simply put the Start button back – which can trigger the Start Screen if Microsoft insist – and that’s all that is needed really.

So now we’ve removed the dud features of the desktop, how can we progress it forward? For a start if Microsoft are committed to this new Modern UI/UX then they should start updating their apps and control settings to use it. This can allow them to start thinking about how to integrate touch controls to important Windows features ready for the future.

One part of Windows 8 I do really like is the live tiles that animate and show all sorts of live information for each application. How could that be applied to the desktop? Perhaps live tiles could be arranged on the desktop itself like regular desktop icons at the moment – a bit like widgets but at least tiles can be organised better.

DesktopTiles

A mockup of how Live Tiles could be placed onto the desktop

We Can but Dream…

These are some of my wild musings as to what Windows 8 could have been, though I imagine these will never come to fruition; once something is baked into Windows it stays there and Microsoft seem quite committed now to forging ahead with what they’ve got. I am hoping though that Windows “Blue” will try and address some of the usability issues with the desktop/Modern experience but we shall see.

No comments:

Post a Comment