Evo: Initial Thoughts

I’ve spent about a week living with the HTC EVO 4G, so I figured I’d write down my initial impressions. First of all, on the whole, I’m pretty happy with the phone although there are some rough edges. The physical device is pretty solid and it’s quite capable. It’s definitely good enough (and in some cases, best of class) for day to day use. I’m also having a lot of fun poking around with it, although in some cases I find that I’m able to push things too far.

Second, before proceeding, I’ll also mention that the iPhone 4 looks great. The industrial design and overall capabilities are impressive and I believe that overall, it edges out the EVO. While I’m less enamored w/ iOS these days, iOS 4 both adds some much needed capabilities (fast task switching, backgrounding for specific services) and maintains a huge lead over the competition in terms of polish and “just workingness.” That being said, I’ve been digging Android a lot more these days. It’s amazing how far it’s come in a year. It’s definitely crossed the “actually usable” bar and it’s strengths are really coming into play. Most notably: a great security model and APIs with full access to the system allowing developers to create a much larger variety of interesting and unique apps, and its web-native paradigm (syncing to the cloud instead of the being forced to plug into a USB port and a desktop application).

Now, onto some observations. First a look at the hardware/form factor:

  • The phone feels super solid. It’s got a good heft to it, but spread over a larger area, it’s not too bad.
  • The size of the device is, of course, big, but because it’s relatively thin, it feels pretty good in my hands, so no real complaints there.
  • There’s only 2 physical buttons: a power button on the top, and volume rocker. Both have good actuation and and very little play. I’ve noticed that when turning on the device initially, the power button is a bit fussy, but for waking up, it’s fine (well, the location could be a bit better, finger feel-wise, I have to hunt a bit even after a week). Because the buttons don’t give, I am running an app called No Lock that both gets rid of the lock screen and allows me to use the volume buttons to wake the phone.
  • There’s a charging LED on the left side of the top speaker, but it doesn’t seem to be used for notifications (?). Rather, an LED lights up the bottom row of capacitive screens, which is pretty neat.
  • The camera is pretty good in decent lighting. I may be convinced to carry around a macro lens
  • The capacitive button row on the are sometimes overly sensitive – I seem to accidentally trigger something fairly often. I don’t know if this is related to my specific phone
  • While the build quality overall feels good (no creaks, etc), I’ve noticed (as have some others) that there’s some backlight bleed at the bottom – which in my unit is actually accompanied by some flex on the bottom corners of my unit. They’re actually very slightly elevated (not flush) with the edge and seem like they’re “popping out”, for lack of a better described. I may be annoyed enough to check if this is normal and if not, exchange it soon.
  • Update: an additional caveat is that apparently, like the Incredible, the EVO touchscreen is improperly grounded. This means if you are only touching the screen (say putting it on a table or dock w/o a USB cable), it doesn’t respond to input. (I just tested it and it appears to be the case. Boo-urns.)

Some standout points:

  • Battery life is so-so. About 10-12 hours with regular usage (shorter when using lots of GMaps nav, but not as bad as Sprint Navigation on the Palm, which just chewed through battery). Idle drain is about 4-6%/hr. I think it can be better (others have reported much better life), so I’m currently monitoring with JuicePlotter and SystemPanel although what I’d really like is to be able to export stats (linked w/ say the detailed battery/app use stats built into Android). I have JuiceDefender and Tasker installed, but have yet to set those up. So far, I’ve been able to be near a plug, but when I’m traveling/out and about, I tend to need 15-16hrs on a charge. There are some replacement batteries that claim 1750/1800 mAh, but those claims may be suspect. Instead, I picked up 2 generic batteries + charger for $11.49 shipped (from HK). Hopefully they aren’t too weak (still, that’s just an insane price).
  • Google Maps is really good. Beyond the features, traffic and transit overlays, transit, biking, and walking routing, and of course navigation, It all navigates super smoothly, with lots of great touches (the 3D angle changes as you zoom in and out, for example). Constantly impressed using this (which I’ve been using in LA pretty much every day this week for real time traffic). If you use maps a lot, this is the gold standard.
  • The voice keyboard is surprisingly useful in LA.
  • Because the Android API/security model is more flexible, there are much more interesting apps. From things like call and SMS schedulers/bouncers, call graphs and analysis tools, to apps that replace default functionality, there’s just a lot of really cool stuff that integrates into the phone much more organically. Even with regular apps, thanks to intents, they extend the system functionality much more organically. I’m very impressed. Of course, w/ 2.1, app space is still limited. The EVO only has 400MB of space, and it seems to start freaking out if you start getting down to the low memory warning (40MB)

