Web 2.0 The Magazine

A Journal for Exploring New Internet Frontiers.

 

book review

Hello, Android Ed Burnette; Pragmatic Bookshelf, 2008, $32.95 (ISBN 1-934356-17-4).

Programming Collective IntelligenceToby Seagran; O’Reilly, 2007, $39.99 (ISBN 978-0-596-53932-1-7).

 

On Intelligent Machines by John McMullen

There are many aspects to the ever-expanding and rather nebulous universe known as Web 2.0; ever-expanding because there are constantly new tools being developed and new equipment to support the development, nebulous because many things fall under the umbrella of “User Content” that is considered the basis of Web 2.0.

This month I look at one book that deals with the development of applications for one of the most popular devices used to interact with Web 2.0 platforms, Google's “Android”, now only available on T-Mobile's G1 mobile phone, and another that deals with user programming to make information obtained on the World Wide Web more useful.

I have been using the T-Mobile G1 for about three months and really like it – I find it and Apple’s iPhone to be the “cream-of-the-crop” of smart phones. One of the attractions that both phones have is that they serve as a platform for “third party apps (applications)”. This facility not only allows Android and iPhone users to tailor their smartphones in the manner that they wish – downloading apps from stores (different ones for Android and iPhone) for instant messaging, shopping (including product bar code reading), GPS applications, Twitter connections, and many, many more—expanding every day.

The apps facility also provides opportunities for developers, both commercial and individual (including novices), to create apps and offer them to the public. Ed Burnette’s “Hello Android” introduces would-be developers to the methodology of developing such apps for the Android.

Burnette begins by acquainting the reader with the environment necessary to create Android apps: Java 5.0 or above, a Java Development Environment (he recommends Eclipse), and the Android “SDK” (Software Development Kit) – all are available in versions for Mac OSX, Linux, and Windows. Once the user has installed the necessary tools, the author takes her/him right through the development of a sample program “Hello Android”.

Once the sample program is running on the Android emulator for the particular operating system, the user is taken through the steps to upload it to the G1. Once the user has tested the program on the G1, he/she may choose to “sign it” with a cryptographic key and present it for market (obviously this would be done with the “Hello Android” sample program but Burnette provides the information and links to necessary sites right up front).

From there the book is off to the races, going into more complex applications, explaining the use of graphics, multimedia, GPS, the SQLite facility, and 3D graphics. There are sample programs in each section and the source code for the programs as well as updates and communication with the author available on a web site.

The book should neither intimidate anyone with minimal programming experience nor put off experienced developers due to oversimplification. All in all, it is a very good start for anyone wishing to get into Android development.

The other book, “Collective Intelligence”, also puts tools in the hands of users to make the Web more useful. In the book’s preface, publisher Tim O’Reilly, often considered the “father of Web 2.0”, writes “I defined Web 2.0 as ‘the design of systems that harness network effects to get better the more people use them’”. He further states that Seagran’s book, which “teaches algorithms and techniques for extracting meaning from data, including user data ….. is the programmer’s toolbox for Web 2.0”.

While this work is longer and more technical than the Android book, there are plenty of examples using well-known Web 2.0 tools such as del.icio.us, E-Bay, blogs, and Facebook. The building of the applications is done with Python, which has with PHP, become the most used Web 2.0 programming language. It, as with the Android SDK, also uses SQLite to manage data.

The writing is clear, the book is well-ordered, the examples are well laid out and there are exercises at the end of chapters that can be used to reinforce the material presented. I recommend the book to all developers as well as technicians wishing to get a better understanding of Web 2.0 technologies.

Both of these books belong on developers’ book shelves.

 

Copyright © 2010, Web 2.0 The Magazine.  All rights reserved.