改善软件界面的良方

本文列举了14条故意设计糟糕用户界面的“黄金法则”,旨在帮助读者了解如何避免这些错误,从而设计出更好的用户界面。

原文:http://www.sapdesignguild.org/community/design/golden_rules.asp

Golden Rules for Bad User Interfaces

by Gerd Waloszek, Product Design Center, SAP AG – Last Update: 06/07/2006

The SAP Design Guild Website is full of guidelines and tips for good user interface design, and it's not the only one on the Web. Nevertheless, we see examples of bad user interface design everywhere – many more than users would like to see. As people like to do just the opposite of what one is proposing, we thought that it might be a good idea to promote bad user interface design. Therefore, we collected "Golden Rules for Bad User Interfaces" on this page – please help yourself (and do the opposite). We started this page with ten rules and are continually expanding our collection.

Note: The rules are listed in backward order – the most recently added rules come first. In all other respects, the order of the rules is arbitrary and does not reflect their significance.

Golden Rule No. 14: Do not let users interrupt time-consuming and/or resource-hungry processes.

Ignore the users' cancel attempts!    

Reasoning: Making processes that put the computer into agony more or less uninterruptible ensures that users take their mandatory coffee breaks.

Example: Start a backup or indexing process while users are not aware of it. Make this process hard to cancel, that is, let it ignore the users' mouse clicks and key presses.

 

Golden Rule No. 13: Leave out functionality that would make the users' life easier – let them do it the hard (cumbersome) way.

    

Reasoning: Additional functionality would provide users with too many choices and might confuse them.

Example: When users want to add items to a list, allow them to add items at the end of the list only and let them then move the items to the correct position. That is, do not offer additional functionality for inserting items at their target locations. To add some spice, introduce spurious errors that return items to the bottom when users have already moved them half-way up.

Example: Do not offer the option of selecting multiple items, for example, for moving or deleting items. The option of working on one single item suffices to let users achieve their goals – apart from that it may take a little bit longer...

 

Golden Rule No. 12: Destroy the work context after each system reaction.

Wipe out the context!    

Reasoning: Destroying the work context allows users to reflect their work and ask themselves whether it really makes sense.

Example: Deselect selected screen elements after a system reaction (e.g. a round trip).

Example: Move HTML pages or tables that have been scrolled down by the user to the top after a system reaction (e.g. a round trip); in the case of multiple pages (e.g. in hit lists or document list) return the user to the first page.

 

Golden Rule No. 11: Take great care in setting bad defaults: contrary to the users' expectations, disastrous, annoying, useless – it's up to you!

Oh no!    

Reasoning: Bad defaults are a nice way to surprise users, be it immediately or – at best, unexpectedly – anytime.

Example: Set default options in Web forms so that users get unwanted newsletters or offers, have their addresses distributed, etc.

Example: Set the default option in dialog boxes on the most dangerous option, for example, on deleting a file or format the hard drive.

Example: In forms, set dates (or other data) on useless default values. For example, set the date for applying for a vacation on the current day.

 

Golden Rule No. 10: Spread the message of bad examples and live it!

Cow    

Reasoning: Examples are a perfect teaching method. But as we all know, bad examples are the best – they allure most.

Example: Just follow any of the other golden rules on this page, that's a perfect start.

Example: If you have to make presentations make sure that you include your bad examples in the presentations.

Note: Good examples are hard to find and typically criticized until nobody appreciates them anymore. Why waste time with unproductive discussions?

 

Golden Rule No. 9: Keep away from end users!

Site visit    

Reasoning: You are the expert and know what users need – because you know what you need. Why should they need something else?

Example: If you think that a certain functionality is not needed don't implement it – why should other people need it?

Example: Many end users have many opinions, you have one. That's far easier and faster to implement.

Note: Doing without site visits saves your company a lot of time and money.

 

Golden Rule No. 8: Make using your application a real challenge!

Rocket    

Reasoning: This teaches people to take more risks, which is important particularly in economically harder times.

Example: Do not offer an Undo function.

Example: Do not warn users if actions can have severe consequences.

Note: If you want to top this and make using your application like playing Russian roulette, change the names of important functions, such as Save and Delete, temporarily from time to time...

 

Golden Rule No. 7: Make your application mouse-only – do not offer any keyboard shortcuts.

Mouse    

Reason 1: This will make your application completely inaccessible to visually impaired users. Therefore, you can leave out all the other accessibility stuff as well. That will save you a lot of development time.

Reason 2: This will drive many experts crazy who used to accelerate their work with keyboard shortcuts. Now, they will have more empathy for beginners because they are thrown back to their speed.

 

Golden Rule No. 6: Hide important and often-used functionality from the users' view.

Blind    

Reasoning: This strategy stimulates users to explore your application and learn a lot about it.

Example: Place buttons for important functions off-screen so that users have to scroll in order to access them.

Example: Hide important functions in menus where users would never expect them.

 

Golden Rule No. 5: Educate users in technical language.

