Smartphone Round Robin Wrap Up - Design Language and webOS (and our Winner!)
Now that we've taken the full tour of other smartphones and seen everybody else's reaction to webOS, it's time for me to chime in with a few finishing thoughts on webOS for the Smartphone Round Robin.
Obviously I'm not going to 'review' anything here - in addition to my colleagues' excellent overviews, we already have a full Palm Pre Review, Palm Pre Plus Review, Pixi Review, Pixi Plus Review, and Guide to webOS here on PreCentral. Instead I want to focus in on one particular issue that's been weighing on my mind for the past few months - multitasking on webOS.
I've said this a few times and after taking a tour of the other major smartphone platforms out there I think this more strongly than ever: no other smartphone platform has as elegant or intuitive multitasking as webOS.
Read on for my final thoughts there and also to see the winner of the Smartphone Round Robin contest for PreCentral!
"System" is almost as awkward turn of phrase as 'multitasking' and in truth it also is a stand-in for several more elements: how an operating system handles multiple apps on the backend, which apps are allowed to multitask, how much overhead a system has, memory management, and what happens when things go wrong.
webOS does fairly well in all those categories, but I will admit that I'm not a developer and can't say that with complete authority. From my power-user perspective, even I can see that there are times when webOS bogs down and isn't handling things like garbage collection or system resources properly.
I'll delve into this more as I discuss UI metaphors, but for now just think about this: unless you're hardcore enough to install and use JsTop, with webOS you never need to open a 'Task Manager.'
One problem that will eventually need to be addressed is the fact that occasionally some rogue apps can cause memory leaks even after they're closed. Another is that some apps run in the background without any visual indicator to the user that they're running. That's actually how it should be - certain apps need to be persistent in memory to function properly - but over time it can cause slowdowns.
So while I can't speak to the nitty-gritty technical details of how multiple apps are managed behind-the-scenes, I can say this: webOS treats all apps as equal citizens. Obviously I'm taking a dig at the iPhone here. The iPhone does multitask, but only core apps from Apple get to do it. With webOS - heck with every other Smartphone OS out there including PalmOS - 3rd party apps get to play.
I suppose one could graph a line plotting stability and multitasking - at the far end of one quadrant would be a rock, then an alarm clock, then a feature phone, then the iPhone, then BlackBerry, then webOS & S60, and finally Windows Mobile and Android. There are legitimate arguments for wanting to land on the stabler side of the spectrum. However at some point each user finds a line past which they won't cross for the sake of a little more stability. For me, that line is allowing third party apps to run in the background - and I suspect that as the population becomes more computer savvy over the years more people will join me in not wanting to give that up.
This is where webOS really shines and literally knocks the pants off every other mobile operating system out there (and I could argue, but won't, off most desktop systems). I refer to User interface metaphors both as a way to talk about how a system presents multitasking but also with Neal Stephenson's seminal 1999 piece "In the Beginning was the Command Line" in mind. If you haven't read that, stop everything and read it now. You don't have to read it to understand what I'm about to say - you have to read it to understand what computers are and what they meant to us.
Operating systems have lots of different ways to give you indications of what is running and what sorts of resources are left. Windows desktops have a status bar that shows currently open windows (which are often indicators that a program is running), icons on the lower-right for other background tasks, and a dialog window you can open to view processes. Unix and Linux boxes have similar options in the GUI and will also let you run Top from the command line. Macs have a dock that shows running apps, a menu bar area for a few more, and another app to let you manage it all if you need to kill a process.
Phones have different restraints than computers - most obviously smaller screens, less RAM and processing power, and considerations of battery life. So in addition to the systemic restraints on what and how apps run in the background, they also need to handle how the GUI presents multitasking differently.
Windows Mobile evolved (thanks to HTC) to the point where most Windows Phones have a drop-down menu that shows running apps. Android doesn't really show you running apps unless you either dive deep into the settings or download a task management app (the Most-recently-used list that pops up when you hold down the home button doesn't strictly show running apps). BlackBerry allows you to hold down a key to switch between running apps. And so on.
With all of these phones, the apps run pretty much full-screen (as they should), but the problem is that going from "running an app" to "getting rid of an app" is completely non-intuitive. It's a competely separate and often arcane process that's sometimes as easy as finding a "quit" option in the app itself all the way to having a specialized app that force-quits all other apps based on settings like timing or whether the screen is on.
These phones all nobly try to keep system resources available automatically by closing apps in the background when necessary. Every single one of them has failed pretty specatularly at doing that well. Of them all, BlackBerry and perhaps Windows Mobile Standard-edition have done the best, but it's still pretty poor.
webOS, as you know, is different. It repurposes the desktop metaphor of 'windows' to signifify open applications, turning them into cards. To manage your open applications (setting aside the previously-mentioned background tasks), you just go into card view and swipe away the stuff you don't need anymore. There's no mystery about why your phone may be running slow - you can see for yourself that you have too many cards open. You can switch easily between different tasks in different cards.
webOS takes the whole problem of multitasking on a mobile phone and solves it with a new design language to do the exact same thing as what other phones do with pop-up lists and task management applications. I use the term 'design language' very explicitly. The GUI you use on any computer (heck, even the command line when you get down to it) is an abstraction to help you make meaning more quickly - just like langauge.
All languages have words and therefore concepts that are unique to them - they cannot be adequately expressed in other languages. Whereas other operating systems have to use the same old 'words' to deal with multitasking, Palm created a whole new design language for webOS to make 'dealing' with multitasking just part of speaking the language.
Bear with me here - in the video game Mass Effect there is an alien race called the Elcor whose language is incapable of expressing emotion, instead the work of expressing emotion has to be done with the only tools available to their languge: by simply saying "I am happy." Compare that to our human, spoken language where the work of expressing emotion can be done with tone and inflection.
A new design language for a graphical user interface can do the same work - take something that was previously done manually and tediously and just make it a part of 'expressing/using' the interface. So Android has to use an app or a preference setting to manage memeory because those are the only tools available in the language. With webOS, once you learn the language, multitasking just gets abstracted directly into the design language - it becomes just as easy as expressing emotion while speaking.
There also multitasking in the non-techincal sense - namely just doing a ton of stuff at once. I've heard of studies (studies, I say!) which indicate that our brains kind of suck at multitasking and I believe it (women are apparently better at it than men). Which leads me to the notification system on webOS - it's awesome and it helps you single task better.
Having notifications appear but stay out of the way until you explictly call on them is so obvious and important that it's sort of a wonder that nobody figured that out before Android. Sure, there have been notification 'systems' on other operating systems that were fairly non-intrusive and fairly integrated - but nothing as elegant as the notification areas on Android and webOS.
Since those two are tops, I'll briefly mention that I guess webOS has a very slight edge in its functionality - more apps can be operated directly within the notification area and individual notifications can we swiped away without acting on them without having to clear all notifications. It's really six of one and a half-dozen of the other.
We all know the OS that sucks at notifications: iPhone. Its a problem on iPhone for two reasons. First, it's interruptive and 'modal,' which is to say that when a notification pops up, you have to dismiss it and then it's gone and the only way to find it is to go to you homescreen and see a badge on that app's icon. That, or you have to stop whatever it is you're doing and act on that notification (ex. by hitting reply on an SMS notification).
That first problem is compounded (and at a painfully high rate of interest) by a second problem: rather than implement 3rd party multitasking, Apple told developers to use their (admittedly great) push notification system as a doppelganger for true multitasking. So an app that would otherwise run in the background can't do that, instead it the iPhone pops-up interruptive dialog boxes from the home server.
Anyhow, back to webOS - webOS' notification system is superior to most others out there because it allows you to multitask more efficiently by letting you queue up activities rather than deal with them as they arrive. The mental work of "what's next" gets taken care of by - you guessed it - the design language of webOS. iPhone OS can only 'express' itself with pop-up boxes and icon badges that you have to hunt down - depending on how many app screens you have and how many apps you use, this could be a very serious hassle.
I'm tempted to get into talking about the iPad here in comparison to webOS - how the iPad doesn't create a new design language in any fundamental way, how not only Apple's control over the App Store but also their lack of UI creativity is Orwellian in both the traditional and 'Politics and the English Language' senses of the word, how I hope Apple changes all that with iPhone 4.0 but I don't think they will, how I 'get' that it could be the future of mobile computing but I don't want it to be because it's a limiting future.... but this is me wrapping up webOS, not expressing my dread over our iPad-dominated future.
Instead I'll say this: Palm deserves all the credit they've received for coming up with a multitasking language that changes it from an app-based chore to a design language-based expression. For all its faults (for the record, speed and battery life are chief amonng them), that's why I'm using webOS as my daily phone - because more than anything else, it speaks my language.
PreCentral's Smartphone Round Robin Winner!
Yep, I put it way down here, made ya read!
Congratulation to skabeer! Skabeer won for this post teaching Kevin about webOS. We'll be in touch next week, skabeer, after we return from Mobile World Congress.