Recently I bought a Nokia 5800 Xpressmusic Smartphone to replace my aging Nokia 6600. 5800 is Nokia's first device based on the S60 5th Edition platform, running Symbian OS v9.4 on a 434MHz ARM11 CPU. Notable features include large(3.2inch 640x360) resistive touchscreen with tactile feedback, HSDPA(3.5G), 802.11b/g WLAN support, GPS (with optional AGPS), accelerometer, stereo FM radio with RDS, 3.2Mpixel camera with Carl Zeiss Optics, blah blah... the list is quite long. For a complete list of specifications see the link to the device specs page, there is no point in copy-pasting the list here.
After unpacking I plugged in an Airtel 2G SIM and the 8GB MicroSD that came with the device. Unfortunately the state owned BSNL is the only mobile service provider in India providing 3G connectivity. Though BSNL has excellent 2G coverage all over the country, their 3G coverage is limited only to few cities. Other operators are yet to receive licenses to roll out 3G networks. So for the time being, I'll have to remain contended with 2G services, which means no high speed data and no video call.
The sound quality of the device didn't really disappoint me, however being an Xpressmusic phone, I had expected better quality headphones. The HS-45 headphone that comes with it, is of average quality. I plugged in my friend's Sennheiser headset and the audio quality simply blew me away. So there is nothing inherently wrong with the device's audio output, it is just that the supplied headphones are of mediocre quality.
The inbuilt browser is nice. Adobe Flash is properly supported (in fact excellent flash support, one can watch YouTube videos smoothly over a WLAN connection).
GPS reception is good, I could get my location even indoors. However the initial lock-in time is variable. Sometimes is takes upto 5mins to lock-in to the satellite signals, whereas at other times it takes less than a minute. However with AGPS enabled, startup becomes lightning quick. AGPS allows the device to download the ephemeral data about the GPS satellites from Nokia's AGPS server through the internet, rather than decoding the same from the GPS signals. AGPS works only if a cellular packet data connection is available (for some strange reason it can't use WLAN).
The Nokia Maps application is utter crap, atleast for me. It doesn't provide any detail about any location in eastern India. On the other hand Google Maps just rocks. In the satellite view, I could even figure out the room of the building, where I was. Google Maps also provides turn by turn navigation instruction for traveling from point A to point B on the map. With inbuilt Google Latitude, selected friends can see my instant location on the planet at anytime and I can see them on the map as well.
The inbuilt mail client is simple with minimal features but works quite well. I configured it for periodically monitoring my Gmail Inbox and a few other IMAP Folders and alert me whenever a new mail arrives.
The music player app is good enough for playing wma, mp3, aac, aac+, awb and perhaps someother formats as well. However syncing the music folder with my GNU/Linux computer was a bit troublesome. I'll write about this in a subsequent post. Initially I had to use Nokia Music(part of Ovi Suite) on Windows XP to transfer tracks.
The device comes with a subscription to Nokia music store, which allows downloading of first 100 tracks from the site free of cost. Unfortunately all the songs in Nokia's music store incorporates Microsoft's DRM, making them unplayable in my GNU/Linux laptop. Really annoying! I can't freely play songs that I have legally downloaded.
Anyway as a concluding remark, I must add that the phone is quite hackable(though nothing compared to a Freerunner!), in the sense that Nokia freely provides the SDK/S60 emulator as well as the Symbian C++, Open C++ and Java API for accessing the device features. Nokia has also ported Python to the S60 platform and I could easily get a Python shell running on the device. I could access the shell through a serial console emulated over a bluetooth link. The well documented APIs, helped me to very easily write simple Python scripts to play around with the sensors(accelerometer, rotation, ambient light, proximity and gps positioning) scattered throughout the device. I haven't written any full fledged application, but the potentials are limitless.