2009-12-31

Do Nokia's Lawsuits Have a PR Component?

Nokia's fight with Apple over patents is no doubt mostly about cross licensing and payments, but the legal strategy could have a significant PR impact. In short, Nokia has an image problem - how could a lawsuit possibly help?

First, some background.


Apple's Market Entry

Apple is a master at polishing technology to the point where it appeals to the average user. It did not have the first mp3 player, nor did it have the first music store, but the iPod was so much more user friendly - and pretty - that it made the market explode. In fact, it became so popular that the word iPod has become virtually synonymous with portable music players.

Good for Apple. And it managed to repeat the design success with the iPhone. Nokia's first attempt at a touchscreen phone failed in 2004, but Apple waited until the technology was good enough and came out with a product free of legacy software with perfect timing. The iPhone was the first smartphone that was user friendly enough for the average user to seriously consider browsing the internet on the go. Again, the market started growing.


It's a Rectangle With a Screen

But this time around, Apple created a serious image problem for the other manufacturers. Smartphones are much more complex than music players, and apart from the less than perfect user interfaces, the industry was developing pretty well without Apple. However, because Apple was the one to reel in all the smartphone newbies, many were left with the impression that they first saw all the features in an Apple product. When the other manufacturers finally got around to improving their UI, it looked like they were copying Apple at every level.

Then, people used to the iPhone's simplistic UI failed to notice the extra features offered by other phones. What a dilemma. Either copy the UI directly and be derided, or make a differently good one and people won't want to learn it.

For Nokia, this was ten times worse, because its recent smartphones had been failing in the US as a result of bad relations with local operators. Who was going to buy a full priced unlocked phone when all service contracts still included the device cost? Now, operators like T-Mobile are finally starting to at least partially drop the credit payments from their monthly rates, but just as Nokia gets the chance to reenter, it's suddenly seen as a new entrant, desperately trying to copy the iPhone (or RIM, see the E72).

In truth, Nokia has countless variations of phones, and these two only represent a small fraction of the form factors. And how many different kinds of rectangles covered with a large screen can there be?


Free Advertising

Reporters and celebrities, let's face it, are rarely computer nerds. The popularity of the iPhone in its own niche thus resulted in plenty of free advertising - to the point where people would say "on your iPhone, you can access our mobile version" rather than "on your phone".

Nokia is not without blame. The S60 Symbian user interface was nearing end of life, and aging technology had to compete against Apple's brand new designs. Managers obviously thought they had more time to code new software than they did in reality. Still, in the rest of the world Nokia enjoyed all the benefits of an old platform: backwards compatibility, user familiarity with the UI (legacy quirks and all), widespread support, etc. None of these concerns are without merit, and S60 is much better on non-touch phones, so it continued to be a well liked alternative and market share leader.

But here's the critical part: much of the world's tech media is based in or is influenced by the US. The US media, in turn, wrote about the iPhone as if Nokia's smartphones had never existed (because, to them, they hadn't). Absurdly, the world's largest and arguably most full-featured phone manufacturer started being talked about as if it were a niche player.

The message started sinking in: Nokia had bad products, and any new ones were just a response to Apple - bad copies at that. And the iPhone was only $99 when Nokia's products were up to $600! (The former is only the first credit payment, of course.) This kind of publicity will affect the whole product line, and taint even the very good <$200 touchscreen models Nokia offers, for which Apple has no alternative. Fortunately for Nokia, the <$50 keypad models sell themselves, but all the discounting due to perceived lack of value explains why margins have been shrinking drastically.

Of course, Nokia never really stopped innovating. Maemo 5 is already in a league of its own, and Symbian is getting a completely new UI in several stages during 2010, to better compete with Android and Apple. But how is it going to shrug the image of being an uninnovative copycat?

Patent lawsuit.


Trolling for the Right Headlines

What would have happened in the press if Nokia and Apple had resolved their patent dispute this year? Nothing. Maybe a couple of press release regurgitations about cross licensing agreements. Now that we're hearing about the lawsuits and there's a dramatic battle, we can expect big headlines if Apple is forced to concede anything even on sweetened terms.

