Le blog de Olivier Crête



My Planets



June 2010
« May   Jul »

RSS 2.0

Log in

About a month and a half ago, I had a smallish bike accident, I did not have a single scratch, but I managed to fall right on my N900 and crack the LCD. So I’ve used a Nexus One as a replacement until I managed to fix the N900. That gave me a chance to compare them.

You should also know that I am entirely biaised as I was paid to make the VVoIP calling on Maemo incredibly awesome. I have no relationship with  Google and they did not pay me to make their stuff awesome (so it is not awesome). The opinions stated here are mine and mine only. They are not approved by my employer Collabora, any of our clients or competitors, the Queen or anyone else than me.

I’m comparing both devices with the latest software version as delivered by their respective OTA update system. So it is Maemo 5 PR1.2 for the N900 and Android 2.1 (Eclair) for the Nexus One. I make no claim of fairness. This is not a guide to chose which phone to buy.


  • Extensions: The N900 browser supports (badly) a few Firefox extensions (like Adblock Plus or Greasemonkey). That said, they’re already quite useful. Maemo +1
  • Windows:  Maemo 5 also handles multiple windows as regular windows, while the Android browser has them hidden in a menu. I did not discover that menu until I had a “Too many windows open, can not open new window” pop up. Also, the way “popup windows” appear in Android is really annoying, especially the fact that they are hard (impossible?) to zoom. Maemo +1
  • Flash:  It’s not really usable (more like really unusable). Flash video playback is really slow (since all decoding is done in software). Steve is right, Flash is a disaster on mobile devices. Maemo -1
  • Text column width cheating and reflowing: The Android browser has a nice feature where it scales the width of text columns to the screen width to be nicely readable. It tends to break the layout of some sites, but it’s well worth it. Opera Mobile seems to do the same thing. But the Maemo browser doesn’t. Newer Firefox Mobile builds seem to also lack that. This means it is also unusable in vertical mode. Android +1
  • Scrolling performance: The Maemo browser uses tiles for when scrolling, so if you scroll too fast, it has to work real hard to render the next tile. It was much smoother on Android. That said, I heard the Mozilla people are trying to fix this in Fennec 2. Android +1
  • Rotation: The vertical mode of the Android browser just works better than the half-baked rotation support in Maemo 5.  And holding it in one hand is much easier if its vertical. Android +1

Browser totals:   Maemo 1- Android 3

Contacts & IM:

  • IM protocols: Android only supports Google Talk out of the box, while Maemo supports  Skype, SIP and XMPP (including Google Talk) right of out of the box. And it is easy to add 3rd party support for other protocols (MSN, Yahoo!, etc) and it integrates fully into the existing system. Maemo +2
  • SMS/IM integration: SMS and IM are entirely separate in Android, but they are the same app in Maemo. Maemo +1
  • Metacontacts: Both platforms have metacontacts. Sadly, they are both incomplete. Contacts in both platforms include the basics: name, nickname, phone, email. Maemo can also link contacts from all IM accounts together, while Android only does it for Google Talk. But Android applications can put their own info in the contacts, so you can link in Facebook and Twitter contacts easily. On Maemo, well you can do it with Hermes, but you still don’t get the phone number or email address from Facebook (blame them for it). Equal points
  • Synchronisation: Out of the box, Android only supports synchronization with Google’s servers. Maemo only supports SyncML over USB (not over http) or Mail for Exchange. No points.

