Archive for June 8th, 2006

Phone complexity: sign o’ the times

Those who read my review of the Nokia E61 might think “wow, what happened to Nokia and they released such a buggy phone?”. The answer is: “nothing happened to Nokia”.

I have said it many times: to release bug free software is almost impossible in the consumer space. With more lines of code you add, the more bugs you generate. And the reality is, smartphones are adding more and more features, more and more lines of code. And with it, the bugs come over and they are getting difficult to track them down as bugs might be generated at a much lower level that users might think they do.

Linux becomes buggier not because its developers are worse than in the past, but because it’s getting bigger and more complex. Same goes for Windows Mobile and now, Symbian too. This is why non-smartphone older, simpler phones (released at around 2000-1) are much stabler than today’s smartphones (and sometimes even plain cellphones).

The only thing it can be done is phone manufacturers to release only a few models per year each (3 or 4 max) and the rest of the time to spend it debugging. But as you can understand, this is not an option for Nokia, or SE or MS or Motorola. 4 billion cellphone users want more, and more and more, and the product managers of these companies are under tremendous pressure to release more phones so they can keep up with the times and competition.

The same thing happened with computers too. In the 60s and 70s computer OSes were extremely stable (well, at least when hardware was not failing on them). In the 80s, with the introduction of the consumer computers things became bleaker. And in the 90s, with the release of Win95, it became the disaster we all know. While since then MS has made a big effort with XP to make it more stable (and has succeeded to a large degree), it is still not as stable as Unix was on a PDP-11. And desktop Linux is of course full of bugs, don’t let me start on that…

Fixing bugs is expensive, time consuming and requires people who have a clue and have a drive to fix them. It might happen on some platforms, but overall, the future is getting bleaker regarding general OS software stability and bug-freeness. Cellphones is just the next generation of that situation as they move away from the strict embedded space to pure consumer space.