Hello, everybody... quick introduction: I am a paperless classroom teacher (and a computer programmer, as well), trying to push my kids as far as they can go with modern tools and technologies (read "The Paperless Classroom is Coming" in Oct. 20 issue of TIME Magazine)
Anyway, I introduced MIT App Inventor to my students this year, just to get them exposed to it and see how it goes. They were so eager and excited by the tutorials (TTS and speech recognition) that I decided to give them
a REAL project to meet our science standards
Everything was going great, with some of the students completing theirs apps, with the plan being this: combine all of the individual student apps into ONE combined app which we could upload to Google Play and make available to the public as an educational game/tool for other schools and students. (The app is a science simulation to determine a suitable environment/biome/ecosystem for different animals -- so each student's app follows similar structure/interface and gameplay, but with different animals and scenarios)
The problem is this: there is no easy way to copy/duplicate screens (I don't understand why; seems like this would be INCREDIBLY easy to implement), and there is no way to import projects into other projects; the idea being that Screen1 would be a "Menu" to select which animal you'd like to "play"; the App Inventor forums suggest that there's not a good reason to have multiple different screens, and that it better architecting can be done to avoid that, and for the most part agree -- for example, I taught my students to make this app as a "single-screen application", toggling hidden assets on and off as appropriate to modify the display and dynamic output. However, this scenario -- in which you can have multiple apps embedded into one -- is one case where multiple screens DOES make sense (we could do it as a single-screen application, but the amount asset-loading -- such as images -- and variable declaration/instantiation would be incredibly large, probably causing serious lag and loading delays)
I found this tutorial on how you can manually manipulate folders/files of the project to duplicate or copy screens (both layout and blocks) BUT it appears to be for the original AI ... not AI2:
As an experiment, I downloaded the .aia files and was, indeed, able to look inside the file structure (once changing extension to .rar), and was able to extract the folder structures... BUT the problem is that if I repackage/compress (using either .rar or .zip format) and rename to .aia, it won't accept it: "The selected project is not a project source file!" so, clearly, there's some sort of metadata or something that is being rejected by going to this new .aia proprietary structure. That, combined with the inability to do this sort of task within AI itself, is a HUGE drawback and problem.
It means I would literally have to re-create -- by hand -- every app my students have created (and it's not even like real code where you can just copy-and-paste). I'm not going to do that, which means where I am left is: nobody will get to use my students' apps.
Hugely disappointing.
I was considering having my students do a similar project for social studies next year, but in the format of a game that could also be used by the blind/visually-impaired. However, I don't know if I can do that now, because it was going to have a similar structure: Screen1 as menu to select from the individual "sub-games"
Does anybody have any idea how this problem can be solved?? My students and I have loved MIT App Inventor, but with these limitations, I can't really use it in my classroom with my students...