HCI ASSIGNMENT 31. Match Experience & ExpectationsWhen using a product or service for the first time there is likely to be an element oflearning needed to get to grips with it. This learning curve can often be anuncomfortable experience especially if the proposition doesn‟t feel familiar.By matching the sequence of steps, layout of information and terminology used with theexpectations and prior experiences of the user the friction and discomfort of learning anew system will be reduced.Matching your audience‟s prior experiences and expectations is achieved by usingcommon conventions or UI patterns.2. ConsistencyAs well as matching people‟s expectations through terminology, layout and interactionsthe way in which they are used should be consistent throughout the process andbetween related applications.By maintaining consistency users learn more quickly, this can be achieved by re-applying in one part of the application their prior experiences from another.An added bonus of keeping elements consistent is that you can then use inconsistencyto indicate to users where things do not work the way they might expect. Breakingconsistency is similar to knowing when to be unconventional as mentioned above.3. Functional Minimalism“Everything should be made as simple as possible, but no simpler.”The range of possible actions should be no more than is absolutely necessary.Providing too many options can detract from the primary functions and reduce usabilityby overwhelming the user with choices. To achieve the zen of „functional minimalism‟: Avoid unnecessary features and functions Break complex tasks into manageable sub-tasks Limit functions rather than the user experience4. Cognitive load
Cognition is the scientific term for the “process of thought”. When designing interactionswe need to minimise the amount of “thinking work” required to complete a particulartask. Another way of putting it is that a good assistant uses their skills to help the masterfocus on their skills.We need to understand how much concentration the task requires to complete it andcreate a user interface that reduces cognitive load as much as possible. A good way toreduce the amount of „thinking work‟ the user has to do is to focus on what the computeris good at and build a system that uses the computers skills to the best of its abilities.Remember that computer are good at: Maths Remembering things Keeping track of things Comparing things Spell Checking and spotting/correcting errorsIn User Experience terms engagement measures the extent to which a consumer has ameaningful experience. An engaging experience is not only more enjoyable, but alsoeasier and more productive. As with many things engagement is subjective so thesystem your designing must engage with the desired audience; what appeals to ateenager is not necessarily what their grandparent would also find engaging. Beyondaligning with the appropriate users, control achievement and creation are key.The user should feel like they are in control of the experience at all times, they mustconstantly feel like they‟re achieving something and also be able see the results throughpositive feedback or alternatively feel like they‟ve created something.In his book „Flow‟, MihalyCsikszentmihalyi describes a state of optimal experience,where people are so engaged in the activity they‟re doing that the rest of the world fallsaway. Flow is what we‟re looking to achieve through engaging interactions. We shouldallow users to concentrate on their work, not on the user interface. In short keep out ofthe way!6. Functional LayeringThe Pareto principle (also known as the 80-20 rule), in the context of interaction design,is the rule that 20% of the functionality is used 80% of the time. Therefore we shouldmake the most common or important functions easiest to find. We can do this by hidingor reducing the prominence of infrequently used or advanced functions. Look for functions that are not essential to the core tasks, or which are shortcuts for advanced users.
Consider introducing default settings and preset choices for new users or people who either don‟t wish to or aren‟t experienced enough to access advanced functionality.Functional layering allows experienced users to access advanced functionality easilywithout hindering beginners. The idea is that as a user progresses they will naturallydiscover how to access such features without being overwhelmed early on.7. Control, Trust &ExplorabilityThese three elements are fundamentally important to any system. If users feel in controlof the process they will be more comfortable using the system. If the user is comfortableand in control they will trust that the system will protect them from makingunrecoverable or unrecognised errors or from feeling stupid. Trust inspires confidenceand with confidence the user is free to explore further.8. Error Prevention, Detection & RecoveryThe best way to reduce the amount of errors a user makes is to anticipate possiblemistakes and prevent them from happening in the first place. If the errors areunavoidable we need to make them easy to spot and help the user to recover from themquickly and without unnecessary friction.Error PreventionPrevent errors by: Disabling functions that aren‟t relevant to the user Using appropriate controls to constrain inputs (e.g. radio buttons, dropdowns) Providing descriptive, clear instructions and considering preemptive help As a last resort provide clear warning messagesError DetectionAnticipate possible errors and provide feedback that helps users verify that: They‟ve done what they intended to do What they intended to do was correctIts important to remember that providing feedback by changing the visual state of anobject or item is more noticeable than a written message.Error RecoveryIf the error is unavoidable provide clearly marked ways for the user to recover from it.For example provide “back”, “undo” or “cancel” commands.
If a specific action is irreversible it should be classed as critical and you should makethe user confirm first in order to prevent slip ups. Alternatively you can create a systemthat naturally defaults to a less harmful state. For example if I close a document withoutsaving it the system should be intelligent enough to know that it is unlikely that Iintended the action and therefore either auto-save or clearly warn me before closing.9. MousingIn my daily interactions „mousing‟ is becoming less of an issue as I begin to rely moreon touch screen interfaces such as my iPhone and iPad. However, in the classicdesktop environment „mousing‟ relates to the ease in which you are able to movebetween controls, which is described best through Fitts‟ law.“The time required to click an object is proportional to the distance and inverselyproportional to the object size.” Fitts‟ lawFitts‟ law is a model of human movement in human-computer interaction (HCI) andergonomics which predicts that the time required to click an object is proportional to thedistance and inversely proportional to the object size.With key functions or sequential mouse-operated controls we need to maximise the sizeof the controls and minimise the distance between them. This not only improvesefficiency but in certain instances can reduce the risk of error. Consider what the most common or typical mouse movements will be on each screen. Where possible, place elements that will be used together in close proximity to each other. Be particularly conscious of transactions that require a combination of mouse and keyboard controls. Consider ways to optimise for both styles.10. AffordanceAffordance is the quality of an object that allows an individual to perform an action, forexample a standard household light switch has good „affordance‟, in that it appearsinnately clickable. In short the physical properties of an object should suggest how it canbe used. In the context of user interfaces, affordance can be achieved by: Simulating „physical world‟ affordances e.g. buttons or switches or keeping consistency with modern web standards or other interface elements e.g. underlined links or default button styles.11. Hierarchy of Control
The hierarchy of influence between elements should be clearly apparent. Generally,controls which affect an object, should be grouped with the object, such as zoomcontrols on a map.Controls which influence a group of objects should be associated with the entire group,forming a hierarchy.