Contacts & IM totals: Maemo 3 – Android 0


  • Ringtone: The Nexus One ringtones are just not loud enough. I’ve missed many calls because I just didn’t hear it. My colleague complained it wasn’t loud enough to wake him up making it useless as an alarm clock. That’s a pretty big fault for a phone. Nexus One -2
  • Voice quality: I did not do any objective testing, but I feel that despite the active noise cancellation of the Nexus One (with a second microphone), I can still hear calls better on the N900. N900 +1
  • VoIP:  Android only has Google Voice (only works in the US) built in. Skype is only available from select providers. And I could not get any of the 10 SIP apps in the Market to work with SipPhone.com (a Google service). So no VoIP on Android for me. On the other hand, the N900 has excellent VoIP support (I know its excellent, it uses Farsight2, my project!). Out of the box, it supports Skype, SIP as well as XMPP Jingle calls. That means Maemo support Google Talk compatible calls, but not Android. How ironic. Maemo +2
  • Video calls: There is no front-facing camera on the Nexus One. The N900 has awesome video calls, including GMail compatible calls (a mobile first)! As well as Skype compatible video calls (another mobile first). Maemo +1
  • Accepting calls: The “incoming call” screen on Android has slide buttons. On Maemo 5, it has push buttons. Combined that with the fact that is auto-unlocks the screen when it rings and with the resistive screen, it means that I sometimes accidentally hang up or answer in my pocket. Really annoying. Maemo -1

Calling totals: N900 3 (Maemo 2) – Nexus one -2


  • Both devices have email clients supporting IMAP. Android also has a separate application for GMail. Since I don’t use GMail, I did not try it seriously.
  • Combined inbox: Android has a nice feature where the inboxes of all account are shown at once. Android +1
  • Searching: It’s a funny thing. The Android mail application does not have any search feature. At least, Modest (the Maemo email client) has gained minimal searching in PR1.2. Maemo +0.5
  • Performance: The android mail app just feels faster and doesn’t get stuck waiting for God knows what all the time. Android +2

E-Mail totals:  Maemo 0.5 – Android 3


  • Overall: The Ovi Maps application for Maemo is a disaster, Google Maps just works on Android. Android +1 Maemo -1 (I’m giving a -1 because Ovi maps is so disappointing, they should have released the device without it)
  • Network access: That said, Ovi Maps has one nice things, you can download maps, while Google Maps is just pre-rendered tiles, which means it always requires Internet Access.  Maemo +1
  • Navigation: Google has free navigation (in select countries), Ovi Maps for Maemo does not have navigation. Android +1
  • Voice commands: Android has them (including search), Maemo does not. Android +1
  • Search: Google Maps has Google search.. Ovi Maps has some crappy search that fails half the time if you don’t spell the address exactly the way it expects it. Ovi Maps can not search for things that are not addresses (like a restaurant ou a gaz station). Android +2
  • Extras: Google Maps also does nice things like public transit. I wish they had bike routes in Canada. Android +1

Maps totals: Maemo 0 – Android 6

Camera & Photos:

  • Camera Hardware: Both devices have 5 mega pixel cameras and they seem to have more or less similar performance. That said, I did not do any serious comparison. Equal points
  • Photo browser: The Android Gallery has a bit more bling, but it is the only built-in app that I’ve seen crash on the Nexus One. But functionality-wise, they seem pretty similar. Equal points
  • Button: The N900 has a hardware camera button. On the Nexus One, it is an on screen button. Touching the on-screen button while holding the camera in the right direction is really hard. N900 +1

