Monday 20 April 2015

What is UX? Why you should care as you design and develop that app.

User experience (UX) is a feeling that users or cosumers develop before, while and after using or consuming a product, good or service. Being a mobile app developer on the giant platform called android, I will limit and constrain my definition of user experience to software and apps in particular. In other words, user experience is all that you need to know, think about and do to ensure that you are developing the right app for the right people. We will talk about UXD in the near future. Developers usually think about code, and rarely come to think about user experience and user interface of their apps.

Some do not even know which one is which. Using this scenario, be informed that there is visual and non visual code forming the apps we develop. Think of any visual code as that code which draws pixels on your screen in order to provide that user interface that users will interact with. The visual code is directly responsible for the user interface of your app and user experience as well. The non visual code is not directly responsible for the user interface but it affects the user experience of your app. This is the code at the back of your app.

Take an example of an app that helps its users to take orders for a particular restaurant, it has a good user interface but when you tap to see the menu it does not show a thing. The user interface is good but the user experience is bad in this case. So to develop an app that has a good user experience, you should have the creative vision and design principles in mind as well as doing the engineering right. adhere to the best practices of android.

 I wish to share the six fundamentals of user experience that will help you ship the right app.

Focus on the user, put them at center of your decision making such that you do the app for them and not you. Understand their needs, motivations and constrains. So you need to have some personas to work with.

Do your research to understand the product area and your competitors' strength and weakness. You will need to validate your assumptions with friends, family or likely users and adapt your plans to what you learn.

Strive for simplicity, for all that you do ensure it is simple for your users to use and enjoy. Just make it simple with no complexities for your users.

Prioritize speed, as you keep the user journeys simple, users should take the least time to do the task they have to do in few steps and intuitively as possible. Make the most important task the easiest to accomplish and present them in a logical and consistent manner.

Never stop learning, seize any opportunity to learn from the insights you get about how your app is being used. Treat the feedback with care to ensure you address critical issues which can lead to improved user experience. Boy, listen to your users.

Solve a big problem, do not just develop an app. Solve a big problem and be ambitious in your choice of product area and approach. Look around you and see how the application of technology can change things.

Be reminded that access to your competitors is just a tap or two away, so if your app is not awesome then users will opt for another alternatives.

Hope you get some cool inspiration from the following resources.
Consider taking UX Design for mobile developers course to learn how to improve your user's experience and to become a design minded developer, you can have it for free at Udacity.
You might also need to see what is new in android about design.
 I got some inspirations here.
This was a talk at Google IO 2014 about Design Sprints.

Thank you for your time, hope you have some inspiration to do a great app with a good user experience for this year's Africa Android Challenge (AAC).