My Google Nexus One

I’ve been using Google Nexus One since its release. Google got the phone to me within 24 hours of the announcement. (Thank you Google!) This isn’t the first Android phone I used. I also have the HTC Magic aka T-Mobile myTouch 3G aka Google Ion. To be blunt, up till now Android has been a disappointment to me. They are sluggish, ugly, and the software were very rough. I was cautiously optimistic about Nexus One. After all, this time around Google is selling it directly unlocked. The specs look great on paper, but will it actually translate to good user experience this time? I resisted writing this review right away, because I really want to give it a fair chance. So other than posting a bunch of pictures on Flickr, I waited till now to write this after using it since Jan 6th.

So what’s the verdict? For those of you who just want to know right now. The short version is “Google Nexus One wins on hardware, Apple iPhone 3GS wins on software.”

First let’s talk about hardware. When you hold Nexus One. The first thing you notice is the lovely AMOLED screen. The phone is thinner than iPhone. The build quality is high. The images are crisp thanks to the high resolution. The iPhone screen is 3.5 inches with resolution of 320×480. The Nexus One is 3.7 inches with resolution of 480×800. Though at the default setting, the Nexus One screen is much darker than iPhone. The 5 megapixel camera takes excellent photos. The color palette produce high contrast and saturated photo, much like a Canon DSLR, which I love. The camera is also able to capture video at 720×480 at 20fps+. In fact, the camera has hardware based autofocusing system. It has a LED flash, which is useful in a pinch when you are taking night shoots.

It has a removable battery. The 3G support for T-Mobile’s new full speed HSPA 7.2Mbps is very fast. It also has a active noise canceling mic. On Nexus One, there is a 2nd mic which is used to measure ambient noise and filter it out during your phone call. It works very well in a noisy environment. The call quality is good. Though the speaker at high volume is a bit metallic.

The 1ghz SnapDragon processor is very very fast. The first place you’ll notice this is when you rotate the phone. On other Android phones I’ve used, rotating the phone causes a lag before the screen will redraw in different orientation. On Google Nexus One, it happens right away. No more lag. The built-in GPU also makes this the first Andorid phone I would actually consider develop game for. It supports OpenGL ES 2.0, and has excellent performance. It’s really the first phone I’ve played with that surpass iPhone 3GS’s OpenGL ES 2.0 performance, and that’s no small feat. It has excellent hardware support for H264 decoding too. Videos playback is very smooth and easy on the battery life. The memory has been increased to 512MB, it’s still quite small due to the fact that you can ONLY install Android apps to system memory only. So the MicroSD Slot which allows you to use a 32GB card is basically only for data. It of course has Active GPS, digital compass and accelerometer.

The only con I have on the hardware side is, the touch screen isn’t very accurate. I’m very used to the very accurate iPhone. On Nexus One, touching a small navigation button leads to mistouch very often. This is compounded by the fact that Nexus doesn’t support pinch and zoom. It makes using the web browser a frustrating experience at times. On the bottom row of the screen are 4 dedicated touch buttons for “Previous Screen”, “Menu”, “Home”, and “Search”. I can’t begin to tell you how many times that in the middle of using the virtual keyboard to input my new tweet only to accidentally trigger “Home” button, thus losing EVERYTHING I just typed. It happens a lot because the “Home” key is just below “Space” on the virtual keyboard and with how inaccurate the touch screen is, I mistouch it very often. The other issue deal with editing existing text I typed. On Android, to place the cursor between letters you tap between the two letters. It doesn’t let you zoom and hover like iPhone. So with the inaccuracies of the touch screen, I end up keep taping hoping to land the cursor in the right place.

The other small complaint is, no accessories at all. It launched with nothing. The phone does come with charger, USB cable, headphone and a very cute carrying case. But the dock that was talked about quite a bit only came out a couple of days ago. Mine should be here in the next day or so.

Onward to software. Android has come a long way. I’ve used Android since the pre 1.0 SDK. And I’ve played with each major release since. So I saw how Android is growing up every step of the way. It’s getting much better. But still rough in places. First let’s talk about the good stuff. I love how Google implemented voice input feature. It’s part of the virtual keyboard as a mic icon. You tap it and process with voice input. It translates it into text as if you just typed it. This means it will work on anything that is a text input. Very well thought out. The new Google Maps with the turn by turn voice navigation is the first alternative I would consider against my favorite: TeleNav on Blackberry. Though Google Maps’ speech synthesis for voice navigation is still to robot sounding, it’s very useable. The home screen is now very iPhone-ish. You have multiple pages of apps you can scroll back and forth. But in addition to app shortcuts, you can also place widgets that are irregular size. I especially like the new News and Weather widget, given that I’m a news junkie. The new weather app is also very cool, giving you very detail break down on a interactive timeline. The new full 3d wallpaper is lovely both as eyecandy as well as a demonstration of the GPU’s power. Even if it does suck your battery. Another widget I really like let you change bluetooth/wifi/gps/sync/brightness with a single toggle. No need to go to setting screen. I’m a Google Voice heavy user. Nexus One’s total integration with Google Voice is second to none. The gmail app also address one of my long standing complaint. Up till now you can only access the gmail account that’s associated with your Android phone, to read other gmail accounts you have to set it up as a pop3/imap in the other mail app. That’s just totally silly. In Google Nexus One, finally you can access multiple gmail accounts. The web browser receives some UI tweaks also. The url window is now always visible. The surfing experience is also far more responsive. Not having multitouch is still annoying, but patents, what can you do? The over all UI also has many more transition effects to give it a more smooth experience. This is especially obvious when you bring up the “List of All Apps” screen.

