Believe it or not, not all geeks do Java Programming. When it comes to language, many are happy enough to speak some Klingon already.
But this doesn't help much to create your own application for Android...
Google understood this by launching the beta program of its AppInventor: A very simple set of applications to allow people with ideas but not Java programming skills to bring their contribution to the Android software base.
During the beta phase, you need to fill a request form on their web site in order to have access to the online tools.
Once done, some time later, you will receive an email explaining how to start. Going to http://appinventor.googlelabs.com will then also open the App Inventor application in your browser.
I just received the email today and gave the tool a quick look.
The AppInventor's main page is the designer, where you select and arrange the objects that you plan to use in your application. You just drag and drop the objects you want from the left column in to the Android screen in the center. A few basic properties (default text, color, ...) can be defined for each object.
Once the screen contains some object to interact with, you need to launch the Block Editor, which is done by clicking a button on the top of the Designer interface. This will download a file called AppInventorForAndroidCodeblocks.jnlp that you should be able to execute if your have the pre-required Java Runtime Engine installed.
There you will see "your blocks" made from the objects selected earlier in the Designer. There are block for each action possible on the object. For instance, if you wan to make something happening when the Button1 is clicked, bring the block "when Button1.Click do" onto the screen. You hen can pick other blocks to define what will actually happen like set the text of the TextBox1 (set TextBox1.Text to) to text "Thanks for clicking!" and change the Background Color of the Screen (set Screen1.BackgroundColor to) to Green.
From there, you just need to press the Connection icon to send and run the application to your phone.
Here is how it appears on my Samsung Spica GT-I5700:
It's just as simple as that. So unless you were planning a high end 3D racing game, this should give you a great way to make your débuts as an "embedded system developer".
This video will give you a quick overview of the interface. :
See also:
Update: this concept has evolved and made its way outside the Google Lab
http://appinventor.mit.edu/explore/
http://scratch.mit.edu/
http://studio.code.org/hoc/1