The way Google has treated the App Inventor community is probably the biggest negative mark against it in some time and yet few seem to care.
We can take the time to talk about bringing programming back to schools. We can even take the wrong route and pontificate for pages on how wonderful new hardware like Raspberry Pi is for bringing programming to the masses, but when there is some software that could really do the job we sit back and watch it whether due to corporate lack of care and academic sloth.
App Inventor is an easy-to-use way to create Android apps. It is based on Scratch and, as such, it is a wonderful way to introduce complete beginners to programming. It is potentially the solution we are looking for if the aim is to bring programming back to the classroom. After all mobile phones are cool, inspiring and what pupil wouldn't want to create their own customized phone app. The hardware is relatively low-cost, very available and makes a mockery of the suggestion that we need to buy lots of Raspberry Pis just to teach programming.
The problem is that, just as everything was going well, Google dumped in the open source basket and gave the whole thing over to MIT, complete with some money to fund their effort. All part of Google's new attitude of cutting anything that doesn't make a profit or fit in with some other Google priority.
This might have all been fine, but Google simply pulled the plug on the App Inventor servers at the end of December 2011 and MIT Is still months away from providing a replacement. Why it is taking so long we can only speculate, but it doesn't seem like the best manged transfer of facilities.
As a result, and despite warnings, some students had their projects locked up in the dead servers. They should have downloaded them before the deadline ... But even if they had where would they have uploaded them to? We are now told that, due to some heroic work by Googlers, the projects have been recovered - but of course they still most likely have no where to run them.
A more heroic action would have been to not turn the servers off until there had been a reasonable overlap between the old and the new service.
MIT has now announced that the source code is available for you to download and work with. At the moment you can't contribute to the code, you can only look at it and modify it for your own use. I'm all in favor of open source, and it is nice to be able to get at the code, but most of the people with an interest in App Inventor aren't technical enough to want to read the code. Indeed they probably aren't technical enough to take the code, or the packaged JAR files, and set up a local server.
What this means is that the code is open but most App Inventor users are locked out of using it.
One piece of good news is that if you have the expertise to setup App Inventor on your own servers, then it shouldn't be too expensive.
"...when there are more than a few students, App Inventor daily usage can out run Google App Engine's quota on free service. If you're in that situation, try turning on App Engine billing for a day and seeing how high your load is. People who have done that report that the App Engine cost turns out to be a couple of dollars per week, something that should be tolerable until the free MIT service comes online."
In a status update report we are told that MIT's efforts are going well and it is three weeks into its three-month project to get App Inventor up and running as a free service. This is astonishing. It isn't as if the transfer of App Inventor to MIT happened only three weeks ago.
Who knows what difficulties MIT may be having - let's give them the benefit of the doubt - but this gap leaves potential students with nowhere to go and reflects badly on both MIT and Google. However, you can't help but ask what was so unimportant about the whole enterprise that Google couldn't keep the servers running until MIT could provide an alternative.
If we are serious about getting children to program, it is software like App Inventor, and its temporary loss that should be getting the headlines rather than, admittedly cute, hardware.
One of the foundations of AJAX, it is what made it possible, is the XMLHttpRequest method, which allows you to programatically download new data and resources. It isn't perfect but it seems to work. M [ ... ]