Google IDE for the Non-coder Android Developer
There is good news for the non-coder developer. Google has released the App Inventor for Android. The dragging and dropping of visual blocks of code enable the developer to build applications. According to the Google blog, App Inventor "makes it easy for anyone -- programmers and non-programmers, professionals and students -- to create mobile applications for Android-powered devices."
Google’s new Integrated Development Environment (IDE) for Google Android is built on technologies like Open Blocks Java Library which is an extendable framework for graphical block programming systems put forth by Ricarose Vallarta Roque and the Kawa Language Framework. The library is designed to compile high-level and dynamic languages into Java bytecode. By specifying a single XML file, Open Blocks lets app developers build and iterate their own graphical block programming systems, so focusing on system design rather than on details of the implementation increases. The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework. It runs on a Java virtual machine. Kawa itself is an implementation of Scheme, a dialect of the LISP programming language distributed as part of the Gnu Operating System by the Free Software Foundation.
App consumers have the chance to become app creators. This could be useful for regular developers to prototype quick apps. The site claims that no programming experience is required to write your apps as the simple drag and drop approach is employed.
The App Inventor team has created blocks for just about everything you can do with an Android phone, the company said adding that the team has also created blocks for doing "programming-like stuff" such as storing information, repeating actions, performing actions under certain conditions, and talking to services such as Twitter. Users can create games, quiz apps and leverage Android's text-to-speech capabilities.
Also using the access to a GPS location sensor App Inventor, location-sensitive apps can be built. Web communication is enhanced and web app developers can write Android apps that communicate with their favorite websites, Google said.
Some found the tool set fun and relatively easy way to use. This is still an early work-in-progress with limitations as evidenced by its beta tag. But these limitations have not proved to reduce the enjoyment factor yet.
To use App Inventor, you have to first fill in a form and sign up for the beta. Before using App Inventor, users have to link their smartphones to their PCs or Macs through the USB port.
Throwing open app development to the masses could spell trouble for Google. Experts feel it is, and will always be, up to the end user to exercise caution and discretion in what they install on their computers, and the Android smartphone is a computer.
"This could open the door to a massive amount of junk," warned Rob Enderle, principal analyst at the Enderle Group. "Recall that it was junk games that killed off the Atari game platform, which was dominant in the '80s and '90s.
"Google has a habit of testing in real time with real users and not anticipating problems," Enderle told LinuxInsider.
A robust quality assurance process is the only way to ensure users that these apps won't do their devices harm. However, doing that isn't as simple as it sounds. Since it is open source the task can be more daunting that expected given the number of applications that will emerge.
"My concern, if I was a developer, would be that Google would take my ideas to make products without having to pay for the intellectual property," Randy Abrams, director of technical education at ESET explained. "Google has a history of starting licensing agreements along the lines of 'your soul is ours.”
The only other negative point for Android remain the differences/incompatibilities between versions, like in Android 3 – Gingerbread.
At the moment, Apple continues to have a significant lead in the number of apps available in their App Store when compared to the Android Marketplace. But with Google now inviting applications to access a beta (currently closed but as they have received far more interest than expected in the beta program they are now working to reopen it claimed Google) of its App Inventor suite of applications that is set to change.
Other open source mobile platforms are available, including Maemo on the Nokia N900 and the LiMo platform. Palm's WebOS which is Linux based despite being closed source is also worth keeping an eye on. That said none of these make programming quite easy as Google has just done for Android.