So what's an OS to do? I think there are serious opportunities for evolution available to the Microsofts, Apples and Ubuntus of the world, but they involve embracing new technologies in new ways. And stealing a ton of ideas from phones. A finger on a screen is not a mouse on a pad, an internet browser is not the end-all be-all of the internet, and playing Crysis in a quad HD resolution at 60 fps is not the ultimate expression of gaming for 95% of the population. Join me as I explore a few bits of legacy cruft that need to be addressed before the desktop OS can become as important to this decade as it was to the last one.
1. Windows management
Problem: Spending time hunting for this text editing document under a dozen other windows.
This is at the top of the list, because it's probably my most frequent frustration; I'm always looking for the right window. Sure, you might tell me I can use "Spaces" or command / ctrl+tab or some other wild method of shuffling between my windows, but if tools like that exist to help you shuffle through the clutter, there's probably a deeper problem here. Everybody (my mom) always says that the best way to keep a room clean is to have places for everything and never let it get messy. I can't even count on one hand the features introduced in Windows and Mac OS this decade to help me "manage" my windows, but what if I never wanted to sign up for that job? An operating system is about performing tasks, not juggling. A touch of ADD and what might seem like a logical, modern operating system to some just ties my poor brain in knots looking for what I'm doing or what I'm doing next.
The other thing I would pull from webOS and other phone operating systems is the idea of pushing an app completely off the desktop and out of mind, while allowing it to run a background process to pull in its relevant push information or perform whatever other duty it does (a minimized window or app still remains in the task switcher or in the task bar, and therefore in the way). A nice little touchscreen flick (or maybe a pinch and flick, go wild!), could tell my computer that I don't want to see that entire application anymore -- while staying safe in knowing that Growl will pick up anything I'm missing by not having that window poking through 1/32nd of my screen.
Of course, we still have to multitask, since this is a desktop operating system. That's where things get tough, but I still think there's a way. Take that speed dial view in Chrome and Safari, for instance: it's a natural interface that's self-adjusting to my use of the browser and providing shortcuts in a relevant and organized manner. In the case of webOS, a larger screen could possibly allow for a two-up card view, where you pick two cards to co-exist. For the most part, if I'm doing actively doing more than two operations at once, I'm not really getting anything accomplished. I'd much rather drill through tasks and then send them away than see how many items I can manage to allow to coexist on my desktop before I lose my sanity. I'm frequently afflicted with an overabundance of tabs in my browser, but at least it presents me one at a time. I can read that page or bookmark it, and then I close it and then move on to the next tab. I'd never want to keep a window for Google or Facebook open at all times "just in case" a need for it arises.
Perhaps we've gotten too lazy with our implementation of drag and drop? If I could drag to a virtual target, such as the Start Menu or Spotlight, and then just start typing my desired target (iPhoto, Gmail, Tweetie, Windows Movie Maker, Facebook), which would subsequently launch in a way to deal with what I'm dragging, it would reduce steps and clutter. I want to execute tasks, not operate apps. Something our command line Unix friends know well. Quicksilver users, too.
2. Inappropriate use of touch
Problem: fingers aren't good at "clicking."
So, while we're on the subject of touch, let's dive in a little deeper. I think touch implementation is one of the biggest missed opportunities of Windows 7, and while Apple has the luxury of not selling any computers with touchscreens, and therefore not having to "worry" about it, that doesn't let it off the hook in my book -- the technology is clearly cheap and available.
And it should be used! We're all completely familiar with touching things in the real world, so it makes sense that we'd touch them in a virtual one. But five fingers are not a mouse cursor. I wonder what percentage of my day I use my fingers to point at something. One percent? Two? And yet I'm expected to point, tap and flick my heart out to get anything done on Windows 7 with touch, in a base imitation of the mouse.
Solution: webOS, Project Natal
Like I mentioned previously, webOS makes great use of the flick gesture (also the horizontal swipe), but I think there's also an opportunity for hand gestures away from the touchscreen. After all, on the desktop it hardly even makes sense for you to hold your arms all the way up to your screen to make something happen. Microsoft has shown off concepts (pictured above) of gestures in a 3D space in front of the computer which seem promising, and is doing similar things with Natal. If I'm just going to wave my arm to emulate a d-pad then I'm not interested, but if I can wave my arm and make something magic happen, then let's talk.
3. Lack of integration with browser, websites and webservices
Problem: Web apps make me find them, and that's too much work.
I'm gonna go a little crazy here and say that we're not necessarily going to leave the desktop behind and dive into some glorious world of just needing a web browser. In fact, when I think about some of my favorite applications, they're the exact reversal of that trend. Mailplane puts my Gmail in a familiar, functional desktop context, Tweetie makes managing Twitter a casual, persistent activity instead of a chore, and iPhoto manages my social photo sharing folders for me so I don't have to stare at endless web forms and upload dialogues to get stuff on Flickr.
Phones know this trend well (thanks in part to their sluggish web browsers), and with the advent of the iPhone and Android we've seen an endless stream of apps that pull data from the cloud and present it in friendly, powerful interfaces. Why would I want to go to the cloud in the browser when I can have the best elements of the internet in my comfy desktop apps?
4. Power management, graphical hardware management
Problem: I don't know if I'm going to get two hours or five hours off of this charge, or how to fix it.
If you plug a 3G card into your laptop, you're going to get less time off your current charge. But how much? The same goes for WiFi, Bluetooth, display brightness, spinning up the disc drive... I could go on. All of these items draw a pretty reliable amount of juice when in use, and can be disabled or avoided when an expert user wants to milk their battery for all it's worth. Unfortunately, most people don't have the know-how to disable this stuff, or just don't want to deal with the hassle, and it means a sub-optimum experience. Even if you do go through all the trouble of disabling every single power sucker, you don't know how much good you did yourself -- maybe you wasted more time shuffling around the Control Panel than you saved on juice? Luckily, the future is already here, just not evenly distributed.
Solution: Android, HP
The second part of this equation is more complicated, but not hardly out of reach. In fact, HP already has power usage software in place for some of its enterprise-class laptops, and this sort of software for IT has been available for a while. A perfect implementation in a consumer desktop operating system means providing estimates of how much power you'll really save by switching off WiFi or dimming the display, which lets users make informed decisions about power saving. Bonus points for a slider that lets someone just choose how long they need to use their laptop for and lets the software figure out the best way to accomplish this.
5. No unified notification tray
Problem: Useful notification is an afterthought in Windows and hacked on by a third party on the Mac.
Many people, myself included, are almost scarily dependent on Growl notifications. When the Snow Leopard upgrade broke Growl temporarily, it send shivers down many spines, but it also illustrated a real issue with Mac OS X: pushed, pop-over notifications shouldn't be some optional feature cobbled together by "the community," they should be deeply integrated into the OS. Windows has been much better about this, but it could be better. There's no true "problem" with the way Growl and Windows do notifications right now, but I think we've seen from mobile phones that the very concept could be rethought and revolutionized.
Solution: webOS and Android
IM and Email are shoe-ins. Merely provide an expandable text area below the message to enter in a quick response. If the conversation needs your full attention, just click it to view it in Adium or Pidgin, but the majority of conversations can be attended to with a quick reply.
Other applications could provide a set of "what would you like to do next?" buttons to let you deal with their accomplishments. That effects render all done? "Save, Export, or Save and Quit" could give you momentum going back into Final Cut. Like on webOS, a music player's controls could be persistent in the tray. Other apps, if they might be so daring, could also provide shortcuts to popular tasks where you could even drag and drop elements (like a URL or photo from an IM) from the tray to Mail or Chrome or Flickr.
Of course, if made too complicated, a notification tray starts to lose its charm, and there's always room for third party additions to a barebones implementation, but no matter what, I think the "tray" metaphor or something similar is absolutely essential for the future of the desktop OS. It wouldn't hurt the iPhone OS, either!
6. Lack of standardized hardware targets for gaming
Problem: I'm running a "pro" system that was built less than a year ago, and yet I have no idea which games (if any) are even worth installing
Another way to phrase this is "I'm a console gamer." I know plenty of people play some amazing games on the PC, and it's still the ideal system for a FPS, MMO or RTS. But it's a hassle. Services like Steam have made obtaining games easy and often cheap, but at the end of the day you have to be of above-average intelligence to get an appropriate game graphically for your mid-tier desktop or your high-end laptop, and a computer genius to tweak your system appropriately to run the game at its highest relevant settings to your machine.
Even when I've been presented with a best-case-scenario gaming PC, I still drop frames in the messy parts, or have to shut off a few of the fancy graphical touches that make the game look good at the high resolution PC games are known for. Or I drop the resolution and loathe myself for it. I know I'm doing something wrong, or not spending enough on gear, but I'd really rather just pay $60 for that console disc and enjoy a known quantity from my couch.
Solution: iPhone, prayer
This doesn't help PCs much, however, since there are about as many currently available PC SKUs as there are iPhones in use. One potential help is AMD's new "VISION" branding for PCs. This is mostly useful for differentiating what sort of media handling capabilities a system has, and will obviously become much more of a moving target once a new generation of systems are introduced (you can't differentiate around 1080p forever). There's also a hope that DirectX 11 could take off in a way DirectX 10 never did, providing a new target for game developers: the lowest end DirectX 11 gaming card on the market. But I'm not holding my breath.
Problem: My netbook costs $50 more than it needs to and I can't change the desktop picture for some reason
While PC manufacturers are all busy one-upping each other in feature sets and blasting away at MSRP, Microsoft is in the enviable position of licensing software it's already built. Of course, Microsoft has to recoup its considerable development and support costs, but there's something that feels just a little "wrong" about stripping features out of an OS to sell it cheap to an OEM -- particularly when it's more expensive than Windows XP was. Windows 7 Starter usually amounts to a $50 bump over a comparable system with Linux or Windows XP. Microsoft isn't necessarily abusing a monopoly in this space -- there's nothing theoretically stopping anybody from pumping a couple billion dollars into Linux or some new brand of desktop OS and facing off with Microsoft head-on -- but since there isn't a true Windows alternative, I think Microsoft gets away with charging more than it should for all versions of its OS, and stripping too many features out of its "cheap" editions.
Apple isn't any better, since it simply doesn't give us any choice. Maybe Apple doesn't think people want something akin to an Apple-built netbook, but I'd say there are thousands of hackintoshes out there that would beg to differ. The fear of cannibalized sales is understandable, and so far Apple's choices are paying off just fine on the balance sheet, but it's hard to think of a desktop OS like Mac OS X as truly "current" of "of the times" when most people shopping for a laptop today aren't even planning on spending half the cost of the cheapest MacBook.
Solution: Linux (maybe)
A more expedient solution would be for Microsoft and Apple to slash their licensing costs and drop some of the restrictions. Perhaps it'll take a successful Linux to make that happen?
8. Complexity leading to click abundance
Problem: I can't remember that key command, but hunting through the menus with my mouse is too much work
This might come across as a little esoteric, but I think at some point we lost our way with key commands. Outside of simple things like ctrl+C, ctrl+V and ctrl+S, most key commands are designed for and typically used by experts. There's nothing wrong with that, and I'm happy that experts are presented with a highly efficient method of using their application of choice, but for the rest of us, or for the expert that finds herself in a foreign app, there needs to be a better way to discover functionality than clicking like a maniac.
It typically looks like this: I know what I want to accomplish in Photoshop, but I don't know how. So I start clicking. I click up in the menu bar and shuttle back and forth to see if something catches my eye. I right click on some aspects of the layers menu, I click into some of my tools, I tab through a few thousand pallets. What do I end up doing? I just run to Google. I'm sorry I'm not smart enough for you, Photoshop, but if I have to resort to a frantic Google search every time I want to get something complicated done, there's probably something wrong with at least one of us.
The big upside for me is that I love using my keyboard, and this gives my keyboard way more to do outside of text entry and painful key commands. While giving computers voice commands has never caught on for a multitude of reasons, it makes sense that I could tell my computer what I want to do using natural language in text form -- it worked so well for Matthew Broderick in WarGames! I'm sure there are plenty of other things we could learn from the command line interface that could make sense when implemented in a natural language, intuitive sort of way. This also could solve some of the abundant clicking of windows management: instead of dragging and dropping continually, I just "tell" my computer which two tasks I want to focus on right now.
9. Independence from mobile phones
Problem: I'm sitting at an all-powerful laptop, and yet I have to fish a tiny little computer out of my pocket to answer this phone call
I don't think this is complicated at all, but for whatever reason it's 2010 and I'm still routing most of my calls over a highly unreliable network of cell towers. Sure, phones are great, I love having a cellphone and can't even conceive of my life without it, but when I spend 12 hours a day in front of a computer that could handle my phone's tasks so much more effectively, it's almost a little silly to be holding up this hot slab of phone to my face, wondering if I'm going to drop a call.
Solution: Nokia, T-Mobile, common sense
In a perfect world, if my iPhone is plugged into my computer and I've toggled the related preference, a new SMS message would pop up in my iChat (or that fancy new notification tray I've been dreaming about). I could respond from right on my computer, or if that person happens to be on IM I could even push the conversation over to AIM or Gtalk. More complicated from a back-end point of view, but just as theoretically simple for a consumer would be doing the same thing for voice calls. I should be alerted to who is calling me right from my computer screen, and choose to pick the call up in any number of ways: on the handset, through a Bluetooth headset, or bumped over to VoIP and routed through my broadband connection. If on-television alerts to phonecalls are something that the cable companies can figure out, I'd think it's the least Apple and Microsoft could do on their desktops, if only to save some shred of geek dignity.
Sure, most of these things can already be done in some way or another with the right know how or hackery, but I don't want to spend an afternoon figuring it out and finagling it into my OS; I want it to Just Work like this out of the box.
10. Lack of purpose and excitement
Problem: What has my desktop OS done for me lately?
Somewhere in the last decade, desktop OS builders decided that they'd attained some sort of "good enough" plane. After that point, they merely needed to tweak and add on, but true revamps became rarer and fresh ideas were always wary of trampling on a proven usage mechanism. They became safe and usable and stable (and I love them for it), but they also became boring.
It's not like I don't want the spit and polish of a truly completed OS, and I do greatly appreciate the efforts on the part of Ubuntu to support more hardware, Microsoft to slim down its kernel in Windows 7 and Apple to build Grand Central Dispatch for Snow Leopard. I'm also certain that after releases more along the lines of "maintenance" in Windows 7 and Snow Leopard, Apple and Microsoft are working on big things for their next versions. Still, there's none of the excitement, pace or innovation on the desktop akin to what we're seeing on phones right now, and it's not like there's a lack of new technology or market demand to hold back innovation.
Solution: Try harder
A desktop OS is exponentially more complex than a phone OS, but that doesn't mean I'm happy with waiting a few years for each major update. In fact, with the powerful chips, large size and multitude of input methods at a "real" computer's disposal, I think there's actually more room for new thinking about usability. Phones have been benefitting from their limitations by the mere fact that software designers have to trim the fat and develop to a very simple (often one-handed) UI paradigm. They have to try harder, just to make a phone that wants to be a computer truly usable. Since I can already accomplish almost anything on my laptop with a keyboard and mouse, and I have 8GB of RAM for swallowing up as much wasteful code as you want to throw at me, there's no desperate need for functionality forcing anyone's hand. I can't force their hand with my wallet either, because I'm still buying their products and getting things done with them, but hopefully someone deep with in Cupertino, Redmond or their mom's basement is hard at work on something to take my desktop experience into the next generation of UI.
What actually got me started on all of this is an editorial by John Gruber talking about what he thinks "The Tablet" project might mean from Apple: basically, a new sort of consumer "computer," a second coming of the Macintosh that rethinks what a personal computer should be, not a mere web-surfing-in-bed slate to keep us occupied for 10 minutes every night. My hope would be that Apple doesn't do away with interfaces like the QWERTY keyboard that have served us so well for so many years, but does present an OS that allows people to utilize their computers in new and exciting ways using touch and other interface innovations, while still accomplishing familiar tasks like updating Facebook, sorting photos and editing movies.
If what we've seen of Microsoft's Courier is legit, it too presents an opportunity to use computers in a new way -- though a total rethink of the primary consumer OS obviously presents more danger and risk to Microsoft. It's in Apple's best interest to get everyone to buy a new machine with a new operating metaphor, while a world where people can get 95% of everything done without Windows (the other 5% involves editing Excel spreadsheets) makes Microsoft surprisingly less vital to the consumer.
Even if I'm pitching it as "evolutionary," this sort of pie-in-the sky, redefined world is likely years away: Windows 7 and Snow Leopard just showed up, and they aren't likely to resign their position of dominance in the lives of productive, communicative people in the near term. But for the sake of my throbbing carpal tunnel, frazzled brain and fragmented UI expertise, I do hope we get there this decade.
Update: Wonderful feedback so far! A few takeaways:
- You have to check out this 10/GUI concept, I think it addresses a lot of this stuff I'm talking about, particularly windows management and a more appropriate use of touch.
- Gnome 3.0, while not as extensive or world shattering, is also doing some new UI things along these lines (and doing them right now, in a real OS). Will be interesting to watch it develop!
- I'm an incredibly lazy person.