And those headlines will matter a great deal to Nokia. Maybe Apple didn't invent the wheel after all. How could a simple copycat have amassed such a mountain of patents? Maybe there's something to Nokia after all, people will say. And Nokia will be waiting with an army of Maemo 6 and Symbian^3 (^4) products, ready to impress with 2010-level, completely new user interfaces. What's S60?

2009-12-17

Previewing Easy Debian for the N900

If most users are to use desktop-grade applications on the N900, there needs to be a simple way to install them. Easy Debian will provide just that, but it's not quite up to the task yet. Advanced users willing to do some beta testing will find it exhilarating even now.

Click on the screenshots for full resolution.


Why a Separate System?

Current generation phones still have some of the technological limitations of embedded devices. The fastest flash device on the N900 comes with only 256MB of storage for the root partition. Even though Nokia adds a 2GB partition for /opt on slower storage, the size limitations preclude offering desktop apps directly in Maemo.

Even with more space, it makes a certain amount of sense to keep mobile and desktop apps separate. If a chroot environment gets damaged due to badly behaved programs, the phone and all other mobile apps in the Maemo repositories will still work.

Easy Debian solves both issues by running Debian programs from an image file users can place on the 27GB FAT32-partition. Once it qualifies for the Extras-repository, the average user will be able to install it from the Maemo package manager, and then new programs using Synaptic.





Beta Issues

The largest problem I ran into was that no KDE apps I tried are accepting input from the keyboard. It appears to be caused by a bit too much mobile optimization in the window manager. I wouldn't be surprised if someone is already working on a patch, but in the meantime Easy Debian must find a workaround before it can be considered ready.

Even now, though, Konqueror was already useful to me. Controlling it with a stylus works surprisingly well, and by specifying the address on the command line, I was able to quickly get some music off my smb share.


Another strange issue is that the default image file is so small there's virtually no room to install anything on it. This may have made sense with previous products, but the N900 has so much space that the only reasonable size is the full 4GB that FAT32 allows for one file (groan).

Advanced users can obviously create their own image, but why use Easy Debian in the first place if that's the case? (Although, to be fair, it does do more automation than just mounting the image, such as making the Maemo home directory available inside the chroot.)

Sound doesn't work, but we should remain hopeful that the Easy Debian developers somehow manage to configure PulseAudio right. I wouldn't hold my breath, but a fully functional PA would be wonderful. The N900 should be an excellent platform for testing network transparency features.

If the mouse pointer in desktop apps is off from where you're pressing, go to the phone settings and play with the recalibration tool.


My Advice: Ditch the Theming

The first thing I noticed was the horrible effects a mobile theme has on desktop applications. It's obvious that the intent is to increase finger-friendliness, but I am convinced that the developers will never get the themes to show enough content on screen. There's a reason the N900 ships with a built in stylus - so let's use it for what it was intended.

For comparison, here are some screenshots of atrocious "Maemo"-themed applications next to beautiful and usable KDE-themed ones, which really showcase the usefulness of Easy Debian:







Another application many users should find helpful on the go is Wireshark, which performed well, and would be totally unusable with a finger-friendly theme:



Games Need Keyboard Remapping

I installed Abuse, and while aiming with the stylus was a breeze, the game is unplayable unless you're left-handed. Several other games that didn't natively support keyboard remapping refused to work entirely, as I just couldn't press the right buttons at all. This is exacerbated by non-English keyboards that sacrifice up/down for extra letters.

The only solution to this problem is someone writing an easy remapping tool that lets players quickly substitute wasd for the arrow keys etc. (Actually, the only 100% playable option would be qw for up, a left, s right, zx down, because pressing a vertical and horizontal key simultaneously is too hard with wasd.)

But here's a screenshot anyway:

2009-11-08

Closed Source Components in Maemo 5

