I personally don't think it's better than an iPhone, but I don't know if it needs to be. It's the first viable alternative out there. It's good for the market, which is in turn good for everyone else. I hope they don't rely on the whole "iDont" thing too much in the future, since Apple can make all those claims obsolete if they feel like it.
I was an early adopter, I pre-ordered a G1 and have had it for about a year now. I really love hardware keyboards, so +1 for the G1 and for the Moto Droid. However, the article talks about a bit of lag here and there, which is quite irritating, probably the thing I hate most about android phones. Though, I do feel like the G1 was a competitor to the iPhone off the bat because it could do everything the iphone did, just a little slower =/
The iPhone is very well done, without lag from what I can tell. I suppose that's easier to do though when you make the hardware and software in the same place.
For now, I say the iPhone is still the best phone out there, but only because of the stuttering issues that Android phones seem to have. In a year or so, phone hardware will catch up with the Android platform and will run smooth as silk.
Really? I got word that my site was down, and was able to shell in and fix it from my G1. Coincidentally, I happened to be at an Android developer meeting at the time.
I'll grant that the G1 (etc.) is a more of a hacker phone than the iPhone, but some of us really do like being able to code up a useful app and drop on our phones or easily share it with others, or VNC to a desktop machine to check something, or ssh somewhere to go a fix.
Actually, being able to ssh from a phone would be about the only thing that would convince me to get one. But I suspect I'm not exactly representative of the potential customer base.
It was the exact reason I chose the G1, its generous 5 row qwerty keyboard makes daily use of SSH possible. You can type numbers and symbols in your password easily and quickly, and you get a full 80x25 display.
One of the reasons why Android is slow could be its heavy reliance on Java. You can spend months tweaking and optimizing the VM, but you're still not getting close to C (and Objective-C) speeds.
I wonder what will happen if you put Symbian (which runs on most low-end smartphones from Nokia) on a high-end device like the Droid.
I think the reliance on Java has little or nothing to do with Android's overall performance.
I suspect the real difference is that Google has chosen to spend its time and energy in other places (e.g. setting up the open-source project, supporting a wide range of devices, creating flexible and complete developer APIs, etc.) rather than optimizing aggressively for performance from the start. I'd bet all of the interesting bottlenecks (e.g. browser rendering) are native code anyway and the Cyanogen ROMs clearly demonstrate that Google has left plenty of performance on the table so far. Given the pace of Android updates, I expect that to change in the not-too-distant future.
Dalvik has a pretty robust JNI implementation, and you can certainly put native code in an Android application. The NDK is getting more and more useful every release, and there's always building with the full distribution to have access to everything else. I've done it, and it's not that painful. I only worry about what might happen if Android starts showing up on other architectures. You'll have to pack in libraries for every single architecture.
I applaud Rubin's team for choosing Java as the high level library and UI implementation. While ObjC might be speedier on iPhone, it's a huge learning curve for someone that wants to write a UI-heavy app.