2010-04-25

Would Nokia Really Not Buy Palm?

Some analysts have speculated that Nokia should buy Palm to get even more patents and a "better OS". Others have been quick to shoot them down, saying that Symbian will improve and MeeGo is more promising. Most of them are ignoring the middle ground, which may make much more sense than either extreme.

I'm not saying Nokia is going to buy Palm. It's unlikely. But if they do, here's why: Symbian and MeeGo are less important than Ovi. It's not about replacing either OS, but about extending the reach of the development platform.

The move would not necessarily force them to support three smartphone/tablet operating systems. The base technologies are so close to Maemo that the next WebOS version could simply be the Palm GUI running on MeeGo.

Nokia's WRT would be made compatible with WebOS apps, and Qt would become the new native SDK. At that point, does it really matter to Nokia whether they gain more US users with Symbian^3, WebOS or MeeGo? It'll be the total that counts, and Nokia is in a real hurry to grow their customer base in the US if they want North American developers to take them seriously.

Being backed by Ovi would provide WebOS with the huge credibility boost it needs, raising Palm's value, but only for one company - Nokia.

2010-04-09

Multitasking - iPhone OS 4 vs Nokia N900

In my previous blog entry, I pointed out that advanced functionality and simplicity are not mutually exclusive. Yesterday's introduction of multitasking for iPhone OS was, from this perspective, a huge disappointment. Apple has left out most of the functionality that makes multitasking useful on a small screen, and is spreading FUD about the alternatives.


It is with these two comments I take issue:

1. "In multitasking, if you see a task manager... they blew it. Users shouldn't ever have to think about it."

2. "It's easy to do this in a way that drains battery life, and a way that reduces performance of the foreground app. If you don't do it right, your phone will feel sluggish."


The first one is the important one. I'll discuss the second one at the end.



Multitasking with a Powerful AND Simple Task Manager

We're used to Apple offering a more polished user experience than the competition. I have no doubt the iPhone task switcher will be polished for what it does, but simple polish has never been the whole story. A very important part has been how Apple improves an immature existing function to the point where it's truly useful for users while remaining easy to understand. The iPhone's task switcher fails badly here.

It is no more simple than Nokia's ancient task switcher that's used in s60. S60v5 could be prettier, but it's the same kind of UI. You access it by pressing and holding the menu button (double click on iPhone), after which you have a scrollable list of apps you can select by single clicking.


The s60 task switcher, standing in for the iPhone task switcher.


But here's the kicker. The s60 task switcher isn't really something that attracts people to multitasking on a phone. It's just a menu. It gets the job done for people who already know they want to multitask like on Windows 95, but that's it.

Live previews are what make multitasking great on a phone. Even better, the Maemo 5 task manager has managed to solve virtually all the associated problems while reducing complexity. Wasn't that supposed to be Apple's forte?



The Maemo 5 Task Manager



Let's see some of the arguments against multitasking first:
  • Users won't know to use the task switcher
    M5 gives the task manager focus every time an app is closed, and the task switching button is the main user interface button. The task manager view is a central and thought out part of the user interface instead of a plastered on task switcher.

  • Users will leave too many background tasks open
    On M5, users intuitively want to close unnecessary apps, since the task manager starts looking cluttered. Degrading by guiding the user towards good behavior is better than trying to guess what apps to close. Unpredictability is very bad.

  • Too many buttons and menus
    M5's task manager is an ultra-simplistic grid of previews with X-buttons. Clicking outside of the grid will dismiss it and return to the desktop.

  • Users won't understand the difference between closed and open apps
    M5's Task Manager clearly divides the concepts. Open apps have visible previews and can be manipulated directly. Closed apps are opened from an easily accessible menu, which is secondary to the task manager.

    Users immediately see and understand, since open apps are not icons. It's like pulling your notepad out of a drawer and placing it on your desk. You'll see it there while doing other things, and it's clearly consuming desk resources. When you're done with it, you put it back in the drawer.

    But the drawer is not the primary interface. That would be silly. You only return to it occasionally.

    Here the iPhone actually makes things more confusing. Not only are open apps icons, but if they can close automatically, how will you know whether you should go to the task switcher or the application menu? And if they return to their previous state, what's the difference between the task switcher and the application menu?

The benefits of proper multitasking are many:

  • Every time you switch tasks, you see if something has happened or completed in any background app. (This is apart from notifications, which work as you would expect. But not every event can or should have a notification.)

  • Every time you switch tasks, you'll see reminders you've left open after looking at them.

  • Switching apps on M5 is so intuitive you'll start using your phone in a completely new way. Even novice-unfriendly tasks like backgrounding a phone call to look at your calendar become more friendly. It is a myth that mobile multitasking is too complex for the average user - it just needs to be made easily understandable.

  • You can have multiple IM windows open and immediately recognize which one you want to switch to, and how conversations are progressing.

  • You can always keep a note-taking app open in the task manager. Returning to it is faster than using the application menu.

    Leave whatever you want open, and you'll see it every time you switch tasks - maybe a todo list in a huge font?

All this with an interface simpler than s60, and conceptually more intuitive than iPhone OS.



The Mostly Imagined Performance Issues

Taken at face value, the quote is correct. Badly behaved background tasks can easily destroy performance. But runaway processes are really a completely different issue. Properly behaving applications will not affect the system adversely.

On the iPhone, background programs are suspended, but can request Apple-allowed tasks to continue. Working with this kludge should not be necessary. Allow me to demonstrate. I started several third party programs in the background, and then checked up on them after a while:


ps -o fname,stat,wchan -C vim,drnoksnes_start,mgutenberg,xournal,gboggle

