MIT App Inventor: The Road to iOS

For educators who use MIT App Inventor in their classrooms, it can be a real struggle if your students or your school uses iOS devices. Since its inception, MIT App Inventor has been known for Android app development. When the MIT App Inventor team first announced the plans to also have iOS capabilities, App Inventor supporters and educators alike rejoiced. But, since then, the road to iOS has been a long one to say the least.

The Big Announcement

Nearly two years ago in November/December 2017, the MIT App Inventor team announced that MIT App Inventor was working for testing on iOS devices. Included in the announcement were a series of phases to be carried out along with a call for help with donations to support the project. A short video released on their social media channels showed great promise as an Apple device successfully connected to MIT App Inventor over wifi with the companion app. The caption on the video indicated the hope for release/testing in spring 2018.

A Glimmer of Hope

Back in February 2019, Evan Patton at MIT released a blog post announcing that MIT App Inventor for iOS had entered beta testing. Finally after lots of back and forth with Apple, things had progressed. Eager beta testers (including several Mobile CSP team members) began seeking access to the TestFlight companion app and helped report bugs that were found. At that point in time, it seemed like the public release of the iOS companion app was within reach.

Delayed by Apple

Heading into Summer 2019, there was doubt that a public release would even happen. Evan Patton informed the Mobile CSP team that the back and forth with Apple continued. He confirmed what we already knew: the iOS version for MIT App Inventor was ready to go, but Apple was not approving the public release. However, Evan understood that many teachers and students were so badly wanting the iOS version and that he needed to find a way to make it happen…somehow.

If Plan A fails, Try Plan B

In August 2019, MIT App Inventor celebrated 10 years of computational action as they hosted the MIT App Inventor Summit 2019. At the summit, Evan gave another update on the iOS version and announced his plan for a plan b. Mobile CSP Team member Beryl Hoffman informed the Mobile CSP community shortly after in an email:

Things are at a stand-still with Apple, so [Evan] is going to release the latest iOS Companion as open source for teachers to use in their classrooms mid-August. To use the open-source, you will need to get an iOS developer’s license for $99 a year and then input all your students’ iOS devices as development devices on that license. This is temporary until they can get through Apple approval, but it will allow you to test it in your classes this year… You can register 100 devices on one license so we could possibly set up sharing of licenses too. More info in a couple weeks.

-Beryl Hoffman 08/04/2019

Where We Are At Now

MIT App Inventor is, and will remain, a free (open source) software. The MIT App Inventor team is still working with Apple to get the iOS companion app released publicly for free just like it’s Android companion app counterpart. The MIT App Inventor team announced the latest version of the companion of iOS available via Apple TestFlight. Those who wish to try out MIT App Inventor on iOS currently have two options:

  • Option 1: Become a beta tester and use the Apple TestFlight version of the iOS companion app (don’t forget to mention Mobile CSP)
  • Option 2: Use the iOS companion preview (requires an iOS developer’s license from Apple)

While option 1 is free, the MIT App Inventor team does ask that you be willing to provide feedback on bugs and other issues you may encounter to help them improve the companion app.

With the iOS companion preview (option 2), you can create and install on your iOS devices if you purchase an iOS developers’ license ($99 per year with a waiver program available for schools). [Note: This fee is an Apple fee and is not from MIT App Inventor.] Up to 100 devices can be added to a single license and a license can be shared among teachers. This option is currently working for Apple devices running iOS versions 9-13. If you plan to use the preview version and wish to report feedback/bugs, please fill out this form so that we can send the feedback to MIT.

The Mobile CSP team will continue to work closely with the MIT App Inventor team. However, although the MIT App Inventor Team may value and use our input, we are not a decision maker in terms of how MIT App Inventor handles iOS.

Helpful Resources

App Inventor is a Good Programming Language for Learners

In a recent blog post in the Communications of the ACM Mark Guzdial identified Five Principles for Programming Languages for Learners.    In a nutshell, the five principles suggest that a good programming language for learners should be low threshold, high ceiling,  a phrase coined by Seymour Papert, the creator of the Logo programming language, a language that Mark recognizes as a good model of the five principles.

How well does App Inventor, Mobile CSP ‘s programming language,  do in satisfying Mark’s principles?

1. Connect to what learner’s know.   Today’s high school and college students practically live on their smart phones.  The Mobile CSP course tries to meet them where they live and help them transition from users of mobile technology to creators of real mobile apps.  This is part of the low threshold. 
2. Keep cognitive load low.  As Mark acknowledges, blocks-based languages do “a terrific job of lowering cognitive load.”  App Inventor is an excellent example of this.  App Inventor’s components and blocks (its programming tools) are powerful abstractions that meet students at a level where they can immediately begin creating their own apps. Students are able to create a mobile app from scratch and run it on their mobile device on their first day of programming.   So here too App Inventor presents a low threshold for entry into a learning experience.
3. Be honest.  In App Inventor and in the Mobile CSP course, students are building real appsStudents are encouraged (well, required really) to create apps that benefit their friends, families and communities.  Currently App Inventor apps run only on Android devices, but we expect that to change soon.  The 2018 edition of the Mobile CSP course expects to support both Android and iPhone programming in App Inventor.  This is part of the high ceiling.
4. Be generative and productive.  A good language for learning to program must enable the learner to generate new ideas and be productive in exploring new domains.  In the Mobile CSP course we are trying to promote computer science for all.  We don’t expect all students to become professional software developers.  They should be able to apply their new knowledge and skills to explore their interests.  And this is what we see in the Mobile CSP course:  students’ final creative projects span a broad range of interests in art, psychology, science, math, education or other domains.  This too is part of the high ceiling  — there is no limit on what students can achieve.
5. Test don’t trust.   The idea here is to see what works.   Our experience has shown that students  and teachers respond positively to App Inventor.  For example, in an analysis of our pre- and post-surveys from the 2016 course, 85% of students reported that they enjoyed programming and getting their apps to work.
I think it’s pretty clear that App Inventor satisfies Mark’s criteria as a good programming language for learners.  But this is not surprising given its genesis.   App Inventor was created by Hal Abelson who worked with Seymour Papert in implementing and using Logo in education.  So, as described in this video, you can sort of see App Inventor as a Logo for the mobile age!