Technological Thoughts by Jerome Kehrli

Nokia n900 vs. Apple iPhone 3GS vs. HTC (OOpps.. Google) Nexus One

by Jerome Kehrli

Posted on Sunday Jan 24, 2010 at 09:37PM in Geeks-up !

I'm looking for a new phone. The 3 models I found appealing are the ones mentioned in the title of this post. I'm posting here the criterions I ran through when looking at these phones and the reasons that make me choose one or the other.

As an introduction, I have to say that I'm a software engineer and linux addicted. I'm using linux at home (unfortunately not always at the office) since almost 10 years now and besides a few journeys in the BSD world I don't have such a deep knowledge of any other Operating System. I'm stating this as an introduction so that the reader understands that my critera might not necessarily be his.

The first aspect we will be looking at is the hardware :

n900 iPhone 3GS Nexus One
3.5' screen in 800 x 480 3.5' screen in 480 x 320 3.7' screen in 800 x 480
32 GB internal memory (extensible with mSD-Card) 32 GB internal memory (no extension possible) 512 MB internal memory (extensible with mSD-Card)
ARM Cortex-A8 600 MHz (TI OMAP 3430) proc. ARM Cortex-A8 600 MHz (TI OMAP 3430) proc. Qualcomm Snapdragon 1Ghz proc
dedicated graphic chipset PowerVR SGX (OpenGL ES 2.0) dedicated graphic chipset PowerVR SGX (OpenGL ES 2.0) dedicated graphic chipset integrated in the Qualcomm SD
front camera No front camera front camera
hardware keyboard
The device is quite fat though
Thin device Thin device

For me the n900 is a winner here: the screen might be a bit smaller that the Nexus One's screen but the resolution is the same, the internal memory is the same than the iPhone 3GS but it can be extended (at least to 48 Gb with a 16 Gb micro-SD card) and as the iphone it has a dedicated graphic chipset supporting OpenGL ES 2.0 (with open specifications).

In addition, although the Snapdragon runs az 1Ghz, trust me guys, these Qualcomm processors are really crappy. In terms of pure processing, the high frequency is interesting but the integrated graphical chipset is ridiculous. I don't know if any of you remembers the 7201 on the Diamond or the Rapahel, even with better drivers it was just impossible to get decent performance for most games or high quality videos.
I don't know for you but I'm pretty sure I wont have any other Qualcomm based device in a short future. I still wonder why HTC keeps using those procs...

Now let's have a quick glance on the system software stack :

n900 iPhone 3GS Nexus One
Maemo iPhone OS Android
Linux / / Hildon (GTK-based) with Qt compatibility MacOSx ... Well, sort of Linux / Dalvik VM (java like))

Regarding the iPhone, I can't help but admire in a very general manner Apple's engineer's work on Nextstep ... OOpps I mean MacOSX. It's a unbelievable system with a revolutionnary (but not new) kernel architecture. It's very usable and it looks damn' good, alright.
But it's a commercial and closed system in which most layers are grey-zones and an extended set of system APIs and features are poorly documented or hidden. Without any document nor the source code how does one uses the system or changes it the way he wants ?
Besided it's unclear what exactly of MacOSX is in the iPhone and there are odds limitations like the lack of a proper multitasking support which seems unclear to me.

Now about Android : OK it's Open-Source, looks good and the big picture of it seems not bad at all.... but personnaly I'm no big fan. The problem for me comes from this Dalvik machine. It's roughly a VM running an extended subset of the Java spec. The linux kernel is used for nothing more than low-level interactions with the hardware and provides the ground abstraction from which the virtual machine is build up. Google's engineers applied a few changes on the kernel to make it fit as directly as possible the VM needs and I don't like that. This seems to me quite a hack and I would have preferred a good old standard linux/GNU standard libs deployment. In addition the display layer is not X compatible.
So how do you port usual *nix applications on it ?
You dont.

Well so much google once again. And I'm way not a google fan besides the search engine and gmail.

Let's look at the n900 now. the maemo 5.0 system is Open-Source (98%) and built using good old debian tools (deb, apt, etc.). It is mostly maintained by an open communitiy growing constantantly (with every problem that implies). It is fully based on Linux, the GNU standard libs, BusyBox,, GTK etc. The Hildon GUI is strongly based on gnome.
In addition there are QT compatibility libraries for hildon. You can also progam it in python which is extensively used by the maemo community.
A few components mostly related to drivers and telephony features are nokia proprietary but 98% of the software stack is Open-Source.
The n900 is available since a few weeks only (not even worldwide publicly launched before end of January) and you can already find hundreds of nifty applications on maemo's extra (and -testing, -devel) repositories. Features as MMS not officially supported by the original nokia applications set are now fully supported using open-source and free third parties apps.

Well, let's face it. I'm choosing the n900 as a phone for the same reason that makes me choose Linux for my home and work computers. That does not mean the n900 is reserved to computer professionals or geeks, I really don't think so. I won't try to convince you here but I might tell you in a future post about my wife and children all using exclusively linux notebooks everyday for everything they need a computer for, even gaming (wine rules).

Other concerns :

To be honest, the n900 is not necessarily an iPhone killer either. There are hundreds of thousand of applications available for the iPhone, most likely several thousands already available for Android. There are far from that many available for the n900.
Don't get me started about the hundreds of thousands of applications available for the iPhoine. I would be really glad to know how many are useful. But anyway, let's be honest, there will never be that many apps available for the n900.

Still, I have a smartphone now for quite a while and the applications which are mandatory for me are : a very good media player (or several good media players), A GRRS/UMTS connection monitor, a good web browser with download manager, a good mail software, a ssh client, a vnc client, a good ftp/scp/sftp client, a console, a good GPS software and lots of other little things.

And I have all of these on the n900 and in the best possible way : *nix standard, free and open-source.


nice review

Posted by kkk on March 19, 2010 at 12:33 PM CET #

Thanks Badtrash for sharing your interesting considerations about these phones from which the N900 is the one of my personal choice. I absolutely do not regret to have bought it and love this awesome little thing. The hardware seems to me being epochal masterpiece of engineering.
What really surprised after buying was the FM transmitter which wirelessly connects the N900 multimedia player with any audiophile stereo equipment with radio or car radio in the best way i could think of. One more great idea, implemented in great quality:

As there is the same Texas-Instruments/ARM OMAP 3430 stuff in the Nokia N900 as in the Apple 3GS i think it is not very difficult to get the linux stuff working on the 3GS and vice versa:

Posted by andax on June 02, 2010 at 11:11 PM CEST #

Leave a Comment

HTML Syntax: Allowed