The web initially took off thanks to the DIY efforts of many millions of self-taught web developers. Many people (including myself!) learned to build websites thanks to the ability to ‘view source’ in browsers. We learned by studying (and cutting and pasting) the HTML source code of the websites we admired.
The same openness and learnability is not there for mobile apps – unless their source code is released, that is. Even then very few users know how to go to look for it. My project Creative Code is inspired by a sense that we should also be able to “View Source”, tinker with and customise our mobile apps, thus driving interest in and knowledge of mobile coding on the most accessible platforms available. Through the series of customisable open source youth culture apps that we are building and testing for Creative Code we want to spark a DIY ‘appmaker’ DIY spirit among young people. While there are many comprehensive online resources available for this, they are somewhat inaccessible to the majority. Young people are fascinated by technology but they have shockingly limited opportunities to learn to code on computers – fewer than 1% of South African Grade 12s have the opportunity to study Information Technology at school level. After-school programmes like Creative Code are limited by young people’s very restricted access to computers. While people in urban areas generally have a level of internet access via mobile phones, they certainly do not want to spend all their airtime downloading Khan academy videos. Furthermore the web-based live-coding environments do not work on mobile browsers.
Until recently mobile coding seemed pretty far away – apart from some simple tutorials and visual tools teaching very young children the principles of programming. Recently this has changed with Mozilla’s Appmaker and Microsoft Research’s TouchDevelop, which, like APDE, allows on-device coding. We have elected to use APDE because it allows on-device coding in Processing, my favourite language (Java-based but designed around the needs of artists and other interesting people) and moreover it’s a mobile IDE which is not cloud-based. This may seem somewhat old-fashioned but it does means it can be used under our usual circumstances of limited or intermittent connectivity.
After four months of preparation, Creative Code is all set now to launch mobile coding lessons that can easily be edited and adapted on Android phones. We will try out these lessons during a series of three workshops that centre around developing animated, playable stories, made with our new app, The Department of Sharing.
The idea of making interactive, sharable stories was inspired by discussions I had with two young writers, Anathi Nyadu and Vhuthu Muavha. I met them in January 2015 at a networking meeting for South African organisations working in the mobile literacies space (hosted by the Goethe-Institut Johannesburg). Anathi and Vhuthu were as engaged by games and instant messaging as they were by reading stories on their phones. They were at the meeting because their love of reading had led them to write their own stories, and publish them through the Fundza Fanz programme.
A global movement to develop mobile reading has taken off since the m4Lit project launched in South Africa in 2009. See, for example, the recent UNESCO study Reading in the Mobile Era surveyed users of Worldreader/Binu and presented new quantitative data around the prevalance and implications of reading on mobile devices in developing countries.
As a result, a wide range of organisations provide reading materials designed to be read on cellphones.
Anathi and Vhuthu brainstormed with me about how text-based mobile stories would be more attractive if they could be given more gamelike features such as interactions, branching and animations. This was where I first developed the idea for the Department of Sharing. It is a Processing app for making and sharing animated, playable stories.
Collocated sharing or ‘side-loading’ (copying stories to a friend’s phone via Bluetooth or cable) is a very important feature of the app. For example, when we were doing the research for m4Lit, readers complained that they could not download mobile stories to read them later and share them with their friends. Similarly Daily Sun users post their phone numbers so that other readers can send them the videos published by the Daily Sun on Youtube via Whatsapp. (This way they keep their own copy on their phone and can watch it and share it without using their airtime). The Department of Sharing creates cc licensed stories which belong to anyone who might be interested in reading them and which promote creative commons licenses.
Department of Sharing runs in the Processing mobile IDE, APDE, which allows on-phone editing and vastly simplifies the process of exporting from .pde to .apk files (a Herculean task for beginners). The first sharable story was completed using artwork and a game story from Khazatown Blues, a Mario mod designed in 2014 by five Grade 12 students.
When published on Android phones, Department of Sharing stories are playable with written stories and simple interactive visuals. Since Android is popular but still not ubiquitous, it is really important to be able to give stories to people who are using simple feature phones rather than smartphones (running Android, Windows or iOS). For this reason, stories created by the Department of Sharing can be exported in more basic formats – e.g. images or gif animations, such as the one below.
The idea here is simple – there are plenty of cloud-based mobile reading libraries, including Yoza, Fundza, Worldreader, and the African Storybook Project. Yet it is surprisingly difficult for people to create their own mobile stories and share them with those around them without needing to use their airtime to access a website or join a cloud-based service such as Facebook or Binu.
There is still a long journey ahead on the road to mobile coding, but I am very grateful indeed to UCT Strategic Equipment Fund and the Shuttleworth Foundation – without their support these big steps towards a mobile coding curriculum wouldn’t have been possible.