Several outdated pages may cause confusion about which components are closed on the N900, and I am hoping to write a more informative summary based on prerelease documentation. The parts vary from the worrying to the humorous - for some reason they even include a pulseaudio plugin that polices the volume.

The way I see it, there are three levels of closed source:

  1. Safe to Ignore
  2. Annoying
  3. Problematic


Safe to Ignore

These components aren't available under a free license, but are harmless to the future viability of the platform.

First, there's the obvious: trademark-related items. Themes, fonts, icons and sounds are not released to the community by Nokia. This is entirely understandable, and the free software community has no shortage of any of them.

Second, there's the cellular service daemon (not so obvious). Why should we not care about this crucial binary that's required for accessing radios? Because Nokia is doing so for us. They've started writing a GPL-licensed replacement in cooperation with Intel. Unfortunately, if you need a Free solution right now, you'll have to move this into category 3.

Finally, there's "startup wizard", "restore factory settings" and "clear user data framework". None of these are relevant to any modified OS.



Annoying

These are proprietary apps and libraries that ship with the device, but don't affect the availability of alternatives. It would be nice if they were Free, but we're not forced to use them.

A big one here is the whole location framework, plus the libcityinfo database. There are Free alternatives like Maemo Mapper, but that still means losing Ovi integration for other kinds of location services, which may become a compelling feature in the future. It would be nice if there were Free software that could interface with Ovi. Even from Nokia's viewpoint, that shouldn't prevent us from paying for the data itself. (2009-11-13: Gypsy daemon in location framework is in free.)

Strangely enough I can't conclusively determine whether the Mozilla-based browser will have a proprietary UI or not. On two separate pages from 2008, it is promised that it will be converted to FOSS by Maemo 5, but installing it in the latest SDK still pulls in several packages from the repository nokia-binaries, including tablet-browser-ui. On the other hand, this document categorizes the package tablet-browser-interface as "OSS Nokia", and this diagram agrees. I suspect we'll have to wait until the device ships to see what's actually on it (but don't worry, there's also Tear if you want to be sure).

The browser isn't the only component that used to be closed, but is moving towards FOSS at an uncertain pace. The page from above also says the following about the Device State Management Entity: "The component has been redesigned and the sensitive functionality has moved to mce, allowing to distribute dsme (soon) with an open license together with related tools and plugins" (2009-11-13: DSME is in free).

Outside of Maemo, there's the Nokia Loader (NoLo) and flash utility. If you can live with a motherboard that doesn't use Coreboot (LinuxBIOS), you can presumably live with these. Additionally, there's a closed binary for flashing the device from inside the OS (softupd).

Other apps that seem to be closed include calendar (2009-11-13: calendar-backend is LGPL), messaging, address book, backup and the UI of the media player (2009-11-13). The sharing library and bundled plugins (for posting things on Flickr etc.) are also closed, but you can still write your own plugins.

