Find Me Online

HTML5 Powered with CSS3 / Styling, and Semantics

The Galaxy Nexus And Ice Cream Sandwich Review

While I’m well known these days as a big fan and evangelist of Apple products, I’m first and foremost a geek and lover of anything with a chip or an LCD in it. I love gadget and I love technology. As such, when the first Android device was released (The Google/ T-Mobile G1), I jumped on the occasion and bought one immediately even though I owned an iPhone at the time. Last year, since my G1 couldn’t be updated past 1.6, I bought an HTC Desire Z, an interesting Android phone because it had a physical keyboard along with the virtual one that Android provides. In both cases, I came away severely unimpressed by both the hardware and the software. The G1 ran Android 1.x which was clearly unfinished and at least a year or two behind iOS. The Desire Z was a bit better but got stuck for a long time at 2.2 until HTC & Bell released the 2.3 firmware update earlier this year. Even at 2.3, I never really felt the OS was polished enough for a normal user. Compared to iOS, it felt like a big step backward.

This year brings Android 4.0 (Ice Cream Sandwich) and to run it, a new Google “reference” phone, the Galaxy Nexus created by Google and Samsung. Since I’ve been asked several times over the last week what my thoughts are on this phone, I figured a review was in order. Keep in mind that along with those Android phones, I have also owned every iterations of the iPhone and the iPad along with a Blackberry or two. This review isn’t meant to be “impartial” or be read from the perspective of joe-user. This is a review from the perspective of an iOS developer and life-long geek who loves technology. Your mileage may vary.

Ice Cream Sandwich is finally here

Hardware

Before I get to the software, let’s discuss the hardware. The Galaxy Nexus is a beast of a phone with a 4.65″ screen (compared to the iPhone’s 3.5″ screen). It is, however, surprisingly light and thin. The screen is beautiful and sports a 720P resolution (1280×720 or ~316 PPI). The screen is obviously a lot bigger than the iPhone and has a similar pixel density. In day-to-day usage, I find the screen to be really nice. I can’t say it’s quite as nice as the iPhone’s retina display, but it’s a beautiful screen nonetheless and most users probably wouldn’t notice the difference. It’s too bad Google couldn’t include a screen as nice, but it’s certainly more than adequate. Text rendering isn’t quite as nice but it gets the job done. Video playback is also nice.

That 4.6″ screen really forces you to think about what you want out of your phone however. At that size, it’s almost a mini-tablet. That has obvious benefits : reading text on this screen is great as is browsing the web. The problem is the size of the device. It’s really large and you might have a hard time using it with one hand if you have small hands. It’s also a bit weird when you put the phone in your pocket. A case makes it even bigger and just worsens the problem. There’s no doubt in my mind that’d I’d really like a screen like this on my iPhone, but it’s also clear that this is too big of a device to really carry around and use. Short of coming up with rollable displays, that may mean a 4″ screen could be ideal. Going back and forth between the iPhone 4S and the Galaxy Nexus really makes the iPhone’s screen feel tiny, but the Nexus is just not a great form factor.

This is not a small phone!

Other than the big screen, the first thing everyone notices when trying the phone is the fact that it’s really lightweight and thin. The Nexus weighs 5 grams less than the 4S despite its bigger size. That’s because unlike the iPhone 4/4S’s all-glass back and solid feel, the Nexus sports a plastic back plate that feels extremely cheap, especially when you remove it to change the SIM card or the battery. The side of the phone along with the buttons are also plastic. Since you’ll probably remove that back plate exactly once when inserting your SIM card that’s hardly a huge issue, but it is striking when compared to the great build quality of the last two iPhone generations.

The phone feels great in my hands but I did notice it tends to be slippery when using it one-handed, something that never happened to me with the 4S. Might be the fact that I’m more used to the form-factor of the iPhone or maybe it’s because the phone is much bigger, but at least for now, a case seems like a necessity for me.

My model, bought at a Bell store in Canada has 16GB on board memory and no external storage options (no SD cards) but Google lists the Nexus as having 32GB on board storage. I assume there’s a second model available somewhere. For me, as an owner of a 32GB iPhone, 16GB is a bit small if I want to put all my media although I suspect that size will be perfect for many.

The phone is a 4G or “LTE” phone. Depending on where you live, you may or may not benefit from a speed increase compared to the iPhone 4S. In my case, the download speed were faster on the Nexus, but upload was faster on the 4S but those tests were done on different networks. Both were very fast however.

Camera

