I’ve had the G1 for about two weeks now, and have been coding for it
pretty much since the day I got it, and I have to say I love it, and
regret only one thing: buying the Bronze one. So, lets start with that,
and the other shortcomings, before moving on to the coolness. You’ve got
three choices for the G1 Black, Bronze, and White. I’m always partial to
earth tones, and I think the white one looks like a cheap plastic toy,
so Bronze it was. I really should have fiddled with one first. The black
and the white are pretty much what you’d expect, the bronze though, they
tried to go a little fancy on the keyboard. Instead of making it the
same color as the body, like the other two, they made it silver, which
does look good, BUT the letters, are a dark-ish grey on a silver
background. Now, once you start typing the actual letters are backlit,
except, you can only notice that if you’re not in a room with light.
Like say, your house, or your office, or outside during the day… You
get the picture. What’s worse is the alternate characters (slashes,
semicolons, etc). These are in a nice rust color, that is totally
invisible unless you’re in a strong light. So, don’t buy the Bronze…
As for the UI, it’s pretty much what you’d expect from the ads. Nice,
but a little “ten years ago” feeling, and interactions aren’t as
polished as they feel on the iPhone. Once you’re actually *in* an app
it’s as slick as the developer felt like making it. Some of them are
*very* slick. ShopSavvy is a good example of a really nicely done UI.
Some of them are crap. But, I suspect it’s the same on the iPhone. The
only non-obvious thing about the UI is that, unlike the iPhone it
doesn’t swap from landscape to portrait mode, and back, as you turn the
device. The G1 *knows* that it’s on it’s side, it just doesn’t bother
to do anything with that information. Now, some creative geeks have
figured out how to implement it but it’s not there for general
consumption yet. Currently, it goes into landscape mode when you slide
open the keyboard, and back to portrait when you close it. A couple
apps, like the browser, allow you to set them permanently into landscape
mode even if the keyboard is closed. But honestly, it feels like the
kludge it is. You get used to this limitation pretty quickly, but it’s
still leaves you feeling a little annoyed that it can’t switch itself.
The construction is suprisingly nice. One of my requirements for any
phone is that I be able to shove it in my back pocket and sit down. Yes,
I am exceedingly careful about making sure the glass is pointed inwards.
But, I would never feel comfortable doing that with one of those first
gen iPod nanos for example. Those always felt like I’d snap them. And,
even if that’s just perception, it’s an important one. You don’t want to
feel like your phone is a piece of glass that needs to be wrapped and
coddled. It needs to feel like a tool you can pull out, set down, sit
on, and generally use without worry. The G1 totally succeeds on this
front. The camera is… annoying. Don’t even attempt to take a picture
of a non-sleeping cat with this. Click, wait, wait, wait, wait, get
coffee, wait, go pee, wait, *snap*. Oh look, you got the blurry tip of
the tail as it walked slowly out of the frame. It’s nice that during
that time it’s doing some physical moving of the lens to auto-focus on
whatever you’re pointing at, but still. Also the button. The button is
awkwardly placed when the keyboard is closed, and downright difficult
when the keyboard is open. The lens is right under your left hand as you
hold it. You will, sooner or later, sit there wondering why the screen
is dark when you open the camera. It’s because your finger is over the
lens. And last, but not least, is the plug. I hate that plug. So, it’s
powered by a mini-usb, which is convenient. Charging, and mounting as a
USB device all in one. BUT, that’s the only “orifice” on the device.
Like most of the smart phones it’s got crap battery life (about 24
hours), so I frequently find myself wanting to charge it AND listen to
music, but I can’t. I can do one or the other but not both, unless I
want to listen on the little speakers, which no-one does. The
headphones, you see, plug in to a dongle on a cord, which plugs in to
the mini-usb port. Now, it’s a good idea, because the dongle has the
microphone on it, which means you can use any headphones with it, and
still be able to hear, and speak with people on the phone. The problem
is, that the microphone, is on the dongle near the device and not up
high on the headphone cord near your head. If you want to talk to
someone you’ll have to clip the mic up by your face. By default, if I
stick the phone in my back pocket, and use the headphones that come with
it, the microphone is right at crotch level. And, while you *can* use
any headphones with it, you won’t want to because they’re the length you
need them to be, but the cable / dongle thing that comes out of the
phone is almost 3 feet long, which means your “nice and long” headphone
cords are now about one mile too long. And, if that wasn’t bad enough.
You simply can’t use the keyboard in the standard thumb-keyboard
position while it’s plugged in (or has headphones attached). The plug
prevents your right hand from gripping it. However, I find that If, I
hold it so that my hands are coming down from above, instead of holding
it from the edge like you’d hold out a plate, and let the cord go
between my second and third fingers, it works fine. This is, of course,
totally bullshit. The headphones that come with it are ok. Decent mids
and highs, crap bass, and quite possibly the most tangley earbud
headphones I’ve ever owned. Also, they keep wanting to fall out of my
ears. I’ve never had a real problem with earbud headphones, but these
just don’t work well with my ears when I’m walking. The built in apps
all work really well. I have some weird issue with the browser where,
after a search I occasionally find myself on a Google page with no
search field and no results. Also, there’s sometimes a bit of a pause,
which is especially noticeable when pulling down the menu-bar. If you’re
not aware, many apps will give you notifications that show up in the
menu-bar across the top. You pull this down with your finger to get the
details, and/or to switch directly to one of the apps that left you a
notification. It’s a nice feature once you get used to a menu-bar being
something you can interact with, but frequently I’ll pull it down and
have to wait 2 seconds for it to give me any indication it recognized my
action. So far, you’re probably wondering how I could posssibly love
this phone. And if the annoying bits, which every device has some of,
was all there was to it, I wouldn’t be so thrilled. I mean, overall,
using it is a lot like using the iPhone only not *quite* so polished.
Which is pretty much what I expected going in to it. Actually, going in
to it I thought it would be less polished than it is. Then I got to play
with a friend’s, and realized that once you get past the lack of sexy
makeup on its interface, it’s actually quite nice. And that, brings me
to this mornings realization, which is what made be get off my butt and
write this review. There is something incredibly powerful about
*touching* your e-mail. *Touching* your photos. Email stops being
“those messages on the computer” and becomes *my* e-mail. It’s
*mine*. It’s right here. I can touch it. I can stick it in my pocket
and take it with me. It doesn’t live in a box that’s so unquestionably
separate from me. Now, I had a Sidekick before this, so I had my email
in my pocket, but I didn’t care. It was nice to have access to it
wherever I was, but I never had this visceral feeling of *mine*. Also,
i never *wanted* to read e-mail on it. I just did when I had to, or
was very bored and stuck on the subway. On Android, and I suspect the
iPhone. You *want* to touch *your* stuff. You want to slide things
around. The kinesthetic interactions that we’ve been largely ignoring in
computing for years have incredibly powerfully subconscious
ramifications. Speaking of my photos, once you take some, or download
some, or get some onto it in any other way, they’re very well
integrated. Take a pic of someone, go to set it as their icon, which
shows up on the screen when they call you, and Android will pre-select
all the faces in the image for you. Then give you nice cropping tools if
you want to tweak its selections, or use some other part of the image.
Everything shoves images in the same place so everything that consumes
images knows just where to look. The interaction between apps is really
nice. Really, really nice. It’s trivial for one app to hand tasks off to
some other one. A simplistic example is the camera app. It *just*
takes pictures. If you want to look at pictures it seamlessly hands you
off to the Pictures app, without you even realizing you’ve moved to a
different app. And, dealing with pics, for example, is so nice that I
want to go around taking pics of everyone I know, not so that I’ll have
their pics, although that would be nice, but so that I can see their
face when they call AND so that I can go through the fun little process
of taking the pic, choosing a contact to add it to, and cropping it to
just their face. It seamlessly takes me through three apps and is kinda
fun. And that brings me to developing for Android. Developing for
android is *awesome*. There are tons of open source examples to get
you started, including the code to all the built in apps. Want to know
how the mail app does something, go look. I’ve learend so much reading
the code of the example apps, and the built in ones. The APIs seem, so
far, very sensible. Unlike the iPhone it’s multithreaded, so your app
can be happily doing some background tasks while the user is fiddling
with something in the foreground. The emulator is really nice, and best
of all, you do not need anyone’s permission to put whatever app you want
on your phone. And I assure you, it’s freaking awesome to have *your*
app running on *your* phone. Especially when you had so much fun
making it. Working on Android apps has been a total shot of adrenaline
to my coding brain. I can’t wait to get home and work on my apps some
more. It’s fun. And, I know that when I’m done other people will be
tapping and pushing on my icons in my apps. And if I’m really good, I’ll
be able to look at someone with an Android phone and say “You’ve
probably got some of my stuff on there right now.” and that would just
rock. Unlike iPhone. It doesn’t matter if Google doesn’t like your app,
or it competes with some app they wrote. You don’t need your app to be
in the built-in marketplace in order for someone to download and install
it, although it’d be nice. You can stick it on a web site with a
download link just like any other file. You could probably even e-mail
it to someone. Yes, the user has to manually click it, approve the
access it’s requestiong (contacts, internet, etc) and install it, as
they should. If you weren’t aware, every developer writing an iPhone app
runs the risk that after pouring months of development into their baby,
Apple with say refuse to put it on their marketplace, and they’ll be
left with nothing. With android you can either pay $25 for the ability
to upload apps to the marketplace, or your can say screw it, and
distribute it through whatever method you prefer. The killer development
environment, in a language that millions of developers know, and use in
their day-to-day work (as opposed to some obscure C variant that
essentially only gets used on Apple products), combined with an
unrestricted marketplace, means there is absolutely no question that we
can expect to see some truly extraordinary apps coming out for Android.
In the end it’s a great product, but, from an end user perspective, it
does still feel a little version 1.0. From a developers perspective,
there’s no question. You *want* to be developing for Android.