Most user interfaces are poorly designed. This is so widely understood that it’s become a common humor trope.
For instance, from xkcd:
And from Dilbert:
Funny because it’s true.
So why do most user interfaces suck?
In my experience, it’s usually a combination of these reasons:
A self-serving agenda. The person designing the interface often has an agenda other than helping out the users. The above xkcd comic illustrates how most universities are more interested in glorifying themselves than in helping visitors find the information they need. Another example is the web designer who wants to show off his mad skillz at web programming technologies, and packs the web page with enough flashing Disneyesque eye candy to send the casual visitor into transports of epilepsy. (See Web Pages That Suck for some examples, unless you’ve just had breakfast.) The designer has let his/her ego take precedence over the users’ needs.
Intellectual arrogance. Many programmers have a gross overconfidence in their ability to design user interfaces. As I discussed in this post, incompetent individuals tend to overestimate their abilities and fail to recognize their inadequacies. Just because someone can write good code does not mean he/she can design an effective user interface. The common attitude among many programmers that the user interface is “just more code” can contribute to this arrogance.
Lack of ability. (This one often goes hand in hand with the preceding.) In my experience, good user interface design involves a lot of inherent ability: you can either design pretty good interfaces or you can’t. If you naturally suck at it, a human factors degree and all the latest UI design books won’t help much — and may just instill a sense of false confidence (again, refer to the preceding point).
Lack of intellectual empathy. Many people lack the ability to see things fairly from the viewpoints of others–specifically, in the case of user interfaces, to put oneself in the place of a user. This can especially be the case for those developing software in user domains with which they are not familiar (e.g., a programmer with no medical background developing clinical database applications).
A disregard for human factors. It’s been my experience that human factors engineers tend to get marginalized. Most organizations that develop interactive software don’t even hire human factors engineers, and most software engineers don’t understand the value of true human factors engineering — in particular the cognitive psychology and human-computer interaction expertise that human factors engineers bring to user interface design.
The wrong kind of mentality. I’m admittedly generalizing here quite a bit: Database programmers tend to have a data-centric mentality, and build data-driven applications organized around the way the data is modeled and stored. C/C++ programmers who build desktop apps tend to have a functionality-centric mentality, and build applications organized around the capabilities implemented. Web programmers can have a technology-centric mentality (as described under “the wrong agenda” above) or sometimes a content-centric mentality, and build sites organized around providing access to content. These are all the wrong mentalities.
The right mentality is a user-centric mentality. User interfaces should be designed from a mentality that focuses on the users and the work they must accomplish.
When building user interfaces, developers should research the answers to the following questions:
Who are the users? What are their abilities and backgrounds? Are there different groups/types of users, and how do they differ? For example, a church website has two distinct user groups: (1) current members, who are coming to the website for “insider” information (when is the next choir practice?); and (2) potential new members, who are visiting the website to find out more about the church.
What are their goals? What is it that users are trying to accomplish when they sit down to use the system?
What are their tasks? What tasks do users have to perform in order to accomplish each goal? How do these tasks decompose into subtasks? What is the sequencing and dependencies between these subtask?
And what are the information needs of these tasks/subtasks? At each step of the way, what does the user need to see on the screen in order to perform the tasks/subtasks – in particular those involving decisions? This, more than anything else, should drive the way the user interface is designed.
引用來源:http://jeffreyellis.org/blog/?p=8897
真愛旅舍視頻聊天室
回覆刪除真愛旅舍視頻聊天室
真愛旅舍視頻聊天室
成熟女人社區
風情天下社區
戀母論壇
真實媽媽論壇
徐娘社區
柘城QQ交友
全球倫理片網
無碼一級片
中國性健康網
藍玫瑰求包養網
藍玫瑰包養網
都市包養網
三陪美女
三陪女大學生
學生包養網
精英包養網
求包養網
高端交友包養美女網站
心儀交友網
55包養網
紅玫瑰求包養網
九八情侶網
真實富婆包養網
富婆網
久久求包養網
重慶包養網
廣西包養網
柳州求包養
桂林包養學生
愛上求包養網
同城視頻聊天室
真愛旅舍視頻聊天室
床友交友約炮
真愛旅舍視頻聊天室
真愛旅舍視頻聊天室
真人裸聊
色情聊天室
真人裸聊
真愛旅舍視頻聊天室
色聊聊天室裸聊視頻網
小可愛視訊聊天室
小可愛視訊聊天室
小可愛視訊
173免費視訊
玩美女人聊天交友網
同城午夜聊天室
showlive影音視訊聊天網
韓國美女主播聊天室
579真人視頻交友網-美女主播熱舞視頻
美女主播熱舞視頻
性感韓國美女主播視頻
真人視頻聊天室
午夜視頻秀場
免費的成人午夜劇場
免費視頻找女人聊天
如何找聊天室主播視頻
美女主播性感熱舞視頻
成人視訊
韓國視頻交友聊天室
聊性聊天室