Hello!
For the past few days, I’ve been working on a script that can view AIA files without having to log into App Inventor and then import the project. More importantly, it can view your AIAs even when you’re offline. While this is something that can be done by downloading and compiling App Inventor’s sources, it certainly isn’t beginner friendly. I hope to overcome these issues with a simple-to-install, simple-to-use software.
Check out Unchive!
(Unchive = Un-archive = Un-archive App Inventor Archives)
Unchive is an extremely light-weight page written in vanilla JavaScript. Everything is done client-side, so there is no need to run a server. Installation of Unchive is simple – all one requires is a working version of python – meaning you can run Unchive on your device to view AIAs offline!
Unchive displays the components and properties of your AIA in a cascading waterfall-styled list, making it easy to navigate your project even without a mock preview.
AIA files can either be opened from the buttons in the title bar, or be passed as a URL in the page’s request parameters. I hope this will be useful in showing a preview of AIAs uploaded here in the forums.
Unchive can also be embedded in forum posts, making it easier to provide support to users without having to import the AIA in our own accounts.
Also shipped with Unchive is a highly stripped-down version of Blockly (weighing in at only 109kB as opposed to the 3mB file that is used in App Inventor) with which one can view all the blocks in a project.
Invalid blocks/components are highlighted, thus making it easier for members of the forum to debug apps.
You can also export your AIAs as optimised AIVs (App Inventor View files). AIVs are JSON objects that describe App Inventor projects. These AIVs can then be re-uploaded to Unchive. There are two main upsides to using AIVs over AIAs:
- AIVs load much faster than AIAs, sometimes more than 4 times faster.
- AIVs strip projects of .jar files, meaning users will be able to share projects that contain paid extensions without actually sharing their sources.
Lastly, Unchive shows you a summary of your project
This summary can then be downloaded as a zip, which can be distributed further. I believe this feature is especially helpful for students who make apps with App Inventor, for the downloadable zip file contains screenshots of all the blocks in the project along with other details, thus making it easy for them to submit their projects for assignment evaluations.
Thank you @Peter for the suggestion to make this a feature!
This project is open source, so feel free to take a look at the code at https://github.com/Kodular/ai-unchive/
Please let me know of any feedback and/or suggestions you may have.
Thanks!
Vishwas