Why phone software sucks and how to fix it

Wednesday, 23 January 08
If you are a software developer and you care about user interface design and usability and smart features that make our life better, I bet you think that most mobile phone software sucks.

My Nokia phone for example is not able to complete words when I write SMS messages. It is also not able to sort the list of names to which I can send an SMS in order of frequency I sent them SMSs. It is also not possible to check the call duration of the last N calls.

When I edit messages with T9, of all the words mapped to the same keystrokes, it is not able to guess that if I write a lot of times the word "Tine", and very rarely "time", the next time it should present me "Tine" as first guess.

Not only it lacks a lot of obvious features, the user interface is also very slow, the development environment is a Windows-only SDK, it's buggy as Hell and it hangs when switching between GSM and 3G connection and so on.

Why phone software sucks?

Usually in the software market it works this way: there is a problem to solve like to create a good IRC client. A lot of people will write IRC clients, the best clients will end winning in the market, so we will have few winners used by many users. The next generation of IRC clients will start basing the work on the ideas of this few cool software adding more interesting features, trying to design a better UI, and so on, and again the few best will win.

With phone software it works in another way because the software is actually bound with the hardware, you can write the software only if you are the hardware vendor... and guess what, there are few hardware vendors and are huge companies, not exactly the places where new fresh ideas will born.

Individuals, small teams of developers, are not in the market, even if phone software is not so an huge work, it is much more a matter of designing it well.

Splitting hardware vendors and software vendors

What's needed in my opinion is to create a market similar to today's PC market. Hardware is separated from software. Imagine the following scenario: five years from now when you buy a phone you get the new Nokia-1000 that is simply not usable as it is, it comes with a cable you will use to load the software you like. Of course you are free to buy the phone with a pre-loaded software if you are not a geek...

What's important is that a phone like this is fully open, there is free documentation online and free development tools so that developers can write the whole software needed.

The phone already comes with some kind of low-level firmware that is able to make low level stuff without the developers need rewriting it every time, like:
  • system calls to start a call
  • system calls to send an SMS message
  • call-backs called on incoming calls or SMSs
  • capture an image from the camera
  • detect orientation
  • and so on...
Probably it makes sense that this firmware also exports some kind of SDL-alike library to control the display, the audio, read keystrokes from the keyboard and so on, and even an (optional) toolkit with widgets already implemented that the developers may not use if they want to implement their own toolkit.

What about Android?

It is just another big player? If so it will not mean freedom for small teams to develop phone software from scratch. It is not clear to me if phone customers will be able to upload a new android-based firmware in an already purchased phone, but if this happens, Android can be the starting point to split the hardware and software markets of mobile phones.
19489 views*
Posted at 06:37:32 | permalink | 14 comments | print
Do you like this article?
Subscribe to the RSS feed of this blog or use the newsletter service in order to receive a notification every time there is something of new to read here.

Note: you'll not see this box again if you are a usual reader.

Comments

emaaaa writes:
23 Jan 08, 08:30:04
Ok, you're still alive! good news!

About phone'sdk ... yours scenario it's hard to make!
Big vendor wouldn't a free/open hardware platform!
It's so hackable!
Anonymous Coward writes:
23 Jan 08, 08:41:13
Commenting to your blog from my Japanese cell phone, I literally hold in my hand the proof to say your premise is, mostly, wrong. Big companies can make usable cell phones as long as their is a market and they compete aggressively.

But regardless your conclusion is quite right I feel. Not even the best Japanese can be improved after it's purchased and the profit motive makes that not even a debatable issue. Google seems to realize that in order to really get into the market, they need to be able to take release early release often to your phone, and let other people do the same. Kudos to them, and I can't wait for my Android.
engtech writes:
23 Jan 08, 10:43:11
I *love* how my Nokia phone takes about a minute to boot up.
Riemaecker writes:
23 Jan 08, 10:55:19
I think you missed something besides Android. Ever heard of the upcoming Neo Freerunner? Or from the developper version neo1973? Visit openmoko.com, u will see. It's even based on specially selected, open hardware.
Funklord writes:
23 Jan 08, 11:16:19
I agree fully, and have worked a long time to solve the problem of splitting phone hw/sw.

Most of the community eg. gpe/opie/openmoko/qtopia/google are currently doing the wrong thing.
They are integrating GUI directly to the hw when we really need standard shell programs and backends for most things.
The GUI part _will_ come as a natural consequence, this time offering you a freedom of choice.
PENIX writes:
23 Jan 08, 12:15:01
Phone software is in a pitiful state. I'd be thrilled if I could get a phone that wasn't bug ridden.
antirez writes:
23 Jan 08, 13:15:19
@engtech: How I managed to forget to say that this huge boot time sucks?! :)
antirez writes:
23 Jan 08, 13:16:21
@Riemaecker, @Funklord, I absolutely need to look at this projects, thanks for the hint.
Gryph0n writes:
24 Jan 08, 03:32:26
I dont know if you realize this, but this is the stuff of nightmares for the mobile manufacturers. This was exactly the reason why many of them were hostile to microsoft's offerings for a pretty long time - Windows CE, Windows Smartphone, Windows Mobile etc

They do not want a situation similar to the PC market, where there is practically nothing more than the color and styling to distinguish one vendor from another. The mobile guys want to use their hardware AND software to distinguish themselves from their competitors

Myself, i dont see either situation being better than other
sittisal writes:
24 Jan 08, 08:30:07
Hi antirez, nice to see yet another new and interesting post.
I think that problem isn't related to a specific company or a specific company's choose. For example, in Europe (and before the iPhone in US) are service providers that choose for users. The providers also sells the 80% of branded phones and want that phone locked in terms of functionality. The SDK is conceptually designed for providers whom instead of use it, only put a provider logo in the phone's case. They also chose the 3rdy part software available via a proprietary, expensive and low quality contents provider. Nokia recently changed that vision and generated a lot of provider's disappontments because users cuold develop own software and download mp3 as ringtones for free.
It's the entire system of mobile communications and services that was born as strictly closed in harware, in software and also in prices.
Nokia sells a lot of devices, with different hardware, and different operating system, and we can't now why the Nokia E61i OS can't work in Nokia E61, which are hardware differences, and why they do not upgrade also old phones, with the same hardware. The same with Windows Mobile: why the 5 version can't be installed in the 2003 se devices? Wich platform a developer should choose? What developer should do if a new platform is out? Should he mantain ton version of his app simultaneusly?
Any hope?
I think that Android won't be in our hands but it will be in the same hands that keep the mobile software, service, and communication SUCKS.
Havana9 writes:
24 Jan 08, 11:29:07
Just today I thought "what dick of end did my guru".
So I'm very happy to see your last post.

Please write often end reply to icq message very often.

Un abbraccio.
Bye
qwerty writes:
08 Feb 08, 07:24:56
See
http://software.xpk2.com/2008/01/23/why-phone-soft...
They write: "Erica Sadun wrote an interesting post today on. Here s a quick excerpt: Usually in the software market...".

In someway they know you as "Erica Sadun" ;)
mobile phone writes:
08 Dec 08, 11:32:35
hmmm, I think they don't want to fix it for the new releases.
http://www.artimplant.ro writes:
28 Mar 11, 07:42:20
The latest version of android phones seems to be very effective and stable. The new Windows 7 mobile is another good option for a mobile phone software.
comments closed