T-Mobile G1: Google's iPhone killer
The Google Android-based T-Mobile G1, though missing some key business features, is a phone that professionals, consumers, and developers will love
As unimpressive as Android's PIM software is, its browser, which is also built into Android's mail apps, is absolutely stunning in appearance, operation, and functionality. Android's browser is nothing short of a work of technical and GUI art, Android's killer app, a natural hybrid of a mobile and desktop browser. It is sublimely tunable through a wealth of options, but not so many as to cause confusion. The top feature is scalable text, which automatically rewraps as you zoom or change display orientation. Unlike iPhone, every page loads at a readable resolution and skips straight to the text in any page where a textual layout is present.
You can select a single-column mode that turns a page of HTML into a view that need only be scrolled vertically. You can navigate freely around the page and return to the formatted text column by tapping on a paragraph. Through settings, you can also switch to a desktop view that permits free navigation, aided by a whole-page view that allows you to select any screen-sized portion of the page. The browser takes advantage of the navigation trackball to highlight selectable fields, buttons, and links sequentially. The highlight is drawn as an easily seen box. When a text field is selected, there's no pop-up, on-screen keyboard to obscure the display as there is on iPhone and other keyboard-less handsets. You swing out the real keyboard and continue viewing the whole screen.
To speed rendering over slow connections, you can disable images on the page. Because the browser is used to present HTML-formatted e-mail as well, the safety and privacy of optional image display is extended to the mail client, a feature that iPhone lacks. The e-mail clients, one each for Gmail and generic POP/IMAP mail, are exceedingly well done. Gmail, Google Talk IM (which integrates with other IM servers and protocols), and over-the-air sync of contacts and calendar utilize Google's free services. On your first use of the device, you create a Google account or configure an existing one. Did I mention that it's free?
This may not be the best venue for launching into a detailed run-through of Android software development. Suffice it to say that even though the tools are a bit of a pain to install, they work well and easily for Java applications. Android uses a special Java virtual machine called Dalvik, but this detail is hidden by the tools.
Where Android's Java APIs are concerned, even with the more esoteric APIs unique to the device, Google's documentation is detailed and well cross-referenced. The Eclipse-based integrated development environment includes command-line tools, leveraged by the IDE, native to the PC used for development. The toolset is available for Windows, OS X, and Linux, and installs alongside a standard Eclipse distribution.
[ For more on Android development, see "SDK shoot-out: Android vs. iPhone" and "Test Center preview: Inside Google's mobile future." ]
Tethered debugging of code operating on physical T-Mobile G1 handsets is standard, rather than a paid option as is the case with iPhone and Symbian platforms. The debugger, loader, and file explorer use a USB interface presented to the host as a TCP/IP link. T-Mobile G1 presents as a USB Storage Profile device as well, but in this mode only music and pictures are visible. Through the debugger, the entire file system with the exception of protected user data can be read and altered.