Software Engineering for MobileThis is the third part of our series about the five elements of software engineering for mobile. Part one was about the main differences and challenges of software engineering for mobile vs “conventional” software engineering and part two was about making the right technical platform choices.

This blog post series is based on a keynote talk to computing students at the Imperial College during the kick-off event for their summer group projects, aimed at the development of an innovative web or mobile-based app. The talk should help the students getting a more holistic view about software engineering for mobile and highlight the following five key elements:

  1. Make the right technical platform choice for your context (Part 2)
  2. Get the UX right (this part)
  3. Choose the right methodologies in the areas of building a business, customer development and product development (Part 4)
  4. Enrich the functionality of your app by integrating Internet-based APIs (Part 5)
  5. Leverage the power of tools (rather than reinventing the wheel) (Part 6)

In this third part I cover the second element “Get the UX right” in more detail. We will publish another part every week, so make sure to check back soon.

Key element 2:

Get the UX right

The second key element is the user experience (UX). In my talk I covered UX only very briefly because another speaker at the event, usability expert Cerys Willoughby, covered it in detail. I would like to refer to Cerys’ comprehensive write-up on “Usability for Web and mobile interfaces.” She discusses what usability is and what it isn’t, gives a definition (according to ISO, usability is the “extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use”) and provides some good and not so good usability examples. The figures below show two apps doing the same thing (scan a bar code to look up prices), but the top example is overcomplicated.

Bad usability: barcode app

Good usability: barcode app


In my talk, I wanted to get across two key messages related to UX:

First, UX is everything a user experiences with an app — not just the graphical user interface. Next to design, it also includes multi-modal input and output, support, customer care, responsiveness, handling updates, app descriptions, billing processes (if the app includes purchase features), marketing and communication via supplementary channels like a website, and social aspects like integration with social media networks.

What is all UX

According John Miller’s IEEE Journal of Internet Computing article “The User Experience,” user experience “encompasses much more than the traditional ‘user interface’ issues, such as screen design and command structure. Rather, it’s a broad collection of user-centric issues that cut through the full extent of a project.” Hence, I consider usability part of UX.

User acquisition and especially retention are big challenges in mobile. UX can make a difference.

My second key message is that UX on mobile is substantially different than on desktops. It is actually a lot richer because a lot more means can be used for user input and output. The recommendation is to not simply mirror what worked on desktops and replicate for mobile (Cerys mentions some of these examples in her article, too). Instead, start with the mobile UX design from scratch. Provide users with a rich UX but keep it purposeful and don’t overload.

Google's Principles of mobile site designI found this recent and very practical guide about “Principles of Mobile Site Design” by Google with 25 easily digestible recommendations. This guide is about how to increase usability originally for Web sites for mobile; but these can easily be transferred to mobile apps, too.


UX: 5 test users are enoughUX and usability is a lot about user testing and getting direct feedback. The good news is that this testing does not have to be super excessive and hence expensive. Jakob Nielsen – one of the big names in the UX field – argues that UX testing follows almost a Pareto distribution: A small number of users already reveals the biggest UX problems. More than 5 users is already a waste of time and money. Check his article “Why you only need to test with 5 users.”


Finally, this video embedded below gives another very practical advice about usability testing.


In this part, I discussed the importance of getting the UX right. In the next part of our series The Five Elements Of Software Engineering For Mobile (Part 4) I will cover choosing the right methodologies.

Find Part 4 here.