Teacher Lämpel    

Reasoning: Lifelong learning is hip. As many of us spend a lot of their time at the computer, it's the ideal stage for learning. Moreover, sociologists bemoan that people's vocabulary is more and more reducing. Applications with a challenging vocabulary can go against this trend.

Example: Always send URLs as UTF-8 (requires restart) (advanced settings in MS Internet Explorer)

 

Golden Rule No. 4: Use abbreviations wherever possible, particularly where there would be space enough for the complete term.

Abbreviations    

Reasoning: Abbreviations make an application look more professional, particularly if you create abbreviations that are new or replace commonly used ones.

Example: Use abbreviations for field labels, column headings, button texts even if space restrictions do not require this.

Examples: Use "dat." instead of "date," "TolKy" instead of "Tolerance Key," "NxOb" instead of "Next Object," and many more...

 

Golden Rule No. 3: Make it slow!

Snail    

Example: There are nearly unlimited possibilities of making software slow. For example, you can include long lasting checks or roundtrips after each user input. Or you can force users through long chains of dialog boxes.

 

Golden Rule No. 2: Do not obey standards!

The evil designer II    

Example: Do not use standard screen elements for a given purpose, such as single selection (e.g. use checkboxes instead of radiobuttons because they look nicer).

Example: Do not place menu items into the categories and locations they typically belong to (e.g. place "Save" in the "Edit Menu").

 

Golden Rule No. 1: Keep the users busy doing unnecessary work!

The evil designer    Example: It's a "good" habit to let users enter data that the system already knows and could provide beforehand.

Example: Let users enter data into fields only to tell them afterwards that they cannot enter data there (e.g. an application lets you enter data on holidays or weekends and tells you afterwards that you cannot work on those days).

 

内容概要:本文介绍了一个关于超声谐波成像中幅度调制聚焦超声所引起全场位移和应变的分析模型,并提供了基于Matlab的代码实现。该模型旨在精确模拟和分析在超声谐波成像过程中,由于幅度调制聚焦超声作用于生物组织时产生的力学效应,包括全场的位移与应变分布,从而为医学成像和治疗提供理论支持和技术超声谐波成像中幅度调制聚焦超声引起的全场位移和应变的分析模型(Matlab代码实现)手段。文中详细阐述了模型构建的物理基础、数学推导过程以及Matlab仿真流程,具有较强的理论深度与工程应用价值。; 适合人群:具备一定声学、生物医学工程或力学背景,熟悉Matlab编程,从事医学成像、超声技术或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于超声弹性成像中的力学建模与仿真分析;②支持高强度聚焦超声(HIFU)治疗中的组织响应预测;③作为教学案例帮助理解超声与组织相互作用的物理机制;④为相关科研项目提供可复用的Matlab代码框架。; 阅读建议:建议读者结合超声物理和连续介质力学基础知识进行学习,重点关注模型假设、偏微分方程的数值求解方法及Matlab实现细节,建议动手运行并修改代码以加深理解,同时可拓展应用于其他超声成像或治疗场景的仿真研究。
### 关于PAT Basic Level Practice的测试点及题目解析 #### 题目难度分级 PAT(Programming Ability Test)是由浙江大学举办的计算机程序设计能力考试,分为不同级别。其中乙级即Basic Level主要面向初学者,考察基本编程技能[^1]。 #### 测试点特点 对于PAT Basic Level中的某些特定题目而言,其测试点设置较为严格。例如,在处理字符串匹配类问题时,需要注意算法逻辑中何时应当终止循环以防止不必要的重复计算;而在涉及数值运算的问题里,则可能因为边界条件而增加复杂度[^3]。 #### 编程语言的选择影响 值得注意的是,尽管大部分简单题目可以作为学习某种新语言的良好实践材料,但在实际操作过程中可能会遇到由于所选语言特性而导致难以通过全部测试点的情况。比如Java在面对部分效率敏感型试题时表现不佳,这可能是由于该语言本身的执行速度相对较慢以及内存管理方式等因素造成的。因此有时不得不转而采用其他更适合解决此类问题的语言版本来完成解答[^2]。 ```cpp #include<bits/stdc++.h> using namespace std; int a[100000]; int c=1; void getPrime(){ int flag=0; for(int i=2;i<105000;i++){ flag=1; for(int j=2;j<=sqrt(i);j++){ if(i%j==0){ flag=0; break; } } if(flag==1) a[c++]=i; } } int main(){ int m,n,i,t=1; scanf("%d %d",&m,&n); getPrime(); for(i=m;i<=n;i++){ if(t%10==1){ printf("%d",a[i]); t++; }else{ printf(" %d",a[i]); t++; } if((t-1)%10==0) printf("\n"); } return 0; } ``` 上述C++代码展示了如何实现一个简单的质数打印功能,并且针对输出格式进行了特殊处理以满足特定要求。这段代码很好地体现了编写高效解决方案的重要性,尤其是在应对像PAT这样的在线评测系统时[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值