Monday, 14 June 2010

preconference workshop during mLearnCon: android 101

Currently in San Diego for the mLearnCon conference, the first one! Organized by the eLearning Guild.

Eric Converse and Silke Fleischer from ATIV software were bold enough to give non-professoinal developers the chance to build an android application from scratch by using the SDK software! This was something I really wanted to be part of. And what a great experience!

These are the people you want to join up with if you are interested in building cross platform mobile applications. They work with iPhone, Blackberry, Android (and a bit of windows mobile) and they are complementary with knowledge. So contact ATIV software if you have an idea for mobile content delivery, also for mLearning, as Silke is an eLearning expert on top of mobile expert.

Although my computer absolutely challenged both Silke and Eric, they managed to fix all the quirks that came up. Quirks, because the other participants had very willing computers taking all the information and coming up with the correct configurations. The great thing about the errors was though, that I learned a lot, as I could see the logic behind bug fixing in Eclips.

The afternoon part of the workshop was hands-on (difficult to blog as my hands try to get going with all the provided guidelines). But below is a bit of the 'theory' parts that Silke and Eric gave during the morning.

what is android, what is it made off?
android is a mobile OS based on Linux (Andre!)
it is developed for mobile, so you can leverage resources that are already on the phone, so you can use what the phone has (if it is available on the phone)
apk = jar (zipped up folder of files)
assets: all of the files (where your native web stuff will go)
meta (lib of all the other files)
res (resources, drawable items...)
androidmanifest.xml: is corner piece of the architecture= what is going to launch, what type of activities are allowed to run.
classes.dex: where all the classes go (this is typically android, not java related)
resources.arsc (zipped version of resources map)

what is an app made off?
set of activities, youc and spread activities across different apps
it allows the user to have a seamless experience, although there are a lot of different parts in it.
activity = framework in which the views can run (cfr view controller of iPhone)
content provider: = allows information to be exchanged with other application, but in a structured format (=security wise, every app runs in its own space (typical linux), this prevents people from corrupting other content). e.g. gps is used and you come up with mean distance, this might be useful for another app, you can exchange it with other app.
service = everything that demands more than a bit of time, you can put it in the service section, because this will ensure the user interface will not be taken up with processor calculator time.

component Activity, what does it have inside?
view: you can add any view on the next one (the one owns the other, long branch of tree) = hierarchy of views

component Broadcast receivers: this broadcasts data from an app or an activity to be able to link outcomes with it. It is event driven and for all that are willing to listen.

design before development: needs to be VERY clear, because you want a clear design before asking the developers to go ahead with it.
(ask weblink to Silke or Eric, for they have example links)

user interface guidelines (ready mades available) you can make everything you want to design (icon, menu design, widgets, activity and task ... guidelines). Look at guidelines delivered by android, for it has solid guidelines to get the best kind of mLearning and user experience. Also important to have a similar look and feel!

(android phones have voice recognition to get google search with voice recording - Inge look it up)

Inge question: can you pull in a personalized video that you rename after having it recorded with your android phone: generic personalization is possible if you use some basic java programming

what we saw in the afternoon:
  • how to install all the necessary software to build an app
  • links to reference material build by them (really great and demonstrative ppt)
  • how to customize the template they provided
  • how to publish
  • what to look out for when you will be publishing your app (legal issues: copyright, tracking possibilities...)
  • what they take into account when building an application (guidelines, keep up with what is out there, listen to other developers, always connect to your users (offer them a way to contact you when using an app)
  • and: great bug fixing tips

If you ever have the time (and rush) to follow one of their workshops, do it, both Eric and Silke keep good pace to get information across, as well as getting participants on track. Really amazing team work btw.