Camera & Photos total: N900 1 – Android 0


  • Size: The Nexus One is quite a bit thinner, the N900 is a pretty bulky device. Good thing I don’t like thigh pants. Nexus One +1
  • Keyboard: The N900 has one, the Nexus One doesn’t. I though it was a fatal flaw until I discovered Swype, which is really awesome… if you only write in one language. But I write in both French and English.. Sometimes I send one message in French and the next one in English.. Sometimes I mix languages in the same message. Swype only does one language at a time. That’s not a problem with the keyboard. So N900 +1
  • Screen resolution: The same. Equal points
  • Touch screen: The N900 has a resistive touch screen, the Nexus One has a capacitive screen. Everyone is saying that capacitive touchscreens are nicer… I’m unconvinced. Yes, you need more pressure on the N900.. But the Nexus One’s screen sometimes strangely fails to react. It is also much less precise. That said, resistive screens have the annoying habit of reacting to pockets (especially annoying when it rings). Equal points
  • Digital compass: The Nexus One has one, N900 doesn’t. Nexus One +0.5
  • Volume buttons: On Android, when not in the music app or in a call, the volume button control the ringer volume. That means it’s really easy to turn it even lower than it already is. This is especially annoying sine the Nexus One volume buttons are too easy to push. Nexus One -1
  • Included Flash memory: The N900 has 32 GB. The Nexus One has none. Both have a microSD slot. The Nexus One did come with a 4GB card. That’s just not enough, I have 7 GB just for music on my N900, and that replaced a full 30GB iPod. N900 +2
  • TV out: The N900 has TV-out, the Nexus One doesn’t. I though it was completely useless (its just analog low def). But it was really useful when I cracked the LCD. N900 +0.5
  • Bands: The Nexus One is available in both AT&T/Rogers/Bell/Telus (850/1900) and T-Mobile USA (900/1700) bands for 3G. The N900 is only sold for the T-Mobile USA band (900/1700). Which mean no 3G in Quebec until Videotron launches its network (and they are one year late already). Both phones support the European 2100 band. And they’re both quand-band for GSM/EDGE. Nexus One +1
  • FM transmitter/receiver: The N900 has a FM transmitter and a FM receiver. I’ve only used them briefly. N900 +0.5
  • Speakers: The build-in speaker of the Nexus One is terrible, the N900 has some of the best stereo speakers I’ve seen on this kind of device. N900 +1

Hardware totals: N900 5 – Nexus One 1.5

3rd Applications:

  • Availability: There are lots of apps on the Android store. There are TWO paid games on the Ovi store for the N900 as of today (when it is not down). That said, Maemo has a lot of ports of existing Open Source apps in Maemo Extras. That said, many of the apps in the Android Market are terrible…  Android +1
  • Application installer: The Android Market (which also acts as an app installer) just works. The Maemo 5 application installer is a complete disaster. It is user hostile and developer hostile. Maemo -1
  • Developer story: Nokia decided to scrap most of the Maemo 5 platform and review everything with a brand new toolkit. They’re completely unable to get a straight story about developer APIs. I think that is in part because they also want people to do Symbian apps. Nokia please, please, just forget about Symbian apps, just use J2ME like on S40. Google has provided a stable Java API.. But not a stable C/C++ API. Maemo -2
  • Python: A lot of the Maemo apps are in Python and therefore are memory hungry (on a memory starved device). Maemo -1

3rd Application totals: Maemo -4 – Android 1

User experience:

  • Maemo’s greatest weakness is the out of memory handling. There is only 256 megs of RAM and 768 megs of swap. That means that as soon as you do too many things, it starts swapping and the performance becomes terrible. This is made even worst by the fact that application startup is really slow, so many applications are in pre-started. Nokia should put a lot more memory in the next device and seriously fix the application startup time. Android has a nice thing where apps can serialize their content and be shut down when the system in under memory pressure. This leads to a much better impression of performance. Android +4
  • CPU speed: The Nexus One has a 1Ghz Qualcomm Snapdragon CPU, much faster than the 600Mhz TI OMAP 3430 of the N900. Nexus One +1
  • The real “multitasking” is much nicer in Maemo5, Android just fakes multitasking by having applications save their state and restart at the same point. That means you can not load two web pages at the same time or anything like that. Maemo +1
  • Both have multiple desktops with applets. Sadly, when I load my N900 desktops with applets, the system becomes sluggish. Maemo -0.5

User experience totals: Maemo 0.5 – Nexus One 6 (Android 4)

Geek experience:

  • Maemo is the ultimate mobile Geek OS. Having an x-term built-in is just amazing. Maemo +3
  • Maemo is a real Linux desktop-like operating system. To anyone who knows Linux, it just feels right. Android is the Linux kernel + Android. It was done in secret in a corner and Google has not made any serious attempt to join the great community. They re-wrote everything from scratch all the way to writing their own libc. Maemo +2
  • The choice language on Android is Java (beurk!). On Maemo is it C (or C++). Maemo +1

Geek experience totals: Maemo 6 – Android 0

