There has been a lot of talk of the “Post-PC Era”. The term, arguably coined by Steve Jobs at the 2010 All Things D conference, is romanticized as a future where mice and keyboards gather dust, everything is controlled by our voice and fingers, and computing is fun and universally accessible. Tablet devices like the iPad have shown that many common tasks can be done quite efficiently on thin devices with touch interfaces.
However, no matter how much you believe in the post PC era, there comes a time when you have to bust out ole’ reliable. I’m talking about the mouse and keyboard. Working with spreadsheets, writing long documents, and developing code are all tasks that are, at best, cumbersome on a touch interface. Even fun activities like gaming are often far better with a mouse and keyboard (think games like League of Legends or Starcraft). These tasks are not simply going to disappear and, realistically, will never work as well with touch as they do with traditional input devices.
The problem is, as of now, the worlds of touch and mouse/keyboard are too separate. Many people own a tablet in addition to one or more traditional PCs. It’s hard to imagine that right now there are many people who only own a tablet. Bluetooth keyboards can help you make the jump, but at the end of the day, tablets and their applications are designed for touch.
To keep up with the times, many software developers made mobile versions of their desktop applications. Others develop only for touch or mouse/keyboard but not both. Cloud computing offers some solutions to bridge the gaps between the two worlds but it is often frustrating to work with both kinds of devices. Does it really have to be such a headache?
Enter Windows 8. Microsoft is being bold in their attempt to marry the old with the new. Windows 8 attempts to offer the best of both worlds by creating a touch-friendly interface (called the “Metro UI”) that exists alongside the traditional desktop. On machines with x86 processors, Microsoft has promised 100% backwards compatibility with applications. However, it’s fairly clear that Microsoft wants things to move to the Metro UI. The big question is, does Metro work well with a mouse and keyboard?
The answer to this question is complicated but it is very important to consider that just because an application is developed in the Metro environment does not mean that it has to be used with a touch screen. This could be the key to the future of user interface.
For the sake of argument, let’s say that a spreadsheet application will never work well with touch (you may feel differently but bear with me). I could develop a spreadsheet application for the Metro UI that you download from the Windows Marketplace and that has a live tile on the new Metro UI. You can now launch my application either by touching the tile, or by clicking with your mouse (your choice). However, if I’ve developed my application to be used with a mouse and keyboard, you’d be pretty foolish to try and use it with your fingers. Nobody is making me have large icons, tap-and-hold menus, or any other touch-friendly paradigms. As the application developer, I have all the freedom in the world to write whatever kind of application I want.
Microsoft really needs to show a little leadership here and develop a few applications in Metro that are still tailored for mouse and keyboard to educate users and developers that Metro is not only about touch. The Office suite is a clear choice here, but applications in the Windows Live Essentials could be a good idea as well (especially Windows Live Movie Maker). Even triple A games like Gears of War could be written in Metro and rely only on mouse and keyboard. However, this is only half the battle in unifying the two worlds.
The last piece of the puzzle is detection of the input device currently being used. If applications could tell whether or not you are using your fingers or a mouse, they could then alter their interface to match. Instead of developing a mobile version and a desktop version of the same application, developers could make a single version with two UIs. Under the hood, there is only one application but to the user, the application may look completely different depending on how they are using it.
An obvious example of where this is a good idea is the web browser. Mobile browsers and desktop browsers look quite different. If I launch the browser with my finger, I should get nice big icons, and other mobile UI elements. However, if I click that browser icon with my mouse, I should get a UI that has a favorites bar, a persistent tabs bar, and all the familiar UI of the desktop browser. Though the UI would dynamically change to fit my use case, everything under the hood (like the layout engine) would be the same.
If we can begin to develop these kinds of applications, we may be able to begin owning a single device that serves as our PC when we are doing precise work like content creation, but is our tablet when we are browsing the web and consuming media. I dream of a day where my keyboard and mouse sit on my desk as I work and when I am done, I pick up my computer, walk to bed, and peruse Facebook with my fingers. One device to rule them all.