MeeGo "Saved", but at What Cost?

So Microsoft and Nokia just announced a deal. The good news is that MeeGo hasn't been canceled. The bad news is FOSS as a whole lost, again, big time.

Symbian was supposed to transition into MeeGo at the high end, with Qt creating a common environment for developers. If the strategy had been executed properly, MeeGo would have provided future excellence, backed by Symbian's huge market share. Developers would have been attracted in unprecedented numbers, and Android's head start would've been countered.

For FOSS, this would have meant Qt becoming the largest development environment on the planet, with easy ports of popular mobile programs to desktop Linux. Developers would have created and contributed to desktop programs. Most importantly, a full featured GNU/Linux platform would have started gaining huge market share, with the potential to transition upwards in form factors.

Would have. And don't blame Elop or Microsoft.

Now, the developers will learn Microsoft languages instead. Qt is still there, but Symbian will be phased out and Maemo will enter step 5 out of n+1.

I've already read rampant conspiracy theories about how this was Microsoft's and American investors' plan all along. People are also afraid Nokia will leave Finland. Well, if that happens, it'll take some guts to place the blame on Elop.

The N900 was released in 2009 and Nokia did not ship a single new device in that product line in 2010. Not a single. The Maemo project itself is much older than the iPhone. Nokia's R&D costs are much higher than Apple's, yet Symbian is still stagnating. Who are we kidding here? The staggering inefficiency had to stop.

This is not just another reorganization by Nokia, like all the previous shifts in strategy were. This move, even though it will once again put things back in square one, has one major difference: the core problem will be swept away through mass layoffs, with Microsoft picking up the slack.

That is the real, true motivation. Everything else is hand waving. Who else could have solved that problem for Nokia? Google didn't have the incentive, and internal solutions would have been internal.


The leaked memo supposedly written by Elop focused on issues that have been hot items in the press recently. However, I would like to offer one additional example I've been perplexed by for years. NFC.

NFC is going to enable all kinds of cool ways to interact with your environment, including mobile payments at stores. You may have heard about it recently in relation to rumors about Google and Apple forming ecosystems around it. What you may not know is that Nokia co-founded the NFC Forum in 2004.

It is now 2011, and Nokia has only released a couple of random NFC-capable devices without proper support for doing real things in real life. Instead of Nokia using its huge market share to push through a solution, it experimented here and there with as little money committed as possible. Apple and Google may soon be the world's biggest banks.

Think about that. And then realize that the problem never really was Symbian's rapid aging.

P.S. In case you caught the paradox in my opinion on NFC: Yes, Nokia spent ridiculous amounts of money on R&D while being extremely stingy on funding actual products that would have opened new markets. "Unbelievable." But new things are scary, aren't they?

