My First Android App, “Fancy Clock”

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.


  1. Darrin wrote:

    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.

    Friday, November 4, 2011 at 8:14 pm | Permalink
  2. Shannon wrote:

    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.

    Saturday, November 5, 2011 at 7:59 am | Permalink
  3. Shannon wrote:

    ** 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.

    Saturday, November 5, 2011 at 8:00 am | Permalink
  4. Shannon wrote:

    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.

    Saturday, November 5, 2011 at 8:11 am | Permalink
  5. Darrin wrote:

    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.

    Saturday, November 5, 2011 at 6:31 pm | Permalink
Wow Shannon, that's really annoying! What is it, 1997 on Geocities? Retroweb is NOT cool!

Post a Comment

Your email is never published nor shared. Required fields are marked *