OK, and now onto general experience, etc:

  • Initial setup (well, after getting the phone, after getting through Sprint’s overloaded activation system) was completely painless. My Palm Pre and Apple address book were already synced to Google’s address book, which populated on setup. Facebook, Twitter, and (an HTC addition) Flickr logins were similarly trouble free. One other note: my Sprint rep did the initial activation without taking off the factory plastic. I totally approve – the customer should get the privilege of laying first fingerprints (or screen protector) on.
  • ZOMG there’s a metric crapload of bloatware on the phone (Sprint “Zones” and lots of other Sprint apps are set to load on boot). I’d also put most of the HTC Sense widgets/components in this category, although I will make an exception for their Flickr sharing add-on. It’s seriously slick. That being said, it doesn’t keep me from looking forward to installing a clean 2.2 ROM ASAP.
  • It also pushed me to get a task killer. After trying out a half dozen of them, I ended up with TaskPanel. It has a fairly clean design, lets you set up an ignore and auto-kill list and has a “kill all” widget, and can be set to auto-kill on phone sleep. I also installed Startup Manager and have been removing things as I’ve been bored (it’s slow and there may be something better, but it seems to work. The latter requires root to work.
  • Rooting the phone was just about the first thing I did when I got it. It’s a somewhat involved process, although relatively straightforward (alternatively, there’s a dead simple way for running root apps, but it doesn’t let you boot into recovery).
  • Root also allows wireless tethering (use the latest build). This works perfectly for me on my Mac (it currently only provides sharing in ad-hoc mode, which is problematic for some devices/computers), but is also being actively made better. For example, infrastructure mode should be coming soon.
  • Overall, the phone is pretty responsive, although much less smooth than the iPhone (apparently the EVO is worse in this regard). The default zoom animation also much too slow.
  • The overall combination of using long-presses as a convention for menus and apps often makes functionality hidden and requires hunting, but once you get used to it, it becomes just a very low-level annoyance.
  • The notification windowshade seems easier to drag, although I do admit to being a bit spoiled by being able to bring down options from the top right. Most of that functionality is replaced by the default Power Bar widget. The global notification focus stealing problems I had w/ 1.5 seem to have been fixed (at least I haven’t noticed problems while typing emails, etc. yet), but the test case I use (searching for an app while in the Market and waiting for a previously downloading app to finish installing) does still trigger this problem (causes the search box you’re typing in and everything you’ve typed to disappear). This may be localized to a single app, or single app notifications, but definitely happens.
  • I dig the multiple desktops (and the expose-style viewing), although having to long-press the Home key to switch to recently used apps is much less satisfying than Palm’s cards (I would rather have an expose-style view for running apps).
  • I replaced the Sense Launcher almost immediately, first with ADW.Launcher, and then with LauncherPro – both of these are much cleaner than the Sense Launcher. ADW has better (page-based) dock, and LauncherPro lets you have 5 rows on the desktop. They also both let you easily uninstall apps from desktop (hold icon over the trash can for a second), which is awesome. The dock is still fairly ridiculous, as it’s alphabetical, making it much more difficult than it needs to be to find apps you’ve just installed. What I’d really like is a way to re-order icons by recency or to have a recent bar or something. At least it remembers your scroll position now.
  • While I’m on the complaining about Sense train, the call answering screen is also strangely unresponsive. While I have missed any calls, it is very disconcerting, as it doesn’t update immediately when you’ve pressed “Answer Call” so you can’t see if it’s detected your pickup or not. Not very happy with that.
  • Also, being able to do your own customization means that most of the horrible Sense applications can be replaced. The keyboard I’ve replaced with Swype (the only negative being that it doesn’t have a “voice” button – Google’s system-wide voice recognition system really is magical), and there are plenty of other choices. Also, I’m using Handcent as my SMS app – it’s great, and if you follow the link, you’ll see the screenshot for what the quick response popup looks like.
  • There are many options for most categories, I’ve been downloading “all” of the apps in certain categories and then culling. I had a max of about 270 apps installed, which Android just didn’t like. Trying to “manage” the apps from the system settings took forever, I was hitting the aforementioned app storage limits, and both ADW and LauncherPro started going into conniptions and frequently force closing. After some culling, I’m currently at 237 apps, and things seem to be OK. I’ll probably be only retaining one or two apps in each “category,” but worth mentioning that Android is quite happy to let you shoot yourself in the foot.
  • To help manage those apps, I’m using AppBrain, which, while not perfect, at least makes installation a little less painful by allowing you to queue up items. Still, I’m basically just ignoring updates until 2.2 (auto-updating, update all) – it’s just too painful in the 2.1 Market. Also, I’m using Smart Shortcuts instead of folders on my desktop – it’s not as slick as iOS 4’s system of auto-naming, but it gives a fairly easy single interface for organizing apps. I’m not entirely happy with it as again, it sorts alphabetically, so as you add apps you lose positional muscle memory of app locations, and it’s popup animation is about 100% too slow.
  • DoubleTwist is a pretty decent music player (no widget currently), but I’m most impressed by the streaming options. Here’s what my music desktop looks like currently. And of course, it’s so nice to have Shazam again.
  • While I’m mentioning apps, I wanted to also mention twicca – after going through the top Twitter app contenders and spending some time with it, I have to say that (if you use a single account) it’s probably the best Twitter app I’ve used on any mobile platform. I’m very happy with it and also impressed by some of the unique features, like being able to assign actions to hard buttons (I’ve set volume up/down to jump to the top and bottom for me).

OK, in the interest of actually publishing this and getting some real work done today, I’ll stop here. I’m sure that after a couple months of usage, I’ll have some more to say. Hopefully by then, I’ll be on an AOSP 2.2 ROM. I’ll see if I can easily export an App List as well, and will probably create an EVO page to aggregate all this.

In conclusion, if you’re on Sprint and looking to upgrade, the EVO is a no-brainer. It’s far and away the best handset Sprint offers. I’ve been very happy with Sprint the past year, and their pricing, even with the $10 EVO fee remains competitive. That being said, there’s basically almost equivalently spec’d Android phones coming to all of the carriers in the next month or two (although I’m not a fan of Samsung handsets, and on GSM carriers you’re only option may be the Galaxy S). I’m actually a bit sad that Motorola is only on Verizon, as the Droid X actually looks better to me in just about every way, but them are the breaks. And of course, there’s the iPhone 4.

If AT&T works for you (that’s a big caveat in my experience if you’re in SF, NY, and to a lesser degree, LA), the iPhone I think still give you the most complete and seamless experience, and if I were making recommendations (again, with the caveat of the network), I’d continue to recommend the iPhone. On the other hand, if you’re willing to deal with a slightly rougher UX for some unique capabilities (or if you’re on a network that doesn’t have an iPhone), the Android is a perfectly serviceable competitor at this point. Some of the apps aren’t as good, but some of them are better (voice input, maps).

If you’re a geek on the fence, I would say that the choice is much more obvious. Forget jailbreaking. Apple doesn’t want you on their platform, and honestly, Android is a just lot more fun. (Palm does want you on their platform, but unfortunately just isn’t keeping up.) From all the system-twiddly apps and plugins you can get, to really compelling programmable environments like ASE, Tasker, and Locale, to all the customizations that can be done, and the vibrant modding/dev community, Android is a geek wonderland. It’s the equivalent of the hot-rod (with constant free engine upgrades) that is also now a pretty good daily driver.

Lessons from Android: Unintended Consequences (or How to Kneecap Your Developer Community)

An interesting clusterfuck has been brewing within part of the Android Dev Community – how serious of a long-term effect and what ultimate spillover it will have remains to be seen, but I thought it’d be worth gathering some notes about this as it develops. It started yesterday as something, that on the surface, only effected an important, but miniscule percentage of Android users, but that over the course of a day, has blown up into something may actually have potentially long-term consequences on the Android platform as the open mobile platform of choice.

Yesterday, Cyanogen, an Android community developer who maintains the most popular (and arguably best) alternate Android firmware, CyanogenMod, mentioned receiving a cease and desist from Google Legal.
Alternate firmwares (or custom ROMs) are along the lines of the custom WinMo firmwares that enthusiasts have been putting together for years (and in fact, there is at least some community crossover, including some shared forums). I only recently discovered CyanogenMod after complaining to the one Android superfan I know about how slow the Android phone I had was, and it was to me a night and day improvement over the stock firmware – performance went from unusably laggy to downright zippy.

Now, while Google is obviously within their legal rights (the C&D was specifically about redistribution of their closed source components), honestly, I’m rather baffled by this. It just doesn’t make any sense from a practical perspective – these apps are distributed with all the phones that the Cyanogen firmwares can be installed on, and are mostly used by a small set of the platform’s most dedicated enthusiasts (low tens of thousands at most, less than 1% of the Android userbase) – and of course, by a select few hobbyist developers putting in an inordinate amount of time in maintaining the firmwares and supporting those users. Not only is there no upside in attacking this community, but I can’t picture any scenario where there would be a net-positive outcome for Google.

As you can imagine, once word spread about the C&D, a community reaction was inevitable. A petition app was quickly put on the Marketplace (not the worst idea, honestly), and there were a few mentions in the more general tech news, although I haven’t noticed a big splash (say on Techmeme)… yet. That may change soon, I believe, as the fallout is now much bigger than inconveniencing a few “modders.”

Earlier today, Dan Morrill posted an official position statement on the issue. His statement about redistribution of closed source components seemed straightforward enough, but the implications are still unfolding. It turns out that by explicitly outlining the legal boundaries for closed-source components, we learned that not only core parts of the Android experience (like the Google Mobile services and Marketplace app), but also parts of the SDK and other base components are also protected. This news doesn’t just kill custom ROMs, but potentially makes Android as an open source project not viable at all. From Cyanogen’s Twitter stream:

@crazywizdom it’s pretty much like a bare bones linux install without the google bits. no contact sync or anything like that. #

From what they explained to me, you are not even allowed to copy the proprietary applications from your device. #

@gacktoh but you can’t distribute the market app. And it relies on the Google Mobile services anyway. #

I’m trying to get clarification now on what can actually be included. There are things in the SDK that aren’t in AOSP. Very confusing. #

Oh yeah, one last tweet before I violate the don’t-tweet-while-drunk rule. Nandroid is probably illegal. Awesome huh. #

All this woe (that’s counterproductive towards Google’s interest even if weren’t a PR, and now full on developer community nightmare – the custom firmware releases brought steady streams of improvements to tide over the true believers to what has been thus far, a somewhat lacking software product), probably set in motion because some PM got wind of the v1.6 Marketplace app being on the phone and got in a snit, setting the legal wheels in motion. And poof, over the course of a day, a cascade of events leading… who knows where.

Which is not to say that this can’t be fixed. The Google folks (even the legal teams) are smarter and more agile than most – if this is a priority, there are many ways to patch things up, from offering some sort of non-commercial redistribution terms, or having the Android team announce that they’re working with the community to make sure that they’re making it a priority to make sure that custom firmwares can be installed w/o touching the proprietary APKs, or that the AOSP is useful as an end-user installation (both of which jbqueru at least appears to already be moving on).

As it is though, it appears that Google has just shat on it’s biggest enthusiasts, and has given a good cause for those who are supporting Android as an “open” alternative to actively consider how far that openness extends (and realize how ostensibly “open source” Android really is). And of course, it’s a shame that there won’t be any more CyanogenMod builds. Still, this has been pretty fascinating to watch unfold, and should be of interest to anyone managing developer communities or trying to create an “open” platform…

(If you’re interested in following the conversations moving forward directly, the Twitter streams of cyanogen and Android developer jbqueru seem worth following.)

UPDATE: To some degree, this will probably blow over, since over the weekend Cyanogen announced he will continue w/ his work (after developing a new backup procedure to allow backup and re-installation of Google apps and with the inclusion of an alternate marketplace). Still, these are the types of incidents that chip away at social capital and reputation (until suddenly one day, the public no longer gives you the benefit of the doubt and any action taken gets looked upon in the worst possible light) – not to mention the amount of ultimately, pointless (or at least, repeated) man-hours that will be spent engineering a technical workaround to a policy problem.

Thoughts on the Palm Pre, G2, and iPhone 3G

Last week, I ended up with a Google Ion and a Palm Pre. I also loaded up the 3.0GM on the iPhone 3G. With active service on all of these and a whole bunch of devices on hand, I’ll be writing up some of my opinions in depth here. Instead of spamming multiple posts, I’ll just keep adding to this page (people on feed readers may want to check back in a week).

This isn’t necessarily intended as a full review, although if you’re primary question is whether the G2 or Pre are better than the iPhone, the answer is basically no. Android is very interesting from a developer perspective, and the G2 isn’t horrible, but it has many UI shortcomings that would make me sad if I had to carry it around as my daily device. The Pre on the other hand, is something I’d carry around (and in fact I’ll be switching to it as my primary phone), but in most regards for most people it is not better than iPhone 3.0 (OS features, responsiveness, battery life, applications). Which isn’t to say it’s much worse, but that if I were to give a recommendation, all other things being equal, I’d recommend someone go w/ a 3GS over a Pre. Given that statement, why am I switching? Here are my reasons (they may or may not apply to you):

  • In the cities I frequent (SF, LA, NYC), AT&T reception has been getting increasingly worse – a good quarter of my calls drop in SF, especially when I head downtown, and this past LA trip racked up a good 50% call failure rate across West LA, Culver City, Downtown, and Arcadia (this I’m sure is exacerbated when both ends are on iPhones). In comparison, on calls I’ve made this week w/ the G2 (T-Mobile) and Pre (Sprint), I’ve had no dropped calls at the same locations. Also, 3G data just doesn’t work in downtown SF and it seems, anytime there are lots of iPhones in an area. This is a problem that seems to be common enough, but as AT&T seems to not be acknowledging these problems and is unable or unwilling to fix them, and with the introduction of both more desirable and cheaper iPhones, I can only surmise that this will get worse. (somewhat related to that, I’ll also be saving $15/mo on my bill ($360 over 24 months), which is a pleasant bonus.)
  • I’ll be dedicating a post to this soon, but my moral outrage at Apple’s App approval process has been pretty palpable – it literally revulses me when I think too hard about it, and it’s managed to burn off a lot of the good will and regard that I feel for Apple over the past few months (not as much as when I had to admin a labful of OS9 Macs <tic> but…) Calling it evil is I think pretty accurate. This behavior is enabled by the fact that the iPhone is currently the only game in town for mobile developers. I think that everyone (including, in the long term, Apple) would benefit if this weren’t the case.
  • The Pre surpasses the minimum bar of general usability I have and there are some aspects of the Pre that are noticeably superior to the iPhone. I mentioned a couple things in an earlier post like the quick camera and the unified inbox. Others include the way notifications work, which is non-modal and doesn’t steal focus (NOTE to Android PMs [I address this to the PMs because it’s clear there must not be any UI designers with any say whatsoever]) and the thoughtful ways to go into airplane mode (as an option on power-off and in the menu when tapping on the upper right).
  • This is a biggie for me, but if you are also into poking around on your phone, the Pre is the most hacker friendly phone I’ve ever seen (yes, much more-so than open phones like the Android or OpenMoko, as you can easily modify the UI directly (since the apps are in JS) instead of having to recompile GTK/Java-based apps or flash hacked firmwares). With an unencrypted and very clean embedded Linux OS w/ a standard layout and easy root access (bonus style points for the use of the Konami code to enable it), I have a feeling we’ll be seeing lots really interesting stuff coming out of the homebrew scene soon. Even better, the initial Palm response to this hacking has been benign, if not outright friendly. This is the right way to build up developer good will. Here’s my sandbox for poking around on that (and for projects that are outside the scope of the Mojo SDK).

The biggest caveat for those considering the Pre right now is the battery-life. For me, it’ll last for about 8-12 hours under very light usage, which is OK, but the bad part is that unlike my iPhone, the Pre sucks battery life at an alarmingly regular rate while idling. Whereas I can leave my iPhone unplugged overnight and maybe see a 1/4-1/3 drop, doing that w/ the Pre will leave you with a dead phone. The battery is still new, so it might get better with conditioning and I’ve heard that there’s an update that might be released soon to help address the battery issues, but as of right now… it’s an issue.

OK, so with that out of the way, here’s where I start nitpicking through things…

Physical Design

Both the G2 and the Pre are smaller (but thicker) than the iPhone. They both feel a bit lighter than the iPhone (the glass screen on the iPhone gives it a lot of that heft), but all three feel pretty good in the hand (it’s tossup between the G2 which is the least wide and fits better in my hand and the Pre which is overall rounder).

The G2 has only one connector a combination mini-USB/custom HTC adapter on the bottom (no 3.5mm headphone jack; there wasn’t an adapter in my box – I assume the retail versions will have one, but it’s still rather ridiculous) and a volume rocker on the side. On the front, there’s a trackball and 6 buttons (home, menu, back, search, call, and end/power). There are two LEDs on each side of the earpiece speaker near the top – they don’t seem to blink for notifications, just when charging or low on battery.

The lack of a hardware ringer switch is one of my pet peeves. In fact, with the G2, there’s actually no way to go into silent or vibrate mode without pulling it out of your pocket and unlocking the phone and then silencing it, as the volume keys are locked and don’t do anything otherwise. Personally, I consider this a pretty big minus, as the ability to easily go into and confirm that you’re in silent mode without pulling your phone out is something that I use all the time (meetings, movies, anywhere you’re around company and trying to be inconspicuous).

When closed, the Pre’s button layout pretty much matches the iPhone’s. The ringer switch is there of course (with a [too weak] vibrate to confirm), and the power button is on the top-left corner, which is convenient for handling calls (one click to dismiss, two to send to voice mail). My big nitpick for the buttons is that while like the iPhone, the two-step wake process involves a button-click and a gesture, in this case, the center-button doesn’t work, just the power button. Now, this may just be muscle memory (and I can to some degree understand why the center button doesn’t wake, as it protrudes as opposed to the iPhone’s better designed recessed center button), but, and this has happened a fair number of times, the power button is almost inaccessible when the slider is open, making waking/unlocking a complete pain in the ass when it’s open. It can be woken also by use of the slider, but…

The slider is another point where I’m not entirely happy with. Because of the Pre’s shape and surface, I’ve found it almost impossible to open single-handed (and sometimes difficult even with two hands). No one I’ve handed the phone to has had an easy time with it (or typically, even figuring out the sliding w/o prompting). I’ve just slapped on some Ghost Armor on, which actually seems to add just enough grip to make this significantly easier. I assume that the Touchstone back, w/ it’s soft-touch back would also make a big difference in that regard.

One thing that I mentioned earlier that I’m incredibly happy with is the Pre’s TRRS support on its 3.5mm jack – that means all your iPhone headsets will work (including the mic and the remote). I’ve noticed that there are sometimes issues with unpausing with the clicker, but as it seems to work flawlessly with the Pandora app, I’m going to chalk it up to Palm’s Music app, which is to put it charitably, a bit flaky.


While the battery-life of my iPhone was a definite step down from my Blackberry, in general use, both my original and my 3G have proved to be solid performers, generally managing to provide a full day (and more importantly, night’s) worth of charge. Under duress (conferences, etc.), the ubiquity of external batteries/standalone chargers has helped ameliorate those problems and the latest generation of case/battery combos are downright sexy. It’s funny to think that a couple years ago, a non-removable battery was a big deal, but now, it just isn’t…

The Pre seems to have been conceived prior to that point. Yes, the battery is removable. But the flip side of having a battery that doesn’t last through the day… I’m not sure that’s quite the selling point they were hoping for. There’s apparently a 1350mAh third party replacement battery (same form factor), which is a start, but I think there will need to be some software tweaking that focuses on some smart and aggressive power management to really fix this problem. (It’s by far the biggest weakness of the Pre I’ve found so far).

The G2 on the other hand has been a pleasant surprise (especially w/ the issues the G1 has had) and seems to have great battery life. Even during the first day with very heavy downloading (installing dozens of apps, poking around into everything) it had no problem making it through the day.


I type a lot on my phones (and have since getting my first Treo 600 and my original Danger Hiptop) and prefer QWERTY keyboards (I’ve switched back and forth between portrait and landscape, and now virtual vs physical). The keyboard on the Pre is pretty good (and laid out properly, w/ the @ and period on either side of the space) – I have no problems typing on it and the accuracy is much better than on the iPhone keyboard. That being said, I’m not sure it’s a huge speed boost and I find myself missing the corrections and the emoji international keyboards. The Android software keyboard on the G2 is also quite good, however, entering keyboard mode is sometimes awkward. Like the rest of the Android UI, there’s a certain lack of UI polish as things get pushed off (sometimes hidden) off-screen when the keyboard activates, but overall the Android keyboard worked surprisingly well.

Before I got the iPhone, I was as skeptical as anyone about the virtual keyboard, however after using it for a couple years, I’m now rather agnostic about it. What’s clear though is that the virtual keyboard has a huge advantage in flexibility, like the iPhone’s world class internationalization or for the still-as-of-yet largely untapped custom/app/domain-specific keyboard layouts.

OS Look and Feel

In my eyes, webOS is the first competitor to finally step up to the iPhone’s challenge in terms of presenting a well-thought out and genuinely delightful interface. It’s been interesting to watch this play out over the past couple years – not only did Apple catch the mobile manufacturers flat-footed, but we got to watch, Keystone Cops style as the various players tried to catch up, mostly pushing out half-baked, cargo cult touchscreen implementations that seemed to have missed most of the point.

The Pre’s general responsiveness is good – it’s gotten some dings on app-loading time, but it seems no worse (and sometimes much better) than responsiveness on my iPhone. One thing that the iPhone does much better for app-loading however is with affordances – the iPhone has a built in “zoom” that not only gives a 1s mask for the app, but also instantly lets the user know that the user was successful in launching, even if they are subsequently greeted with a blank screen, although the Mobile HIG gives recommendations (and the SDK code samples) for storing an app image snapshot. Android actually does this decently – apps seem to load much faster by default, but there is a swipe animation and a title bar replacement that gives you instant feedback on launching.

Another area where the iPhone still beats both the Pre and G2 is in responsiveness of the “desktop” – its combination of software physics and the physical surface feels just right (it may be an illusion, but 3.0 feels even zippier than 2.x) – very quick and responsive, super-slick, never laggy. The Pre is a close second – there is occasional lag with the launcher and it’s just a hair slower – and the plastic surface is surprisingly good. It really only suffers when you do a head-by-head comparison with the iPhone (so smooth…).

The G2 is (you might be beginning to notice a theme developing from here on out) far behind. The screen is supposed to be capacitive, but is laggier and draggier than the Pre, and doesn’t support multitouch. It doesn’t have any sort of physics at all, which, while boring is actually the least serious of my complaints. My biggest ire is reserved for the wonkiness of the drag/click interactions. The notifications bar (which is non-modal but which steals the focus from what you’re doing when there’s a new notification – STAB STAB STAB) seems to fill up quite quickly, but requires a flick with a certain distance/acceleration to pull down to dismiss (they can only be cleared en-masse). On the bottom, there’s a tab for the (alphabetically ordered only) launcher that reacts similarly, but also can be clicked to expand. This is complicated of course by the fact that if you don’t click exactly, it registers as a drag and you get a useless 2px animated move. Which fresh-from Stanford grad thought that one up? Even worse, this same tab is used elsewhere in the interface (like in the dialer) but doesn’t respond to clicks at all – you’re left to wonder if you accidentally dragged until you realize that in this interface the exact same looking tab is drag-only and doesn’t respond to clicks at all. Thanks!

The most interesting bit of the Android desktop, the three-pane “desktop” unfortunately suffers from the fact that there is currently only one really great widget (the lock2’s Weather Widget) – I mean really, what am I going to do with a Twitter widget that shows the last (yes as in single) tweet from my stream? I ended up (over) filling up the rest of the desktop with icons of the apps I wanted to use in a sensible/findable organization. To add insult to injury, the desktop often slows down (or disappears completely!), even though it’s… pretty useless.

(On the desktop note, it’s unfortunate that the Pre like the iPhone doesn’t allow any way of customizing the lock screen or the “desktop” (which is empty when there are no cards) w/ a Dashboard or Today style screen – this is something that BB and WinMo have had forever, and something that the N97 (and future Android phones) are on the right track with.)

More scorn needs to be heaped on the G2 for it’s accelerometer – instead of having a regular rotation like any normal implementation, it instead darkens and blurs your screen (rendering it illegible) for a good second or two before flipping it. This makes every single accidental flip that much more annoying – if you find yourself forced to use a G2, do yourself a favor and go to Settings -> Display -> Orientation to turn that off. It’s that badly done. The Pre’s accelerometer behavior in contrast is quite impressive – both zippier and less touchy than my iPhone’s.

A note on boot times. The iPhone takes about 1m45s to boot up. The Pre is just a hair worse, about 1m55s. The G2 does better at about 1m05s – 1m15s (the fudge is because the launcher is a bit stuttery as widgets and other things initialize).


While Palm has made a big deal of their “Universal Search” and the idea of “just typing” if you’re stuck, it turns out that iPhone 3.0’s search is actually better – not only slightly quicker and more responsive, but also more comprehensive. Apple’s search indexes notes, calendar items, and emails among other things (none of which webOS does currently). Here’s hoping Palm can follow through with their search framework.

One other thing to note is that there doesn’t appear to be any type of adaptive ranking mechanism for searches on the Pre. That is, no matter how many times you pick the “Flickr” contact when sending emails, it’ll never rise up in the results list right now. This is a major drag and something that the iPhone has done since launch.


One of the things that the Pre blows away the iPhone on is handling multiple accounts. As I mentioned in my earlier article, right now, if there were new mail, we’re talking about 4 clicks to check mail for each account. 2 clicks just to get to the top level to check which account new mail has come into… It’s a right mess. The search in 3.0 is a welcome addition, although it looks like you can either do a global search in the main search interface (click the home button twice) or search within a folder when you’re in the Mail app.

Strangely enough, the Pre handles my GMail accounts (one GMail, four GMail for domains) better than the G2 – Android has a special “GMail” app that can only connect to the single “primary” Google account you hook your Android up to (this connects the Contacts and Calendar as well), but then you’re forced to use a separate “EMail” app for everything else. This is… stupid. It also is kludgy and not very pleasant. Overall, I’m much happier w/ how the Pre handles things. Setup is a little weird (you have to wait for it to fail automatically connecting before you getting a chance to manually change the settings), but after things are humming, it’s generally pleasant (with IMAP IDLE support). There are currently some EAS issues being worked out apparently, but I don’t have to deal w/ Exchange so that doesn’t impact me. One annoyance w/ Palm’s new email notifications is that a clicking through takes you into the message, but backing out takes you to the message’s Inbox, not the unified inbox. It’d be nice to control the default view there, and it seems there might be a better way of navigating (a drop down where the title/header bar is?), but it’s not a bad start.


There’s barely a day that goes by (well, those days I guess when I don’t step out the door) where I haven’t my iPhone’s Map application. If minutes were logged for application usage (that’d be nice, actually), I’d guess that it’d be by far the number one app. As such, I’m rather sensitive to its various foibles (somewhat stingy caching, the extra clicks for routing/re-routing from the current location, lack of reverse chronological listing of searches or the ability to juggle multiple points) and had high expectations for these other phones, especially Android.

Unfortunately, both the Pre and G2 fall short. The Pre’s GMaps are functional, but it seems to be a pure web-app (head to maps.google.com w/ the TeleNav, the same guys that developed the AT&T Navigator now available for the iPhone. The nice thing is that this comes free on the Pre (it’s a $10/mo extra on the iPhone) and it actually works pretty well (including integration w/ the address book). The speaker voice is a bit hard to hear, and it absolutely kills battery life (I couldn’t find a way to pause it or put in in the background while you have a route input), but it’s pretty neat if you drive a lot (the updating ETA is quite nice).


All three are WebKit-based browsers. You wouldn’t expect that much difference, so the big surprise for me was how horrible the Android browser is – it’s pretty much unusable. It doesn’t zoom well at all, so pretty much all layouts go off the screen, and it doesn’t support double-clicking to zoom to a DIV or reformat, so you’re forced to use the fixed zoom buttons (no pinch and spread of course). I was pretty shocked. It’s also the only one of the browsers to not support HTML5 data storage (it has support Gears storage instead – what a pain). The iPhone 3.0 browser is currently the only one of those browsers to support W3C geolocation (which Safari 4 and Firefox 3.5 both support).

The Pre browser has been fine – pretty zippy (slightly faster than 3.0 on the 3G, although that may be network dependent), with only a few rough edges (lack of zoom for field inputs, YouTube embeds don’t link to the YouTube app, and it doesn’t lock dragging, presumably because of the Apple patent). The only real rendering issues I have is with the iPhone version of Google Reader – it seems to occasionally get lost in the page when expanding some of the articles. There’s probably some weird height calculation/scrolling issues going on or something…


App Store


Couple of New Toys: Google Ion (G2) and Palm Pre

It’s been a busy couple months of intense traveling and juggling way too many projects, but I’m happy to report that I’m beginning to cull both of those to a somewhat manageable level.

New ToysIn the meantime, this past week I’ve picked up a couple new toys. A Google Ion (aka HTC Magic aka T-Mobile myTouch 3G (really T-Mobile?)) that I got care of Bradley Horowitz (I’ve started a GitHub project to at least have some sort of accountability there) and a Palm Pre that I just picked up today.

I figure that since I’ve been using an iPhone (original and then a 3G) for the past couple years and I have active service on all the devices at the moment, I’ll do an iPhone 3G vs Google Ion vs Palm Pre shoot-out after I get a chance playing with the latter a bit more (weekend project?).

There’s a lot I’ve been meaning to post about, so this blog will probably be very mobile-heavy over the next few weeks… In the meantime, some notes:

  • Android has by far the most impressive SDK – the kind of apps that you can do with full phone access are just leaps and bounds beyond what you can do with either the iPhone SDK or with the Mojo SDK. The latter I’m bound by NDA on, but there’s enough public stuff to talk about. I’ll be doing a post soon (also where I’ll rant at length about Apple’s app approval process, and talk about marketshare). That being said, having played w/ almost 20 Android transit apps, I got to say, there’s definitely a real big gap there.
  • I’ve only seen one report of it, which I find rather amazing considering the number of reviews I’ve read, but the Palm Pre does indeed support have TRRS connector support, which include supporting the microphone as well as clicking for answering, pausing, and double-clicking for the next track. This works not just for the music player, but also for Pandora (and presumably other third party apps using the WebOS audio services/media extensions. This rocks, as I have a few hundred bucks worth of Ultimate Buds and am unconvinced on the audio quality that AD2P/AVRCP controllers like the Jabra BT3030 offer (not to mention the battery life issues both for the controller and the phone).
  • The Google Ion has a much better image quality (with auto-focus), but the Palm Pre gets props for both having the fastest shot-to-shot (and the least shutter lag) of any camera phone I’ve ever used. It’s actually faster than my Samsung point and shoot. And since you can leave it open in a card (the live display gets paused) where switching is almost instantaneous, I expect to have a lot less missed shots when spontaneous antics occur. Hopefully it’ll do video as well as it does stills…

  • OCD-leaning people beware, these phones are fingerprint magnets. Amazingly, the Ion and the Pre are both worse than the iPhone in that regard. They both have decent hand-feel, with the Ion fitting a bit better in my hand (a little longer, but less wide). Maybe I just haven’t figure out out the slider yet, but that’s probably the most awkward thing for me right now – there’s just nothing to push against to open it. Oh, also, prying off the micro-USB cap took a real leap of faith. I can see how people have snapped it right off. That’s basically what it feels like.
  • One software note (many more forthcoming) – is that I’m really digging the Pre Mail app’s combined inbox. IMAP IDLE w/ Gmail accounts works great, even better than on Android, which only supports a single GMail account (with everything else in a separate Email app). While I wish there were some improvements (like coloring or some other way of marking which email was going to what account) and it’s nowhere near as mature as the Blackberry inbox, this is still a huge improvement over email on my iPhone – w/ 7 email accounts, it takes 2 clicks to look at my accounts and 4 clicks to get in and out of each inbox (28 clicks total if I have new mail in each account).

Feel free to leave any specific questions and I’ll try to answer, I’m planning on doing a comparison w/ timings and end-user notes as well as one specifically on development and other thoughts. I’ll try to not get too obsessed, since there’s lots of actual work that I really should be doing instead, but at the same time, I have a fair amount to say, and I’ve used just about every smart-phone platform at one time or another and have a decent number of current OS’s to compare these to (I should probably dig out an old Treo and an N-Series to complete the set).