I've documented my current selection of smart phones and their respective features, advantages, and disadvantages elsewhere. The Nokia N900 does many things right (in my point of view), but is missing one crucial component by default: SyncML synchronization to HTTP servers. Fortunately, being largely open source, other developers have already taken care of this issue by porting the SyncEvolution package over to Maemo (the Debian-based Linux distribution running on the Nokia N900).