COMMAND STAT WCHAN
gboggle S sys_poll
xournal Ss sys_poll
vim Ss+ select
mgutenberg S sys_poll
drnoksnes_start Ss unix_stream_recvmsg
drnosknes_start Ss sys_poll



Every single one is blocked in a system call, waiting for input. If the system gets low on RAM, they will be paged out instead of state-saved and killed, which is an ugly way of accomplishing virtually the same thing.

To protect the battery, the OS can pop up a runaway process warning dialog if the CPU is pegged by a background app for more than a minute, but that's probably too ugly for Apple. Other manufacturers should find it happens so rarely the dialog is an elegant solution.

Personally, I find the CPU/RAM monitor applet very comforting, but most novices won't want to use it. It's reassuring to see it at 0 most of the time. Here I'm playing a game:



Still, no mobile application should ever need to do anything in the background that the user didn't explicitly request: playing or indexing music, downloading a large web page, multiple simultaneous IM conversations, etc. But on every such occasion, the user will intuitively understand that the backgrounded app is doing something that is more or less CPU intensive.

And with M5's task manager, users will never forget they started something, because they'll see the preview soon enough.

Clearly even well behaved background apps have a small performance and power penalty, but what really kills the battery is always on network connections. Again, that's another issue entirely.

The real motivation for not allowing normal multitasking on the iPhone is that Apple wants a fluid UI 100% of the time, not 99%. Even 1% of sluggishness will remove some of the "magic". It doesn't matter whether users know that it's the heavy processing they themselves started, because the iPhone will subconciously look imperfect during those maybe 10 seconds.

The lack of proper multitasking is a high price to pay for 10 seconds of pristine behavior.

2010-04-07

MeeGo Makes More Sense on Tablets Than iPhone OS or Windows

The previous big push for tablet computers was about a decade ago, but Microsoft's attempt to leverage desktop Windows failed to convince people they needed one. Apple's iPad is coming from the opposite direction - it's more of an appliance than a computer. It will certainly be more pleasant than using a desktop OS, but in my opinion even Apple hasn't gotten it 100% right.

Now that rumors about a new Nokia tablet are circulating again, it's time to think about what the ideal tablet could do. The previous one is many years old after all, and hardware is much improved.


What's Wrong?


It's not that I'd want the full Mac OS X. I feel many have unfairly criticized the iPad for being so appliance-like. This is in fact its major strength. Running a desktop OS on a tablet device is just too uncomfortable, as Microsoft found out. Instead, it needs to be optimized for what you can comfortably do with a finger UI - browse websites, watch videos, read, look at photos. The list is not that long.

But no matter how well optimized, can I really justify another device that does so little? I already have a smartphone, a netbook, a notebook, and several desktop computers. Ignoring the cost, just managing all these devices is a pain.

The smartphone fits in my pocket, the netbook comes on trips, and the notebook lives next to my bed. Where does that leave the iPad? The only item it could realistically replace is my full size notebook of all things, because iPhone OS is not an adequately capable travel companion.

But my bedside notebook has a nice keyboard, and it doesn't really need to be smaller. And I can take it with me when I don't mind its size.


I Am Not the Target Market, but That's Not the Point


Of course, that's all meaningless to someone who owns one computer and is afraid of it. The iPad will be great for people who want to look at some photos on the sofa and watch YouTube in the bathroom.

But why does the usage pattern have to stop there? The problem with the iPad is the same as with all Apple devices. Once Apple's core idea is realized, you're unequivocally stuck. They will even actively try to prevent you from doing more.

Simplicity and advanced functionality are NOT mutually exclusive, no matter how hard Apple and many overly complex UIs try to convince us of it. Maemo 5 is the proof of concept, and MeeGo will break into the mass market, satisfying both groups of people.


How is MeeGo different?


The main difference is that a MeeGo tablet can fully replace one of the devices I listed - the netbook. Neither iPhone OS or Android can readily do so.

Here is how I would use a MeeGo tablet to replace the netbook:

While traveling
  • Quickly access videos and music
  • Do some leisure or business reading
  • Use the touchscreen for occasional typing
  • Enjoy how it takes up even less space while not being as horribly uncomfortable
  • In fact, using it would be downright enjoyable
At the destination
  • Dig out a wireless keyboard and mouse
  • Start up OpenOffice, The Gimp, etc.
  • Import photos with digiKam
  • Use anything I want - it's a real computer

Those last points are critical. Without them, a tablet can't replace my netbook, no matter how much more comfortable it would be at airports, on planes, etc.

Existing netbooks and tablets are all half-assed solutions that fail in different ways. With MeeGo, the fast appliance-like user interface is there, but only until you decide to start a desktop application. No hacking required.

And now that I've bought into the concept of owning this device anyway, all the minor tasks start looking a lot more attractive. Looking at photos, having a simplistic device next to the bed. They're a nice bonus. But a tablet that offered only that would quickly gather dust in my house.


So Who Will Win?

There are some big questions hanging in the air for MeeGo. Just a few:
  • Will iPad productivity apps become as full featured and HID-capable as desktop ones?
  • Will Nokia's first new tablet actually be fast enough to run those desktop programs? Atom can do it, but that's an immediate extra power drain. The next hardware generation will be too late.
  • Apple content partners, although Ovi is growing stronger.
  • Media hype on Apple's side
  • Will MeeGo's appliance usage model become too reliant on proprietary third party software, or will projects like KDE step up and provide finger friendly skins? I'd love a digiKam-based photo viewer app, as an example.

It's going to be an interesting 2010.