# Building Apps and Extensions with MIT App Inventor > [! note]- > The content of this page is generated by audio/video transcription and text transformation from the content and links of this source. Source: [https://fosdem.org/2025/schedule/event/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor/](https://fosdem.org/2025/schedule/event/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor/) <video src="https://video.fosdem.org/2025/ud6215/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor.av1.webm" controls></video> ## Summary & Highlights: MIT App Inventor is an open-source, web-based programming environment that enables users to create mobile applications. The platform emphasizes computational action, allowing users to have a direct impact on their communities through technology. With over 23 million users worldwide, it has facilitated the creation of 113 million projects, demonstrating its global reach and impact. **Introduction to MIT App Inventor** MIT App Inventor is a user-friendly platform designed to simplify mobile app development through a visual, block-based programming environment. It is particularly accessible to beginners, including children, allowing them to create functional apps quickly. **Global Impact and User Stories** The platform has been used worldwide, with notable projects from various countries addressing local issues. Examples include apps for assisting the visually impaired, managing medical reminders, and monitoring environmental data. **Technical Advancements and Extensions** MIT App Inventor supports the development of extensions, primarily for Android, allowing users to expand app functionalities. The session provides insights into creating these extensions and highlights the importance of simplifying complex programming tasks. **Community and Resources** A robust community supports MIT App Inventor, offering resources and guidance for new developers. The platform's open-source nature encourages collaboration and innovation, making it a valuable tool for educators and developers alike. ## Importance for an eco-social transformation MIT App Inventor is crucial for eco-social transformation by democratizing app development, enabling users to address local and global issues through technology. It fosters computational action, empowering individuals to create solutions for social and environmental challenges, such as health monitoring and environmental conservation. Eco-social designers can leverage this tool to engage communities in technology-driven problem-solving. Challenges include ensuring cross-platform compatibility and addressing political and technical barriers in extension development. The platform's open-source nature and community support offer a collaborative environment for sustainable innovation. ## Slides: | | | | --- | --- | | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_001.jpg\|300]] | The presentation introduces Evan W. Patton, Ph.D., who discusses building apps and extensions with MIT App Inventor at FOSDEM 2025. The session highlights how the platform enables users to create impactful mobile applications. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_002.jpg\|300]] | MIT App Inventor, initiated by Google in 2008 and open-sourced to MIT in 2011, has reached 23.4 million users across 195 countries. It supports the creation of 113 million projects, with peak usage of 1.4 million users per month. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_003.jpg\|300]] | Hal Abelson emphasizes the need for computing education to evolve from computational thinking to computational action, empowering young people to use technology to make a direct impact on their lives and communities. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_004.jpg\|300]] | MIT App Inventor has a global reach, with significant user bases in the United States, Taiwan, Mexico, India, and Spain. The platform's 23.4 million users worldwide illustrate its widespread adoption and impact. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_005.jpg\|300]] | The concept of computational action, central to MIT App Inventor's philosophy, is explored. It focuses on enabling users to apply computing skills for real-world problem-solving and community impact. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_006.jpg\|300]] | The app XôDengue, developed in Santa Catarina, Brazil, uses Google Teachable Machine Extension to help identify dengue-carrying mosquito larvae with 95% accuracy, showcasing the platform's potential for addressing public health issues. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_007.jpg\|300]] | The community website for MIT App Inventor is highlighted as a resource for users to connect, share knowledge, and collaborate on projects, fostering a supportive ecosystem for innovation. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_008.jpg\|300]] | A demonstration of MIT App Inventor's capabilities is provided, showcasing how users can quickly develop and test mobile applications using the platform's intuitive interface. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_009.jpg\|300]] | Extending MIT App Inventor involves writing in Java for Android-only applications. Extensions can be used in both live development and compiled apps, with some limitations on permissions. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_010.jpg\|300]] | To extend MIT App Inventor, prerequisites include the Java Development Kit and Apache Ant. Options for building extensions include using the source tree, an extension template, or third-party frameworks like Rush and Fast. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_011.jpg\|300]] | The anatomy of an MIT App Inventor extension is detailed, including directories for resources, class files, metadata, and block descriptions needed for integration into the platform. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_012.jpg\|300]] | Instructions for building on existing extensions in MIT App Inventor are provided, including cloning the Bluetooth Low Energy extension from the repository for further development. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_013.jpg\|300]] | The Java prologue for an MIT App Inventor extension is outlined, highlighting necessary imports and package declarations for integrating Bluetooth functionality into the platform. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_014.jpg\|300]] | The process of defining an extension class in MIT App Inventor is explained, including metadata annotations and the creation of a new class for the extension. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_015.jpg\|300]] | The compilation process for MIT App Inventor extensions using Apache Ant is briefly described, highlighting the steps needed to build and deploy an extension. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_016.jpg\|300]] | Defining Bluetooth Low Energy services within an MIT App Inventor extension is discussed, including setting up UUIDs for service, transmission, and reception. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_017.jpg\|300]] | Component blocks in MIT App Inventor are introduced, explaining how they facilitate interaction with app components and enable event-driven programming. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_018.jpg\|300]] | The process of defining an event in an MIT App Inventor extension is explained, including how to dispatch events using the EventDispatcher for real-time interaction. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_019.jpg\|300]] | A detailed explanation of defining an event handler in MIT App Inventor is provided, including code for handling received messages from Bluetooth devices. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_020.jpg\|300]] | The creation of a Bluetooth connection listener in an MIT App Inventor extension is detailed, outlining how to manage connections and handle data reception. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_021.jpg\|300]] | Defining a property in an MIT App Inventor extension involves setting up Bluetooth device connections and managing listeners for interaction with external devices. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_022.jpg\|300]] | A property for managing Bluetooth device connections in an MIT App Inventor extension is defined, categorizing it as a behavioral component for interaction. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_023.jpg\|300]] | A function for sending messages in an MIT App Inventor extension is defined, including error handling for null connections and managing data transmission. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_024.jpg\|300]] | Error handling in MIT App Inventor extensions is addressed, including methods for reporting null connections and managing error events within the platform. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_025.jpg\|300]] | The process of defining a message sent event in an MIT App Inventor extension is explained, including how to dispatch events for successful message transmission. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_026.jpg\|300]] | A write handler for managing Bluetooth data transmission in an MIT App Inventor extension is detailed, including code for handling successful message sends. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_027.jpg\|300]] | The compilation process for extensions in MIT App Inventor using Apache Ant is reiterated, emphasizing the steps for building and integrating extensions. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_028.jpg\|300]] | Testing procedures for MIT App Inventor extensions are outlined, highlighting the importance of validating functionality and ensuring seamless integration. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_029.jpg\|300]] | Sample blocks for MIT App Inventor extensions are provided, demonstrating how to implement various functionalities and integrate them into the platform. | ![[FOSDEM 2025/assets/Building-Apps-and-Extensions-with-MIT-App-Inventor/preview_030.jpg\|300]] | Resources for learning, building, and contributing to MIT App Inventor are listed, including links to the platform's website, community, and source code repository. ## Links [Slides](https://fosdem.org/2025/events/attachments/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor/slides/238859/FOSDEM_25_y92JNKr.pdf) [Video recording (AV1/WebM)](https://video.fosdem.org/2025/ud6215/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor.av1.webm) [Video recording (MP4)](https://video.fosdem.org/2025/ud6215/fosdem-2025-6588-building-apps-and-extensions-with-mit-app-inventor.av1.mp4) [Chat room (web)](https://community.appinventor.mit.edu) [Chat room (app)](https://community.appinventor.mit.edu)