So I've been using the Google Android phone for about six months now, and it's about time I reflected on how it's gone. Here's a bit of a rambling review.
The G1 hardware is pretty limited. There's not enough RAM, and the default Android way of storing apps on the phone rather than on the removable flash storage means you run out of space pretty quickly. The latter is fixed by using a custom image like Cyanogen, which is awesome.
The buttons on the phone are kinda dumb. There's green and red buttons for call management, just like most phones. Then there's a home and a "back" button, which are kinda superfluous as they could easily be replaced by some sort of touch gesture. The "Menu" is kind of a universal interupt button, and I suppose might be useful. And the trackball is completely useless yet seems to be mandatory for all designs. I never use it. On the sides are the camera and volume buttons, which I suppose are handy.
The buttons that would be really useful are missing. I'd love a pause/play button for when I'm using the thing to play music.
The G1 has a built-in keyboard. This is great, but has been dropped on later releases. Given a decent touchscreen interface, I think I could live without it. Not convinced that the on-screen keyboard is good enough, but it will make the device smaller, lighter and sexier. Though the keyboard rocks for answering emails or using ssh.
Multitasking, the key difference between Android and the iPhone, is a double edged sword. It means you can run cool third-party apps that need to run all the time, like apps that show your calendar and weather forecast on the home screen. It also means that crap stays running all the time, meaning performance can be glacial if you've got something hogging the CPU in the background, and memory fills up very quickly.
Some allowance for the slowdown of background apps could be incorporated into the OS. It'd be nice to have apps not slow down core phone functions. I'd even be willing to completely pause background apps while something important is going on, like an incoming phone call. I kid you not, I've missed incoming calls because the phone's CPU has been busy on some other crap. Many is the time I've given up taking a photo because after pressing the camera button, whatever I wanted to snap has long finished before the camera app is up and ready to take a photo.
Android takes the same "automatic" approach to memory management as Symbian: if it runs out of memory, it kills something random that's running in the background to make some space. Apps tend to run in the background unless you explicitly exit, or use a power user tool to kill the process. That means while you might have something cool running in the background, it could randomly and without notice be killed at any time because you opened something else that wants more memory. The usual excuse for this kind of thing is you don't want to make users of consumer devices think about things like memory. Try telling that to some angry consumer whose fancy alarm clock app got killed to make space for another app meaning the user overslept and was late for work! How much sense does it make to kill the music player when I'm listening to music just to make space for something else? I'd much rather have to explicitly manage the memory and be asked what should get killed.
None of this is helped by the miserly allowance of RAM on the G1, 192MB. The Nexus One's 512MB should make this much more useful, though it's going to make running a G1 or any of the first generation Android phones somewhat suckier, given developers will now be targetting the new, faster, roomier Nexus One.
I think many of the problems with multitasking could be solved by introducing some OS-level event-driven triggers. What I'm thinking is instead of apps having to hang around in memory and periodically using the CPU, they could register with an OS service that they want to be woken on specific events: an SMS is received, the phone's power source changes, it's a specific time, the phone's location gets within x metres of a coordinate. That way you wouldn't need, for example, to keep your alarm clock app in memory all the time, wasting RAM and CPU cycles. The app would register the events its interested in, then explicitly exit.
No idea how practical this idea would be once implemented, and whether the overhead of loading up the app to handle the event would kill performance, but I think something different to the always-running-but-could-be-killed-any-time approach needs to be looked into.
If you've taken a good slug of the GoogleJuice Kool Aid and moved your whole life into the cloud, Android is a really easy integration. I've got my email, calendar and instant messaging all in my Google Apps cloud, and have done for a while now. Starting with Android was as simple as logging in and waiting for it to all sync up. Brilliant. Everything Just Works™.
The apps are good too. Email is just like you'd expect, all your contacts are right there where you expect. A live calendar is life-changing, especially if you sync your work calendars into the cloud too.
One area that could do with some improvement is the way the GTalk app works. When I'm sitting at my desk and someone opens a chat session with me, I get three notifications that this has happened: inside my current browser Gmail session, the desktop GTalk app, and on my phone. Surely the server can work out which one I use to handle the session and close the others for me? Instead I have to go in and close those sessions myself, which is kinda clunky.
It'd also be nice if the instant messaging apps were a bit smarter. Let's say I want to contact someone, and the contact record shows the person has GTalk and a mobile phone. Surely I shouldn't have to work out which one to use, it can instead use the user's presence to work it out. If the remote user is on an Android phone, it could be really clever about it and switch to SMS if that user isn't online. All these contacts should show up in the same interface, regardless of underlying mechanism.

