Announcing App Inventor Extension Components

10,478 views
Skip to first unread message

Hal Abelson

unread,
Aug 4, 2015, 9:40:19 AM8/4/15
to MIT App Inventor Forum

The MIT App Inventor team is delighted to announce the availability of Extension Components for testing. We hope the Extension Components  will prove to be a major enhancement to App Inventor:   Extensions provide a way for anyone to build their own App Inventor components, which others can then use in creating apps.   


App Inventor is free and open software, so people have always been able to build personal systems and install their own components.   But until now, the only way to make those components available to others has been to create and maintain a personal App Inventor server  that has those components built in.


Extension components, in contrast, can be loaded dynamically into any App Inventor system, so they can be shared and imported into projects as needed.   For example, educators and educational software developers to provide extension components tailored to specific lessons and activities, so that students can have these available in building apps.  Examples might be simulations or tools for large-scale data analysis, or image recognition.  Those features might be unfeasible to implement with the built-in App Inventor blocks, either because of processing speed or programming complexity.   But the same capability might be readily implemented using extension components that encapsulate the necessary processing.


Anyone can create extension components. This requires gaining some familiarity with the App Inventor source code (located on Github) and programming in Java.   Once you create an extension component, you can share it with anyone for use in their App Inventor projects.   Extension components can be housed anywhere on the Web.   They need not be stored at MIT or any other special place, although MIT hosts a repository where people can make extension components available for sharing and public use.


Today, we’re releasing a test server for App Inventor that supports the Extension Components feature.   You can find it at extension-test.appinventor.mit.edu.  There’s also a document called App Inventor Extensions that explains how to create and use Extension Components.   Once we've accumulated enough feedback, we'll make extension components a regular part of App Inventor.


With extensions, the range of App Inventor features can be expanded enormously.   We hope that people will explore this tool to build new capabilities for App Inventor and their creations.




The implementation of App Inventor Extension Components is the work students who participated with the MIT App Inventor team in through Google Summer of Code: Ethan Hon, Justus Raju, and Mouhamadou Sall.   Other summer GSoC App Inventor participants in 2015 are Devid Farinelli, Yucun Li, and  Shruti Rijhwani.  All of them are extraordinarily talented, and the entire App Inventor community is in their debt.

Toni Schuh

unread,
Aug 4, 2015, 4:50:13 PM8/4/15
to MIT App Inventor Forum
I am realy happy to read this and i am looking forward seeing this in action! For a long time i was hoping to see something simular to wordpress plugins here. I am realy excited :-)


I have one question though: why are the extensions limited to non-visible components (like stated in 4.2 of the documentstion)? Doesn't this forbid the development of scrollable arrangents for example? Or html-formatable labels? Or erc...

Mark Anacker

unread,
Aug 4, 2015, 5:12:01 PM8/4/15
to MIT App Inventor Forum
About time... :-)  The whole reason I wrote the Intentsiti helper app was to add capabilities that weren't available in the existing blocks.  Now maybe I can convert those functions into first-class components, and make them available to others.
Message has been deleted
Message has been deleted

Hal Abelson

unread,
Aug 4, 2015, 5:59:26 PM8/4/15
to MIT App Inventor Forum
Toni,

Remember that "non-visible" refers to the designer, not whether or not the component appears on the phone screen.  So you can build anything in the Android SDK -- it just won't appear in the App Inventor designer.
We'll get around to visible components eventually -- but component developers will need to decide how the should appear in the designer screen.

Message has been deleted
Message has been deleted
Message has been deleted

Jayanth Acharya

unread,
Aug 9, 2015, 4:16:01 AM8/9/15
to MIT App Inventor Forum
Great news.
Would there some central location/repository where people might contribute the extensions or at least information on where the extensions are actually hosted ?
Would it be possible (eventually) for the extensions to be written in Py4A/SL4A as well ? That could lower the bar, or extend the spectrum of potential contributors wider.

James H

unread,
Aug 11, 2015, 11:49:30 PM8/11/15
to MIT App Inventor Forum
Reading through the extensions documentation now, brilliant, this will be a game changer,well done folks , much appreciated !

Hal Abelson

unread,
Aug 12, 2015, 8:07:16 AM8/12/15
to MIT App Inventor Forum
Thanks for the nice words.

MIT will be hosting a repository for extensions, after we get more experience.

Extensions are written in Java.  But you ought to be able to run programs Inpy4A/SL4A by creating an appropriate Java interface to call them.
We haven't played with that at MIT, but perhaps someone will contribute such an interface to the repository when it opens.

= Hal

codexplorer

unread,
Aug 15, 2015, 1:26:42 PM8/15/15
to MIT App Inventor Forum
Interesting development and thanks to the students who developed this.
As a note, the App Inventor Extensions web page displays the wrong title ("Uploading Your Apps to Google Play").

Riaz Ahmed

unread,
Aug 21, 2015, 8:55:48 PM8/21/15
to MIT App Inventor Forum
im hoping there will be an in app billing extension (we know it is possible with AI, as in AILIve)

will anyone be making the in app billing extension soon.

How soon will the feature be part of official ai2?

on the test server you mention can it import converter ai1 files?
Reply all
Reply to author
Forward
0 new messages