The camera on the Nexus is okay. As an amateur photographer myself with perhaps more equipment than talent, the camera is an important aspect of my phone. I’ve been really surprised by the amount of photos I’ve been taking on my 4S, something I used to never do before. That phone’s biggest new feature for me was the new, much faster and much better camera. The good news is that the Nexus camera is quite competent and pretty fast (much faster than the iPhone 4). The sensor doesn’t seem to be as good however and the camera doesn’t perform as well in low-light situations and the flash is used quite a bit to compensate. The camera software is pretty nice however. It can do panoramas in a very elegant way. The back camera is a 5MP while the front camera is 1.3MP, just like the iPhone.

Battery Life

Since I don’t use the phone as my main phone, I haven’t fully tested the battery yet, but others seem to say it’s pretty good and so far, I’d have to agree with that with one huge caveat. By default, the phone is extremely aggressive with screen brightness and the sleep timer to the point of being annoying. The phone will sleep if you don’t touch it for just a few seconds which is unrealistic. By default, I also find the screen brightness to be too dim. Changing both these settings does seem to have a big impact on battery life. If 4G is enabled in your neighbourhood, battery life will also be severely impacted and since there doesn’t seem to be a way to select 3G or 4G, you’re stuck with whatever your provider gives you and 4G drains the battery much faster than 3G. Overall though, battery life seems Ok. As with the iPhone, playing games or videos will drain the battery quite fast. As with any smartphone, keeping a charger nearby is never a bad idea.

Unlike the iPhone and other iOS devices, the Galaxy Nexus uses a standard micro-USB port to sync and recharge. That’s pretty cool. While I have a ton of iPhone/iPod cables, there’s no denying that using a standard USB cable is pretty neat. Too bad it’s the micro variety though, since those are a lot less common. Mini USB might have been a better choice.

The Nexus also finally ditches the 4 hardware buttons that have been present on all Android phones since the G1. Google has replaced them with 3 soft (-ware) buttons. When needed, a fourth button is added to display the menu although built-in apps seem to have removed that button completely and instead display that menu button in their own UI. That’s a lot better than wasting space on the phone with those 4 plastic buttons. It also means the Nexus has zero buttons on the face of the phone. Not even a home button. That’s something I really like and I wonder if Apple will do the same in an upcoming release. The power/sleep button is on the right side of the phone.

The only button on the left side of the phone are the volume buttons. I’m not a huge fan of the quality and feel of these buttons, but they get the job done. Once again, the iPhone 4/4S both have much higher quality buttons.

Enter Ice Cream Sandwich

I said it at the beginning of this review, but I’ve always felt Android 1.x and 2.x were overly complex and unpolished and I simply couldn’t recommend an Android phone to anyone for that reason. That OS simply felt unfinished. Apple’s legendary attention to detail really helped iOS feel good, even when in the first few iterations there clearly were several missing features.

 

The default ICS desktops.

Android of course has had a few great features first. Notifications are a prime example of something Android did better front the get-go and Apple eventually copied. I’ve said in the past that I’m not convinced these are the best way to display notifications (both for Android and Apple), but it’s certainly miles ahead of what Apple was doing before iOS 5. Notifications in 4.0 work the same way as it did before and once again it works well. I do feel like that kind of notifications tend to get filled with junk really fast, but that’s something that’s equally annoying on iOS 5 now and given the previous system on iOS, it’s clearly the better way to go for now until someone figures out how to fix that problem.

The Galaxy Nexus is the first phone to ship with Android 4.0. Since Android 3.0 was a tablet-only release, 4.0 is the first update since 2.3 and it’s a huge one. Reviewing the Android UI is difficult since manufacturers like Samsung and HTC usually put their own “skin” (and junk-ware) on top of Android, but since the Galaxy Nexus is the reference phone, it ships with a pure 4.0 install. For the first time as an Android owner my first impressions were really good. It’s a lot more polished than I was expecting.

During first boot, the phone will ask you to input your Google ID much like iOS 5 will ask you for your Apple ID to setup iCloud. All your contacts, calendar, emails and even installed software will automatically sync. If you’re in the US and you have a Google Music account, your account will also be setup for you. Since I had installed Path 2.0 on my Desire Z, the app was installed automatically for me. None of this is unique since Apple is doing the same thing, but I really wasn’t expecting any of this and was impressed.

Since Mac OS X can sync its address book with Google, all my contacts were synched by default. In a bid to simplify contact management, Google merges all your contact in one app, including your Google + and Twitter contacts. While that may be great in theory, that’s not exactly what I want out of my contact app on my phone, especially twitter contacts. Makes no sense to me.

