I’ve been meaning for a while to check out App Inventor (a Google Labs project that is now being open sourced since Google is — sadly — phasing out that department). It’s a RAD tool that lets you quickly and graphically create apps for Android phones and tablets. In theory there is “no” text programming required — you just “draw” a flowchart and your interfaces. Anyway, to see what I thought I quickly hacked together a “fancy clock” after GIS’ing myself a clock face and some hands. I figured an analogue clock would be a good Hello World alternative since it is very simple but still touches on a broad range of tasks — logic, flow control, procedures, sprites and graphic manipulation, interface design, and system interaction.
On the “pro” side I was very happy with how easy it was to do this. Getting the first version running took literally minutes. After that it was just tweaking and messing around to try different things. It has a ton of potential. On the “con” side there is still a lot missing functionality, although I am certain that will come with time. My larger concern is that in their urge to dumb-down and make this accessible it seems like complex flow control could get extremely awkward to assemble. I’m not sure if that is unavoidable. I will definitely keep my eye on this tool and if I find the time I might write something a bit more ambitious (and useful). I want to say one other thing but I’m putting it in a new paragraph so it’s not missed by skimmers.
This seems like an excellent tool for teaching bright children* how to program.
And below is a video my dumb little clock in action. It’s exactly what it looks like. The only thing it does is tell the time, and if you tap it, the hands toggle their glow on and off (just because I wanted to write something… anything…) and the ‘X’ button in the top left quits. Oooh, exciting. I don’t know why anyone would want to, but you can download it here. Just uncompress the APK file and copy it onto any Android device. I’ve only tested it on my tablet because that’s all I have.
* Or dumb adults.
5 Comments
Unfortunately (or maybe fortunately, I’m not sure) app inventor apps can’t be uploaded to Android Market, or really even distributed very well.
I’ve been doing some mapping/trail/exploring type apps (search for Exploration Guides on Android Market and look for the golden sextant). If you know Java, you’re not in bad shape to pick up Android programming. The biggest challenge is the single-threaded, very time-limited UI thread, which likes to kill your program if you do any foreground processing. Just think back to the days when computers were slow, memory and disk space limited, and program like that.
I’d read that too, and the official answer is that it’s a temporary hitch, and the unofficial answer is that you can tweak them to be uploadable (there are some youtube videos that show up as recommendeds on the above showing how I think).
I am comfortable programming in Java… And since I started my life with “slow, memory and disk space limited” computers perhaps I have the right mental foundation.
** But that said, I don’t think that these aps are ready for primetime so even if you could push them into the app store, it would be disingenuous.
I just watched one of the videos and it looks like the only reason you can’t upload to the store is that the apps are not properly digitally signed and don’t have an appropriate manifest… The “fixer” apps seem to decompile, correct this, and then hand you back a new APK file. Seems like just a couple clicks to make the AppInventor apps publishable, plus some of the limitations (screen size, forced title bar, etc.) are addressed by the fixers.
That’s actually one of the big advantages I had coming into Android after not programming for 10 years or so. I learned programming back on 8088 and Z80 systems, so keeping my code and data compact and efficient comes naturally to me. My trail/map apps, even with somewhat huge amounts of data, still only take a meg or so, and some quite a bit less.
You can actually turn off the title bar, etc, at will. Screen size is best to just let the OS figure it out for you. You’d pick it up in no time with your experience.
Post a Comment