Wednesday, 7 October 2009

CloudBank in the City

Today I took the current version of the app up to the Handheld Learning conference, held in what used to be the Whitbread Brewery, in the heart of the City of London. This was a very salubrious setting, with a very genial bowler hatted meeter and greeter chap. Very civilised.

The presentation session was civilised too: organised as two small round table talks, it gave the opportunity to discuss the project in some depth with 10 - 12 experts in very different aspects of mobile learning. Some interesting ideas - on implementation, the meaning negotiation process, recommendations and favourites, extensions to other languages amongst others. Thanks to all who joined in the discussion and to Mark van't Hooft who organised the research strand of the conference.

Friday, 2 October 2009

CloudBank on the phone

This week was all about getting CloudBank to run on actual phones. Pushing apps from the development environment onto the phone is a fairly straightforward process described in detail in the Android developer documentation.

Almost inevitably hitherto unnoticed bugs will appear once an app runs on a real device. Among the many possible causes for unexpected behaviour is forgetting to change localhost references to the real server on the web! To automatically deal with this one needs to find out if running on a device or emulator, which seems essential in many ways but strangely is nowhere documented.

import android.os.Build;

public static final boolean isEmulator(){
return Build.MODEL.equals("sdk");

The android.os.Build class holds all kinds of information about the platform we're running on. I picked the MODEL field, which gives me "sdk" on the emulator and "HTC Magic" on the phone, but you might replace that with whatever you see fit.