Twitter contacts in my address book. Ugh.

Overall, the UI is a lot more polished than it used to be. Many of the built-in apps have had their menus streamlined. The overall UI feels more finished than it used to. Overall, it’s an OS that’s quite pleasant to use. Some of the UI-constructs are quite different from iOS and if you’re used to the iOS way you’ll need to readjust but that wasn’t a major problem for me. In any case, the UI makes sense which is always the most important thing and that wasn’t always true before.

The desktop is as great as ever and the ability to add widgets to your home screens is great and sometime useful. By default ICS adds a widget to quickly enable/disable system services like wifi, bluetooth, etc. Google has also added a permanent search bar at the top of all home screens that searches through pretty much anything you might want, both local and on the web. The bar, much like spotlight on iOS, can be configured and works quite well. Too bad you can’t remove that bar and it’s always displayed on every screen, but I can’t say I’m really annoyed by it.

The browser is also really nice. Since it’s based off the same rendering engine as Chrome and Safari (webkit), most sites render really well. You can even get Flash 11 on that thing and get, as Adobe calls it, the complete Web. You’ll excuse me if I take a pass on this. In a shocking turn of event, it looks like Flash isn’t so great. Who would’ve thought? Flash 11 will also probably be the last version of Flash on mobile.

Copy and paste now works really well, something that wasn’t the case before. The handles to select text even work better than iOS now. Oh and you can finally take screenshots easily. Thank god for 2011!

Still Weird : two email programs and other stuff…

Android still has a few quirks and peculiar UI decisions (and to be fair, so does iOS). I’ve never understood for example why by default you have 2 email programs. One for gmail, one for everything else. I assume most people are like me and would prefer to get all their emails in one spot. Splitting the two does allow Google to have a specialized UI for Gmail so I guess it’s not all bad. Again though, that seems like a weird decision.

There’s a few other things I’m not in love with. The concept of a system-wide back button is great in theory and something that Android has been doing since day 1. This is different from iOS where each app is responsible for displaying and implementing a “back” button when needed. Having it be system-wide could be great, but it’s often unpredictable. For tech-savvy users and geeks it probably won’t ever be a problem and in fact is great but I suspect many people might get confused since you never know where it’ll take you. It could take you back to the previous screen or to a different app. Sometime it does bring you back to the last screen you were on but certain apps will “go back” in their own hierarchy wether you were there or not. It’s the inconsistency that makes this otherwise great idea a poorly executed one.

If you dive into the settings, you’ll see some geek stuff that shouldn’t be there. A list of installed apps will show you gems like “com.android.sharedstoragebackup”, a system service that really shouldn’t be displayed anywhere and much less in that form. Java packages and namespaces are nice if you’re a developer, but users don’t need to see this.

Great in the U.S., not so much elsewhere

Living in Canada is great, but it’s sometime painful since we’re really close to the US and yet have drastically less options when it comes to online services and Google’s services are no different. This is one area where Apple has been pretty good lately. iTunes Match just launched in Canada, just a few weeks after the US launch. When you get the phone, Google will attempt to setup your Google Music account, but unless you’re in the US, you’re out of luck. Launching the music player will at least instruct you to copy your files through USB, but that’s fairly complicated for many non-technical users, especially if you’re using a media management software like iTunes or Windows Media Player. With a Google Music account, your music is synched automatically and it presumably just works. DRMed songs from either Microsoft or Google won’t work obviously. While that’s not Google’s fault, it’s a real-world issue for for some, including me. In my case, iTunes Match does fix the issue since I can always just redownload non-DRMed songs from iTunes, but not everyone will have that option.

There are other places in the OS where you can see Google mostly focused on the US market. Opening the ‘market’ app where you can download and buy apps is one such example. On two occasions one of the featured item was unavailable to in my country despite there being a big banner when opening the store. Not exactly great.

On the other hand, the video store seemed to be good selection here in Canada. I only saw english stuff, but while Apple does have some french-language stuff, it’s hardly great there either. Prices for video rental was similar to iTunes both unlike iTunes, renting it there gave me no options of seeing it on another device like my computer or my TV. Maybe if I had a Google TV? It’s possible there might be some integration there.

Apps, apps and more apps

Let’s go back to apps. The phone by default ships with Google apps that are mostly well done. The Google + app, much like its iOS counterpart is not exactly great, but hey, at least it’s there. Biggest issue on Android, at least from my perspective as an iOS developer is the quality of 3rd party apps. The UI is really inconsistent and generally quite poor and the reason for that may well be the fact that there’s many, many android phones with more coming out every months and all of them have different screens, resolutions, memory, CPU, etc. As such, apps can be buggy on certain devices and not on others.

