- 浏览: 628974 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
oldrat:
引用Special cases aren't special ...
武汉大学开源技术俱乐部 技术交流 第1期 -
yzsunlight:
试了试 ,不行
Android Studio SDK Manager无法正常下载如何设置 -
qianjigui:
更全面的文档:http://www.5wpc.info/it/ ...
Ruby正则表达式操作参考 -
qianjigui:
Anddy 写道Anddy 写道tag是自动创建的吗? 能手动 ...
vim的跳转 -
Anddy:
Anddy 写道tag是自动创建的吗? 能手动创建吗? 在sh ...
vim的跳转
The following are nine heuristics listed in Nielsen (1993) and one (the last one) is from Nielsen and Mack (1994).
Visibility of System Status (可视化原则
)
Brief explanation of the heuristic. The computer should keep the user informed about what is going on; what input it, the computer, has received; what processing it is currently doing; and what the results of processing are.
计算机程序在运行过程中需要给用户详细的反馈,需要实时给出当前系统的处理状况,这在《Unix编程思想》中叫做“软件的透明性:来点光”。
Relationship to the information-processing model of a user. The computer has to supply information to the user through sight or sound; otherwise, the user will not have the information necessary to understand what is happening.
Match Between System and the Real World(和现实世界相结合 )
Brief explanation of the heuristic. The UI design should use concepts, language, and real-world conventions that are familiar to the user. This means that the developers need to understand the task the system is going to perform—from the point of view of the user . This also makes cultural issues relevant for the design of systems that are expected to be used globally.
Relationship to the information-processing model of a user. Familiar concepts, language, and real-world conventions in the interface can make use of knowledge already in a user’s long-term memory because of their experience with the task domain (independent of the computer).
软件系统的设计者在进行界面设计时,时时刻刻需要从用户的角度出发、以一个用户专家的身份来设计一个系统,可以称为“软件的紧凑性”,我在以前的文章简单提到过软件紧凑性的问题 。总之就是说,如果你是一个用户你觉得系统怎么用最简单、最高效的提高自己的工作效率,毕竟IT技术就是为了提高人们的工作效率。如果扬弃了这一点,你的系统可能就是一个简简单单的数据setter、getter、finder的叠加体了。
User Control and Freedom(用户具有自主控制系统的权力 )
Brief explanation of the heuristic. Allow the user to have control of the interaction. Users should be able to undo their actions easily, exit from any interaction quickly at any time, and not be forced into a series of actions controlled by the computer.
Relationship to the information-processing model of a user. Users will make errors, and, therefore, they will need easy ways to recover from them.
在设计系统时,需要能够让用户使用全程具有控制权,能够自主控制进度。
在这里,我就想起了以前写的一个上传下载控件类,当时那个控件一旦运行计算机CPU彪升到100%,用户体验就是系统死机。主要是当时在设计时完全从充分利用系统资源的角度,完全没有给用户反应时间。不但用户体验不好,就连自己做测试时有惊出了一声冷汗。
Consistency and Standards(系统的一致性原则 )
Brief explanation of the heuristic. Information that is the same should appear to be the same (same words, icons, and positions on the screen). Information that is different should be expressed differently . This consistency should be maintained within a single application and within a platform. Developers therefore need to know platform conventions.
Relationship to the information-processing model of a user. As with the Match Between System and the Real World heuristic, this heuristic makes use of a user’s prior knowledge and experience with other parts of the same application as well as with other applications on the same platform.
就是说系统在接收信息或是反馈信息的时候(界面也是信息反馈的一个途径),需要前后一致,让用户有最少的以外感觉。这其实和我们平时写文档、写报告是一样的,我们通篇的字体需要一致(这个一致是指文章各个部分分别:正文一致、标题一致、目录一致、页脚页眉一致等等)。
Error Prevention(预防用户出错 )
Brief explanation of the heuristic. As much as possible, prevent errors from happening in the first place. For instance, if there are a limited number of legal actions at some point in the application, then help users select from among these legal actions—rather than allowing them to perform any action and telling them after the fact when they've made an error. This could be considered a subset of the first heuristic, visibility of system status (what input the computer system is ready to accept), but it is so important and so often violated that it warrants its own heuristic.
Relationship to the information-processing model of a user. Errors can come about because users make mistakes in perception, lack knowledge about what to do next, recall the gist of a command rather than the exact details, or slip when they type or point. Some of these mistakes can be prevented by showing only those actions that are acceptable at that particular point in an interaction (e.g., graying out inappropriate buttons) or caught as soon as the user performs them (e.g., not accepting an incorrect abbreviation of a US state in an address form).
这个好像是软件工程需要着重考虑的问题,在WEB开始时一个典型的例子就是表单验证了。
Recognition Rather Than Recall(系统需要有足够的提示信息让用户第一时间获得需要的信息 )
Brief explanation of the heuristic. Show all objects and actions available to the user. Do not require them to remember information from one screen of the application to another.
Relationship to the information-processing model of a user. This heuristic is a direct application of theories of human memory. It is much easier for someone to recognize that they know what to do if there are cues in the environment coming into working memory through perception as well as knowledge in long-term memory of what to do.
在很多软件中,都有典型的下一步下一步的工作模式,在这个时候就可能存在一个信息传递的问题。可能前面说填写的信息在后面需要继续指导用户,这时候不应该是让用户自己记忆信息而是应该由系统主动给出信息。例如:在安装软件时,我们一步一步配置安装信息,在最后一步确认配置时应该给出前面信息的综合信息以对用户起提示作用。
Flexibility and Efficiency of Use(提供灵活高效的使用方式 )
Brief explanation of the heuristic. The design should have accelerators (keyboard shortcuts) to allow skilled users to speed up their interaction (as opposed to always using menus or icons with the mouse). Skilled users should also be able to tailor their interface to speed up frequent actions.
Relationship to the information-processing model of a user. The value of accelerators comes primarily from the motor processes of the user. Typing single keys is typically faster than continually switching the hand between the keyboard and the mouse and pointing to things on the screen. Furthermore, skilled users will develop plans of action, which they will want to execute frequently, so tailoring can capture these plans in the interface itself.
这一点就是要求系统能给出操作上的优良途径,方便专家用户在定制操作后提高使用效率。
Aesthetics and Minimalist Design(提高系统的易读性 )
Brief explanation of the heuristic. Eliminate irrelevant screen clutter.
Relationship to the information-processing model of a user. This heuristic relates to the visual search aspect of perception and also to memory. The more clutter, the more information the eyes must search through to find the desired information. In addition, the more information coming in through perception as the visual search proceeds, the more this information interferes with the retrieval from long-term memory of the information that is actually relevant to the task at hand.
系统易读性最好的一个例子应该是当初Google的成功了。它简单明了,直接给出用户需要做的事情。在这个世纪,我们已经面临信息爆炸,更希望一致直截了当的信息。
Help Users Recognize, Diagnose, and Recover from Errors(给用户足够的错误提示信息,以帮助用户从错误中恢复 )
Brief explanation of the heuristic. Error messages should be written in plain language, tell the user what the problem is, and give constructive advice about how to recover from the error. Again, this could be considered a subset of the first heuristic, visibility of system status , but it is so important and so often violated that it warrants its own heuristic.
Relationship to the information-processing model of a user. This is simply an admonition to give the user sufficient information to understand the situation.
至于这个的典型例子,我比较喜欢Java的异常流模式,特别方便程序员定位错误。对于广大用户来说,平时使用时弹出的错误提示框中的详细信息就是一个这样的应用体现。微软的错误提示做的很详细(一般都是给出下一步下一步的选择),不过一般结果很遗憾总是在点了无数次下一步后又回到了起点。
Help and Documentation(给出必要的文档和说明帮助 )
Brief explanation of the heuristic. If the system is not an extremely simple, walk-up-and-use application, it is going to need help and documentation. This should be always available, easily searchable, and give concrete advice applicable to users’ tasks.
Relationship to the information-processing model of a user. This is again an admonition to give the user sufficient information to understand the application. The search feature should allow information to be found by asking for the gist of the meaning, rather than only the exactly right keyword, because people will remember only the gist, not the exact words (if they ever knew them).
这个不但要给用户,也要给我们广大的程序员。
评论
<h3><strong>Provide Keyboard Shortcuts(<span style='color: #0000ff;'>需要提供快捷键</span>)</strong> </h3>
<p>Keyboard shortcuts provide alternative ways of issuing commands, and
in most cases, using a keyboard shortcut is faster than using the
mouse. Using the mouse requires moving the hand from the keyboard to
the mouse, moving the mouse to the target, clicking the target, and
then moving the hand back to the keyboard. In contrast, when a user
uses a keyboard shortcut, their hands need not leave the keyboard. </p>
<p>Examples of keyboard shortcuts: </p>
<ul>
<li> On the Macintosh, when a choice of buttons is presented, the
button outlined in bold can be "pressed" by hitting the RETURN key.</li>
</ul>
<ul>
<li> Common commands like opening and closing documents in an
application, printing, saving, and quitting can be issued using
keyboard shortcuts such as CTRL-O (under Windows) or Command-O (under
MacOS).</li>
</ul>
<ul>
<li> Windows 95/NT/98 provides an additional keyboard shortcut
mechanism. The underlined letter of a menu item indicates that that
menu option can be invoked by hitting the ALT key and the underlined
letter together. For example, opening a file can be accomplished by
hitting the F key and then the O key while holding down the ALT key -
or
simply by pressing CTRL-O.</li>
</ul>
<h3><strong><a name='af'/>Allow for Customization(<span style='color: #0000ff;'>为专家级用户提供定制功能</span>)</strong> </h3>
<p>Giving users control over how their computer looks and behaves
allows users to tailor their environment to suit their preferences.
This gives users a sense of being in charge that has an overall
positive effect on their experience. It also allows users with special
needs to adapt their computing environment to meet their needs. For
example, a user with difficulty using their left hand can move
important keyboard shortcuts to the right side of the keyboard. Some
other examples are </p>
<ul>
<li> <strong>Speed</strong>: Power users want to maximize speed, typically by
adding keyboard shortcuts in order to reduce the amount of time they
use the mouse.</li>
</ul>
<ul>
<li> <strong>Appearance</strong>: Some people are strongly affected by the
amount of clutter on their screen. Giving users control over secondary
menus and toolbars within an application as well as icon placement on
the background gives users control over how their computer looks.</li>
</ul>
<ul>
<li> <strong>Readability</strong>: Other users (such as elderly users) may
require a large font for readability reasons or reverse-video (white
text on a black background) to reduce eyestrain. Giving users control
over the computer’s background, font face and size, and other display
settings allows users to adapt these according to their needs and
preferences.</li>
</ul>
<p> </p>
<h3><strong>Example UAR: Button Accelerators Exist</strong> </h3>
<div style='background-color: #eeeeee;'>
<h4><strong>UAR Identifier</strong> </h4>
<p>HE9 - Good Feature </p>
<h4><strong>Succinct description:</strong> </h4>
<p>"OK" and "Apply" buttons have keyboard shortcuts. </p>
<h4><strong>Evidence for the aspect:</strong> </h4>
<p>Heuristic: Flexibility and efficiency of use: keyboard accelerators.
</p>
<p><strong>Interface aspect:</strong> </p>
<p>The buttons at the bottom of the screen labeled "OK" and "Apply"
have keyboard accelerators, as shown in the picture below. The "OK"
button is in focus, so pressing the ENTER key will activate that
command. And, notice that the "Apply" button has a keyboard shortcut:
typing ALT-A (as indicated by the underlined "<span style='text-decoration: underline;'>A</span>" in "<span style='text-decoration: underline;'>A</span>pply")
will activate that command. <br/>
<br/><img src='/upload/attachment/49326/922c91dc-0515-3d7a-afe0-e46382ef418a.png' alt=''/></p>
<h4><strong>Explanation of the aspect:</strong> </h4>
<p>OK and Apply are the actions the users will most frequently want to
take (assuming that Cancel is used only for undoing errors and changing
courses of action - both of which should be relatively rare in
comparison
to other actions people choose and carry out.) </p>
<p>The OK button is the default, indicated in the standard way (with a
bold outline). The Apply button can be activated by typing ALT-A, also
indicated in the standard way: by underlining the "<span style='text-decoration: underline;'>A</span>" in "<span style='text-decoration: underline;'>A</span>pply".
Both of these interaction techniques can be found in the <em>Design
Guide.</em> (See the following sections in Chapter 8: "Characteristics
of Secondary Windows/Default Buttons" and "Characteristics of Secondary
Windows/Navigation in Secondary Windows" respectively.) </p>
<h4><strong>Benefit of the good feature:</strong> </h4>
<p>Users who are skilled at using Windows will be able to operate these
two commands without their hands leaving the keyboard (which is faster
than using the mouse - see "1.1.3 Basic
Psychology Needed for Interface Design"). Since the commands are
indicated visually in standard ways, skilled users will see these
indications and know them for what they are - clues to the keyboard
shortcuts. </p>
<h4><strong>Solution/Discussion:</strong> </h4>
<p>I cannot think of any drawbacks to using the standard button labels
and actions at this time. </p>
<h4><strong>Relationship to other UARs:</strong> </h4>
None when this UAR was originally written. </div>
<h3>Let the User Be in Control(<span style='color: #0000ff;'>让用户具有控制权</span>)</h3>
<p>The sense of "who's in charge" strongly affects how a user feels about
an application. Users get frustrated when they don’t feel in control of
the computer, and for this reason, users should initiate actions, not
the computer. Also, carefully consider the wording of messages; their
tone should suggest that the computer is ready and compliant, not
commanding or threatening, and that the user, not the computer, is in
charge.
</p>
<p><span style='color: #0000ff;'>交谈之中,听者为大。软件生产,客户为大。软件运行,用户为大。软件始终需要灌输一个思想:用户是软件运行的主导,他需要具有很好的软件控制权。</span></p>
<h3> <a name='pu'/>Provide an Undo Mechanism(<span style='color: #0000ff;'>提供撤销操作</span>)</h3>
<p>
The user should be able to reverse the steps in a process and retreat
back to a previous state. Some of the ways applications implement undo
are listed below:</p>
<ul>
<li> An undo command that reverses the most recent command is common
in many applications. The simplest form only allows the user to reverse
the most recent command. Some applications allow the user to reverse
several steps.</li>
</ul>
<ul>
<li> A "Reset" or "Factory Settings" button is another form of undo
mechanism. These buttons will reverse certain edits.
The Reset button will reverse settings that have been set in the
current editing session. The Factor Settings button will cause
the settings to be returned to their out-of-the-box configuration。</li>
</ul>
<p><span style='color: #0000ff;'>人人都会犯错,软件使用者亦不例外。我们需要给用户提供良好的用户体验。提供Redo和Undo.这一点我非常佩服Google,人家让WEB应用也如此的人性化了。在这里略微谈下原理:利用栈结构。</span></p>
<h3> <a name='rc'/>Require Confirmation(<span style='color: #0000ff;'>在重要操作时,需要给用户提供确认操作</span>)</h3>
<p>
The user should be warned when an irreversible action is about to be
initiated. An application should require an explicit confirmation
before allowing an irreversible step to be set in motion.
</p>
<h3> <a name='per'/>Provide an Escape Route(<span style='color: #0000ff;'>提供及时退出功能</span>)</h3>
<p>
Users should be able to halt processes. A typical way to provide for
this is to offer a Cancel button at all times. However, when canceling
a process may leave the computer in an unstable state - such as
canceling
an install process when only a subset of the necessary files have been
transferred - the user should be warned that canceling could have
negative consequences and should be advised of an alternative way to
halt or reverse the process.
</p>
<p> </p>
<p>下面给出一个UAR:</p>
<h3><strong><strong>Date/Time Control Panel Applications of this
Heuristic</strong></strong></h3>
<h3><strong>Example UAR: Aspect 1 — Cancel Button Is Good</strong>
</h3>
<div style='background-color: #eeeeee;'>
<h4><strong>UAR Identifier</strong> </h4>
<p>HE7 - Good Feature </p>
<h4><strong>Succinct description:</strong> </h4>
<p>"Cancel" button provides an "emergency exit." </p>
<h4><strong>Evidence for the aspect:</strong> </h4>
<p>Heuristic: User control and freedom </p>
<p><strong>Interface aspect:</strong> </p>
<p>There is a Cancel button at the bottom of the screen, as shown in
the picture below: <br/><img src='/upload/attachment/49284/c2d55d8b-8984-3540-a71b-93ab02544769.png' alt=''/></p>
<p>In the online <em>MSDN Library Visual Studio 6.0 </em>(see section<em>
Books/The Windows Interface Guidelines for Software Design/ Chapter 8
Secondary Windows/Property Sheets and Inspectors/Closing a Property
Sheet)</em>, it lists the following specification of the Cancel button's
action: </p>
<p> </p>
<table border='0' width='55%'>
<tbody>
<tr>
<th width='21%'>
<div><strong>Command</strong></div>
</th>
<td width='79%'><strong>Action</strong></td>
</tr>
<tr>
<td valign='top' width='21%'> </td>
<td width='79%'> </td>
</tr>
<tr>
<td valign='top' width='21%'><em><strong>Cancel</strong></em></td>
<td width='79%'>Discards any pending changes and closes the
property sheet window. Does not cancel or undo changes that have
already been applied.</td>
</tr>
</tbody>
</table>
<p> </p>
<h4><strong>Explanation of the aspect:</strong> </h4>
<p>If users setsthe time and then change their minds, they can cancel
all the changes by clicking the Cancel button. The button is prominent
and is the standard way to undo a sequence of changes made in a
property box. </p>
<h4><strong>Benefit of the good feature:</strong> </h4>
<p>Users will be able change their mind and undo a series of changes
with just one button click. </p>
<h4><strong>Solution:</strong> </h4>
<p>Although the Cancel button discards all the changes that have not
been applied and closes the window, if the Apply button was clicked
prior to clicking the Cancel button, no changes will be undone, though
the window will be closed. See UAR #HE8 for more discussion of this
control panel operation. </p>
<h4><strong>Relationship to other UARs:</strong> </h4>
<p>UAR# HE8 Cancel doesn't give feedback when it doesn't cancel
anything.</p>
<br/>
<h3><strong><a name='exu2'/>Example UAR: Aspect 2 — UARs Sometimes Lead
to More UARs</strong> </h3>
<p>It is quite possible that as you write up one UAR about a good
feature or problem, you will discover other usability aspects that
warrant their own UARs. When this happens, just record in the first UAR
that another UAR is connected; then write the second UAR. For example,
while writing UAR# HE7 above, we discovered that the Cancel button
doesn't always cancel something, and when it does not, it doesn't
indicate that fact. We discovered this when we were thinking about
trade-offs and writing in the <strong>Solution</strong> slot. Therefore, we put
a note in that slot referring readers to the next UAR, UAR# HE8.
Likewise, we listed UAR# HE8 in UAR# HE7's <strong>Relationship to other
UARs</strong> slot. </p>
<h4><strong>UAR Identifier</strong> </h4>
<p>HE8 - Problem </p>
<h4><strong>Succinct description:</strong> </h4>
<p>Cancel doesn't give feedback when it doesn't cancel anything </p>
<h4><strong>Evidence for the aspect:</strong> </h4>
<p>Heuristic: Visibility of system status </p>
<p><strong>Interface aspect:</strong> </p>
<p>There is a Cancel button at the bottom of the screen, as shown in
the picture below: <br/>
<br/><img src='/upload/attachment/49284/c2d55d8b-8984-3540-a71b-93ab02544769.png' alt=''/></p>
<p>In the online <em>MSDN Library Visual Studio 6.0 </em>(see section<em>
Books/The Windows Interface Guidelines for Software Design/ Chapter 8
Secondary Windows/Property Sheets and Inspectors/Closing a Property
Sheet)</em>, it lists the following specification of the Cancel button's
action: </p>
<p> </p>
<table border='0' width='51%'>
<tbody>
<tr>
<th align='left' width='38%'><strong>Command</strong></th>
<td width='59%'><strong>Action</strong></td>
</tr>
<tr>
<td valign='top' width='38%'> </td>
<td width='59%'> </td>
</tr>
<tr>
<td valign='top' width='38%'><em>Cancel</em></td>
<td width='59%'>Discards any pending changes and closes the
property sheet window. Does not cancel or undo changes that have
already been applied.</td>
</tr>
</tbody>
</table>
<p> </p>
<p>As specified in the <em>Design Guide</em>, if changes are made in the
property box and then the Apply button is pressed, those changes are
made permanent and cannot be discarded by clicking the Cancel button.
However, there is no visual indication that these changes are not
available to be canceled; the Cancel button still looks active. In
effect, if the Cancel button is clicked right after the Apply button is
clicked, the Cancel button will behave exactly like the OK button: it
will simply close the window (because the changes have already been
applied). </p>
<h4><strong>Explanation of the aspect:</strong> </h4>
<p>The <em>Windows Design Guide</em> does not seem to give advice about
whether the standard buttons should be available (black) or unavailable
(gray) at any particular time. However, this Date/Time control panel
tab (labeled "Date & Time") makes the Apply button unavailable
(gray) when there are no changes to be applied, and it will have no
effect. The Cancel button is not grayed out when there are no changes
to cancel, presumably because it will still have <em>an</em> effect
(i.e., closing the window), but it will NOT have <em>the</em> effect it
was labeled for (i.e., canceling something) if the changes have been
applied. </p>
<h4><strong>Severity of the problem:</strong> </h4>
<p>This can be a rather severe problem if there is no way the user can
check the status of the property box once it is closed - or even if the
information is on the screen but difficult to see. In this case, many
users will have the clock in very small font down in the bottom right
corner where they may never have occasion to look. This is severe
because users may <em>think</em> they've canceled changes when they
haven't: in reality, the changes have been applied to the system clock.
This change will affect the dating of files and e-mail messages and,
therefore, can have wide-reaching consequences. </p>
<h4><strong>Solution:</strong> </h4>
<p>Make the Cancel button unavailable (gray) when there are no changes
to cancel. Thus, the Apply and Cancel buttons will either be available
(black) or unavailable (gray) at the same time - depending on whether
or
not there are changes to apply or cancel. </p>
<p>When there are no unapplied changes, only the OK button will be
available (black), and it will close the window. </p>
<em>Note that this train of thought could continue to the point of
reconsidering if the OK button should also be gray when there are no
unapplied changes made. The window could always be closed with the
Close button (labeled with an "x") in the top right corner of the
window. A complete analysis of this issue would generate at least one
more UAR to discuss the OK button, links between all these UARs, and a
group UAR to discuss them all as a group (to be discussed in a later
section of the course).</em>
The <em>Windows Design Guide</em> seems to be silent on the issue of
active/inactive Property Sheet command buttons, so graying the Cancel
button would not violate an explicit platform standard. However, we
might want to look at several other applications with property boxes to
see if there is a de facto standard, or see if people in user tests are
confused by the Cancel button becoming unavailable (gray).
<h4><strong>Relationship to other UARs:</strong> </h4>
UAR# HE7 - Good Feature:
<p>"Cancel" button provides an "emergency exit." </p>
</div>
<p> </p>
<h3>Don’t Frustrate the User(<span style='color: #0000ff;'>不要迷惑用户</span>)</h3>
<p>
Users become accustomed to certain actions and sequences, and they are
likely to become confused or frustrated when they encounter unexpected
behavior. When one screen requires a specific series of actions, users
will expect the same series of actions to be required under similar
conditions. The qualities of familiarity and predictability in an
interface reduce the stress involved in using an application.
</p>
<p><span style='color: #0000ff;'><span style='color: #ff0000;'>系统的返回信息需要明确</span>,需要让用户能够在看到系统的反应时不会诧异和意外。</span></p>
<h3> <a name='mp'/>Maintain Platform Consistency(<span style='color: #0000ff;'>系统设计需要符合平常的使用惯例</span>)</h3>
<p>
Products should conform to the conventions of the platform for which
they are built.
</p>
<ol>
<li> User frustration is minimized when products adhere to platform
conventions. An example of a platform convention is the location
and contents of the File menu-the File menu option is always the
leftmost item on a Windows-style menu bar-and users can expect to find
File menu commands for opening, closing, saving, printing, and
quitting.</li>
<li> Users are able to learn new products quickly. That is, users
don’t have to learn new locations or sequences for common commands
(such as Open, Close, Save, Print, and Exit/Quit). Hence, they can
concentrate on learning the commands that are unique to the product.</li>
</ol>
<h3> <a name='ma'/>Maintain Application Consistency(<span style='color: #0000ff;'>整个系统需要统一</span>)</h3>
<p>
Consistency within an application is also important. One kind of
consistency is location consistency-that is, commands should not move
around between menus, sometimes appearing on one menu and sometimes on
another. Also, commands should not appear and disappear from
menus-disappearing or moving menu items leave users unsure of where and
when they last saw or used a particular item. Instead, menu items that
aren’t available to the user at a given moment should be <cite>dimmed</cite>
(or <em>shaded</em>) instead of being removed from the menu.
</p>
<p>Other areas where consistency is important are </p>
<ol>
<li> Key bindings-keyboard shortcuts should comply with platform and
application standards.</li>
<li>Messages, warnings, and alarms-messages, warnings, and alarms
should be consistent in their wording and in where they appear.</li>
<li> Color semantics—colors, when they are used as codes, should keep
the same meaning throughout.</li>
<li> Formatting-formatting styles for date and time, monetary units,
and numbers should be kept consistent.</li>
<li> Dialog boxes-dialog boxes should be consistent in their
presentations.</li>
<li> Data presentation-aspects of data presentation (such as
labeling, capitalization, font face, use of bold and italic, and the
placement of fields) should be kept consistent.</li>
<li> Terminology-words used to describe actions, behaviors, and
commands should be kept consistent.</li>
</ol>
<p><span style='color: #0000ff;'><span style='color: #ff0000;'>系统上面的显示和使用控件需要在系统的始末都保持一致</span>,举个简单的例子:一个button在有的时候不能点击,这个时候我们最好使它的属性变成不可使用而不是直接删除。</span></p>
<p><span style='color: #0000ff;'>这方面(<span style='color: #ff0000;'>一致性</span>)涉及到其它的一些控件和事件:</span></p>
<ol>
<li><span style='color: #0000ff;'>快捷键</span></li>
<li><span style='color: #0000ff;'>各种提示信息</span></li>
<li><span style='color: #0000ff;'>颜色风格(错误提示是一种风格、普通显示是一种风格等等)</span></li>
<li><span style='color: #0000ff;'>整体样式</span></li>
<li><span style='color: #0000ff;'>提示对话框</span></li>
<li><span style='color: #0000ff;'>数据显示</span></li>
<li><span style='color: #0000ff;'>专业的术语</span></li>
</ol>
<p> </p>
<p>下面用一个UAR来作为一个具体实例进行解释:</p>
<h3><strong><strong>Date/Time Control Panel Applications of this
Heuristic</strong></strong></h3>
<h3><strong>Example UAR: Aspect 1 - Button Labels Are Good</strong>
</h3>
<div style='background-color: #eeeeee;'>
<h4><strong>UAR Identifier</strong> </h4>
<p>HE5-Good Feature </p>
<h4><strong>Succinct description:</strong> </h4>
<p>"OK", "Cancel", and "Apply" button labels follow Windows standards. </p>
<h4><strong>Evidence for the aspect:</strong> </h4>
<p>Heuristic: Consistency and standards (in particular, the "standards"
part of this heuristic) </p>
<p><strong>Interface aspect:</strong> </p>
<p>The buttons at the bottom of the screen are labeled "OK", "Cancel",
and "Apply"-as shown in the picture below. </p>
<p><br/><img src='/upload/attachment/49269/50064ad1-4540-3cab-8c37-48ae1fc0af92.png' alt=''/></p>
<p>In the online <em>MSDN Library Visual Studio 6.0 (see Books/The
Windows Interface Guidelines for Software Design/ Chapter 8 Secondary
Windows/Property Sheets and Inspectors/Property Sheet Commands)</em>, it
lists the following standard ways to close the property sheet: </p>
<p> </p>
<table border='0' width='50%'>
<tbody>
<tr>
<th width='23%'>
<div><strong>Command</strong></div>
</th>
<td width='64%'><strong>Action</strong></td>
</tr>
<tr>
<td valign='top' width='23%'><em>OK</em></td>
<td width='64%'>Applies all pending changes and closes the
property sheet window.</td>
</tr>
<tr>
<td valign='top' width='23%'><em>Apply</em></td>
<td width='64%'>Applies all pending changes but leaves the
property sheet window open.</td>
</tr>
<tr>
<td valign='top' width='23%'><em>Cancel</em></td>
<td width='64%'>Discards any pending changes and closes the
property sheet window. Does not cancel or undo changes that have
already been applied.</td>
</tr>
</tbody>
</table>
<p> </p>
<h4><strong>Explanation of the aspect:</strong> </h4>
<p>All the standard ways to close the property sheet are present and
work as described. </p>
<h4><strong>Benefit of the good feature:</strong> </h4>
<p>Users will be able to use their prior knowledge of Microsoft
products with this control panel. </p>
<h4><strong>Solution:</strong> </h4>
<p>I cannot think of any drawbacks to using the standard button labels
and actions at this time. </p>
<h4><strong>Relationship to other UARs:</strong> </h4>
<p>None when this UAR was originally written.</p>
</div>
<p> </p>
<h3><strong><a name='eu2'/>Example UAR: Aspect 2 - Button Names Are Very
Similar</strong> </h3>
<p>At the same time that the "OK" and "Apply" button labels conform to
the standards part of the <strong>consistency and standards</strong> heuristic,
those words are so similar in meaning that they may violate the
"consistency" part of the same heuristic. That is, when very similar
words are used to describe different actions, the user is likely to
become confused. First, we'll write up this UAR and then discuss the
problem of what to do when heuristics give conflicting design advice. </p>
<div style='background-color: #eeeeee;'>
<h4><strong>UAR Identifier</strong> </h4>
<p>HE6-Problem </p>
<h4><strong>Succinct description:</strong> </h4>
<p>The difference between "OK" and "Apply" is not obvious. </p>
<h4><strong>Evidence for the aspect:</strong> </h4>
<p>Heuristic: Consistency and standards (in particular, the
"consistency" part of this heuristic) </p>
<p><strong>Interface aspect:</strong> </p>
<p>The button labels "OK" and "Apply" have very similar definitions in
lay English. </p>
Definition of "OK" in Webster's New Collegiate Dictionary:
approve, authorize. <br/>
In the context of just making changes to something, the changes are the
things that are approved or authorized.
<p>Definition of "apply" in Webster's New Collegiate Dictionary: To put
into effect. <br/>
In the context of just making changes to something, these changes are
the things that will be put into effect. </p>
<h4><strong>Explanation of the aspect:</strong> </h4>
<p>The difference between "OK" and "Apply" is not obvious to the user.
From common definitions of the words, it would seem that they do the
same thing: make the changes that the user just indicated in the
control panel. Since the words are different, the actions should also
be different according to the <strong>consistency and standards</strong>
heuristic, but the difference between the actions should be reflected
in the words used to label them. </p>
<p>According to the <em>Design Guide </em>passage quoted<em> above</em>,
both buttons <em>apply</em> the changes the user made to the property
sheet. The only difference is that the Apply button leaves the property
sheet open and the OK button closes the property sheet. Unfortunately,
this difference is not inherent in the meanings of the labels. </p>
<h4><strong>Severity of the problem:</strong> </h4>
<p>The users will probably learn the difference between these buttons
pretty quickly, especially if they use other Windows products. </p>
<h4><strong>Solution:</strong> </h4>
<p>Change the labels to reflect the real difference in the actions.
Perhaps use "Apply" and "Apply & Close". </p>
<p>However, following this solution will violate the <em>Windows Design
Guide</em> conventions and, therefore, will violate the standards part
of the same heuristic. The buttons "OK" and "Cancel" were standardized
long before dialog boxes that needed "Apply" were in use. Therefore,
the terms have been "inherited" with a lot of users knowing what they
mean. It will not be easy to change away from the "OK" label. </p>
<h4><strong>Relationship to other UARs:</strong> </h4>
UAR# HE5 – Good Feature: <br/>
"OK", "Cancel," and "Apply" button labels follow Windows standards.
<p>This heuristic seems to give conflicting advice. Perhaps we'll have
to do user testing-or at least conduct a survey or some interviews-to
see if our users will really have problems with "Apply" and "OK". </p>
</div>
都是武汉的 打个招呼 支持下
谢谢!
关于以上的十条规则,我们更多的会在软件界面设计方面用到。
但是很多时候,我们可以将其作为我们前期开发设计的基本标准,并且我们应当将主要精力放在UI设计这一块。毕竟我们设计的是软件而不是在做一个自己用的小程序。在经历了很多软件比赛后,我的感受比较深刻,软件的后期包装、外观设计是更主要的。至于底层实现,使用者是不会太在意的(因为很多使用者不是专家)。
发表评论
-
Ruby 2.1 GC策略
2014-01-23 11:30 991对象管理主要涉及: Profiling support ... -
Google 持续集成介绍
2014-01-23 11:26 1574见附件PPT. 具体方案 构建描述 依赖分析 ... -
函数式编程 读后感
2013-12-30 15:24 1466一篇比较不错的文章: http://coolshel ... -
系统模块集成管理与版本控制学习
2013-12-27 12:01 1345论软件生命周期集成 http://www.infoq.com ... -
Ruby 动态特性鉴赏
2013-12-26 16:47 1346以下代码与代码学习来自<Ruby Best Prac ... -
Android应用插件化与动态部署 学习
2013-12-26 16:45 0通过REST将相关服务有语义的组合起来。 动态部署: ... -
用Markdown做文档的问题
2013-12-23 18:06 876一直有想一种语言能够解决文档编写问题。 一般文档编写 ... -
Android组件、通信与安全机制学习
2013-12-20 12:26 0现有问题: Android的组件间通信有哪些方法?其中的I ... -
Android root 原理学习
2013-12-15 23:51 2351学习资源: http://www.zhihu.com/qu ... -
global + Ruby
2012-11-16 13:07 1293http://simple-and-basic.com/200 ... -
Linux pthread线程同步相关的API学习
2012-11-12 18:43 1481原因 最近在深入理解Dalvik虚拟机的内部线程控制体系,其 ... -
MMTk代码学习(系统结构与流程)
2012-11-06 19:08 1684MMTk的整体结构和驱动模型主要由Plan, Collecto ... -
MMTk代码学习(RVM接口)
2012-11-06 14:52 1569前导 MMTk被RVM整个封装在后端,主要调用接口是 org ... -
MMTk代码学习(整体结构)
2012-11-05 17:03 2471必要的整体模块 对于一个完整的内存管理工具,主要涉及: ... -
嵌入式Java虚拟机 GC特性一览
2012-10-31 15:53 1319嵌入式Java虚拟机列表来源:http://en.wikipe ... -
Memory Analysis Tool OQL 用例汇总及语法学习
2012-10-28 16:36 2187典型用例 获取所有对象: SELECT * FROM $ ... -
Memory Analysis Tool 使用相关材料整理
2012-10-28 10:47 2029利用MAT分析问题 从转储(Dump)文件中调试并除错 ... -
手机设备操作系统架构图整理
2012-10-28 10:28 1584整体分析材料 Android,ChromeOS, WebO ... -
MMTk特性认识
2012-10-25 16:24 1793整体介绍 MMTk是一个内存管理的工具包 ,同时也是jik ... -
JavaScript V8 引擎相关资料
2012-10-25 14:54 1152V8 Javascript engine之所以快 针 ...
相关推荐
全国大学生智能汽车竞赛自2006年起,由教育部高等教育司委托高等学校自动化类教学指导委员会举办,旨在加强学生实践、创新能力和培养团队精神的一项创意性科技竞赛。该竞赛至今已成功举办多届,吸引了众多高校学生的积极参与,此文件为智能车竞赛介绍
字卡v4.3.4 原版 三种UI+关键字卡控制+支持获取用户信息+支持强制关注 集卡模块从一开始的版本到助力版本再到现在的新规则版本。 集卡模块难度主要在于 如何控制各种不同的字卡组合 被粉丝集齐的数量。 如果不控制那么一定会出现超过数量的粉丝集到指定的字卡组合,造成奖品不够的混乱,如果大奖价值高的话,超过数量的粉丝集到大奖后,就造成商家的活动费用超支了。我们冥思苦想如何才能限制集到指定字卡组合的粉丝数,后我们想到了和支付宝一样的选一张关键字卡来进行规则设置的方式来进行限制,根据奖品所需的关键字卡数,设定规则就可以控制每种奖品所需字卡组合被粉丝集到的数量,规则可以在活动进行中根据需要进行修改,活动规则灵活度高。新版的集卡规则,在此次政府发布号的活动中经受了考验,集到指定字卡组合的粉丝没有超出规则限制。有了这个规则限制后,您无需盯着活动,建好活动后就无人值守让活动进行就行了,您只需要时不时来看下蹭蹭上涨的活动数据即可。 被封? 无需担心,模块内置有防封功能,支持隐藏主域名,显示炮灰域名,保护活动安全进行。 活动准备? 只需要您有一个认证服务号即可,支持订阅号借用认证服务号来做活动。如果您
出口设备线体程序详解:PLC通讯下的V90控制与开源FB284工艺对象实战指南,出口设备线体程序详解:PLC通讯与V90控制集成,工艺对象与FB284协同工作,开源学习V90控制技能,出口设备1200线体程序,多个plc走通讯,内部有多个v90,采用工艺对象与fb284 共同控制,功能快全部开源,能快速学会v90的控制 ,出口设备; 1200线体程序; PLC通讯; 多个V90; 工艺对象; FB284; 功能开源; V90控制。,V90工艺控制:开源功能快,快速掌握1200线体程序与PLC通讯
基于Arduino与DAC8031的心电信号模拟器资料:心电信号与正弦波的双重输出应用方案,Arduino与DAC8031心电信号模拟器:生成心电信号与正弦波输出功能详解,基于arduino +DAC8031的心电信号模拟器资料,可输出心电信号,和正弦波 ,基于Arduino;DAC8031;心电信号模拟器;输出心电信号;正弦波输出;模拟器资料,基于Arduino与DAC8031的心电信号模拟器:输出心电与正弦波
MATLAB口罩检测的基本流程 图像采集:通过摄像头或其他图像采集设备获取包含面部的图像。 图像预处理:对采集到的图像进行灰度化、去噪、直方图均衡化等预处理操作,以提高图像质量,便于后续的人脸检测和口罩检测。 人脸检测:利用Haar特征、LBP特征等经典方法或深度学习模型(如MTCNN、FaceBoxes等)在预处理后的图像中定位人脸区域。 口罩检测:在检测到的人脸区域内,进一步分析是否佩戴口罩。这可以通过检测口罩的边缘、纹理等特征,或使用已经训练好的口罩检测模型来实现。 结果输出:将检测结果以可视化方式展示,如在图像上标注人脸和口罩区域,或输出文字提示是否佩戴口罩。
1、文件内容:kernel-debug-devel-3.10.0-1160.119.1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/kernel-debug-devel-3.10.0-1160.119.1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
该文档提供了一个关于供应链管理系统开发的详细指南,重点介绍了项目安排、技术实现和框架搭建的相关内容。 文档分为以下几个关键部分: 项目安排:主要步骤包括搭建框架(1天),基础数据模块和权限管理(4天),以及应收应付和销售管理(5天)。 供应链概念:供应链系统的核心流程是通过采购商品放入仓库,并在销售时从仓库提取商品,涉及三个主要订单:采购订单、销售订单和调拨订单。 大数据的应用:介绍了数据挖掘、ETL(数据抽取)和BI(商业智能)在供应链管理中的应用。 技术实现:讲述了DAO(数据访问对象)的重用、服务层的重用、以及前端JS的继承机制、jQuery插件开发等技术细节。 系统框架搭建:包括Maven环境的配置、Web工程的创建、持久化类和映射文件的编写,以及Spring配置文件的实现。 DAO的需求和功能:供应链管理系统的各个模块都涉及分页查询、条件查询、删除、增加、修改操作等需求。 泛型的应用:通过示例说明了在Java语言中如何使用泛型来实现模块化和可扩展性。 文档非常技术导向,适合开发人员参考,用于构建供应链管理系统的架构和功能模块。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
C#与VB实现欧姆龙PLC的Fins TCP通信案例源码:调用动态链接库进行数据读写,定时器与计数器数据区的简洁读写操作示例,C#与VB实现欧姆龙PLC的Fins TCP通信案例源码:调用动态链接库进行读写操作,涵盖定时器计数器数据区学习案例,C#欧姆龙plc Fins Tcp通信案例上位机源码,有c#和VB的Demo,c#上位机和欧姆龙plc通讯案例源码,调用动态链接库,可以实现上位机的数据连接,可以简单实现D区W区定时器计数器等数据区的读写,是一个非常好的学习案例 ,C#; 欧姆龙PLC; Fins Tcp通信; 上位机源码; 动态链接库; 数据连接; D区W区读写; 定时器计数器; 学习案例,C#实现欧姆龙PLC Fins Tcp通信上位机源码,读写数据区高效学习案例
可调谐石墨烯超材料吸收体的FDTD仿真模拟研究报告:吸收光谱的化学势调节策略与仿真源文件解析,可调谐石墨烯超材料吸收体:化学势调节光谱的FDTD仿真模拟研究,可调谐石墨烯超材料吸收体FDTD仿真模拟 【案例内容】该案例提供了一种可调谐石墨烯超材料吸收体,其吸收光谱可以通过改变施加于石墨烯的化学势来进行调节。 【案例文件】仿真源文件 ,可调谐石墨烯超材料吸收体; FDTD仿真模拟; 化学势调节; 仿真源文件,石墨烯超材料吸收体:FDTD仿真调节吸收光谱案例解析
RBF神经网络控制仿真-第二版
松下PLC与威纶通触摸屏转盘设备控制:FPWINPRO7与EBPRO智能编程与宏指令应用,松下PLC与威纶通触摸屏转盘设备控制解决方案:FPWINPRO7与EBPRO协同工作,实现多工位转盘加工与IEC编程模式控制,松下PLC+威纶通触摸屏的转盘设备 松下PLC工程使用程序版本为FPWINPRO7 7.6.0.0版本 威纶通HMI工程使用程序版本为EBPRO 6.07.02.410S 1.多工位转盘加工控制。 2.国际标准IEC编程模式。 3.触摸屏宏指令应用控制。 ,松下PLC; 威纶通触摸屏; 转盘设备控制; 多工位加工控制; IEC编程模式; 触摸屏宏指令应用,松下PLC与威纶通HMI联控的转盘设备控制程序解析
基于循环神经网络(RNN)的多输入单输出预测模型(适用于时间序列预测与回归分析,需Matlab 2021及以上版本),基于循环神经网络(RNN)的多输入单输出预测模型(matlab版本2021+),真实值与预测值对比,多种评价指标与线性拟合展示。,RNN预测模型做多输入单输出预测模型,直接替数据就可以用。 程序语言是matlab,需求最低版本为2021及以上。 程序可以出真实值和预测值对比图,线性拟合图,可打印多种评价指标。 PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体数据为准。 2.由于每个人的数据都是独一无二的,因此无法做到可以任何人的数据直接替就可以得到自己满意的效果。 这段程序主要是一个基于循环神经网络(RNN)的预测模型。它的应用领域可以是时间序列预测、回归分析等。下面我将对程序的运行过程进行详细解释和分析。 首先,程序开始时清空环境变量、关闭图窗、清空变量和命令行。然后,通过xlsread函数导入数据,其中'数据的输入'和'数据的输出'是两个Excel文件的文件名。 接下来,程序对数据进行归一化处理。首先使用ma
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
旅游管理系统中的功能模块主要是实现管理员;首页、个人中心、用户管理、旅游方案管理、旅游购买管理、系统管理,用户;首页、个人中心、旅游方案管理、旅游购买管理、我的收藏管理。前台首页;首页、旅游方案、旅游资讯、个人中心、后台管理等功能。经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与旅游管理系统实现的实际需求相结合,讨论了Java开发旅游管理系统的使用。 从上面的描述中可以基本可以实现软件的功能: 1、开发实现旅游管理系统的整个系统程序; 2、管理员;首页、个人中心、用户管理、旅游方案管理、旅游购买管理、系统管理等。 3、用户:首页、个人中心、旅游方案管理、旅游购买管理、我的收藏管理。 4、前台首页:首页、旅游方案、旅游资讯、个人中心、后台管理等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流查看及回复相应操作。
Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构,Simulink建模,MPPT最大功率点追踪,扰动观察法采用功率反馈方式,若ΔP>0,说明电压调整的方向正确,可以继续按原方向进行“干扰”;若ΔP<0,说明电压调整的方向错误,需要对“干扰”的方向进行改变。 ,Boost升压;光伏并网结构;Simulink建模;MPPT最大功率点追踪;扰动观察法;功率反馈;电压调整方向。,光伏并网结构中Boost升压MPPT控制策略的Simulink建模与功率反馈扰动观察法
运行GUI版本,可二开
Deepseek相关主题资源及行业影响
WP Smush Pro 是一款专为 WordPress 网站设计的图像优化插件。 一、主要作用 图像压缩 它能够在不影响图像质量的前提下,大幅度减小图像文件的大小。例如,对于一些高分辨率的产品图片或者风景照片,它可以通过先进的压缩算法,去除图像中多余的数据。通常 JPEG 格式的图像经过压缩后,文件大小可以减少 40% – 70% 左右。这对于网站性能优化非常关键,因为较小的图像文件可以加快网站的加载速度。 该插件支持多种图像格式的压缩,包括 JPEG、PNG 和 GIF。对于 PNG 图像,它可以在保留透明度等关键特性的同时,有效地减小文件尺寸。对于 GIF 图像,也能在一定程度上优化文件大小,减少动画 GIF 的加载时间。 懒加载 WP Smush Pro 实现了图像懒加载功能。懒加载是一种延迟加载图像的技术,当用户滚动页面到包含图像的位置时,图像才会加载。这样可以避免一次性加载大量图像,尤其是在页面内容较多且包含许多图像的情况下。例如,在一个新闻网站的长文章页面,带有大量配图,懒加载可以让用户在浏览文章开头部分时,不需要等待所有图片加载,从而提高页面的初始加载速度,同时也能
Could not create share link. Missing file: C:\Users\xx\.conda\envs\omni\Lib\site-packages\gradio\frpc_windows_amd64_v0.3 1. Download this file: https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_windows_amd64.exe 2. Rename the downloaded file to: frpc_windows_amd64_v0.3 3. Move the file to this location: C:\Users\xx\.conda\envs\omni\Lib\site-packages\gradio