By far the finest app so far is SlideScreen, which replaces the default home screen. At the top are your "private" communications: phone calls, SMS, email, calendar. Below are your "public" comms: Google Reader, Twitter. In the middle you get some status info: date, time, network connection, current weather. You can slide the middle part up and down to give more space to one area at the expense of the other. You "throw" an item to the right to mark it as read and get rid of it.
It's a beautifully-designed app, and nearly completely suits my way of working. Unfortunately it's just too heavy for the poor little G1. It takes up pretty much the whole of the RAM, so if you run another app it gets killed, and you can't really run it and another app. Should be great on the Nexus One though!

Ever since I lived in London, I've read the Guardian as my newspaper and news source of choice. I subscribed to the Guardian Weekly until recently. Part of the reason I stopped subscribing is this app, which downloads the whole paper overnight and presents it in an awesome UI that doesn't require network access. If you're writing a newspaper app, you should copy the design of this app.
The Android OS is excellent and improving all the time. Its openness means you can swap out much of the bits you don't like, which contasts well with Apple and Nokia's smartphone efforts, where you're stuck doing things the way the vendor tells you.
The app marketplace started off pretty poor, with lots of not very good apps, but is improving fast. People point out the high quality of the iPhone apps, but it's worth also pointing out that a popular app there can easily pay for multiple full-time developers. Android isn't there yet, but the marketplace is expanding incredibly fast. Some stand out apps are appearing (like SlideScreen) and you can expect more with the hundreds of Android handsets that will be available by the end of this year.
I'm looking forward to upgrading to the Nexus One, especially since I dropped the G1 and now have a lovely big crack across the LCD. Just have to keep working on the boss to release the funding. It'd be really good if a version appeared that handles the 850MHz UMTS band, since I'll probably be scoring a work SIM soon and Telstra's network uses this slightly-unusual frequency range.
07 Feb 2010 23:55 [category: /geek] #
I've got a bit of a dilemma. I want to give some money for disaster relief in Haiti following the terrible earthquake. Problem is, none of the relief organisations active in Haiti meet my criteria for donations.
My criteria are:
Oxfam uses chuggers and failed on the second item after my donation from the Indian Ocean Tsunami appeal. They also ignored my complaint about same.
Medecins Sans Frontieres, Red Cross also use chuggers.
Water Aid, much to my dismay as I respect the charity enormously, use chuggers.
Some will defend charities using these techniques, because the cause is too important. That doesn't wash with me because I expect a code of ethics to be applied across the organisation. I once had an argument with a telemarketer who called to solicit donations for Police Citizens Youth Clubs, along the lines of the government Do Not Call list excludes charities, as if that somehow excuses ignoring my expressly-stated preference.
Chuggers really got me annoyed when I worked on New Oxford Street in London and every time I set foot on Tottenham Court Road I'd be accosted by some slimebag raising money for him or herself in the guise of charity.
So can anyone suggest a charity worthy of my cash?
14 Jan 2010 01:06 [category: /politix] #
I'm getting rid of my landline. And no, not just to avoid the Telstra tax, but because the people who call land lines have no social graces. The only people who call landlines are old people and telemarketers.
Telemarketers are scum and I don't want to talk with them, especially since our number is on the Do Not Call list and they're willing to ignore that (yes I know you're a charity, but that doesn't give you an excuse for rudeness).
Old people have no understanding of the social graces modern technology allows. They think the primary advantage of a mobile phone is that the caller can contact the callee anywhere, anytime. The real advantage of mobiles is the ability to switch it off and divert to voicemail, to deal with later. My Mum answers the phone during dinner, during her favourite (untimeshifted) TV shows, any time it rings. Hell, she's polite to telemarketing scum.
Old people don't get this. Yesterday I had one trying to call me while I'm at work. I rejected the call and diverted to voicemail. He hangs up without calling leaving a message. He calls the home phone, where Holly and Louis get woken up, massively improving everyone's mood. It goes to the answering machine. The caller doesn't leave a message. And redials the home phone. Then calls my mobile again.
Now granted, in a genuine emergency this might be reasonable, but if I pick up the phone in these circumstances and there's no emergency, don't get all offended when I tell you to stop being so rude and hang up.
But the oldies don't get it. They're PAYING to talk to you, so you should answer. They come from a time before texts, voicemail, answering machines. Hell my Mum's first home phone was a "party line" shared with half the street so they didn't even have privacy.
So I'm gonna reduce the options. I've had no luck getting the message through that serial dialling isn't on, so I'm dropping the home phone. I'll use voip for cheaper outbound calls. And no, if you're over 50 you don't get to have my work landline number either.
07 Jan 2010 00:43 [category: /grumble] #
Ten years ago I wrote this blog about how the music industry doesn't get it. It's interesting that also today Apple bought the subscription music site lala.
Subscription is definitely where it's all heading. It should be a record exec's wet dream: getting the price of one album from every household every month would be streets ahead of what they get now. I'd sign up if someone offered such a server, with enough breadth of catalogue, in Australia!
07 Dec 2009 20:54 [category: /music] #
So I'm a bit late, but I wanted to grab the latest Decoder Ring album. Logically, I started at their site, which certainly talks about the album. With no link to somewhere it can be purchased.
Next step Wikipedia to find out their label is "Inertia Music". Google that and find their site, search for Decoder Ring. Bingo, there's the album. Click to buy it and go through the registration rigmarole (here's a free tip: move the registration bit to after the credit card entry part and you'll convert more people). Get a download link and the problems begin.
zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/01_DECODER_RING-SAME_OLD_PARADISE.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/02_DECODER_RING-THE_HORSE_AND_THE_HAND_GRENADE.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/03_DECODER_RING-ALL_THE_STREAMS_HAVE_LITTLE_GL.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/04_DECODER_RING-THE_INLAND_SEA.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/01_DECODER_RING-SAME_OLD_PARADISE.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/02_DECODER_RING-THE_HORSE_AND_THE_HAND_GRENADE.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/03_DECODER_RING-ALL_THE_STREAMS_HAVE_LITTLE_GL.mp3 zip warning: name not matched: /home/inertia/public_html/downloader/jquri3df12cgbr8e24496f84v6/04_DECODER_RING-THE_INLAND_SEA.mp3 Moved Temporarily The requested URL http://www.inertia-music.com/account/downloads/pkg/mydownloads.zip has moved here. Apache/2.2.3 (Red Hat) Server at www.inertia-music.com Port 443
Download the linked zip file, helpfully named mydownloads.zip which is a real aide memoire when it turns up on my desktop.
Unzip the included file and I get 9 tracks. Checking back on the site, there's actually 17 tracks on the album. Whoops. Looks like I've got only just over half what I paid for. Nice.
It gets better. The tracks are all dumped in the same folder and are all named IN UPPERCASE, helpfully truncated at 47 characters so track two becomes 02_DECODER_RING-THEY_BLIND_THE_STARS_AND_THE_W.mp3 Filename: 02_DECODER_RING-THEY_BLIND_THE_STARS_AND_THE_W.mp3. Brilliant, but I assume there's metadata inside the file that gives me the full name, right?
id3tool 02_DECODER_RING-THEY_BLIND_THE_STARS_AND_THE_W.mp3 Filename: 02_DECODER_RING-THEY_BLIND_THE_STARS_AND_THE_W.mp3 No ID3 Tag
That is just shockingly poor form. This means I have to manually go and find out the track names and enter them myself. The competition, torrent sites and the like, provides this kind of thing for free! So when I go and spend my hard earned on the legal alternative that gives some money to the musicians, my expectations are that I get at least as much as I would get for free!
PS: I'd prefer lossless audio like FLAC, if you want my real preference.
Keep up to date by subscribing.
| February 2010 | ||||||
|---|---|---|---|---|---|---|
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | ||||||
What I've been listening to, from last.fm.

Interesting things I've read recently