On the negative side. In Android Webkit browser, like iPhone Safari, you can also double tap to “fill” the screen with the section or the graphics you are interested in reading. But Android’s Webkit browser is far worse at guessing. On iPhone, if I double tap on a graphic, it will fill 100% of the screen correctly everytime. On Nexus One, most of time I only end up with 80% of the screen filled. It also guess wrong quite often when I’m reading multi column website and double tap to read a particular section.

The music player is terrible. It’s very barebone. It doesn’t support podcast at all. I use Google Listen, which is an app available from Marketplace. It’s serviceable. But it updates feed very slowly, is missing many popular podcasts, and most importantly it stores the downloaded audio in a goofy file name so if I dock the Nexus One into a mp3 playing device. It won’t play. The clock app only has alarm, but no timer or stop watch function. There is no dedicated video player, only a YouTube player. The calculator supports sin/cos by using a “advance” panel is pretty useless.

I have mix feelings about the Market Place. I’m not the type of person that goes “App Store has 100k apps, Andorid Market Place has 20k, thus, Android sucks!” If that’s the logic you want to use, we should all be using Windows. The reason I have mix feelings are two folds. 1: For the apps I’m looking for, there are less apps which are “good”. 2: The same apps on iPhone vs Nexus One. The Nexus One version are worse, at least for the ones I use.

Let me give an example for the first reason. Twittering Apps. On iPhone I switch back and forth between Tweetie and EchoFon often because they are both very good and they constantly are trying to outdo each other with new features and new UIs. On Android, I use both Twidroid and Seesmic. Frankly, both of them are at best, serviceable. Twidroid’s UI is a mess. It feels like “never saw a dropdown we don’t like”. Seesmic is more polished, but it crashes every so often. And the notification feature is not reliable. Another example would be gaming apps. On iPhone, I’m completely addicted to Civ Revolution. It doesn’t exist on Android, the end.

A couple of example of the 2nd reason are WeatherBugs, and AP Mobile. WeatherBugs is very fast and smooth on iPhone. It displays data right away, and screen updates are fast. Interacting with it is instantaneous. On Nexus One, WeatherBugs is laggy, shows me blank screen with no data often, and seems to take forever to acquire GPS lock to give me current location weather. AP Mobile on Android looks far worse than iPhone. On iPhone it does background push notification to tell you about breaking news. On Android, even though I have the notification turned on, it never works.

Now I can hear it. “But it’s not fair. Just because the apps you use are written badly, it’s not Nexus One’s fault”. Sadly, market place don’t care. All they care about is, do apps I use exist on Nexus One? And if so, do they run well?

From a game developer point of view, there are a couple of road blocks in bringing a high end commercial game to Nexus One. The first one I already touched on, it’s a space issue. I have to fit the entire game into a very small package that can only be installed onto the main memory. The second one is lack of any sound streaming and mixing API. Sound is a major factor in gaming. Android’s sound API is frankly terrible, and it’s not something I can work around by using native SDK.

But at the end of the day, I like Google Nexus One. I think it’s the first credible competitor to iPhone. And I love competitions.

Comments (1)

CarlFebruary 1st, 2010 at 4:05 am

From the post:
“Now I can hear it. “But it’s not fair. Just because the apps you use are written badly, it’s not Nexus One’s fault”. Sadly, market place don’t care. All they care about is, do apps I use exist on Nexus One? And if so, do they run well?”

Actually, it may be Nexus One’s fault. Or, more accurately, Google’s. I’ve used the Android SDK for a couple of months and, to me, it seems pretty poor: the documentation is frequently incomplete or so vague as to be useless. The API itself seems arcane with patterns that are not used elsewhere – it seems to take “not invented here” to some absurd new level.

I’ve never programmed against the iPhone API but when I compare the Android API to the J2ME and the BlackBerry APIs it seems to be unnecessarily “innovative”.