Other stuff:

  • Media player: I didn’t really try the Android media player since there isn’t enough space on the SD card to hold any significant amount of music.
  • Notes: Android does not seem to come with a built-in notes apps. The Maemo Notes app is just pretty bad. They could have just shipped ConBoy instead…
  • PDF reader: the PDF reader on Maemo 5 is terrible, the Android one seemed kind of ok (but not great either)
  • RSS Reader: Does Android have one? I use the web-based Google Reader anyway

Total: N900 16 (Maemo 9) – Nexus One  17.5 (Android 17)

The Nexus One is really being dragged down by its its hardware. Especially when it comes to the bad speaker quality and the low ringer volume.. Did I mention how much it annoyed me ? That said, Android is pretty good. Better IM integration would be a  big plus. And some VoIP too.

Our Nokian friends have their work cut out for them. First, they need to fix the memory handling story on Meego. Running out of memory and swapping all the time is just annoying. An almost desktop-class operating system requires desktop-class amounts of RAM (that means more of it). Ovi Maps needs a lot of work, hopefully they can work a deal with Google to get decent search in there.  The browser could get its share of small screen friendliness and a performance upgrade. If they fix these few problems, Meego (as the future of Maemo is called) could very well be a success.

Were it not for its high geek factor (built-in X Terminal!), the N900 would have lost badly. That said, it’s still my favorite phone ever (did I mention I was horribly biaised?)

26 answers to “N900 vs Nexus One: a comparison”

No avatar

Nice review, I do not have access to a N900 because as previous non phone models N800… etc. Nokia forget to push those devices to more countries, in the case of Android even here (Venezuela) you could get a model for your tastes.

I think you really do not understand Android multitasking. It is not faked, you can download multiple pages simultaneously, even download podcasts or stream music. You are confusing the capability of Android to stop applications when memory is needed and restart them when the user really needs them with no multitask. To be real multitask and be able to free memory when needed are not mutually exclusive

No avatar

@Robert: Android multitasking means that the app is split in two.. A service that runs in the background and the UI which is stopped (and serialized) when you’re not using it (and the RAM is needed). So it’s still not true multitasking like Maemo can do it. That said.. it may be a better design for resource constrained devices.

No avatar

Again, the multitask definition is to be able to run things simultaneously, something Android do. You may not like that Android enforce Services / Activities (UI) separation, but that does not make it no real multitasking. I may add, that separation is more Unix like than monolithic apps that never ends, take as an example an hypothetical Rhythmbox, where there is daemon that plays the music and manage the library, a GUI process that shows the main window, and a GUI process that show the notification area icon, and a GNOME able to kill UI applications not used when resources are constrained. That does not makes it something no multitask able

No avatar

@Robert: On Maemo, the music player actually works like that (the decoder is a dbus service called gst-renderer or something). It still means you can’t run two UIs at the same time.. I still maintain its still not desktop-class multitasking.

No avatar


N900 is a better solution for geeks! ;)

No avatar

Swype is available for the N900? Where?

On a side note, the browser on N900 is plain awful. It’s supposedly a “internet device” and the browser being what it is, I would give it a -100 just for that. Switching to/from full screen flickers (blanks the screen!). If you type a url when the page is loading, the url might get overwritten. Pages don’t have correct zoom after loading. I could go on but really I just want to know where you got swype from :)

No avatar

As a side note, you can push the trackball button on the Nexus One to take a photograph with the camera app.

No avatar

Odd that you cannot use SipPhone.com with Sipdroid. Although I haven’t used SipPhone.com in many years, though putting those credential’s in my ATA was just the same as with my local VoIP provider. My Android phone (G1) is also my VoIP device when at home.

I completely missed Gizmo being acquired by Google.

No avatar

@Girish: No, I used Swype on Android.. not Maemo sorry..

@Philip: I wish I had known that for the last month…

@sime: Never could get SipDroid to work correctly

No avatar

As Tester, I came to roughly the same conclusion: The n900s biggest flaw is the software that is not optimized for low memory devices.
Take a look at this sceenshot: http://stuff.swatinem.de/Screenshot-20100626-110545.png
The device is swapping after 3 minutes uptime, what the hell?
The biggest culprit seems to be the IM app that renders the messages in an embedded browser using html and javascript. “epic fail” is the only thing that comes to my mind about that.
I really hope meego will do a better job at optimizing apps for low memory environments.

