良好的用户界面设计技巧
(如果你想迅速丢掉你的用户)
一般应用程序用户界面的准则:
始终使用可爱的图标,按钮和图形。 每个人都喜欢大红色的心,粉红色兔子,和黄色微笑的面孔。
不要害怕尝试变换颜色!
的应用程序在用户进行操作时应发有趣的声音,让用户保持开心。
不要在任何情况下使用该操作系统的原生图形控件。 用户厌烦老式的按钮,文本框等等
关闭窗口管理使用不常见的东西使用图形来操作窗口功能,如窗口关闭选项。
当编写自己的控部件,绝对确保其外观跟操作系统的原生控件完全不一样,或者绝对不是用户能想向得到的。否则,你可能会意外地使用户觉得你的应用程序实际上是他们的操作系统而设计的。
按照你的创意来设计一个“另存为”对话框,使用内置的对话框有太多的限制。
用户永远无法分清一个复选框或单选是选中还是未选中是非常重要的
始终使用模糊难看的图形作为你工具栏按钮而且从来没有文字提示
免使用首选项或选项对话框。相反,让用户使用操作系统提供的文本编辑器或他们所选择的文本编辑器来编辑配置文件。
用户需要时间去思考他们做什么并要冲杯咖啡,所以您的应用程序在最快的计算上也要至少加载5分钟。
确保在一个单击项上意外的进行了一个双击操作会造成恶心的结果
工具提示是显示重要信息的完美的方式。
为了获得最大的屏幕空间,你的应用程序始终最大化运行。
总是让窗口浮动的默认位置覆盖一些重要的东西。
使用你能找到的最奇特的字体。
您的应用程序的用户界面应具有灵活性和可定制的能力,如果用户在使用鼠标或键盘不小心打喷嚏他们将在未来的半小时来将窗口设置为打喷嚏前的样子
让一个5岁的小朋友为你绘制图形,包括您的企业Logo
不需要文件浏览对话框,用户可以很容易记住和并输入死长的文件路径。
把你的应用程序设计成需要10512*7430分辨率才能正常显示。
总是在最关键的步骤出错,然后给用户显示一个虚的道歉。
在本地桌面环境中为应用程序做一个勾子是错误的,就像“新建文件模版”,“文件关联”或者程序菜单图片。
对上述的一个例外情况是系统托盘上放置图标。尽可能多的在系统托盘上放图标并且确保用户不能删除它们。
如果你的程序实现了键盘的快捷键,请确保他们与其它应用程序的完全不同。
把你应用程序的额外界面空间租出去打广告。广告用户和你的钱包有益处
不要低估了裸露的力量
不要忘了像“复活节彩蛋”那样嵌入一个视频游戏。

应用程序帮助:如何制作一个不好用的帮助系统。
软件不需要使用手册。现在的用户有足够的智慧来自己想出这样的事情。
如果应用程序包含文档,没有必要出印刷的使用手册。用户喜欢盯着到17英寸的灯泡一整天。
始终把安装说明放在CD上面,而不是制作一个打印的安装手册,这样会节省纸张。 这些说明应该程序的其余部分一起安装这样在程序没安装成功前,用户无法访问到它。
保持帮助文件简单仅给出非常明显的主题
没有必要使用一致的术语。
对于程序错误,警告,问题和消息需要解释给用户技术性的词语。他们真的需要知道和了解这些东西,因为这些太重要。作为消息对话框一部分的帮助按钮,打开帮助文件的内容刚才显示的内容一样
在尽可能不同的地方显示尽可能多的提示信息和问题消息。 除了关键的不可挽回的操作格式化硬盘
在你的应用程序中使用“Engrish(蹩脚的英文,连英国人都看不懂)”是可以接受的。 你的所有的帮助文件是属于我们的。

使Web做以前从来没有做过的事(并且永远不做第二次)。
总是在你的应用程序中内建一个Web浏览器。为获得最佳效果你应该自己写一个Web浏览器。
总是在你的应用程序中硬编码超链接。然后确保该链接在应用程序发布两个月后仍不能工作
启动Web浏览器永远不要使用用户的默认浏览器。始终启动能用的当中最烂的一个(即:IE浏览器)(见上文,你也可以自己写一个)。
总是使用超链接来替代按钮。超链接超酷
确保在你的应用程序的每一窗口中包括一个动态加载图标(Web浏览器下载网页时的图标)。
应用程序看起来应该像一个Web页面,因为Web是可用性的体现。
所有现代的应用程序都需要自动为用户注册垃圾信息。

操作系统实用技巧
为了在你的操作系统安装时有一个非常好的第一印相,不要设置用户显示器的刷新率
事实上,你的操作系统永远也不应给显示器设置适当的刷新率。 眼睛疲劳是好的。 事实上,每当将要设置刷新率时,显示都都不能处理它。如果用户管理设置更高的刷新频率,确保它是非标准,使他们不能改动显示器的大小和位置。 
当包装GUI或操作系统时,确保相同的功能在互不相关的程序中至少在一打不同的地方可用
每种类型的应用程序安装3个。 (如果可能的话可以安装4个或更多)。
安装普通用户不会使用的所有的可用的高级实用工具和无用的垃圾软件
卸载选项已经过时了,不要包含它们。 如果需要包含它确保他们总是严重的互相依赖。
文件管理器/桌面Shell变慢不要紧,继续做你的并且把它整合到你的Web浏览器中。 事实上,当你使用它时,可以把它整合到多种Web浏览器上

应用程序设计最终用户体验(在地狱体验)
直接开始编写程序。用户界面设计可以放在开发过程的后期
不要浪费高效的代码的时间。 GUI不需要反应灵敏,很容易就让用户升级到10,000,000HZ的CPU,又有谁不需要数不胜数的大内存呢?
您可以将功能实现一半。的用户会原谅你。(如果他们不这样做,他们还能怎么办。)或者可以随时让他们升级到最新版本。
你甚至不需要完成的软件,如果其他人一使用时出现问题,他们可以自己修复它。
忽略你正在写的应用程序的总体目标是安全的。仅仅让它按照你的想法工作吧。
没有必要做任何用户测试或研究。程序员总是知道的最好方法设计的用户界面。
让用户设计和实现的决定,毕竟他们知道他们需要什么。
如果这是一个企业环境中,总是按照老板的想法设计用户界面。毕竟,在用户界面设计的程度,他是他是怎么成为老板吗?
当您的应用程序移植到其他操作系统平台,根本不需要调整的应用程序的外观或行为。
总是硬编码所有的引用到你应用程序必须运行的文件路径,用户将永远不需要在其它地方安装,并且你在命名冲突时也不会运行。
起诉人谁使远程用户界面更喜欢你的。 这就是法律制度是那里吗?
始终使用您的应用程序的名称怪异,可怕听起来代号。获得最佳效果,它应是的东西没有任何意义的缩写,并应递归的缩写。
永远不要把旧的,过时的,错误的,或无意义功能从应用程序的删除
在系统启动时预先加载你的应用程序。减慢系统的其它部分没有什么大不了的,因为这对你的应用程序快速启动很重要尽管大多数用户只是偶尔用一下你的应用程序
所有可能的功能添加到的应用程序。 即使那些在操作系统中已经存在。 事实上,你的应用程序应最终将变成一个操作系统。