First Impressions of Google Android
First Impressions of Google Android
The picture on the emulator Web site certainly looks intriguing. That was my first impression of Android, Google's new operating system for handheld devices. The image I saw reminded me of Windows Vista, with a clock gadget and some folder icons on it.
To give Android a test run, I installed the emulator on my Windows machine. In this case, the emulator looks like a handheld device, and it has the entire Android OS running inside this "virtual device." This is a way to actually try out the software without having a device at hand that can run Android. The emulator is a full ARM machine code emulator and an Android version of the Linux kernel, as well as supporting libraries.
Google Android was built for mobile devices, including phones. As such, it has telephony capabilities built into it. From my own experience, it's vital that they get this part right.
I recently wrote an article for one of eWEEK's sister publications touching on how to develop your own phone software for Windows Mobile. The reason was that the particular device I use is, at best, cumbersome. The phone program was written not by Microsoft but by the company that built the device, and it doesn't fit together with the rest of the device.
The physical aspects of the phone hardware, the Windows Mobile operating system and the phone system combine to form a cumber??Ãsome, complicated phone experi??Ãence (such as when I bump the browser button and the browser starts up just as I need to unmute the call-and can't). For this single reason, I've considered ditching it and going back to a more tradi??Ãtional phone. But at first I tried to write my own application.
I figured out how, and wrote an article about it, but it involved a sig??Ãnificant amount of coding, as well as one huge drawback: I couldn't replace the existing phone app. The existing one is still there and I need to manually start my own. That gets to one of the fundamentals of Google Android.
Before getting into some of the features hands-on, let's briefly look at the primary features Google lists on its main Android page:
Apps without borders: Early Mobile devices essentially allowed a single application to take over the device while running. In Android, however, apps can all work together with each other, "announcing" their capabilities to other applications. But even further, the applications can make use of all the features of the phone.
For example, one Google engineer created an application that uses the phone's camera as a bar??Ãcode scanner. You hold the camera over a barcode, snap a photo, and the application will process the information in the barcode. But the application is also a widget of sorts in that other applications can use it to scan barcodes. This fea??Ãture is called "publishing intents," where one application announces its services to other applications. In this particular example, another engineer created a personal book database so he can keep track of the books he owns. To get the informa??Ãtion, his program uses the barcode scanner, letting the user scan the barcode printed on the back of the book. The book application gets the book's ISBN and then goes online and downloads the information about the book.
Apps can run in parallel: Today's handheld devices are far, far more powerful than those that were devel??Ãoped in the early days of mobile OSes-in fact, they're probably more powerful than the desktop computers were back then. As such, there's no reason not to include full parallel and multi-threaded appli??Ãcations in today's mobile devices, including the scheduling of back??Ãground tasks. Kudos to Google for including this.
Apps Are Created Equal
Apps are created equal: Applica??ítions can be extended, and even have parts replaced by other apps and features replaced by new apps. This is a godsend for me, noting my earlier comment about not liking the Phone app on my phone.
Apps can easily embed the Web: This is an important feature in that new applications can embed Web features right into them. In other words, the designers of Android are recognizing the importance of connectivity in today's apps. We're talking about applications that can manipulate HTML and DOMs. But I want to be clear about something here: This feature is likely to be overlooked in early articles about Android. The reason is a lot of people probably don't recognize the full potential here. As such, I'll be covering this in more detail in my next article.
Incidentally, I should probably clarify something here: I said "Kudos to Google," but in fact, Google isn't the only company involved in the development of Android. Android is being developed under the Open Handset Alliance, which is made up of about 30 separate companies.
Next I'll explore some of the built-in features. But remember: The features you're going to see are the default applications that accompany Android. Android is an operating system, and as such, developers can write new applications that enhance and even replace existing applica??ítions. This gets to the very heart of the whole development mindset with Android, which Google co-founder Sergey Brin put so well: "The best applications aren't here yet. That's because they're going to be written by you."
As such, giving an overview of Android is kind of like giving an overview of Windows. You could demonstrate WordPad as an "exam??íple" of Windows, but doing so would be ignoring the great other applications you can use that aren't actually part of Windows itself, such as Microsoft Word.
Senior Editor Jeff Cogswell can be reached at jeffrey.cogswell@ZiffDavisEnterprise.com.