Comment on the design and usability principles in the DFAB chapters. What do you agree with? Think is useful? What is missing? Out of date?
Permanent link to this article: https://www.gillianhayes.com/Inf231F12/r2-design-and-usability-from-dfab/
34 comments
Skip to comment form ↓
Armando Pensado Valle
October 15, 2012 at 12:51 am (UTC 0) Link to this comment
Although not a principle per se, the idea of personas and scenarios described in the design process chapter are one of the most useful concepts of design in my opinion. Some of the most usable software I have designed has been when I know exactly who was going to be using it and kept them in mind throughout the entire process. Personas and scenarios are a great way to do the same when you don’t have the luxury of personally knowing the user.
The principles that I think are timeliness and have been improving in technology a lot (in some areas more than others of course) are learnability and robustness. These are intertwined of course, since a user will very quickly give up learning a system that is not reliable. Most importantly, both of these principles are essential to bringing technology and its power to more types of people. As computers take over the world, making sure they can be used by everyone will be a key issue.
I agree that standards are an important principle for design and usability, but at least in technology I think they have become less important to think about. Computers in all shapes and sizes have been around long enough now that certain standards have developed and are pretty well established. For example, displaying content that is too big for the screen should be scrollable either by mouse or by touch. Not as much effort is required to design a computer system that sticks to standards as opposed to other aspects of design and usability.
Anirudh
October 16, 2012 at 4:37 am (UTC 0) Link to this comment
Agree with the point the point that personas and scenarios captures fringe/corner cases in design but can this alone be a reason to dub this is a great/good principle? I mean is it still a core-principle if its only use is to capture corner case? Thinking out loud here: Can it be used to capture all core/regular cases also, if yes then it is an outstanding principle else it becomes just “one of the principles”.
Any comments?
Armando
October 16, 2012 at 6:54 pm (UTC 0) Link to this comment
I would argue that personas and scenarios let you capture much more than corner cases. I would say they are a concrete method of the principle of “keeping the user at the center of design” because they let you actually “see” who the user is. When you can think of the user(s) and their actions in tangible ways then you can make better decisions and trade offs in everything from small corner cases to the overall flow of the artifact/system.
Armando Pensado
October 15, 2012 at 12:51 am (UTC 0) Link to this comment
Although not a principle per se, the idea of personas and scenarios described in the design process chapter are one of the most useful concepts of design in my opinion. Some of the most usable software I have designed has been when I know exactly who was going to be using it and kept them in mind throughout the entire process. Personas and scenarios are a great way to do the same when you don’t have the luxury of personally knowing the user.
The principles that I think are timeliness and have been improving in technology a lot (in some areas more than others of course) are learnability and robustness. These are intertwined of course, since a user will very quickly give up learning a system that is not reliable. Most importantly, both of these principles are essential to bringing technology and its power to more types of people. As computers take over the world, making sure they can be used by everyone will be a key issue.
I agree that standards are an important principle for design and usability, but at least in technology I think they have become less important to think about.
Computers in all shapes and sizes have been around long enough now that certain standards have developed and are pretty well established. For example, displaying content that is too big for the screen should be scrollable either by mouse or by touch. Not as much effort is required to design a computer system that sticks to standards as opposed to other aspects of design and usability.
Chandra Bhavanasi
October 16, 2012 at 3:05 am (UTC 0) Link to this comment
I totally agree. Personas and Scenarios are the way to go. They are highly useful, especially for complex business products and applications where different users use different parts of the same application. Scenarios, on the other hand should be described for each persona, often multiple, and should give a realistic, typical scenarios of how the persona uses your application.
One of the recent things that I’ve seen (or is outdated?) is people using mood boards. They are not exactly prototypes, but they give a “feel” of the application. They have color palettes, textures etc., and give a bigger picture of how specific parts of the application look like, which are of course not down to the pixel. UX folks at my work had a huge wall full of mood boards, and post-it’s by the side for anonymous feedback, which is kind of fun!
Xinlu Tong
October 15, 2012 at 5:14 am (UTC 0) Link to this comment
Among the design principles stated in chapter 7 of DFAB, I think learnability is most useful, because if the user cannot start interaction with the system smoothly, he or she will probably feel frustrated and quit to find an alternative product. Although robustness is also critical for user experience, some of its principles are related with design details and can be considered later. Moreover, many of the functions regarding of robustness is easy to add even after implementation. In addition, I think flexibility is not so important, at least for many experienced users, who are familiar with many representations or interaction ways that they can stand lack of multiplicity.
There are also many distinct design principles within the range of learnability. In my opinion, Familiarity and generalizability are the two most important principles, since a system meeting these principles can significantly save users’ learning time. Take iPhone for example, although it’s very different from traditional smart phones and has more functions, people rarely need any time to learn how to use it or refer to the user guide. That’s because operations of iPhone are close to our intuition. We can turn the page of an ebook just like what we do to a real book. We can zoom in and out a picture in an explicit way. When we rotate the phone, layout of application will also adjust as we have expected.
However, these principles are too abstract for practice. When we design, we cannot frequently check every item in the whatbility-table to reflect on our designs. The author later also listed some standards, guidelines and golden rules which are more practical. But still I think these are not elixir to release our mind to analyze and reflect by ourselves, and designers should not be the one to decide whether the system is useable or not. There are users. They are different from us.
Karen
October 15, 2012 at 10:48 am (UTC 0) Link to this comment
I agree with all Armando that the principles are timeless–principles are meant to be However, I think the more specific standards are constantly evolving.
The principle of familiarity particularly stands out to me. The text mentions that familiarity can enhance a new user’s ability to effectively interact with the object, since the user is able to bring in existing knowledge into this interaction. When I watched the assigned video last week, I felt that the new grocery carts were sure to fail from the marketing standpoint because they were too different from the present designs. Overall I loved many elements of the concept, but felt that users and potential purchasers may not receive it well because the designers were trying to introduce too much at once (a walkie talkie, a new check-out system, use of small baskets only). This seems overwhelming to me–way too much for people to process at once. This brings me to what I felt the text was missing–the affective component of familiarity. The authors do a great job of describing cognitive components (e.g., being able to bring in past experiences into the new interaction), but I think we cannot ignore the affective aspect of human-computer interaction. I think that a huge benefit of familiarity is that it reduces fear and apprehension in users. As much as I love crazy creative divergent ideas, I think that they often have to be “reeled in” a bit to be embraced by the public. Incremental changes help a lot; I’m thinking of the Vibram 5-finger shoes as an example. They were successful with a niche population. Now many have taken the barefoot shoe concept and made it more traditional by getting rid of the 5-fingers, but keeping the other novel aspects (e.g., lightness, breathability)–and these seem to be even more successful because the average person is open to it–it’s not TOO different from what they are used to and thus helps to ease fear.
Martin S
October 16, 2012 at 12:06 am (UTC 0) Link to this comment
Timothy Young
October 16, 2012 at 2:36 am (UTC 0) Link to this comment
I have to echo Armando’s comment and say writing out personas and scenarios is an amazing tool to start scrubbing out edge cases that one may have never thought of. It also leads into the ideas of constraints – you can possibly separate what will work for enthusiasts and what will work for first time users, and what will work for one group and not the other. While trade-offs may emerge in the design process, I think that having real and tangible decisions will at least drive the design process in a productive direction, even if its wrong.
Human behaviour can present an almost unlimited amount of possibilities for interaction with the product and design, so I find these principles as a way to set definite guidelines to make reasonable design decisions around. In a creative process, it can be easier to have some constraints to guide the outcome rather than be given a blank canvas and be told to just “go”
Chuxiong Wu
October 16, 2012 at 3:13 am (UTC 0) Link to this comment
First of all, I want to say that I agree with Xintong’s idea that “, these principles are too abstract for practice”:-)
I think one of the useful concepts in the chapters is put the user first. Since the interface design is to design a human interface system that helps users to complete tasks in an efficiency way; a successful human interface design should be user design centered. In practice, we thought we understand users’ need. However, it always appears that we focus that the user how to execute tasks; not the way that how user or users like to execute tasks. In chapter 5, author lists several questions that allow us to think about how to get to know our users. Thereby, I agree with author that we have to understand our users. Personas and scenarios are significant that we need them to help design. The way I like to get familiar with our users is contextual interviews. Perhaps we will use this method to feel the practical environment in order to know users’ working behaviors and living environments.
Another one is design analysis. As book mentions, the purpose of users is to complete the task that they expect to finish; not the product itself. In this case, our analysis has to express the thoughts. Personally, I love Unified Markup Language to layout relationship (missing in the book).
In the book, the principles of the book present three main categories: learnability, flexibility, robustness. Furthermore, there are five E: Effective, Efficient, Easy to Learn, Error Tolerant, Engaging.
However, I think in the real world project. It’s hard to follow exactly the scenarios task analysis. Sometime the problems caused in “implement and deploy” section. Engineers would find that some features were hard to implement. As I know, the situation will be reported to “designer” to reconsider or redesign. This situation also applies to usability. Especially, there are many new interfaces that be used (tablets, virtual devices and etc); these new system should be considered.
Jie
October 16, 2012 at 3:22 am (UTC 0) Link to this comment
It is undoubted that the goal of interaction system design is to maximize the usability of the software product. There are three usability principles listed in chapter 7, which are learnability, flexibility and robustness. It makes perfectly sense that no one wants to use a system with a great aesthetic interface but slow or error-prone. In order to achieve the goal, we can follow the design principles to increase the usability. I agree that we should always stay focused on the user and understand our users. In requirements stage, we should think about users’ current situation and what they want to achieve, by interviewing, videotaping, talking to, or directly watching them, because we can’t take for granted that users would have the same interests or abilities as us. Besides these observational approaches, we might need to use imagination due to cost or some limitations. It doesn’t mean to imagine what we would do in that case, but what the user would do.
I think a good way to know your users is to combine persona and scenarios. Persona helps to describe the scope of intended users while scenarios, mimicking a real event, can force designers to think about the design in more detail and notice potential design problems. But scenarios are incomplete, because only one cannot describe all different aspects of interactions between users and computers. Therefore, we might need several scenarios to analyze all possible interactions.
When in design stage, designers still need the attitude of users focus. Now we should think about the interaction between users and the computer screen. Consider what information is required, what kinds of layout, color, order, alignment or decoration are needed. These design concerns lead to reduce the likelihood of human errors and increase the usability. Just like Apple’s multi-touch product, we don’t have to take much effort to learn how to use them, because they are accordant with our understanding of physical world.
Besides understanding the materials – computers, humans and their interactions, we still need to think about the economic benefits, because the final software product should produce profits. In some cases, you have to balance the trade-off between usability and a perfect system.
Matthew Chan
October 16, 2012 at 3:55 am (UTC 0) Link to this comment
Familiarity is my favorite principle. It is crucial to reduce cognitive load on the users, so they have have a delightful experience. For instance, can you name the 7 oceans in the world? or the 7 Dwarves? You’ll be thinking about that…
Yet, despite these principles, i think one thing every user interface/interaction/experience designer should do is to ignore them once in awhile and go with their gut feelings. Devices every where. Inspiration comes from so many of these devices and interactions to the point where one doesn’t have to study design just to know good design. One cliche person i think of is Steve Jobs. He had a good pulse on design. He didn’t take a design course, nor did he deal with a list of principles for design and usability, yet he was in touch with his intuition. He had his off days, but history speaks for itself. His lieutenants such as John Ives just have a fiery passion for design that these principles are embedded in their DNAs.
It’s odd that it’s easy to spot bad design, but not as easy to spot good design until much later. Luckily, iteration and prototyping are other key principles to constantly improve designs of products and experiences. The new thing designers need to consider now is sustainability design (i’m looking at you Apple)!
Xinning Gui
October 16, 2012 at 3:57 am (UTC 0) Link to this comment
I think the design and usability principles in these chapters are very sound, which can help us have clear procedures and evaluation methods of design. Especially, I love the “customizability” part. In my own experience, many softwares lack of adaptivity. They treat expert users as same as novice users. For example, there are no shortcuts for expert users to accelerate their tasks, which lead to inefficiency.
However, with the popularity of mobile devices, new challenges for design and evaluation methodology have emerged. The design and usability principles in this book may become insufficient for our design and evaluation. For instance, people use mobile devices almost anywhere and anytime, so usage situations are complicated. People’s privacy is easy to be revealed, and people are easy to be interrupted. In this sense, how to secure people’s privacy and how to deal with interruptions should be taken into account. Also, people usually need to connect their mobile devices to other devices, to share information with others or transfer data to their own devices. Therefore, the convenience of connecting other devices also needs to be considered in our design and evaluation process. Another case involves touchscreen-based mobile devices. This kind of devices has physical user interface and other special characteristics, consequently, new principles should be generated.
XIaoyue Xiao
October 16, 2012 at 4:11 am (UTC 0) Link to this comment
The principles to support usability, as mentioned in DFAB could be generally concluded into three aspects, namely learnability, flexibility and robustness.
Among theses tree points, I treasure flexibility most and usually pay much attention on it when evaluating the usability of software product. Flexibility, in one word, is to use as many as possible methods to make users have different ways to interact or change information with system. An instance at hand is the operating system of mobile phones. It is supposed to support the same function being available in different windows. Such as users could find editing text message button in home window as well as in address book. Another example is usually applied on web page design. The link of a specific page should be put in different other pages in order to provide convenience to users, which means that the pages who are browsed most could have link on site map as well as on some striking position on home page. Besides, in my opinion, the flexibility of a software product has positive affect to the learnability.
However, on the other hand, learnability and flexibility are a little subjective sometimes and it is hard to figure out if a software product is learnable and flexible enough. While, if users find any bug of the system, they could say that it is not robust enough. Nevertheless, engineers or designers of the software product can come up more use cases during the testing process to check the robustness of a system, which could be considered to be kind of objective comparing to the former two principles.
Anshu Singh
October 16, 2012 at 4:22 am (UTC 0) Link to this comment
Usability of a system is core to user-centered design. However usability metrics or usability specification is not enough to define “usability” of a system, as it is hard to visualize different aspects of usability at an early stage of software development. Actual measure of usability can only be made when the system is in the user’s hands or at least at user acceptance testing stage. For this we need iterative interactive system development via rapid prototyping. In my view storyboards are inefficient or outdated when we need to design multi level or complex software systems. High-level programming or Wizard of Oz concept can be used instead.
Usability can be enhanced with right principles and guidelines. Though these principles are abstract they can still help the design engineer quantify usability. Learnability, Flexibility, and Robustness are main principles with several sub principles. Having existing knowledge of computers I find synthesizability, recoverability, and customizability most intriguing.
Synthesizability- lets the user know of changes made upon his instruction. Example: If a user wants to proofread a word document he created; he gives a command to replace all ‘the the’ string with a single word ‘the’. Here the system should notify the user about every change made or the theorem would be replaced by theorem.
Customizability – allows the user to customize a layout on his will. This functionality gives a leeway to make changes to existing organization. Example: Compact, cozy, background color etc.
Recoverability- is undoing an action that was accidentally done. Features like Ctrl Z, error message before ctrl+shift+delete, recycle etc. facilitate this functionality.
Sreevatsa Krishnapur Sreeraman
October 16, 2012 at 4:23 am (UTC 0) Link to this comment
While evaluating how useful a design principle is, the domain or type of the system has to be taken into perspective. Extrapolating from what Armando and Tim suggest, the user personas and the scenarios in which the system will be used dictate the usefulness of the design principle. As the user persona, the scenario of use and goal change, the degree to which a certain principle aids the user changes. In my opinion, both robustness and learnability are useful, depending on the type of system. For example, in case of financial systems, even though other usability principles are important, robustness and particularly recoverability becomes the most important guiding principle. But, in case of systems of leisurely use, the learnability principle becomes more important because, users will be more forgiving if a system is a little slow to respond, but users will seldom use an application which is difficult to understand.
One of the principles I could think of is the engageability of the user with the interface. This is a factor that is has led to success of games like Angry Birds and Google Doodles. It could be argued that if the learnability principles are strong, it will make an interface engageable. But, there are some aspects like the amount of information needed to be processed by the user, which contribute to engageability.
Surendra Bisht
October 16, 2012 at 4:26 am (UTC 0) Link to this comment
As per DFAB, design and usability principles are divided into three broad categories namely learnability, flexibility and robustness. These main categories are further subdivided into specific principle.
In my opinion, a well designed system will let user interact with the system without referring to any manual. Operation of any user interface element should be obvious to user. If the interface performs in way that user think it does, it delights the user otherwise it is frustrating for the user. Hence predictability and synthesizability of interface are important for a successful design.
Responsiveness of system is also very important for the usability of the system. Not all user interaction take same amount of time. Some interaction are quick and some are slow due to system constraints. However, a good design will keep users informed about the state of a system. For example, during a file copy operation, a copy animation along with a estimated time left is far better than just a copy animation.
Customizability of a system is another important design principle. For example, a web application where user base is wide, it is hard to develop interface which will address every users need. Hence any kind of customizability which fits suits needs is a sign of good design.
Anirudh
October 16, 2012 at 4:27 am (UTC 0) Link to this comment
The principles highlighted in this chapter are : learnability, flexibility and robustness. Of these three principles, reflecting on my experience at work in the industry, I feel that learnability & robustness are of utmost importance.
My rationale for the above statement is that when I started off as a novice in the industry my experience with the electronic documents repository interface was in stark contrast to the principles of learnability and robustness. One such experience is when the interface went against the principles of predictability & generalizability by throwing screens at me which I never expected on a particular mouse-click. Another such violated principle was that of familiarity as it was broken due to my familiarity with IEEE digital library and my expectation that the repository interface would be similar to IEEE one. Also, on observation, it can be seen that the principles of Observability & Task conformance are linked to the previously mentioned experiences.
Hence as per my experience, learnability and robustness are essential for a user to start using/exploring a system. Lack of these principles dissuades a user from exploring a system which can potentially impact the marketability of the system as it may receive negative reviews.
As a footnote, in my opinion, the principle of flexibility is latent and is often ignored by the user as “learnability” kicks-in when flexibility is compromised.
Parul Seth
October 16, 2012 at 4:28 am (UTC 0) Link to this comment
Indeed scenarios are important tools of design; they involve the end-user in the design, they serve as an example of how the “artifact” that is designed will be used in the real world settings. But in order to use these tools it is very necessary to bring in the actual components of design first, an important way of doing so is Metaphorical Design many great systems that have been made till date have used some metaphor or the other, be it the desktop metaphor or the classroom metaphor, real world objects serve as the best example for designing new objects. Metaphors not only enhance learnability but they also trigger the creative cells of the designers. They also serve as a tool for the stakeholders to critique on the current design, give ideas for the future designs, enhance the overall user experience and are much more engaging.
An important principle for usability apart from the very apt principles broadly classified as learnability, flexibility and robustness in the text is “reusability”, designs should be such that they efficiently use existing components as well as become usable by other designs. Novelty is essential, but recreating a thing that can be reused can be a waste of time and effort. For example, you may not want to start building from scratch a “calendar widget” for a website even when there are tons of customizable widgets available.
Additionally involvement of the beta users, has become an important part of the design process these days, earlier users came into picture only when there was a ready prototype for them, now they play important part since throughout the process.
Chunzi Z
October 16, 2012 at 4:28 am (UTC 0) Link to this comment
I think the most useful principle among the design and usability principles is the learnability. In the era of rapid life, if a product’s manipulation were hard to learn, probably nobody would try to learn it, and it cannot survive in the competition of market, no matter how robust, and how flexible this product is.
I agree with most principles of design and usability in chapter 7, especially for the principle of observability to guarantee the product’s robustness, because I had a terrible experience with using a website-building tool, which is designed for people who don’t have any knowledge of coding. The user experience of this tool is awful because it is hard for user to find the code behind the product, the only thing the user can do is choosing a function and add it to the website by dragging. If there is anything wrong with the website the user built, it is hard to find out the source of the problem for the invisibility of code.
As far as I can see,there’s a missing principle for learnability: the simplicity, which means the number of steps of manipulation should limited in a small one, and the way to manipulate should not be complicated. This is a point which is not been included in principles(predictability, synthesizability, familiarity, generalizability, consistency) of learnability.
Anshu
October 16, 2012 at 4:29 am (UTC 0) Link to this comment
Usability of a system is core to user-centered design. However usability metrics or usability specification is not enough to define “usability” of a system, as it is hard to visualize different aspects of usability at an early stage of software development. Actual measure of usability can only be made when the system is in the user’s hands or at least at user acceptance testing stage. For this we need iterative interactive system development via rapid prototyping. In my view storyboards are inefficient or outdated when we need to design multi level or complex software systems. High-level programming or Wizard of Oz concept can be used instead.
Usability can be enhanced with right principles and guidelines.. Though these principles are abstract they can still help the design engineer quantify usability. Learnability, Flexibility, and Robustness are main principles with several sub principles. Having existing knowledge of computers I find synthesizability, recoverability, and customizability most intriguing.
Synthesizability- lets the user know of changes made upon his instruction. Example: If a user wants to proofread a word document he created; he gives a command to replace all ‘the the’ string with a single word ‘the’. Here the system should notify the user about every change made or the theorem would be replaced by theorem.
Customizability – allows the user to customize a layout on his will. This functionality gives a leeway to make changes to existing organization. Example: Compact, cozy, background color etc.
Recoverability- is undoing an action that was accidentally done. Features like Ctrl Z, error message before ctrl+shift+delete, recycle etc. facilitate this functionality.
Pushkar Gopalakrishna
October 16, 2012 at 4:34 am (UTC 0) Link to this comment
I feel that both the principles of familiarity and consistency are very important when designing a system. Familiarity helps a new user to adapt to a system quickly. A person who has worked with a system can quickly learn a similar system. When designing a product which is an enhancement to an existing product, instead of designing a completely new product which is easy to learn, I feel it is better to design the enhanced product in such a way that it is similar to the existing product. This will help the existing users to learn the product in a very short time, using their existing knowledge. I have had a personal experience of this at work. Our team once decided to redesign a website which had a lot of users actively using most of the features. The newly designed website was user friendly and robust. But we got a lot of negative feedback from the existing customers as the sudden change in way they interacted with the website was extremely confusing. They were accustomed to the older site and vehemently resisted the change.
Consistency is another principle has to be taken care of while designing a product. Similar actions within the same product must not differ too much. For instance in Ios, to copy and paste a line of text, the sequence of actions followed is the same across all apps and browsers. This follows a consistent design. In case some applications had a new button to paste copied text and all the other applications followed the normal sequence, it would be very confusing to an Iphone user.
Also the principles of consistency and familiarity often go hand in hand. As the author suggests, familiarity can be treated as consistency with respect to past experiences.
Yao
October 16, 2012 at 5:14 am (UTC 0) Link to this comment
I think prototyping is the most crucial part in the design process, since it provides us a quick method to test if our ideas are applicable or not. From the DFAB charters, the book provides three ways of prototyping: Throw-away, Incremental and Evolutionary. Personally I love the Throw-away method best since I believe by discarding and redesigning prototype is the best way to come up with good designs, but this method is time-consuming. The other two methods might be more applicable for companies or teams to design since they consider the balance between time and design. I wonder if there is another prototyping approach that could give us a fast way to generate good prototypes.
In some Test-Driven development approaches, like the Cucumber and Capybara in Ruby on Rails development, the principle of design is that “Write tests before you write code”. Customers can describe their requirements in simple English sentences by the language features from Cucumber and Capybara, and how programmers evaluate the system is to check whether it “pass” all tests or not. If the system has passed all tests, then the design is complete. If in the future the customer wants to add or remove some features, he can simply add or remove related tests, and designers just have to go through the prototype-test process again to provide a new version. I think the approaches given in the book all separate the processes of prototyping and evaluating, but the Test-Driven development method cleverly combines the two processes: we design in order to pass the evaluation. It has the feature of the Evolutionary approach, and we can discard or remove some parts of our design easily as in the Throw-away approach. Although “passing tests” might not be equivalent to “designing the right thing”, but it might be a helpful and productive way for us to come up with designs with good usability.
Jacob
October 16, 2012 at 6:30 am (UTC 0) Link to this comment
The chapter made some very important points, but I wanted to see more examples and less words. Matt a great point above that, while design principles are important for teaching good design, I feel that sometimes you should spend more time listening to your intuition that trying to remember a list of logical rules. As he said, it’s really easy to spot a bad interface, so shouldn’t you be able to identify when your own work is substandard too? Well, maybe not always since we have this tendency to design with ourselves in mind. In light of that, I actually find that the best way to learn how to make good interfaces is to witness bad ones. I do this all the time since crappy interfaces are plentiful, and every time I use one I think “man, I could a better job and this is exactly how I’d do it”. C’mon, you know that goes through your head to every time you try and use your car stereo or print your boarding pass from united.com.
Now that said, don’t forget your principles. These principles form a special language that we designers can use to communicate “what feels right”.
Dakuo WANG
October 16, 2012 at 6:38 am (UTC 0) Link to this comment
Principles are the rules that never obsolete. In the book, there are three categories of principles to support usability. Learnability, the ease with which new users can begin effective interaction and achieve maximal performance; Flexibility, the multiplicity of ways the user and system exchange information; robustness, the level of support provided the user in determining successful achievement and assessment of goals.
But from my experience, learnability, which represents the ease expectation of design, is always opposite to flexibility, which represents the complication of design. For example, customizability is one principle affecting flexibility. When system-initiated modification happens, it intends to improve the flexibility. But users have the preference to adhere the way it used to be. Think about the Facebook timeline as an example, Facebook initiates that modification to highlight the user’s recent activities and to emphasize the events time, which mean to provide higher flexibility, while millions of users dislike this change. For users, familiarity ensures learnability. What users are used to is the best design. The designer should always think about it before making any modification decisions.
Sustainability is also an important one. I am thinking of Android’s early dates upgrading strategy. Android team upgrade 4 times a year introducing huge modifications every time, which makes developers be afraid to contribute to Android. While Apple iOS upgrade once a year giving the sustainability for that one year so that users and App developers have time to get used to those new features. Recently Android team considers the sustainability principle as they slow down their upgrading pace and attract more users and developers into their market share.
There are many case studies that reflect the essentialness of these design principles. As designers, we should ask ourselves through all those principles before making any design decisions.
Jianlin
October 16, 2012 at 6:53 am (UTC 0) Link to this comment
These principles are good to adjust designs. However, in my opinion the hardest point is the start point. As the author mentioned but not well elaborated at the end of the chapter, a really good designer might guess a good initial design based on experience and judgment. That required talent, insight, and thoroughly understand of users. It seems hard to find this kind of designers. But if we look at the successful designs, we can find additional rules.
Take Blizzard for example, the success of warcraft and starcraft is not questionable. When they doing designs, they seldom start with several initial ideas and drop them one by one during the process. And they never do user study. It seems they can always make a nice guess of start point. I think one of the important reasons is that those designers are enthusiastic gamers. In other words, they are the users, they know the user as they know themselves. They know what kind of design is intuitive and right for the users. Thus they can make the right choice in most cases. When I ask one of them why not try more prototypes, they mentioned that the develop efficiency and budget matters.
From this point of view, I think although the principles are generally true. But finding a good and right designer is a smart choice.
Jeffrey
October 16, 2012 at 8:06 am (UTC 0) Link to this comment
User-oriented design requires designing systems/products to be efficiently used by as many people as possible in as many situations as possible. It is crucial to keep in mind the different kinds of users when designing interactive systems, as every user possesses a different range of abilities and knowledge. Therefore, such design and usability principles provide a framework to facilitate the development of interactive systems and maximize the usability of systems.
Learnability/familiarity is one of the most important principles to consider as it is important for users to be able to easily adopt a new system and begin interacting with the system effectively. However, users are often intimidated to interact with systems/products that are entirely new and unfamiliar to them. In order to achieve maximal performance, users should be able to apply prior knowledge and past experiences to a novel system. For example, products that do not deviate far from the norm, but still provide innovative features over existing products tend to be more successful; this can be substantiated by Apple’s yearly iPhone releases which provide incremental updates over the previous years models, but still remain simple and familiar to those who have already used the product.
Flexibility is another important principle. Users should readily be able to extend a specific interaction to novel situations; flexibility also provides understanding of the various ways users and systems can exchange information. With the increased penetration of computing devices and multitude of devices owned by a single user, it is significant to understand the capability of systems to support user interactions for multiple tasks at a time.
Jared Young
October 16, 2012 at 8:29 am (UTC 0) Link to this comment
The usability principle of learnability is so important to every interactive system. I think it can make
or break the user’s decision of ever using the system again. Many interactive systems provide an easy
alternative to some manual task, such as an ATM vs a bank teller or TV remote vs manual TV buttons. If the
ATM or TV remote does not support user learnability or is not intuitive, the entire user interface may be ignored
altogether. This relates to what is wanted (or needed) by the user, who the user is, and ultimately the
designer’s ability to understand the user base for the interactive system. Features that support learnability must
take into account user-focus guidelines. I absolutely do not think a principle such as this can ever be out of date
(as long as the users are human!).
I think the definition of flexibility in a system can change with time. The ways in which users can interact
with a system is constantly changing. Perhaps the listed principles affecting flexibility in the DFAB chapters
are still relevant today (such as multi-threading, customization). However, I think additional principles will be
added as new interactive technologies are produced. If you take into account multi-user (networked) systems where users
interact with each other, it can be the case where the state of an interactive system is dependent on some
remote user other than the local user. Additional principles of usability may need to be accounted for this case.
Dongzi Chen
October 16, 2012 at 9:26 am (UTC 0) Link to this comment
When I read the design rules, I feel all the concepts are so adjacent to each other and even overlapping. For example, when the author mention Generalizability said:” the generalizability of… more complete predictive model of the…. We can apply generalization to… in some way similar. Generalizability can be… a form of consistency.” This includes Predictability, Familiarity, Generalizability, and Consistency. This kind of overlapping is not rare example, and they happen everywhere. Such as Dialog initiative includes a part of Multi-threading and Recoverability is linked to reachability. But these did not influence the comprehensive understanding the author’s main idea.
When I finish the reading I got a little bit confusion that the author gave us a generally agreeable rule and implied that do not obey the rule all the time. Like the author talk about Consistency, Consistency is one of the principles, but consistency is not always the best. The conflictions are so obvious that between consistency and moderate flexibility. However, the concept is so cool we can make our products suit diverse customer levels. For instance concerning Customizability, for lower Level customers can simply move the position of the soft button to get flexibility and for upper Level customers are able to use script language.
But even we do this, the conflictions are still outstanding, because of = to restrict the capability of the computer and = More powerful but more mistakes made by customers. The designer needs to figure out the balance. As is known, the software interfaces development dependents on hardware development. Maybe one day, when the operational 3D Holographic Projection come out, we can solve all the problems we are facing. But for now, personally, the most essential principle for us is who your customer is.
Dongzi Chen
October 16, 2012 at 9:32 am (UTC 0) Link to this comment
But even we do this, the conflictions are still outstanding, because of Simple = to restrict the capability of the computer and Hard = More powerful but more mistakes made by customers. The designer needs to figure out the balance. As is known, the software interfaces
This is the begining of the third paragraph. I try to add HTML tags but it display a wrong way
Jinelle D'souza
October 16, 2012 at 10:42 am (UTC 0) Link to this comment
Learnability: As a young budding technology enthusiast, it does not take much effort to understand and quickly adapt to new design panels and screens. But a classic example is watching our parents trying to use these same gadgets. The very thing that is so simple for us seems like a hard task for them. Technology will no doubt keep evolving, but it should always be easy-to-use for all demographics. Xinlu said that the design should be close to intuition, which is something I wholeheartedly agree with. Also, with respect to the consistency factor, the arrangement of alphabets of the keyboard might never change because of familiarity with this standard. Some things are best left as they are.
Karen mentioned that the IDEO cart would not really sell. Sometimes, I think too many features on the cart seemed like a personalized cart, not really public store material.
While designing, the main point in our mind should be changing a situation for the better. New versions of the windows OS keeps getting developed, but quite frankly sometimes the previous version is just as good as the new one and need not be replaced. Matthew mentioned that it’s easy to spot bad design, but not as easy to spot good design until much later. One factor while considering robustness at an extreme but necessary level is the fact that lots of new products could enter the market every day after the entire iterative design process. However these fail to attract investors because of their huge capital investments and low returns. Due to this, the product’s ultimate goal of reaching the market fails.
Ramraj
October 16, 2012 at 3:04 pm (UTC 0) Link to this comment
Usability is the ultimate objective of the interactive systems design. There are three principles of usability 1) Learnability 2) Flexibility and 3) Robustness. Out of the principles of Learnability – I think Predictability and Generalizability are the key principles. Consider the user is playing a video game on iPhone, he must be able to predict the coming user interface and he must be able to generalize the user interface across platforms such as wince, Android or RIM etc. Out of the principles of Flexibility – I think Multi threading; Task migratability and Customizability are the key principles. Most of the desktop operating systems, mobile operating systems provide multi threading .The developed software must take advantage of this and it should be developed. Customizability is the principle generally user wants consider user want to change the theme of the mobile phone; the developed OS should provide this facility. Out of the principles of Robustness – I think Responsiveness is a key principle because the user wants the response time as less as possible. Standards are the rules for user interface design generally set by some standard committees and have high authority. Guidelines have less authority. Heuristics and golden rules are succinct collection of design principles that are easily assimilated by any user. I agree with Shneiderman’s eight golden rules of designs. I disagree with Norman’s seven principles and I think it is out of date. I agree with Jie and I think it is a good way to combine persona and scenarios to know the users. We might need several scenarios to analyze all possible interactions.
Ishita
October 16, 2012 at 3:21 pm (UTC 0) Link to this comment
All of the design principles stated in DFAB are important and, as Armando said – they are timeless. However I think we need more specific ones to meet the demands of present and future.
Today, for a user, a device is more about the homogeneous experience rather than just its functionality. Three principles that I think are very important to achieve this are affordance, predictability and responsiveness. By affordance what I mean here is, interfaces should be as self-explanatory as possible. Nobody wants to remember the
steps to carry out a task on a device but would rather prefer familiar icons and easy navigation hints on the interface.
Responsiveness can be explained in various contexts. By responsiveness, you could also say how responsive the system is to user actions. For instance, responsive web designs which is an excellent usability feature can make transitions between devices smoother and portable. Depending upon the user’s screen resolution and browser size, the web page breaks down completely and re-invents it layout. This again adds to the overall experience. In today’s world where there’s a plethora of smart devices, I think it is really important thing to consider the portability aspect.
Predictability is about embedding intelligence in the device, thus giving more room to human errors but still knowing what the user really wants to do. BlindType is a perfect example of this. It allows the users to be sloppy but it still somehow knows what the user wants to type. Another striking feature is the easy reversal of actions. You can erase words just by rubbing over it with your finger, just like using a traditional eraser. BlindType is also thoroughly robust and responsive in the sense that it re-aligns the position the keyboard according to user’s orientation and comfort.
As technology evolves, principles also need to evolve along with it. If not evolve, atleast new principles need to be added to the existing list.
Shih Chieh Lee
October 17, 2012 at 8:21 am (UTC 0) Link to this comment
For a technical background student, some principles are really useful, like structure of layout, button trap, and scenarios. The typical engineer training is to solve the logical or technical problem but sometimes ignore the result of the “engineer-style design” which might leads to misunderstanding or even tragedies. So far, I think the rule is not out of date yet because there are still a lot of people thinking HCI or design is all about the decoration and graphics, especially for engineer or manager. These rules are not used to make a perfect design but used to ensure that we won’t be trapped in the bad design.
The method mentioned in the chapter might not be the ultimate rules but the process to put the user in the center of system, project, or design. For example, the hand-hold technology was significant developed in the recent years, so the interaction between human and devices has become more frequent, and the issue was raised with it. The process of design in DFAB is proper enough for engineer’s view. Because the engineer might be the expert of certain field who already know what is wanted and what is there. Although the design rules are hard to memorize, I think it’s not the dogma that we should follow through the whole process. They should be the guide what we could look back with, or the direction that we could work toward. Especially for software engineers, in the chapters, the relationship between the design process and software engineering is presented, which might go through the same cycle or iteration but aim to different goals. Hence, software engineers could be equipped with the ability of interaction design if following the steps and rationales, so the design and the engineering work won’t conflict.