Donald Norman is one of the founding figures in the field of interaction design and usability. His most famous book is “The Design of Everyday Things” and it outlines several key concepts for understanding and designing good user interfaces. Our app was designed with these concepts of feedback, constraints, consistency, visibility, affordance, and mapping in mind.
Feedback is important for a user’s interaction with the app. We have implemented feedback in many screens of the app. For example, in the Login screen, the user is required to either be registering for the first time, or enter a username and password that has been stored in the database. If they enter a username that is not correct, they get an alert telling them that they need a better username. If it’s the wrong password, the alert specifies that. There are some informational screens that the user can select as well, such as when the app asks them if they have hypertension. If they click the “yes” button, the app immediately warns them that it might not be suitable for them. In the TimeFrame page, the time of the user’s blood pressure measurement is reported back to them, allowing them to review the time they have submitted.
Constraints are useful in order to narrow down the possibilities of use, so that the user can focus on what is achievable. By using time and date spinners instead of EditTexts for time and date entry, we ensure that the input is in proper, app-usable, format. Also we tried to keep the option choices down to two per screen. This way the user is not overwhelmed, and the possible workflows through the app are more clear.
This app echoes the mechanics of other known apps in order to maintain consistency, which allows the user to predict the mechanisms of the app based on their similarity to other apps. For example, a field with a line under it and a blinking cursor indicates that it is meant to be filled out (an EditText). Our buttons are rectangular and labeled with an action or a question, indicating to the user that they can indeed expect these to have button functionality. This consistency is maintained within our app as well.
Visibility is the concept of communicating to the user what is happening inside the app. They should know roughly what is going on, even if they are not directly involved in that process, if it is relevant for them to know (they wouldn’t necessarily need to see every database call, for example). In our app, we actually intentionally restricted visibility in some areas in order to achieve our aims. We don’t tell the user that there are several screens of registration, for example, in order to entice them to be more likely to finish each screen, in the way that a personal trainer might tell you “five more minutes” twice: to make your work out at your maximum rate for ten minutes!
Affordance is achieved by making the appearance of tools match their possible actions, such as having a kettle with a visible spout, to use a real-world example. An example in our app would be a time spinner, which reminds one of an old-fashioned alarm clock, indicating that the time can be changed by scrolling.
Managing user expectations is one of the core principles of interaction design; one way this can be achieved is through mapping. An example of mapping in our app is that when the user enters their blood pressure, the systolic value is to be entered to the left and slightly higher than the entry field for the diastolic value. This is similar to the way blood pressure is normally expressed, as in “your blood pressure is 120 (systolic) over 80 (diastolic).” To further back this up, the fields are labelled, and even a hint is given to the user: “Enter systolic (larger number)”. This makes this key entry field very clear to the user.