MIT’s App Inventor can help feds quickly create Android and iOS mobile apps

miakievy/Getty Images
After struggling for almost six months to become somewhat proficient at Python, I was extremely impressed with how much I could do using the MIT App Inventor platform.
In today’s digital world, mobile applications have become the glue that connects people with both information and just about every kind of service. In many ways, they are at the core of business innovation and government operations. But creating those applications has traditionally required some pretty advanced skillsets, not the least of which is extensive knowledge of modern programming languages like Python, C++, Java, Rust and others. And none of those languages are very easy to learn.
That is why I was so surprised to discover the Massachusetts Institute of Technology’s newly expanded App Inventor platform. Originally designed as an educational tool for young students, the platform is now breaking down barriers to application programming and allowing anyone to create complex and advanced Android and iOS applications with very little training required.
To review the free platform, I loaded it up on an Android tablet. It’s available for Android in the Google Play Store and for iOS devices in the Apple App Store. Getting MIT App Inventor from one of the app stores allows users to test their applications right on their phones or devices as they build them. That is probably the best way to use the tool, however, there is also an emulator mode which works with Windows, Mac OS X and Linux devices.
There are five tutorials to get people started with building applications. They cover most of the basics, including explaining how to create objects like buttons within a new application, how to make them interactive and how to tie them to functions or actions. There are also some advanced techniques explained in those tutorials like adding text to speech as part of an application’s core functionality. The tutorials are well-designed and it only took me about an hour to become fairly proficient with the tool. The tutorials are also available outside of the application as YouTube videos or PDFs if anyone wants to brush up on how everything works.
What makes the MIT App Inventor so powerful and easy to learn is that it relies on what is basically its own object-oriented programming language that is designed to be intuitive for application creators of any skill level. There are two key areas that users will work with, the Designer section, where functions are created and assigned various properties, and then the Blocks area, where those functions are linked together logically. Both areas are extremely visual and easy to understand.
The Designer area is where users create various functions for their application to use. They are helpfully categorized into groups so that they are easy to find. For example, if you need to create an application that involves using a device’s barcode scanner, you will find that function under the Sensors tab, while access to a smartphone’s camera or sound recorder is categorized within the Media tab. And user-created functions like adding on-screen buttons to applications are mostly located under the User Interface or Layout tab.
Once you have selected the functions that you want a new application to use in the Designer area, you then switch back to the Blocks tab to actually build the application. Here is where the real innovation of MIT App Inventor shines through because it makes programming the application very visual. Each function is represented by a colorful jigsaw puzzle-like block. You build applications by dragging and dropping various blocks and putting them together like a puzzle. Functions that are able to interact with one another will fit together perfectly, while those that don’t, or which require another block or function to connect them, won’t slide into place.
You can even cut and paste the blocks you create anywhere around the screen, which makes the design process even easier if an app uses a lot of the same basic functions. For example, if you create an application with three buttons, then you can initially assign what the first button does by placing a yellow Control block down for Button One and then dropping a purple Procedures block inside it to define its desired action. Then you can cut and paste that entire group two more times, editing those copied Control blocks so they represent the other buttons and overwriting their Procedures block with different functions.
At any point you can test your work to troubleshoot the application and ensure that it’s working as intended. Once completed, the App Inventor will compile everything into an .apk file that can be installed on mobile devices. And if you need more help, the students and professors at MIT have created a pretty extensive library of examples showing how to use the platform to create some pretty advanced applications.
After struggling for almost six months to become somewhat proficient at Python, I was extremely impressed that I could almost do all of the same things when creating mobile applications using the MIT App Inventor platform. And that was after only a few days of training.
However, despite the extremely visual nature of the platform, especially the block-based programming interface, it can still get a little bit complicated when designing very advanced applications. It’s not as difficult as learning a programming language, but you do need to be able to think very logically about how you want everything to work together. But at least App Inventor won’t let you make any mistakes that would outright crash an application, because incompatible blocks won’t fit together. The platform also audits application builds on the fly and provides warnings if there are problems with an app’s core logic or function.
While the MIT App Inventor platform started out as a way to teach programming skills to young people, it has now evolved to become a powerful tool for creating mobile applications that anyone can use. It would easily allow feds to create applications for their agencies, or at least let them experiment to see if an idea for a new application is realistic or feasible. And because applications can now be created in-house without even relying on any external libraries, those applications made by App Inventor will be free from hidden vulnerabilities or malicious code. That potentially makes it a very useful and powerful tool that requires very little from its users in terms of training, and perfect for agencies looking to innovate while also maximizing efficiency.
John Breeden II is an award-winning journalist and reviewer with over 20 years of experience covering technology. He is the CEO of the Tech Writers Bureau, a group that creates technological thought leadership content for organizations of all sizes. Twitter: @LabGuys