Android, as I'm sure you must know by now, was developed by Google, and is open in a way that the system it is most commonly compared to, iPhone's iOS operating system, isn't. A consequence of this openness is that third-party Android applications can easily get to market in sharp contrast to Apple's rather random iPhone application approval process.
In passing, it's worth noting that both Android and iOS have a "kill switch" that allows the remote, global erasure of applications the companies deem unfit for their platforms. I dislike this concept as it could be abused by both the vendors and, quite feasibly, by hackers. To give Google its due, developers were told up-front about the existence and details of the kill switch while Apple has always been cagey and unclear on the topic. Google has actually used this facility once but they did so in a transparent manner and for a good reason for which they get brownie points.
That said, as much as many of us dislike this god-like power, given that neither OS has any real safeguards against malicious applications there is an arguable need for a kill switch as the ultimate safeguard against a serious rogue program.
But what do you think: Are the Google and Apple kill switches in Android and iOS a good thing?
Anyway, the more I've explored the applications available in the Android Market, the more impressed I've become with what third-party developers are doing.
Here's a couple of my favorite free Android apps: First, there's Ulysse Gizmos published by Binary Toys. This outstanding utility delivers beautifully rendered tools that include a compass, GPS monitor, bubble level, inclinometer and magnetometer. How did I ever live without these?!
My next Android application pick is WiFi Analyzer published by Farproc. This tool detects activity in the Wi-Fi spectrum and displays a real-time channel strength graph, a graph of channel activity over time, a rated listing of channel strength, a list of access points, or a signal strength meter. I recently found this application invaluable when I was setting up a Wi-Fi network as it was far easier for a quick check than other PC-based tools because it's always in my pocket. WiFi Analyzer gets a rating of 5 out of 5.
So, wouldn't it be great to be able to build Android applications easily? At present this is not something for the casual code hacker as Android application development is done in Java and you'll need the Android Software Developer's Kit, the Java Development Kit, and, if you're serious, you'll need the Eclipse integrated development environment and the Android Development Tools (ADT) Plugin.
If, however, you are a casual code hacker then you may be interested to hear that Google will soon be releasing App Inventor for Android.
App Inventor is a mashup of a couple of other intriguing projects: The Open Blocks Java library, a framework for programming using graphical "blocks" to build programs and the Kawa Language Framework, a version of the Scheme language written in Java that generates Java bytecode. In other words, these two building blocks allow the dragging and dropping and manipulation of visual chunks that represent procedural programming steps making creating applications for Android somewhat intuitive (I say "somewhat" as no programming system that produces anything really powerful can be really simple).
Next week we'll look at a visual block language, Scratch, that is much like the nuts and bolts of App Inventor.
Gibbs has a programming itch in Ventura, Calif. Your comments and irritations to firstname.lastname@example.org.
Read more about software in Network World's Software section.
This story, "Android: On Apps, Kill Switches, and the Future" was originally published by Network World.