Here is a brief overview of how I created the Android application with the HEAT content. It is very much a demo/prototype application, so I’m sure there are many other ways this could be done (maybe in a more generic approach).
I used the plain zip download format of the HEAT modules (eg: http://labspace.open.ac.uk/blocks/formats/download_unit.php?id=6612) – which essentially provides a set of static webpages of all the module content. I noticed a couple of issues with these downloads, for example some had incorrect references to images, and the contents page wasn’t in quite the right order, but no big problems.
I then used the PhoneGap framework to turn this content into an Android application, just applying a revised stylesheet and adding a new header/footer for navigation. Initially I tried working with a whole HEAT module, but we found there was just too much text for anyone to be able to read comfortably, so we cut the content down to just the essential parts (introduction, learning outcomes, summary and SAQs). This was the part that probably took the most time, since it was a manual process to refactor the content in this way.
I’m sure there are ways this could be done in a more generic and less-manual way, perhaps using the OU XML to generate only these specific sections, but I suspect that we will always want to edit the content slightly for mobile devices, especially since we’ll be adding videos and perhaps some audio content too. Using the PhoneGap framework means that we should easily be able to transfer this application over to iPad/Blackberry/Windows Mobile applications with very little effort.
For embedding the videos, I used a PhoneGap extension to allow the embedding of local video content. The videos we’re testing out are from the Global Health Media Project, and are stored on the phone/tablet local SD card. We could include the videos directly in the Android apk package, but this is likely to make the apk quite large, plus we’ve not yet finalised which videos we’d like to embed.
The final part to all this is the interactive self assessment exercises. This is using a web app I have been developing over the last few weeks (mQuiz) and is designed to allow quizzes to be run offline. The quiz can be created then stored as a JSON object and a javascript library is then used to display the quiz to the user. If the user has an active internet connection then their responses are sent back to the mQuiz server, if they are working offline their responses are kept until a connection is available.
So we now have an Android application which can be run completely offline, with all the content, videos and quizzes pre-loaded onto the phone.
All of this is a work in progress, the code is up at: https://github.com/alexlittle/HEAT-Training-Android. I’m sure there are areas where improvements to this could be made – any suggestions welcome.