There are also closed libraries for:
  • single sign on
  • device information (sysinfod)
  • synchronization (iphbd)
  • profile handling (profiled)
  • media app playback state synchronization (libplayback)
  • pulseaudio plugins for audio processing etc. (PEP, EAP and AEP)
  • certificate management (certman)
  • interface for monitoring network time notifications (clockd and libtime)
  • event logging for real time communications (2009-11-13: rtcom-eventlogger is in free)
  • Funambol support (2009-11-13: feature diagram may be outdated. Can't find more info.)
  • wbxml converter (xml2wbxml)
  • some proprietary addition to Telepathy's Mission Control.


Problematic

You've already guessed what's first on this list: 3D graphics acceleration. The N900 uses the PowerVR SGX GPU, so don't expect official Free drivers any time soon. There does seem to be 2D support, though.

This is disappointing, but expected, as the situation isn't much better on the desktop side. Users of Intel's integrated graphics have long been the exception, but I'm not sure x86 hardware can help Linux from a marketing viewpoint, since that would also bring Windows binary compatibility to phones.

Can we hope that Nokia could/would pressure an ARM SoC manufacturer to release a chip with Free 3D drivers? I don't know, but developers should at least try to pressure Nokia.

Nokia wants to guard its energy saving methods and prevent battery explosions (or so they say), so the Mode Control Entity and Battery Management Entity will probably remain closed. There's also a closed app that provides user interfaces such as battery indicators (System UI). Personally, I'd be happier if things like these were restricted to the device firmware, since they're useless on non-Nokia devices anyway. Hopefully Nokia will at least allow redistribution for the N900, but in any case a replacement project already exists.

One component that turned out to be more benign than it sounded, but still not nice, is the Internet Connectivity Daemon. Applications are supposed to ask it to start the most appropriate interface based on availability and preferences. This can easily be handled by a mobile-optimized version of something like NetworkManager, but the reason it's a problem is that the API will be different. Fortunately applications are supposed to access ICD through an LGPL library called libconic. If you're wondering how replacements will work in practice, you should probably ask the Mer project, a fork of Maemo.

Other hardware that is known to require proprietary binaries: FM Transmitter (FMTX middleware)

Surprisingly, Wifi appears to NOT require a proprietary driver. This is better than many laptops!


Updates to this Page

I am fully expecting to have made mistakes and omissions due to the simple fact that the N900 hasn't shipped at the time of writing. If you notice errors, please make a comment and I'll post updates here.

2009-11-13: Turns out even this diagram was partially outdated, so some components were mislabeled as closed. Also noted media player UI is closed. Thanks, talk.maemo.org.

2009-10-26

Comparing Freedom on Maemo and Android

Software freedom is probably the main attraction of both Android and Maemo, but which one should we back as Free software users and developers?

There are several levels to practical software freedom. Even though a strict definition would only require an appropriate license be used, there are many more aspects we should care about. The most obvious one is root access for the end user. This comparison covers the four points I feel are most important:

  1. User Access Rights
  2. Cooperation and Interoperability
  3. Presence of Closed Source Software
  4. Freedom in Practice


User Access Rights

With mobile phones, control over your own device has never been something to take for granted. Many existing platforms do allow users to run their own software, but even then often at the mercy of security policies targeting malware. Further muddling things, the limited nature of traditional mobile operating systems made the usefulness of such access questionable. More powerful hardware has now made it possible to run Linux on mobile phones without sacrificing power consumption, and users should expect more.

Both Android and Maemo can claim that the core software is Free, but we are so far only discussing access rights. Unfortunately for Android, none of the vendors actually making devices seem to be concerned about granting any. While not as hard as jailbreaking an iPhone, users still have to go out of their way to get full access to the system.

Maemo, on the other hand, is developed directly by Nokia, which is going to ship its hardware with root access available out of the box. The only step users need to take is to install one package from the official repository to confirm they've read about the risks.

So if Android devices are easy to root, what's the problem here? There are several:
  • Beginners aren't even going to consider doing it. Freedom shouldn't require expertise, and who are we to say that no novice has a legitimate need for root access, ever?
  • Advanced users should not put up with having to hack their own device. Some may feel leet after doing so, but in reality they've accomplished nothing except paying for a crippled product. Users shouldn't have to fight the operating system, and lose vendor security updates in the process. An operating system that needs to be hacked is inferior in use even if users can regain their freedom.
  • The market will be fragmented between hacked and unhacked devices. Users running hacked platforms can never be sure they'll be taken into account in future products and services.

Winner: Maemo on Nokia hardware.


Cooperation and Interoperability

We could write the most amazing text editor, but if it only ran under a Nintendo emulator, it would be virtually useless to anyone else. There is nothing inherently wrong with such an editor, but we're probably not going to get much cooperation going, and you might even question the motives of a developer advertising such a program. This is why simply licensing something under the GPL isn't always enough.

What cooperation means to each individual is best discussed elsewhere, but we can clearly see which platform is ahead of the other.

Maemo is a stripped down Debian GNU/Linux that runs a mobile-optimized window manager on a standard X11 window server. What this means is that code can easily be shared with virtually any existing Unix-like Free operating system. As a concrete example, the Hildon toolkit Nokia developed for creating mobile-friendly applications has been adopted by Gnome and is used on Ubuntu Mobile Internet Device Edition.

Android runs on the Linux kernel, but applications are developed for a non-standard virtual machine. A native SDK has been released, but it's only designed to allow performance critical parts of VM apps to run native. In short, Android is nothing like what one would expect from a system using Linux as its kernel, and developers are in practice forced to use Java with non-standard bytecode. One might even suggest that Google has done this on purpose, in order to limit interoperability and push users towards its proprietary web services.

This is of great consequence even to users who understand none of it. Maemo can theoretically run any desktop Debian application. In practice, the UI must be adapted for mobile use, and packages must be modified to avoid the minimal N900 system partition, which exists on faster hardware than a larger partition. For developers, this is still a piece of cake compared to porting to Android, and users are free to install a chrooted full Debian subsystem to run desktop apps without modification (link goes to package description in previous Maemo version).

Going even further, Qt-based apps will also run on Symbian and Windows in addition to Unix-like operating systems.

Winner: Maemo


Presence of Closed Source Software

While it would be nice if everything were Free, users must often compromise to have a fully usable system. Video card drivers have been a historical sore spot. Intel was for a long time the only vendor that took Free drivers seriously, but its hardware was never targeted towards heavyweight gaming. As a result, many users chose to use proprietary drivers. This is unfortunately the case even with phones.

Both Android and Maemo include other closed components as well. This was recently highlighted when Google prevented CyanogenMod from distributing many apps for hacked devices. While reactions to the ban were overblown, this does reveal the problem of having closed components on otherwise Free systems.

On Android, the closed apps include GMail, maps, talk, etc. On Maemo, they include similar features. Neither is a large problem. In Nokia's case, the company has to do something to differentiate itself from competitors that might otherwise ship the OS without contributing any R&D money. Google is probably having trouble profiting at all, since it doesn't even make devices. Under such circumstances, closed source software can become attractive.

Winner: None, but neither is catastrophic. Much work is left lobbying for better graphics drivers, but there are plenty of Free email clients.


Freedom in Practice

The mobile phone market is further complicated by the fact that many users choose to buy their devices from network operators rather than device manufacturers. This is true especially in the US, where operators do their best to ensure that users have the least possible access rights. What will happen to Maemo and Android remains to be seen if this continues, but historically Nokia is the only major manufacturer to seriously try to push unlocked devices in the US (with little success).

As a glimmer of hope, T-Mobile has introduced its new "Even more" and "Even more plus" plans, one of which is $20/month cheaper than the other and doesn't come with a phone. Over 2 years time, the difference adds up to $480. Previously it has often been the case that US users have been forced to pay the same price whether they bought their phone separately or not. But will this be enough to entice the average user away from deals that claim the phone only costs $99?

Winner: Uncertain, but Nokia has demonstrated more willingness to side with the user.


Conclusion

Maemo isn't perfect, but still much ahead of Android. Development for Maemo has the potential to benefit existing Linux distributions, and many desktop apps will surely be interested in adding a mobile-optimized GUI as a compile time option. CLI applications will work without trouble, and experienced Linux users can easily connect to their desktop computers using SSH and X11. The Nokia N900 officially supports root access.

Android is an island of its own, and useful code sharing is largely limited to the kernel. Developers can't even always use the language of their choice. Android hardware manufacturers can't be trusted to allow users the freedoms the software would grant, let alone fight network operators.

2009-09-30

Almost October

It's the 30th of September, one day before the Nokia N900 could theoretically ship. Most likely it won't be available until the end of the month, or even November. Either way, it's not far off anymore, so I can't complain.

Given that I don't have one so far, there's not much to write about yet, but I will say one thing: 2010 will be the year of Linux... in your pocket. The N900 will bring us unprecedented power in a phone, with previews showing a very promising device, coupled with an even more promising operating system. Here's one to read while we're all waiting.