How students at the University of Lincoln used prototyping to prioritize user-centered design in mobile app development.
Smartphones are now the most popular way to surf the internet, meaning that developers need to be ever more aware of usability and user-centered design in mobile app development. In this guest post Derek Foster, Lecturer at the University of Lincoln’s School of Computer Science (LSoCS), explains how Justinmind helped his students adopt a ‘design first, code second’ approach to mobile app development. The ability to rapidly create high-fidelity prototypes, run usability studies and iterate allowed students to focus on user experience and requirements, developing a deeper understanding of usability. Derek explains what made Justinmind suitable for the job of encouraging his code-loving students to prioritize user-centered design.
Prototyping with usability in mind
With the global uptake of smartphone platforms growing exponentially in recent years, particularly for accessing highly personalised social media, news, streaming entertainment, and games, all through the lens of ‘mobile apps’, developers more than ever need to be mindful of the user experience and usability aspects of app development. The Lincoln School of Computer Science (LSoCS) in the University of Lincoln has redesigned its final year Mobile Computing module to adopt a ‘design first, code second’ approach to support a robust understanding of end-user expectations when using mobile devices. LSoCS students are equipped with skills in Human-computer interaction methods to elicit user requirements and develop interaction scenarios, it was a logical step to then scope high-fidelity mobile prototyping tools to quickly realise and rapidly ‘bring to life’ these identified requirements and interactions.
Best practice through prototyping
The ‘design first, code second’ approach is all too easy to avoid in subjects such as Computer Science. Students in this space generally gravitate more towards code development as their comfort area, with design seen as ‘secondary’. It is essential for developers to acknowledge the importance of good design practices and involve end-users throughout the process, the outcomes of which can then be realised through code.
With a relatively short window to teach native mobile development (Android) of around 3 months in the LSoCS Mobile Computing module, it was challenging to fit in suitable curriculum around mobile design. To this end our goal at LSoCS was to engage students around mobile design by adopting a suitable prototyping tool that was highly accessible, but powerful enough to implement bespoke, demonstrable features in a portable format (web browsers), as well as on physical devices. Effectively we wanted students to rapidly prototype desirable features, as derived from user-requirements, running on a prototype with minimal time and effort. Students could then run short usability studies on the prototype and go through several iterations until a viable prototype is reached. Achieving this by implementing suitable learning materials and an assessment strategy into our curriculum was a lengthy process, the majority of which was taken up by investigating the myriad of prototyping tools currently on the market.
Designing for user experience at LSoCS
With an array of mobile prototyping tools currently available, LSoCS took a close look for those that covered the major mobile OS’s, with a view to selecting a suitable tool for inclusion in delivering content for teaching in Mobile Computing. As the tool would be used exclusively in an academic environment we were keen to secure academic licencing, and after several pilot tests with other tools we sourced Justinmind and were delighted with its ease of use as well as its more advanced features to emulate common app functions such as saving data, and the expression builder to help construct complex logic.
The Justinmind tool was easily deployed across our lab machines in time for the new semester, with first class support from the team at Justinmind for any queries I had on deploying in a lab setting. For the 140 students enrolled on the Mobile Computing module, mastering the use of Justinmind was a requisite for their coursework. To this end students were asked to design a prototype mobile application using Justinmind that addressed one of the following topical and societally relevant themes:
- Health & Wellbeing
- Sustainability and the Environment
- Connected Home and Community
- Arts, Culture and Creative Industries
- Security and Privacy
The coursework criteria specified that students should use Justinmind to support the design of their application by producing a fully functional Android prototype that encapsulates good mobile design, and attempt to follow Android’s material design principles. The UI assets and layouts integrated in Justinmind fully supported platform-dependent design considerations, with students making full use of them. Students were encouraged to view the Justinmind prototype as the design blueprint for their application to be developed in native code. Upon completion of their coursework, students had produced polished prototypes in Justinmind, and implemented the prototypes into native applications.
Prototype first, program second
Using Justinmind on the module has been a rewarding process for staff and students alike. With native mobile development a challenging skillset for students to become proficient at, it helped hugely to be able to quickly prototype their app concepts and step through desirable features and interactions before writing a line of code. Prototyping with Justinmind helped to engage students with their mobile development coursework, which ultimately led to better a better learning experience and attainment.
I highly recommend Justinmind to educators involved in the delivery of mobile development modules/courses, particularly where programming is top-heavy. Your students will thank you for it!
Derek Foster is a lecturer in the University of Lincoln’s Social Computing (LiSC) research centre,. He researches a variety of social applications and is currently interested in behavior change for sustainability. The School of Computer Science is based on the Lincoln campus in newly-developed facilities. The School holds a broad range of expertise in Computing Technologies and Information Systems, including specialisms in robotics and autonomous systems, computer vision and image engineering, medical applications of technology, social computing, games computing, cultural computing and business computing.