In my limited testing over the last week, I haven’t been too impressed with 3rd party apps. Path for example, is much better on iOS. So is 1Password. The Android marketplace is also well known as a place where users mostly don’t buy apps. That has lead to a bunch of “free-mium” apps such as Angry Birds that’s free but then displays a very annoying ad during gameplay. I may not represent the majority here, but I much prefer paying my 2$ and not have not see ads.

Not quite great.

In some categories there are also a lot less choice. Public transport apps are well represented on iOS, even for my own hometown of Montreal but the only Android app I found is downright terrible. Your mileage may vary, but it seems like iOS still has the upper hand here.

There’s a few missing gems also. Instapaper is nowhere to be seen and that app is so good on iOS, it’s really sad that it isn’t available on Android. Same for Flipboard. the official Twitter app is available, but performance is really subpar compared to the iOS version. Like it or not, Android is still a second priority when developing apps and it shows in a few unfortunate cases. It is getting a lot better though.

The other difference with the marketplace on Android compared to iOS is that an iPhone user without a credit card can buy prepaid iTunes cards everywhere and buy apps this way. That’s not the case with Android so far so you need a credit card to buy anything.

Stuff an Apple fan might miss

There’s a few things I’m missing on Android as an iOS user. While taking screenshots for this review, I realized I couldn’t just have the images show up instantly using Photostream. I also couldn’t stream any video (or any screens at all for that matter) to my Apple TV using 2 clicks. The TV shows I’ve bought on iTunes can’t be streamed magically using iTunes Match either. Funny how many of these features are very recent but they’ve made a big impact for me.

To sum it up

The #1 question I was asked over the last week is wether or not I’d recommend that phone. First, realize there’s two part to this question. Do I recommend this phone? And then, what do I think of Android 4.0? After all, there will be many other Android 4.0 phones soon.

My answer is that I can easily recommend this phone (or another phone running 4.0 when those are available), but there’s a gotcha here and an important one at that. This is by far the best Android phone available. Forget the Galaxy II S and the rests. If you’re going to buy an Android device, make it a pure Google one and this is the one to get.

Before you do however, the first thing you should ask yourself is what does the rest of your gadget life looks like. If you’re running Macs and you own an Apple TV and an iPad, this isn’t for you. It’s a lot easier to stick with one “ecosystem” and exploit it as much as possible. If on the other hand you already use a lot of Google services, you’ll love ICS. If you run on Windows, connect to exchange and live in the Microsoft ecosystem, maybe a Windows Phone 7 phone would be better for you (Win Phone 7 is excellent).

Android is often touted as being “open”. I strongly disagree with that. While part of the OS is indeed Open Source and you can by default do more on Android than you can on iOS (if you don’t jailbreak), that system is hardly open and this is not the reason to buy an Android device. ICS is a very good OS, but not because it’s open. Go into it because you love Google and you use their services a lot.

While I’m enjoying my Galaxy Nexus and it is a very good phone, the size issue is a big deal for me but above it all, everything else I run is running on Apple hardware and Apple services so it makes no sense to run one device on Android. For me, it’s back to the iPhone as my primary phone, but that doesn’t mean I won’t have a blast using the Nexus as a secondary device all year. I also plan on developing for the platform.

Oh, and I can’t wait for next year’s Nexus device and Android 5. Like iOS 6, it should be a lot of fun.

IP Address Bash Script for OS X

As a developer, I often need to get my external IP address and while there are numerous widgets, websites and apps for this, I wanted a nice, quick bash script to do it. I’ve adapted the script from a few internet sources (including a message on Ars Technica) and modified & enhanced it for my own uses. Put this in your .profile and you’ll then be able to type “ip” to get all the internal/external IP addresses. The external IP will then get copied to your paste board.

You can download the script here in text format.

function ip() {
local ETHERNET=`ipconfig getifaddr en0 2> /dev/null`
local WIFI=`ipconfig getifaddr en1 2> /dev/null`
local EXT=`curl -s http://checkip.dyndns.org/ | grep -o '[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9]*'`
if [ "$ETHERNET" != "" ]; then
echo -n -e "Ethernet:\t "
echo -e $ETHERNET
fi
if [ "$WIFI" != "" ]; then
echo -n -e "WiFi:\t\t "
echo -e $WIFI
fi
echo -n -e "External:\t "
echo -e $EXT
echo -e $EXT | pbcopy
echo ""

}