Google App Inventor
Google's code-free web app introduces a drag-and-drop interface (similar to Visual Basic) that allows users to drop objects such as text boxes, labels, and buttons onto a background, utilizing MIT's Open Blocks tool, which runs pre-developed code blocks that link and function with each event. Gain access to a variety of Android APIs such as text-to-speak capability, barcode scanning, camera functionality, GPS positioning, Twitter integration, and much more. It also offers limited visual live debugging and testing, as well as C and C++ support. App Inventor requires some knowledge of Java, but Google makes the learning curve easy with online tutorials and reference points. What more could you ask for from a free program?