No avatar

Android DOES have a stable c/c++ api. It’s called the NDK, and it gives applications access to OpenGL ES 2.0, and only requires a thin wrapper class to be written in Java. Just so you know…
Oh, and Android also does have real multitasking. Processes can ask the OS to let it keep running in the background, and that state-save stuff only gets used in extreme circumstances.

No avatar

I own neither but i’m a bit surprised.
I could read everywhere how the N900 browser is very superior and how maemo is actually pretty good.

For flash, it does work mostly ok when it’s accelerated, from what i read too (in froyo aka 2.2)

What i dislike in android is that you have a lot of java wrappers etc going on. It doesn’t feel like a true linux on your phone (even if it is) and you’re often denied root access etc.

Meego is also made by intel so fortunately they’ll improve it

No avatar

I’m know you’re biased, but it looks like the Nexus One earned 1.5 points on hardware rather than the 0.5 it was given in the totals. ;)

Also, you mentioned that Skype is supported as standard on the N900, does that mean the N900 ships with a copy of Skype, has software that connects through Skype (like fring), or requires you to download it separately? It’s possible to get Skype Lite for Android (although that has it’s own problems, no video, VoPOTS rather than VoIP, but it does let you chat/call whoever you like on Skype).

Lastly, you didn’t seem to compare battery life between the two, were they roughly the same?

No avatar

How about battery performance? Which one lasts longer?

No avatar

Thanks for the comparison. I missed a couple of features. If you have any feedback, I’d welcome it:

1) IMAP with TLS, self signed certficates *and* client certificate authentication. I know Modest on the N900 does not support client certificate authentication as it does not send its certificate when requested by the IMAP server. Big FAIL imho. Nexus One?

2) VoIP with TLS and self signed certificates. No idea if the N900 or Nexus One support this

3) the N900 supports OpenVPN. Together with the xterm it’s quite powerful. Nexus One?

Thanks and regards,

No avatar


The Nexus One has *way* better battery life than N900. It ought to improve on Nokia as the platform matures.

No avatar

@ray: The NDK API isn’t as complete as the Java one… so you have to rely on stuff that’s not API stable to do anything useful (like play sound!)

@bob: I haven’t tried froyo.. so I can’t comment on Flash there…

@Mike: The N900 ships with a copy of Skype. It not cheating like fring. It’s not Skype Lite. It’s the full Skype with all the features. Oops, I can’t count! (fixed)

@piorek: @lut4rp: They’re both pretty bad I find.. They don’t last very long when you actually use them a lot to browse the web. That said, the Nexus One has a bigger battery

@Patrick: I didn’t see anything about clients certs on Android, the signalling can be TLS on Maemo, but there is no crypto for the actual voice data (unless you use Skype). No idea about OpenVPN on Android.. Buts it’s 3rd party on Maemo too, so I didn’t count it.

No avatar
Henry Miller dit:

Thanks for this review. I have a G1 now, and am thinking about the next upgrade, but I don’t know which direction to go. My brother has a Nexus One, so I can look at that, but the n900 looks so much nicer as a geek…

No avatar

I disagree with your presentation of the Nokia ‘Developer story’. Nokia did not ‘scrap most of the Maemo 5 platform’; consider the extent of change between the Maemo5 and Maemo6 architectures, as per http://www.slideshare.net/qgil/maemo-harmattan-qt-and-more (see slides 5 & 6).

‘They’re completely unable to get a straight story about developer APIs.’ Nokia’s developer API story is straight-forward: it is to use Qt for applications targetting either Symbian or Meego devices, and Java for S40 devices: http://www.forum.nokia.com/Develop/

No avatar

I felt the same way about the on screen camera button, until I realized I could use the trackball as a button. Now it’s so much easier to take pictures. The trackball does come in useful sometimes. :)

No avatar

