Classic user interface principals
经典用户界面之“纲领”
Here are some core guidelines which every user interface should follow. These guidelines
are what will keep your users happy, and ensure your application is successful. Throughout
the rest of the book, we'll be walking through these guidelines with practical examples of
improvements that can be made to a user interface.
这里是一些所有用户界面都应该遵守的核心准则。这些准则会让你的用户高兴,并确保您的应用可能成功。
在这本书的其余部分,我们将通过构建用户界面的实例来逐步了解这些原则。
Consistency
协调一致
This is the cornerstone of good user interface design. A button should look like a button.
Make sure that the layout of each screen has a relationship with every other screen in your
application. People often mistake this principle for "stick to the platform look and feel". Look
and feel is important, consistency mostly applies to the layout and overall experience of the
application, rather than the color scheme.
这是优质用户界面设计的基础。一个按钮看起来就应该像个按钮。你应该确保在应用中,每个页面的组织安排
同其他所有页面保持一种关连。人们通常将这一原则错误的理解为“保持平台外观和感觉一致”。外在观感是很
重要,但协调更应该表现在应用的组织和总体使用经验上,而不仅仅局限在颜色方案中。
Recycling your interface
循环使用你的界面
The easiest way to maintain a consistent user interface, is to recycle as much of it as possible.
At first glance, this suggestion looks merely like a "good object-oriented" practice. However,
a closer look will reveal ways to reuse graphical widgets in ways you hadn't thought of. By
changing the visibility of various widgets, or you can reuse an edit screen to view list items
of the intended type.
维护一个协调一致的用户界面最简单的办法就是,尽可能地重复使用它。乍一看,这个建议好像是一个“良好的面
向对象“的做法。然而,仔细推敲你就会发现一些之前从未想到过的重新利用这些图形组件的方法。通过改变不同
组件的可视性,或者可以重复使用一个编辑页面查看预期类型的列表元素。
Simplicity
简洁
This is especially important in a phone-based application. Often, when a user encounters a
new application, it's because they are looking for something. They may not have the time
(or more often patience) to learn a new user interface. Make sure that your application
asks for as little as possible, and guides the user to the exact information they want in as
few steps as possible.
这对于手机应用尤其重要。用户在初次接触一个新应用时,通常是他们在寻找一些东西。他们没有时间(通常
是没耐心)学会如何使用一个新的界面。应该确保你的应用需要尽可能少的询问,并且能够在尽可能少的步骤
内给于用户准确的信息指导。
The Zen approach
禅道
Generally, when you are using a mobile device, your time is limited. You may also be using
an application in less-than-ideal circumstances (perhaps, in a train). The lesser information
a user needs to give an application, and the lesser they need to absorb from it, the better.
Stripping away options and information also leads to a shorter learning-curve.
一般情况下,在你使用手持设备时,你的时间很有限。你或许会在一个不那么理想的环境下操作一个应用
(比如,在火车上)。在操作中用户所需输入的信息越少,或者需要从中理解的信息越少,越好。避免过多的
选项和信息会使得学习曲线更短。
Android's hidden menu
安卓的隐藏菜单
A very useful feature of Android is the hidden menu structure. The menu is only visible
when the user presses the "Menu" button, which would generally mean, they're looking
for something that isn't currently on the screen. Typically, a user shouldn't need to open a
menu. However, it's a good way of hiding advanced features until they are needed.
安卓一个非常有效的特性就是隐藏菜单结构。菜单只在用户点击“菜单”按钮时才会出现,这通常意味着,他们在
寻找目前屏幕上没有的东西。平时,用户不需要开着菜单。将用户不需要的高级属性隐藏起来,这当然是一个好
办法。
Feedback
反馈
Feedback is what makes a touchscreen device exciting. When you drag an object, it sticks to
your finger across the screen until you let go of it. When the users puts their finger on your
application, they expect some reaction. However, you don't want to get in their way—instead
of showing an error message when they touch a button, disable the button until it's valid to
use, or don't show it at all.
及时反馈让触屏设备很“赞”。当你拖拽一个物体,它会在显示器上跟随你的手指移动,只到你放开它。当用户把
手指放在你的应用上,他们期望着有所反应。当然了,你也可以不用总“惯着”他们---与其在他们点击按钮时弹出
个错误信息窗口,不如让无用的按钮失效,或者干脆别显示它。
Location and navigation
定位与导航
When you're in a place you've never been to previously, it's easy to get disoriented, or lost.
The same is true for a piece of software. Just because the application makes sense to you,
the developer, it doesn't mean it seems logical to your user. Adding transition animations,
breadcrumbs, and progress gauges help the user to identify where in the application they
are, and what's happening.
当你在一个你从没去过的地方,很容易会无所适从,或迷路。对于一个软件来说也是一样。仅仅因为应用程序
对你这个开发者有意义,并不代表着你的用户也会觉得合逻辑。添加过渡动画,当前位置导航栏,和进度条来
帮助用户确定他们在何处,以及发生了什么。
The road to recovery
如何处理意外
A common way to tell users that something is wrong on a desktop application, or on the web
is to open an error dialog. On a mobile device, people want smoother use of an application.
While in a normal application you may inform the user that they selected an invalid option,
in a mobile application, you generally want to make sure they can't select that option in the
first place. Also, don't make them scroll through huge lists of options. Instead, allow them to
filter through the list using an auto-complete or something similar.
在桌面或者网页程序中,一般在发生错误时通知用户的方法是打开一个错误对话框。在手持设备中,用户期望能够
更流畅的操作应用。在一个正常的应用程序中,当用户选择了一个无效的选项时你可以告知他们,但在移动应用程
序中,您最好确保他们之前就无法选择这个选项。此外,不要让用户在一个超长的下拉菜单里选择。相反,让他们
使用自动过滤列表内容或者一些其他类似的方法来完成选择。
When something goes wrong, be nice, and be helpful—don't tell the user, "I couldn't find any
flights for your search". Instead tell them, "There were no available flights for your search,
but if you're prepared to leave a day earlier, here is a list of the available flights". Always
make sure your user can take another step forward without having to go "Back" (although
the option to go backwards should always exist).
当有错误发生时,友好些,并且对客户有用些---别告诉客户说“你查询的航班不存在”。取而代之的应该是“你查询
的航班已满额,但是如果你准备提早一天出发,这里有一个可乘坐的航班清单”。总是确保你的用户能够采取下一步
而不是“返回上一级”(当然了,返回选项应该始终存在)。