• 设计原则
灵活性、可拓展性、功能性、可识别性
• 程序架构
全屏模式、加载状态、模态、启动程序、首选项、重启状态、安全与隐私
• 操作体验
登陆注册、信息输入、拖放操作、文件打开与保存、帮助、键盘、鼠标和触控板、界面反馈、访问权限
• 系统功能
自动保存、程序坞、文件查找器、任务控制器、消息通知、打印、快速查看器、评分和评论、搜索和索引
macOS的设计原则
macOS的设计原则将macOS应用与iOS,tvOS和watchOS应用区分开来。
一、灵活性
提供可配置的首选项,可自定义的界面以及多种完成任务的方式。灵活的应用程序通过可发现性促进学习。
二、可拓展性
应用程序应利用广泛的界面组件(例如选项卡,侧边栏,工作表和面板)支持多端适配并支持沉浸式体验(例如全屏模式)等来提升用户体验。
三、功能性
应用程序应充分利用Mac的硬件和软件功能来帮助用户完成任务,以满足各种简单,高级和商业用途的需求。
四、可识别性
保持当前任务的清晰性和重点。视觉对比度,半透明和较大的阴影使其易于区分活动窗口和非活动窗口。所有视觉装饰都是微妙而恰当的。
macOS的程序架构
一、全屏模式
全屏模式下的应用程序窗口提供了无干扰的工作环境。
1. 仅在合理的情况下启用全屏窗口。
2. 在需要完成任务时工具栏可见;当焦点放在内容上时将工具栏隐藏。
3. 始终保留基本功能的访问权限。
4. 配置辅助窗口以在全屏模式下使用。如面板等。
5. 设计与外部文件的高效交互。用户不需要退出全屏模式即可打开文件,导入图像,保存文件或执行其他文件系统交互。
6. 充分利用额外的屏幕空间,但要保持界面平滑过渡。巧妙地调整界面的比例,使窗口更好地适合空间并扩大执行任务或查看内容时的空间。
7. 遵守进入任务控制器的手势。
8. 当用户离开应用程序再返回的用户,应该能够从上次中断应用程序的地方继续。
9. 让用户选择何时退出全屏模式。当用户切换到另一个应用程序或完成活动(如播放电影或游戏)时,请避免自动退出全屏模式。
10. 显示Dock。身临其境的游戏是一个例外。
二、加载状态
1. 交互动作后即时反馈。如点击或者移动光标到可点击区域时。
2. 帮用户估算加载所需要的时间。
3. 尽快显示加载结果。在尚无内容的地方预加载,显示占位符文本,图形或动画,并在内容加载时替换这些元素。
三、模态
在完成模态弹窗任务或关闭模态消息或视图之前不能做其他事情。
1. 尽量减少使用模态弹窗。人们喜欢以非线性方式与应用程序进行交互。任务要求模态时(例如在图形应用程序中使用绘图或选择工具),或保存重要数据。
2. 选择合理的最小限制模式。模态尽量考虑使用表格。
3.当用户单击屏幕上的另一个区域时,模态弹窗可以自动关闭。最好在用户无意退出的情况下保存用户的工作。离开模态时,用户应始终了解操作的结果。
4. 使模态任务简单,简短且重点突出。
5. 使用模态清楚指出控件的当前位置或状态。
6. 警报时提供重要且理想的可操作信息。如果必须显示警报,请确保清楚地描述问题,解释发生原因的原因,并提供继续进行操作的选项,包括可能存在的任何解决方法。
7. 遵守通知规范。遵守偏好设置,这样用户就不会试图完全关闭应用程序的通知。
8. 不要在弹出框上方显示模态视图。除可能的警报外,弹出窗口中不应出现任何内容。在极少数情况下,当您在弹出窗口中执行操作后需要提供模态视图时,请在显示模态视图之前关闭弹出窗口。
四、启动程序
启动时间是欢迎新用户并与老用户重新建立联系的一个机会。设计快速,有趣且具有教育意义的启动视图。
1. 避免先询问设置信息。用户希望产品能够帮助他们完成一些需求,不同配置的用户需调整首选项以满足他们的需求。可以从系统和默认设置中获取设置信息,或通过iCloud之类的同步服务获取。如果必须询问设置信息,请等到实际需要时进行一次提示,并让用户将来对您的应用偏好进行调整。
2. 建立适用于大多数人的默认配置。
3. 避免启动滚动屏幕和说明。尽量让人们直接进入页面。如果需要教程或介绍页面,提供一种跳过它们而不向老用户显示的方法。
4. 预期用户可能需要的帮助。主动寻找人们可能被困住的时间。例如果用户第一次错过某些内容,可以重新访问教程。
5. 可以为初学者提供指导,但是教育不能替代出色的应用程序设计。首先,使您的应用程序直观。如果需要太多指导,请重新审视应用程序的设计。
6. 使学习变得有趣且容易发现。边做边学比阅读一系列说明更加有趣和有效。使用动画和互动性逐步进行教学并在使用环境中进行教学。避免显示交互式的屏幕截图。
7. 提供综合帮助。将帮助标签添加到特定于应用程序的控件中,并考虑通过帮助查看器提供面向任务的帮助信息。
8. 自动保存用户的任务进度。
9. 始终准备停止并重新启动。区分关闭应用程序的主窗口和退出应用程序。如果您的应用程序只有一个窗口,则在用户关闭窗口时自动退出。
五、首选项
用户调整首选项以自定义应用程序的外观和行为。
1. 提供有用的首选项。避免包括用于配置应用程序各个方面的首选项。果断地专注于人们可能实际想要修改的功能和外观属性。
2. 提供特定于应用程序的首选项。为确保一致性并避免混淆,应用程序不应包含导致应用与系统中其他所有应用不同的首选项。
3. 为经常更改的设置保留首选项。如果有人在每次打开您的应用程序或每次执行某些任务时都希望更改设置,考虑将这些设置暴露在浮动面板中,用户可以打开并保持在屏幕上以快速访问。
4. 提供菜单项而非工具栏项栏以访问应用程序的首选项。访问首选项快捷键Command+(,)。
# 首选项窗口#
首选项窗口是一个非模态对话框。首选项窗口通常包含一个工具栏,该工具栏包含用于在相关设置组之间切换的按钮,这些按钮称为首选项窗格。
1. 首选项更改立即生效。
2. 无需最小化和缩放按钮。
3. 确保工具栏始终可见且不可自定义。
4. 标记已选的工具栏按钮。
5. 更新窗口的标题以反映当前已选的首选项窗格。
6.如果用户切换首选项窗格,则应用应记住此更改,并在下次打开首选项窗口时立即显示相同的窗格。
六、重启状态
1. 保留并还原应用的状态,以便人们可以从上次停止的地方继续。例如,重新打开并恢复用户退出应用程序,注销或重新启动时打开的所有文档和窗口的大小和位置。
2. 按预期配置重新打开的窗口。在大多数情况下,人们希望窗口重新打开时是上次的配置。例如,应恢复侧栏的可见性和拆分视图的大小。此规则有几个例外:
⁃ 窗口恢复后,具有由多个子视图组成的窗格或侧边栏的应用(例如“数字”中的“排序和筛选”窗格)应恢复为其默认视图。
⁃ 主视图严格用作其他视图的启动器的应用程序(如系统偏好设置)应始终向主视图打开。
七、安全与隐私
1. 避免仅依靠密码进行身份验证。充分利用Touch ID等其他技术,该技术可让用户使用指纹进行身份验证。
2. 将敏感信息存储在钥匙串中。钥匙串可提供安全,可预测的用户体验。
3. 明智地进行假设。例如,不要假设只有一个用户登录。由于快速的用户切换,同一系统上可能有多个用户处于活动状态。
4. 避免使用自定义身份验证方案。
macOS的操作体验
一、登陆注册
您仅应要求人们登录注册以换取价值,例如个性化体验,访问其他功能,购买内容或同步数据。
1. 尽可能延迟登录。人们在不得不做任何有用的事情之前被迫登录时通常会放弃应用程序。在登陆之前,让他们有机会爱上您的应用。
2. 说明登陆注册的好处以及如何便捷的注册。
二、信息输入
无论使用键盘,鼠标,触控板还是语音,输入信息都可能是乏味且有时容易出错的过程。当某个应用在做任何有用的事情之前需要大量输入时,人们会很快灰心。
1. 让人们尽可能地做出选择。使用表格,弹出按钮或单选按钮组代替输入文本字段将更快,更有效。
2. 简化列表的标签。整理标签让用户轻松找到特定标签。
3. 使用介绍性标签或占位符文本可帮助传达信息。
4. 适当地调整文本字段换行符。可以字符或单词的前中后为界。
5. 考虑使用扩展工具提示来显示已剪切或截断的文本的完整版本。扩展工具提示的行为类似于帮助标签,并在用户将指针放在字段上时显示。
6. 适当时使用安全的文本字段。当您的应用要求输入敏感数据(例如密码)时,请始终使用安全的文本字段。
7. 如果有意义,让用户调整文本属性。
# 默认填充数据 #
1. 尽可能从系统获取信息。不要强迫人们提供可以自动收集或在用户许可下收集的信息,例如联系方式或日历信息。
2. 提供合理的默认值。提供良好的默认设置可以最大程度地减少决策制定并加快数据输入速度。自动完成功能,为用户输入的任何文本来提供一个或多个建议。用户可以接受建议或继续输入。随着更多类型的输入,建议继续完善。
3. 切勿预先填充密码字段。为了安全起见,应要求用户输入密码,使用Touch ID或使用钥匙串进行身份验证。
4. 确保预填充的数据的准确性。如果您不能保证所提供信息的准确性,最好将字段留空。
# 验证数据 #
1. 仅在必要时才需要必填字段值。仅将必填字段用于进行下一步所必需的信息。
2. 推迟在必填字段旁边显示必填指示符,直到用户尝试下一步操作而不输入值。如果用户忘记填写某一项值,当他们尝试退出当前状态时,在“忘记的字段”旁边显示一个指示器红色星号或自定义图标。
3. 动态验证字段值。
4. 执行适当的字段验证。例如,如果某个字段的唯一合法值是一串数字,则您的应用应警告用户是否输入了数字以外的字符。在大多数情况下,检查数据的适当时间是用户在字段外单击或按Return,Enter或Tab键。
5. 使用数字格式器来辅助数字数据输入。数字格式化程序会自动将文本字段配置为仅接受数字值。也可以将其设置为以特定方式显示值,例如以一定百分比的小数位数或货币形式显示小数位数。
6. 仅在收集所需的值之后才继续下一步。
三、拖放操作
⁃ 只读文本字段可能允许其内容拖动到其他位置,但不接受删除内容。
⁃ 文档列表可能允许拖动以重新排序文档,但不允许放置新文档。
⁃ 文本编辑器允许内部拖动文本,也可以接受来自其他应用程序的拖放文本。
# 支持拖放 #
1. 通常,在您的应用程序中实现拖放支持。拖放是在整个系统中移动和复制内容的有效,直观的方式。
2. 提供完成拖放任务的替代方法。
3. 确定拖放操作应导致移动还是复制。在源容器和目标容器相同时,拖放表现为移动。当源容器和目标容器不同时,拖放通常表现为复制。
4. 尽可能使拖放操作可逆。
# 拖动响应 #
1. 尽可能让人们一步选择并拖动内容。例如,单击一个文件,然后立即开始将其拖动到新的目标位置。除非您要拖动多个文件,否则无需做出明确的选择,暂停并开始拖动。
2. 人们可以在不活动的窗口中拖动选定的内容。
3. 在不活动的窗口中单击并拖动单个项目,而不会影响原先的选择。
# 拖动时反馈 #
1. 拖动内容三个像素后,在指针下方显示一个拖动图像。拖动图像应该是所拖动内容的半透明状态。此外观表明正在进行拖动,并且使用户能够查看拖动内容下方的目标。拖动图像应一直显示,直到用户放下内容为止。
2. 拖动多个项目时显示多项目拖动图像。
3. 在多项目拖动过程中显示项目数量徽章。如果目的地只能接受一部分被拖动的物品,则更改标志计数以指示将接受多少物品。
4. 将内容拖动到目标上未放下时预览图像清晰度,但是改变图像状态会影响用户注意力。
5. 显示拖动时会发生什么事件的指针。复制指针(加号)。
6. 明确指出何时可以放置。某些应用仅在可以放下时通过显示插入点,突出显示或接受指针徽章来传达这种信息,其他应用则显示明确的不允许使用的徽章,例如带有斜线的圆圈。
7. 将内容拖到新目标上方时,突出显示该目标。如果有多个目的地,请一次突出显示一个。当源容器和目标容器相同时,不需要突出显示。如果内容完全从容器中拖出然后重新输入,则可能会突出显示。当内容不再位于目标上方时,应删除突出显示。
8. 在文本中,使用垂直插入指示符显示拖放的内容在放置时将出现的位置。插入指示器与指针分开,指示器向用户指示拖动是否有效以及是否将其解释为移动或复制。
9. 在表格中,使用水平插入指示器并突出显示以显示内容在放置时将驻留的位置。如侧边栏。
10. 自动滚动目的地。例如,将内容拖动到窗口主体区域的顶部或底部时,自动滚动仅应在活动窗口中进行。
# 接收拖放数据 #
1. 通过在拖动时按Option键来强制同一容器内的拖放操作为移动并复制。如果用户在将内容放入同一容器之前停止按Option键,则会发生移动而不是复制。
2. 如果放下失败,请使用预期的动画 Dropback 。
3. 完成无法撤消的拖放操作之前,请先确认。例如,当用户将文件拖到只写文件夹中时,Finder会要求您确认,因为该用户没有打开文件夹和删除放置的项目的权限。
4. 当拖放的内容启动程序时,提供其他反馈。如果用户将项目放在代表任务(例如打印)的图标上,需表明任务已开始,向用户通知任务的进度。
5. 从放置的项目中提取相关部分。例如,当用户从联系人应用程序的拖拽一个到邮件接收者,只有姓名和电子邮件地址被接受,而不提取联系人的地址。
6. 拖放内容后,相应地更新选择。将所选内容拖动到同一容器中的新位置时,应在其新位置保持选中状态。将选定的内容拖到另一个容器时,它应该在新位置中被选中,而先前的所有选择都应被取消选择。
7. 对放置的文本应用适当的样式。如果目标支持相同样式的文本属性,则放置的文本应保持其原始字体,字体和大小属性。否则,放置的文本应采用目标的字体,字体和大小属性。
# 拖放数据到 finder #
1. 例如,日历使用户可以将事件作为.ics文件拖到Finder中,可以在日历中打开或与他人共享。
2. 某些应用程序会在剪辑中输出拖动的内容到 finder,这是用于存储拖动内容的临时容器,然后再拖放到其他位置。剪辑与剪贴板无关,—生成拖放剪辑不会影响剪贴板。
四、文件打开与保存
可以使用系统提供的标准对话框打开和保存文件。
# 打开对话框 #
1. 确定是将“打开”对话框显示为独立窗口还是表单。如果该对话框与您的整个应用程序有关,如打开命令,将其显示为独立窗口。如果对话框与特定窗口有关,例如在将图像插入文档中时,则应将其作为工作表附加到相应的窗口。
2. 默认合理位置。在某些应用程序中,将默认值默认为用户的Home文件夹中的标准位置是很有意义的,在其他应用程序中,将默认值默认为用户选择的最后一个位置是有意义的。启用iCloud同步后,应用程序的iCloud文件夹通常是最佳默认位置。
3. 考虑添加描述性标题或消息。标题在表单上不可见。
4. 自定义“打开”按钮的文案以反映任务。
5. 让人们以预期的方式打开文档。在基于文档的应用程序中,人们希望通过选择“文件”>“打开”或按相应的键盘快捷键Command-O来打开文档进行编辑。
6. 考虑提供一种重新打开最近文档的方法。
7. 如果可行,允许选择多个文件。
8. 适当时扩展“打开”对话框的功能。可以在“打开”对话框中添加包含有用设置或选项的自定义附件视图。例如,TextEdit中的“打开”对话框包含一个“ 选项”部分,该部分允许人们指定不同的语言类别。
9. 考虑包括一个弹出按钮,用于过滤特定类型的文件。默认为合理的过滤器,并禁用不符合指定条件的文件,因此无法选择它们。确保在弹出按钮中包括“ 所有适用文件”选项,以便用户可以根据需要浏览所有受支持的文件类型。
# 保存对话框 #
“保存”对话框通常以表单形式附加到要保存的窗口,并具有折叠和展开两种状态,可以通过单击显示按钮来切换它们。
⁃ 在折叠状态下,对话框包含文件名字段,用于选择输出位置的弹出按钮,添加标签字段,可选文件格式弹出按钮,用于显示自定义保存选项的可选附件视图,保存按钮和取消按钮。
⁃ 在展开状态下,对话框包含相同的元素,但提供了更广泛的视图,可用于浏览文件系统以找到输出文件夹。
当用户尝试关闭未保存的文档并且未启用自动保存时,应用程序可以显示关闭确认对话框,询问用户是否要保留文档。用户可以选择保存,取消或删除文档。
1. 如果您的应用程序基于文档,请启用“自动保存”。
2. 默认为合理的输出文件夹。
3. 人们可以选择是否查看正在保存的文件的扩展名。默认情况下,文件扩展名应该是隐藏的,但是如果需要,用户能够通过取消选中“隐藏扩展名”复选框来查看它。用户对此复选框状态的任何更改都应反映在将来应用程序显示的“保存”对话框中,即使该用户退出并重新打开应用程序时也是如此。
4. 预填写文件名字段。第一次保存文档时,文件名字段应包含文本“ Untitled”。保存文件副本或导出文件时,文件名字段应包含文件名。可选择文件名字段中的任何文本,以便用户可以立即开始输入以对其进行更改。
5. 如果可以保存为多种文件格式,通过浮动按钮让用户选择一种输出格式。
6. 适当时扩展“保存”对话框的功能。可以将包含有用设置或选项的自定义附件视图添加到“保存”对话框。例如,用于将邮件另存为文件的对话框包含一个包含附件的选项。
五、帮助
即使在高度直观的应用程序中,用户有时也需要帮助来学习高级和辅助功能。帮助标签使您能够提供临时的操作帮助,而Apple帮助则能够提供有关主题或任务的更全面的帮助。
⁃ 避免限制用户操作。除非您要创建一个适合限制用户操作范围的儿童应用程序。
# 帮助标签(工具提示)#
帮助标签简洁地描述了如何使用控件,而又不会将人们的注意力从主要界面上移开。帮助标签将保持可见状态10秒钟,或者直到指针离开控件为止。
1. 仅描述指针正下方的控件。
2. 将帮助标签添加到特定于应用程序的控件中。
3. 专注于控件启动的动作。专注于动作的一个好方法是以动词开始标记。例如,“还原默认设置”或“从列表中添加或删除语言”。
4. 使用尽可能少的单词。尽可能将标签限制为最多60到75个字符。因为本地化可能将文本延长20%到30%。
5. 不要通过重复控件名称标记控件。如果必须通过名称引用控件,请在所有文档中始终使用。
6. 使用句子大写形式的句子片段。
7. 为不同的控制状态提供不同的帮助标签文本。
8. 当在您的应用程序或用户文档中引用帮助标签时,请使用术语帮助标签而不是工具提示。术语帮助标签是指当指针悬停在界面元素上时出现的说明文字。
# Apple帮助 #
Apple帮助是一个类似于浏览器的应用程序,旨在显示和搜索帮助主题。帮助主题可以包括本地或远程存储的文本,图像,视频和操作时相关的内容。可使用应用程序的“帮助”菜单来访问Apple帮助。“帮助”菜单(包括一个集成的搜索字段)可以访问应用程序的所有帮助文档,也可以通过帮助按钮直接映射到菜单的特定主题。
1. 提供基于任务的帮助。
2. 使用系统提供的帮助查看器应用程序。Help Viewer在整个系统中提供一致的浏览体验。人们寻求帮助时,通常是因为他们难以完成任务,这意味着他们可能会感到沮丧。这不是让他们学习一种不同于其他所有应用程序中使用的帮助查看机制的好时机。
3. 仅在操作相关的帮助可用时,才在窗口中显示“帮助”按钮。始终可以从“帮助”菜单访问帮助内容,因此无需在应用程序的每个窗口中都包含“帮助”按钮。
六、键盘
# 全键盘交互#
为确保应用可以被所有用户使用,确保可以使用键盘访问核心功能。
1. 遵守标准的键盘快捷键,并为常用命令创建特定于应用程序的快捷键。
2. 向所有自定义界面元素添加全键盘交互。
# 键盘快捷键 #
1. 为标准菜单项启用与预期的一致的键盘快捷键。
2. 仅为人们常用的操作定义新的键盘快捷键。最小化特定于应用程序的键盘快捷键还有助于避免与可能存在的其他系统级快捷键发生潜在冲突。
3. 通常请勿覆盖标准键盘快捷键。仅在极少数情况下,才有必要重新定义一个常见的快捷方式。另一个选择可能是让用户选择自己的键盘快捷键。
# 自定义键盘快捷键 #
1. 在键盘快捷键中,最好将Command键用作主修改键。
2. 当快捷方式补充另一个快捷方式时,建议将Shift键用作辅助修饰符。
3. 谨慎地使用Option键作为修饰符。可以在便捷或高级用户功能的快捷方式中使用。
4. 尽可能避免将Control键用作修饰符。Control键已在整个系统中广泛使用。为避免可能的冲突,请仅在必要时使用它。
5. 通过在现有不相关的快捷方式中添加修饰符,避免创建新的快捷方式。
6. 以正确的顺序列出修饰键。如果在快捷方式中使用多个修饰键,请始终按以下顺序列出它们:Control,Option,Shift,Command。
7. 某些语言需要使用修饰键来生成某些字符。使用Command键作为修饰符通常是安全的,如果必须使用Command键以外的修饰符,尝试仅将其与字母字符(A到Z)一起使用。
# 系统快捷键 #
见https://developer.apple.com/design/human-interface-guidelines/macos/user-interaction/keyboard/
七、鼠标和触控板
鼠标或触控板提供了一种激活界面元素并使用点击和流畅、直观的手指手势来补充键盘输入的动作的方法。
# 点击和手势 #
macOS支持人们可以自定义的各种标准鼠标和触控板单击和手势。可以根据其对当前工作流程的适用性来启用和禁用。人们甚至可以选择鼠标或触控板的特定区域来调用二次点击,并为特定手势选择特定的手指组合和动作。
macOS特定手势见 https://developer.apple.com/design/human-interface-guidelines/macos/user-interaction/mouse-and-trackpad/
1. 系统提供的标准控件和视图可以自动响应标准点击和手势。
2. 根据操作和含义对点击和手势做出响应。
3. 与其他应用程序一致的方式响应手势。
4. 避免重新定义系统范围内的应用间手势。可以自定义手势以执行系统范围内的操作。
5. 尽可能快地处理手势。手势应该增强直接操作的体验,并提供即时的实时反馈。在执行手势时最小化其他操作。
6. 确保手势适用于适当的内容。
7. 谨慎定义自定义手势。自定义手势可能很难发现和记住。如果自定义手势似乎无用或难以执行,则人们不太可能使用它。如果必须定义自定义手势,请确保它易于执行且与人们已经知道的手势不太相似。
8. 不要依赖特定设备和手势的可用性。您不能确保每个人都有鼠标或触控板,或者他们想使用它。此外,人们可能会在您不知情的情况下禁用和重新定义手势。由于这些原因,最好提供多种方式来启动操作。
# 指针 #
macOS提供了多种标准指针样式来传达界面元素的交互状态或拖动操作的结果。
macOS指针状态见 https://developer.apple.com/design/human-interface-guidelines/macos/user-interaction/mouse-and-trackpad/
1. 按预期使用系统提供的指针。如果改变一个的指针含义,人们将无法预测其行动的结果。
2. 最好使用系统提供的指针,因为用户对它们很熟悉。如果必须设计一个自定义指针,请确保它可以提高应用程序的可用性并且不会造成混淆。
# 触觉反馈 #
在配备有Force Touch触控板的设备上运行时,您的应用可以在某些情况下响应于拖动操作或强制单击的触觉反馈。
- 对齐
- 压力,例如视频快进
- 常规
1. 明智地使用触觉。过度使用会降低反馈的重要性,并可能导致混乱。
2. 提供触觉反馈以响应用户启动的操作。将触觉与发起的动作联系起来。
3. 为了确保一致的体验,请使用通用模式。
4. 微调触觉反馈时的视觉体验。在动作和结果之间建立更深的联系。确保动画清晰,准确,在视觉上与Force Touch触控板操作统一来匹配人们的感受。
5. 不要依赖单一的交互方式。并非所有设备都支持所有种类的触觉反馈,并且人们可以选择在“设置”中完全禁用该功能。此外,仅当设备处于活动状态并且您的应用位于最前端时,才会发生触觉反馈。
6. 通过视觉和听觉提示来补充触觉,以确保不会遗漏重要信息。
7. 使触觉与伴随的声音同步。
八、界面反馈
界面反馈告诉人们应用程序在做什么,并帮助他们了解操作的结果以及下一步可以做什么。
1. 将状态信息和它的反馈融洽地反应到界面中。理想情况下,用户无需采取任何行动或打扰即可获得重要信息。例如,邮件在“活动”面板中显示状态信息,如果用户希望查看它,则可以显示该信息。该面板不会干扰用户的操作,但是可以随时快速查看一下。
2. 避免不必要的警报。
3. 可能会导致意外和不可挽回的数据丢失的任务时警告用户。如果出现得太频繁,就会失去作用。当数据丢失是预期的结果时,不要警告用户。
4. 告诉用户不能执行命令的时候怎么操作。
5. 考虑提供触觉反馈以补充用户反馈。Force Touch触控板可以播放触觉,以增强用户对某些动作和结果的感知。尽管用户可以在“轨迹板首选项”中启用和禁用所有触觉,但可以提示用户启用和禁用触觉的方法。
九、访问权限
尽管用户认可可以访问个人信息的应用程序的便利性,但他们也希望能够控制其私人数据。
1. 仅在您的应用明确需要时才请求个人数据。
2. 说明您的应用为何需要该信息。
3. 仅在您的应用需要个人信息才能运行时才启动时请求权限。该请求不会打扰用户。
4. 使用系统提供的警报。您可以在标准权限警报中自定义文本,但避免添加自定义提示来改变标准警报的行为或外观。
macOS的系统功能
一、自动保存
自动保存减少了编辑文档时的人工工作量,更加注重内容的创建并确保了数据的保存。启用“自动保存”后,每次打开,复制,锁定,重命名,还原或手动保存文档时,都会自动保存该文档的版本。用户可以随时浏览这些保存的版本并恢复到原来的版本。
1. 如果您的应用程序基于文档,请启用“自动保存”。通常,人们希望自己的内容能够连续不断地保存而无需干预。选择启用“自动保存”,以便他们可以依赖您应用程序中的这些行为。
2. 仅当用户明确尝试保存或关闭包含内容的先前未保存文档时,才显示“保存”对话框。如果以前未保存文档,并且用户退出了该应用程序,注销或重新启动,则该文档应自动以临时形式保存并在下次打开该应用程序时恢复。这些行为可确保始终保存工作,除非用户明确选择不保留它。
3. 通常,仅当无法自动保存修改的文档时,才使用点将其标记为未保存。如果可以自动保存文档,则在文档标题栏中的关闭按钮上和“窗口”菜单中的文档名称旁边不应出现点。可以在标题栏中将“已编辑”后缀附加到文档标题中,但是在关闭文档或用户手动执行保存时应删除该后缀。
4. 禁用自动保存时,应表现适当。禁用自动保存后,如果未保存更改,您的应用程序应表示存在未保存的更改,并在用户尝试关闭文档,退出应用程序,注销或重新启动时显示“保存”对话框。
二、Dock程序坞
用户希望Dock可以在任何应用程序中始终可用,并且会根据其自定义配置进行操作。
1. 创建和调整窗口大小时,请考虑Dock的位置。
2. 当用户单击Dock中的应用程序图标时,激活一个窗口。如果尚未运行或没有任何打开的窗口运行,打开主窗口或新的文档窗口。
3. 用户可以在Dock首选项中启用或禁用正在运行的应用程序指示器。
4. 弹跳应用程序的Dock图标只是为了引起严重注意。仅将跳动用于用户可能不希望解决的偶发性严重问题。应用程序带到前台后立即停止跳动,并通知用户为什么需要引起他们的注意。
5. 在运行应用程序时显示应用程序,即使它没有被保留在程序坞中。
# Badge 徽章 #
应用程序可以在其Dock图标上显示一个带有白色数字的红色小椭圆,以表示应用内有新的有趣(但非关键)信息。
1. 使徽章内容直观。人们应该知道为什么您的应用程序图标带有徽章,以及在打开应用程序时如何查找相关信息。
2. 徽章仅用于通知目的。徽章不应该用于显示其他类型的数字信息,例如空气质量,日期,股票价格或天气。
3. 减少使用徽章通知。使用徽章进行重点,有趣或非典型的内容更新。
4. 确保信息也清楚地显示在应用程序内部。
5. 避免将警报以徽章形式显示。即使有新的或有趣的信息可用,用户也不希望在打开您的应用程序时看到警报。
6. 保持徽章最新。阅读相应的信息后,请立即更新应用的徽章。不要让用户看到徽章,点击发现是自己已经看过的信息。
7. 用户可以选择禁用徽章,如果不想误导用户,让他们查看他们认为是徽章的内容。
三、Finder 查找器
1. 确保应用程序的文件扩展名为.app。Finder使用此扩展名来识别应用程序并与之交互。根据用户的Finder首选项,文件扩展名可能会从视图中隐藏。
2. 确保应用的文件包含适当的文件扩展名。除了扩展名之外,可以设置文件类型,还可以设置文件的创建者类型,尽管这不是绝对必要的。无论如何定义文件,用户都可以手动将特定类型的文件与特定应用程序相关联。
3.快速查看器会生成特定文档类型的预览,Finder会在Cover Flow视图和快速查找预览窗口中显示这些预览。如果您的应用程序以HTML,RTF,纯文本,TIFF,PNG,JPEG,PDF和QuickTime电影以外的格式生成文档,请考虑提供快速查看器。
4. 准确一致地报告磁盘使用情况和文件大小。
5. 除非用户表示同意,否则不应更改其他应用创建的文件的创建者类型。用户可以使用“信息”窗口将文件与特定应用程序关联。
四、Mission Control 任务控制器
通过Mission Control,人们可以在打开的窗口,全屏应用程序,桌面,空间和仪表板之间快速预览和导航。默认情况下,使用手势和键盘快捷方式进入任务控制,例如用三个手指在触控板上向上滑动或按Control-Up Arrow。可以在系统偏好设置中通过启用,禁用或更改手势和键盘快捷键来自定义此行为。
1. 遵守进入任务控制的手势。
2. 窗口可能在任务控制中改变。当用户退出任务控制并返回到应用程序时,甚至可能从标准分辨率的显示器变为高分辨率的显示器。
五、消息通知
使用通知随时提供及时且重要的信息,即使屏幕被锁定。远程通知(也称为推送通知)来自服务器。 人们可以在屏幕顶部和“通知中心”的“通知”窗格中看到通知,可以通过单击屏幕顶部的“通知中心”图标或用两个手指从触控板侧面滑动来访问通知。
每个通知均包含应用程序名称,一个小应用程序图标以及一条可能包含图像的消息。通知中还可能伴随有声音,在相应应用程序的Dock图标上显示或更新徽章,并包括用于立即采取行动的按钮。
通知的行为在“系统偏好设置”中逐个应用进行管理。对于任何支持通知的应用程序,用户都可以完全启用或禁用该功能。 用户还可以在Notification Center和锁定屏幕上启用可见性,启用应用程序图标标记,启用声音,以及选择以下通知样式之一:
1. 旗帜 Banner。使用Mac时,在屏幕顶部出现几秒钟,然后消失。最多可以包含两个用于执行操作的按钮。如果横幅中包含按钮,则 仅当指针位于通知上方时才会显示。
2. 警报 Alert。使用Mac时显示在屏幕顶部,并停留在该屏幕上,直到手动将其关闭。包括一个或两个按钮,用于关闭警报并采取措施。
在锁定屏幕上,通知始终显示为信息性,非交互式的横幅,直到Mac解锁后,这些横幅才会消失或不显示操作按钮。 Mac处于解锁状态时,单击通知将取消该通知,将其从Notification Center中删除,打开相应的应用程序显示相关信息。
1. 提供有用的信息通知。
2. 不要使用通知来显示错误消息。
3. 当应用程序处于活动状态时,不会收到通知,但仍会收到信息。以信息丰富但不会分散注意力或侵入性的方式将其呈现给用户。
4. 即使用户没有响应,也不要为同一件事发送多个通知。人们会在方便时参加通知。如果您为同一件事发送多个通知,用户可能会关闭应用程序中的通知。
5. 不要包含您的应用名称或图标。
6. 选择适当的默认通知样式。由于横幅样式的通知会在几秒钟后消失,因此在提供可能会立即影响操作的基本信息时,请使用警报样式。警报样式的通知会破坏用户体验。谨慎使用它们,以免使用户烦恼并关闭它们。
7. 以免用户关闭通知而错过消息,使用徽章来补充通知。
8. 提供声音以补充通知。
9. 提供直观,有益的操作按钮。一条通知最多可包含两个操作按钮,用于执行省时的常见任务,从而无需打开应用程序。请使用简短的标题名称,以清楚地描述操作结果。
10. 避免提供破坏性的操作按钮。
六、打印
1. 所有支持打印的应用程序都应在“文件”菜单中包括“打印”选项。
2. 仅在可以打印时启用打印。如果屏幕上没有要打印的内容或没有可用的打印机,则应禁用“打印”菜单。如果您的应用实现了自定义打印按钮,则在无法打印时将其禁用或隐藏。
# 页面设置对话框 #
页面设置对话框包含很少更改的设置,这些设置在打印特定文档时会影响页面大小,方向和缩放比例。
1. 是全局的设置或在每次用户打印时都会更改的“打印”对话框中。
2. 将修改的页面设置设置与文档一起存储。
# 打印对话框 #
“打印”对话框包括系统提供的,应用程序特定的和打印机特定的打印选项。默认情况下,以折叠形式显示打印对话框,其中显示了最常更改的设置。用户可以展开对话框以显示其他功能。
1. 使用系统提供的“打印”对话框。
2. 启用相关的打印选项。考虑人们在打印内容时可能要指定的选项。考虑选择页面范围和请求多个副本、正面和背面打印的选项。
# 特定于应用程序的打印选项 #
“打印”对话框包含一个弹出按钮,可用于访问几种类别的设置,例如“布局”和“纸张处理”。
1. 使用与系统提供的类别不冲突的直观类别名称。通常,类别名称应为您的应用名称。
2. 系统尚未提供的功能。例如,Keynote提供了特定于演示文稿的选项,例如能够打印演示者备注,幻灯片背景和跳过的幻灯片。
3. 确保选项之间的相互依赖性明确。例如,如果启用了双面打印,则在透明胶片上进行打印的选项将不可用。
4. 使用公开控件隐藏高级选项,用户需要时会打开。
5. 可预览设置更改的效果。
6. 考虑将修改后的设置与文档一起存储。将打印设置存储到文档关闭之前。
七、Quick Look快速查看器
快速查看器使Finder和Mail之类的应用程序可以显示缩略图,主题演讲,数字,页面和PDF文档以及图像和其他类型的文件的全尺寸预览。当用户试图查找特定文档时,这些预览会非常有用。
1. 如果可行,请在应用程序中实现快速查看器。以便用户可以预览这些文件而无需离开您的应用。
2. 如果应用生成自定义文件类型,请考虑实现快速查看生成器。
八、Rating and Review 评分和评论
用户的反馈可以使您深入了解实际使用情况,从而有助于指导未来的开发工作。 提供出色的整体体验是鼓励正面评价和评论的最佳方法,但是选择合适的时间向用户征求意见也至关重要。实现此目的的一些可能方法涉及查看用户启动应用程序的次数或频率,用户浏览的功能数或成功完成的任务数。
1. 切勿在首次打开或登陆期间要求评级。
2. 在用户最有可能对您的应用感到满意的时候请求评级。
3. 在用户执行任务或玩游戏时不要打扰他们。
4. 在评级请求之间至少间隔一两周,并且仅在用户证明与您的应用有更多互动后才再次提示。
# 系统评级及评审提示 #
要使用此功能,您只需在应用程序的用户体验中确定需要反馈的地方。系统会显示一个应用内提示,进行评分和可选的书面评论。用户可以单击提供反馈或消除提示。(用户也可以选择不接收已安装的所有应用程序的这些评级提示。)系统会在365天内自动将提示的显示限制为每个应用程序出现三次。
1. 首选系统提供的提示。系统的评级提示可提供熟悉,高效的体验,旨在以最小的影响吸引用户。
2. 不要使用按钮或其他控件来请求反馈。由于系统限制了等级提示出现的频率,因此尝试使用控件请求的反馈可能不会被显示。
3. 回应评论是与用户交流,解决疑虑并有可能提高应用程序评级的好方法。
九、搜索和索引
# Spotlight 索引 #
1. 指定描述性属性(称为元数据)来与Spotlight共享内容。Spotlight提取,存储和组织此信息,以进行快速,全面的搜索。
2. 为您的自定义文件类型提供一个Spotlight Importer插件,该插件描述文件格式包含的元数据的类型。
3. 使用Spotlight在的操作中提供高级文件搜索功能。例如,您可能使用一个按钮,该按钮可根据用户的选择立即启动Spotlight搜索。还可以显示一个自定义窗口,显示搜索结果或搜索结果的过滤子集。
4. 打开或保存文档时,人们经常需要在非典型位置找到文件或文件夹。标准对话框包括一个内置的搜索字段,可用于搜索和过滤整个系统
5. 如果您的应用生成自定义文件类型,则实现一个快速查看器。在尝试查找特定文档时,这些预览会非常有用。
6. 考虑在后台使用Spotlight。
# 应用内内容搜索 #
尽管Spotlight可以快速定位文件,但它并不适合在应用程序中执行大量内容搜索。
1. 使用系统API启用细粒度的文本搜索。系统提供的API支持基于短语的搜索,前缀/后缀/子字符串搜索,布尔搜索,摘要,相关性排名等。
2. 让人们尽可能地保存搜索。
# 搜索框 #
搜索框是用于搜索文档中内容的非模态对话框。“查找”窗口使人们可以指定搜索条件,包括要搜索的项目和缩小搜索范围的选项。通常通过在“编辑”菜单中选择“查找”菜单项(或按其等效的键盘快捷键)来显示“查找”窗口。
1. 如果您的应用程序基于文档,请考虑实现“查找”窗口。
2. 提供查找和替换功能。
3. 考虑让人们执行多文档查找操作。在允许人们一次编辑多个文档的应用程序中,对所有打开的文档执行全局搜索(如果适用,也可以进行替换)的功能可以节省宝贵的时间。
# 内容过滤 #
文档搜索很重要,但并非所有应用程序都基于文档。用户可能会喜欢过滤这些类型的视图以快速查找特定项目的功能。
1. 使用搜索字段和范围栏可以在视图中启用内容过滤。
网友评论