@Matt: They scrapped every single application from the Maemo5 platform. Every single one of them. Anything that is visible on the screen is being re-written from scratch with a different toolkit in a different language.
Qt (as in QWidget) based apps look out of place on Maemo5 and they will look out of place on Meego Harmattan, since the widget set is MeegoTouch (née DirectUI). And Symbian has Orbit (which was also called DirectUI but is entirely unrelated to the other one), so you still have to write two separate UIs to not feel out of place. And these may all go away in the bright QML future (or maybe not), so don’t get too attached.
Compare that with the Android or the Apple developer APIs and then you can understand why there are thousands and thousands of apps for there platforms and a few hundreds for ours.
This big diagram in that presentation is mostly about low level stuff that’s not relevant to application developers. And Meego Harmattan is not really Meego, there are some major differences: rpm vs deb, ofono vs csd, connman vs icd, geoclue vs liblocation. So again applications will have to be repackaged and if they use any of those libraries, they’ll have to be re-written.
That’s what I call a mess!

No avatar

@Tester: yes, it seems that Nokia are rewriting their own internal applications for the new platform, which is an investment choice that appears questionable :) OTOH, the platform for third-party development remains much the same in terms of the underlying components, excepting the significant change from Gtk+ to Qt UI.

Correct me if I’m wrong, but MeegoTouch and Orbit are higher-level components components designed to increase consistency between Nokia-developed components within Meego and Symbian respectively, right? They’re not necessary for third party developers, unless you are aiming to build something deeply integrated into the UI such as the UI-part of a home-screen widgets? Third-party developers can stick to Qt and get something that works on both platforms, and is presumably themed by each device to match the existing application set, to the extent possible.

I don’t think QML necessarily complicates any of this: it is primarily a new mechanism available to Qt developers to express the layout and behaviour of simple UI components. Surely Android and Apple could also add declarative UI mechanisms to their platforms (if they don’t already exist?)?

I hadn’t realised there were so many library-level differences between plain Meego and ‘Meego Harmattan’ – is there a page somewhere that clarifies these differences? One would hope that the ‘Qt Mobility’ APIs abstract the third-party developer away from these choices.

No avatar

Mappero adds 2 points to Maemo ;-)

No avatar
Jess Sightler dit:

I’m afraid that you have the Android multitasking system completely confused. There was a reason blog post that described things the way you have, but it was also completely wrong.

Actually, the Service/Activity split is not strictly necessary for multitasking (though it can provide other benefits, depending upon the nature of your application). Activities are sent a pause event on being put into the background, but the activity can still continue to operate (as well as run its own background threads). It will only be stopped if there is memory pressure.

No avatar

It’s been a while since I’ve run a stock ROM. If you want to improve your Android experience, I’d recommend rooting your phone and installing a mod like Cyanogen ( http://www.cyanogenmod.com/ ). You get an improved launcher (desktop), included terminal app, busybox, OpenVPN (AFAICT), USB/Bluetooth tethering, and improved/additional settings in many applications. Unfortunately that doesn’t do anything for IM/SMS/VoIP integration and hardware failings (though you can always install something like Meebo).

Also, I can’t say much about the Nexus One, aside from that I was never impressed with it. I personally use a Motorola Droid (Verizon) and I’m quite happy with it, though if I were buying a new phone now I’d probably get a Motorola Droid X or a HTC Droid Incredible. There’s also the HTC Evo 4G on Sprint. Unfortunately good phones seem to be fairly slim pickings for T-Mobile, Boost Mobile, and AT&T.

No avatar

This is absolutely the most comprehensive and most accurate comparison of these two devices I have read. I actually did the same thing with my N900, though I stupidly brought my phone to the gym and dropped a weight on it. However, I am enjoying my Nexus though I do feel a lot less geeky (bad in my opinion). I only miss a few things: FM radio out (software issue) and hooking up the N900 to the TV to play Doom with my PS3 controller – that made my roommate’s jaw drop pretty quickly. Also Firefox was awesome though it’s slowly but surely making its way onto Android.


This page is XHTML 1.0 Strict and CSS level 3