Mobile devices such as phones and tablets can provide flexible and timely access to learning resources and learning experiences. Designing a mobile application to address a unique problem or serve a specific niche task is possible with some basic programming skills and an innovative idea. Helen Ginn, a Biochemistry undergraduate at Magdalen College developed CMol, an iPhone and iPad application that delivers beautiful, colourful and interactive 3D depictions of from the Protein Data Bank, enabling students and researchers to analyse proteins on the go.
Whilst doing a summer internship at the Division of Structural Biology Helen wanted to be able to carry around her biomolecular analysis work with her. A laptop being cumbersome, she looked to see if there was a relevant app she could install and use on her iPad. There was, however its features were limited and it did not provide her with all the information she needed. She wondered if she could produce something better for her own use.
Helen decided to develop an app for her iPad and iPhone. She became a member of the iOS Software Developer Program which provides a wealth of resources including videos, sample code, technical documentation, Apple Developer Forums, graphical debuggers, and performance optimisation tools. It also allows you to put your apps on the Apple Store. She developed the app using the free dvelopement environment XCode and programmed in Objective-C (primarily used for Apple’s Mac OS X and iOS, built upon the C programming language). She began by trying to emulate the features of the app she had downloaded originally and worked with example code from other apps to add further features. She refined her bug testing, logically working through errors to reach solutions:
During the development of my app I encountered this error like my proteins had exploded, with countless lines going all over the screen. It took me about a week of continuous effort to solve this bug, exhausting almost all alleyways in the process - but once I was hooked on the project I wasn’t going to let it defeat me, and eventually I discovered the issue and corrected it.
Helen distributes CMol on the iOSApp Store to iPad, iPhone, and iPod touch customers around the world.
CMol is the first application in the App Store to provide in-depth tools to analyse the structures of biomolecules and has sold over 450 copies to date in 35 different countries. Helen has gone on to develop other apps and says:
I’ve had lots of positive feedback on my apps in the App Store. The two scientific ones (CMol and Biochemistry Reference) are the most popular, whereas the word game (War of the Words) sells a few times a week. Interestingly, the game is very popular with my friends - I’ve had them play it on a fully charged iPad until it went flat 7 hours later!
[CMol] is very handy to have on my iPad to show structures to people during conference coffee breaks. – Customer feedback, App Store
- Don’t be put off if you do not know C or Objective-C. Many programming concepts are not language specific, take what you’ve learned in one, such as, Php and start applying it to C (start with C rather than Objective-C). The syntax is completely different, but the concepts remain the same. If you do not know any programming OUCS offers courses to get you started.
- Start by giving yourself manageable tasks instead of launching into the fantastic complex 3D game you have in mind, write the “Hello World” app, an app to easily convert Celsius measurements to Fahrenheit, an editable database of your textbooks, and grow from there. Working through a textbook is not necessary, I don’t own a single programming textbook. Example apps you can download the code for are your friends.
- Make backups at regular stages and make backups before starting any new features.
- The IT Learning Programme at OUCS provides introductory programming courses, including Programming Concepts, C++, Java and PHP