P.P.S. As you can tell, my blog has been really quiet lately. I started it to blog about interesting developments regarding Maemo, but the previous half year has been devoid of any real news. I guess we just got some. Lets see what happens :(


Bet It All On FOSS

Are you as sick of hearing about firing Nokia's CEO as I am? He's not the problem. Or rather, his problem is that he hasn't fired the real incompetents. See this excellent article at The Register for more. I'll look to the future.

Nokia's strategy is still rock solid. The company is simply running out of time, because it's so slow to move, and execution is crippled. It now has no time to code new software, no time to design new software, and certainly no time to replace key people. This is what they have to solve the problem with. Maybe.

Release early, release yesterday

Assuming that MeeGo and S^4 will introduce a revitalized product line, that still leaves all the high quality supporting software that Nokia is missing. That hole is much deeper. But wait, isn't this the same company that owns Qt, has its own GNU/Linux distribution (now with Intel) and is a patron of KDE?

What are you waiting for, Nokia? Find out what major FOSS contributors happen to be unemployed, get them on your payroll, and start submitting patches for Ovi-compatibility as fast as you can. Find the most inventive ones, and have them come up with cool new features for software that could either run on or support your devices. Screw the standard approval process - the recipients of your patches will be happy to evangelize your hits and mercilessly bash your misses. You have no time.

With a focus on mature Qt-based software, you could have aggressive betas in Linux users' hands before the N9 is released, and stable Windows ports shipping with your devices in Q1. More importantly, the tech media would have something shiny to point at even while it's being tested, and the most vocal crowd would stop fawning over Google.

Why So Half Hearted?

Nokia clearly sees the benefits of Free software. Why else would not one, but two Nokia operating systems already rely on it? The problem is that the strategy has remained so half hearted. Instead of fully taking advantage of all opportunities, Ovi is still massively reliant on bad, unimaginative software with excellent FOSS equivalents. Just like other Nokia initiatives of late, the base is set up for huge potential, but none of it is realized in practice. Is it because of internal politics? Maybe. But the time for tiptoeing has ended. It's time for extreme aggression, and proprietary software just won't cut it.

You might worry about competitors taking advantage of software you've developed. That boat has sailed. They're all ahead of you. And even if they weren't, what's going to prevent them from using the same software without your contributions? Nothing. What you need to do is create excellent compatibility with your products in excellent existing software. There is no time for new solutions, just new features.

Let the internal development teams keep doing what they're doing for now. Stopping will only make things worse, yet again. But you will very quickly discover which of them are being badly outcompeted by FOSS equivalents. Once you've picked the winners and stabilized your market situation, it's time for a new round of layoffs.

And please, put someone from Maemo in charge of this. Who else can you trust at this point?


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.


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

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.


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.


It Doesn't Exist Until the Media Says So

Skype's inclusion in the Ovi Store should really be a non-event, since s60 has had VoIP calls for a long time, and Maemo 5 even has contact list integration. The seemingly unwarranted attention could be thought of as a turning point in Nokia's advertising efforts in the U.S.

Ease of Use is What You've Been Told is Easy

Think back five years and recall the most common arguments against running Linux. Conventional wisdom held that Windows users are used to "simply" installing stuff from websites, and wouldn't understand package managers. Enter the iPhone, and a package manager is now the only acceptable way to install apps. How things change.

But has anything actually changed? The average user is still likely to have trouble installing software under Linux, but give him an s60 phone without Ovi, and he's equally likely to be confused about the lack of a package manager. Contradiction? No. Users don't actually understand the benefits of either method: they do things a certain way because they've been told it's how it's done.

News vs. Meta-news

Apple's app store received much publicity when it launched, and everyone heard about how installing apps is just a few clicks away. When people got their hands on the phone, using the store felt natural and intuitive, because they already knew what to do. Today, many apps receive publicity elsewhere and users know what to initially look for. Ease of use is only the second step, not the first.

In contrast, most widespread news about Ovi has been meta-news: how the store itself is failing to generate buzz, how the lack of applications is affecting its image, what the average selling price is, etc. Since Nokia is still struggling in the U.S., software reviews don't get the attention competitors do, and it's been easy for the media to latch on to the poor initial sales numbers. Negative or positive, this information simply doesn't tell the user what the devices are capable of.

This time, it's different. When the app store launched, it didn't matter that platforms like s60 had done it all before sans the package manager, and it's equally immaterial that s60 already does Skype calls. What matters is that Skype is big news and the media is now talking about what software is available on Ovi and how you can get it - not useless metainformation.

The news articles about Skype on Ovi:
  • Inform users they can save money by dowloading Skype from Ovi
  • Imply that the Ovi Store now has enough applications to be useful
  • Imply that even the average user can understand the process of installing apps from Ovi

The third is especially important, because users that approach new products with an open mind are more likely to succeed than users who are afraid things will be too complicated for them.

Even the "bad news" that followed is good, because it's real info and the user has now started caring. When we heard that American customers wouldn't be getting Skype from Ovi due to exclusivity agreements with Verizon, consumers learned that:
  • Verizon should be blamed for the missing app
  • You can easily work around it
  • Nokia devices aren't restricted to one store
  • It's easy enough to install apps even without a store - no need to be scared

Just two newsworthy events and installing apps from outside the official store has changed from something scary to something anyone can do. It'll take more than this to get everyone to recognize Nokia's strengths, but this could have been an important step for the company.


Easy Debian Now in Maemo Extras

Easy Debian is now considered usable enough to be in the Extras-repository, which is activated by default in the newest release of Maemo 5. Now even the average user can discover Debian on their phone, which is a big deal indeed.

With all these software packages available, words can't describe how flexible the N900 becomes, so I'll start with a screenshot of the task switcher. Click on the images to see them at full resolution.

Running above are:
  1. Debian: chroot root shell in Maemo's terminal
  2. Debian: Wireshark
  3. Maemo: SMS Conversation
  4. Debian: LXDE under nested X11
    • The Gimp
    • Kate, editing a document over smb://
  5. Debian: Synaptic
  6. Maemo: Maemo's package manager
  7. Maemo: ssh -X
  8. Remote server: X11-forwarded OpenOffice
  9. Maemo: Maemo's browser

Now, obviously you don't actually want to be running all of these at once, but the system was surprisingly responsive as long as I didn't make the desktop apps do anything particularly CPU or I/O-intensive. If the filesystem was extremely busy, the display wouldn't even turn on from sleep. This happened to me at least once while running apt-get upgrade on Debian, and all I could do was wait until it finished. Just don't panic and pull out the battery.

If you want to read about why and how Easy Debian works as it does, or see a couple of more screenshots, check out my preview. Just keep in mind things have advanced since then, including an increase in the size of the image file to 2GB.

Day to Day Usability

While trying to figure out what I would actually use the desktop apps for in practice, one thing became immediately obvious: you're best off using mobile apps for simple tasks, and only moving up when getting to the advanced parts. For example, you would be best off recording an interview with a mobile app, but then saving it and editing it with Audacity.

Why, you ask. At this point it's not just because Maemo-optimized apps will launch faster, but there are still several lingering issues you might run into. I did try recording with Audacity, but the mic volume was really low by default and alsamixer was a mess. Why bother messing with weird settings when an N900-optimized app can do the actual recording.

This isn't the only tip you should remember to avoid unnecessary frustration. The Easy Debian/Maemo 5-integration is still in its infancy, so keep these in mind too:

  • If a Debian app doesn't see the keyboard, run it under LXDE. (Yes, this bug is still present.)
  • The same applies to any problem, including sound: try running the app under LXDE.
  • If a buggy Debian app won't let go of the keyboard and mouse, try pressing the power button.
  • If you do something weird that makes the display driver crash, long pressing the power button should still do a controlled shutdown.
  • Remember the stylus! Using desktop apps can be surprisingly pleasant. If the pointer is off, change the screen calibration in Maemo's settings.
  • Hey, at least you don't have to manually edit xorg.conf.

This list may sound terrible, but living with these bugs for a while is nothing compared to the power you have in your hands. I already found myself trying to start Wireshark on an N97 and feeling crippled when it wasn't there. After you've used Easy Debian, you can't go back.

You'll also quickly develop an understanding of which apps work best. For the first few days you might be randomly installing stuff, but soon enough you'll find the ones you want to use and stick with them.

Some Further Testing

So that's pretty much what I've learned since my preview. Skinning now works better, but I can't decide whether I prefer the skinned or unskinned look. For comparison, screenshots of OpenOffice running locally (in LXDE) and X11-forwarded (which was painful on a mobile connection, I must admit, but simpler programs should work better).

OpenOffice was generally too slow to be fun to use, but The Gimp was quite snappy on moderately sized images. I changed the hue on a background picture without getting annoyed one bit.

The following screenshots also show how you can get varying results by running programs either in LXDE or not. The first one is perfect, using the colorize tool. The second pushes the OK-button of the HSL tool off screen inside LXDE. The third shows the HSL tool getting squashed outside of LXDE.

Next, Konqueror and Kate inside LXDE. I noticed I had to manually install openssh-client in order to get ssh-dependent protocols working.

Conclusion About the First Release

Easy Debian gives you more power on your phone than you could ever have hoped for, but some things need to be fixed or further developed before it's 100% solid. Even now, it's pleasant enough, but it could be even better. I'd prioritize as follows:

  1. Get Nokia to fix the keyboard issues in the Maemo window manager instead of just nested X11, so we won't have to hope our favorite program isn't one that *has* to be run nested. I realize Nokia doesn't want to patch the window manager on a phone without extensive testing, but this needs to be done asap.
  2. Get some PulseAudio experts on board to make sound reliable. OK, the possibly most useful application, Audacity, works, but Phonon remained completely silent. Maybe trying to replace Maemo's own music player with Amarok would be stupid, but I wanted to try anyway.
  3. Write a Maemo GUI for arbitrarily remapping the keyboard so we can play games that don't like the limited layout.
  4. Write a nicer virtual keyboard for nested X11, for the same reason.

Asking for all of these at once is a bit harsh, so if you're a hot shot programmer, I'm sure they could use some help at maemo.org. Personally, there's no way I can help with the sound system, so I'll just take this opportunity to profusely thank Easy Debian for making my phone so much more awesome.