“整个自然都是艺术,不过你不领悟;

一切偶然都是规定,只是你没看清;

一切不协,是你不理解的和谐;

一切局部的祸,乃是全体的福。

高傲可鄙,只因它不近情理。”

【翻译】Salesforce Design Guideline(三)——Messaging

一,消息概述

1.总体规范

高效的消息提示能增强系统的可信度,提供相关信息和为用户创造愉悦。


如何在Y发生时为X设计合适的消息呢?

·依据用户与应用的交互来选择合适的消息类型(?)



·选择合适的消息控件,基于:在用户行为流中和UI的背景下是有意义的;有合适的重要性层级

·选择合适的消息状态


2.原则
·适时 Timely,不要打扰用户

在合适的时间推送消息,而不是每个交互动作都提示

·提供有用信息 Necessary,不要啰嗦

仅说明必要内容

·可操作 Actionable,不要纯静态

提供相关操作快捷入口,提高效率

·跨平台 Cross device,不要重复

合适的情况下,在所有的平台上给用户提示,一旦已读就全部移除。


3.图标



4.用例

销售员刚刚聊完电话,是有关和ACME进行的一笔100份小玩具的交易,这笔交易已经记录一段时间了,最终成交。于此同时一些交易数据也发生了变化。销售员在应用中更新了这一记录。此时,应用应当作出怎样的反应以表明记录已成功保存呢?

首先,了解用户在这一行动流中的交互行为,来确定消息类型。

·用户发起这一交互

·由于是用户发起的,可能的消息类型就是“主动接入”和“反馈”


·记录是可以获取的,并且用户成功地保存了改动。基于此,我们只剩下一个选择。(??)

·此消息类型为:反馈


然后,我们来看一下消息控件。

·基于规范,我们有几种反馈消息的控件可以使用:文案,弹出框,吐司及模态弹窗。

    ·内部文案 Inline Text 多用于某条信息、卡片、关联列表的为空或不可用状态,字段级别的错误提示或一些中间状态(保存中、加载中等)。我们需要的是更适用于展示成功消息的控件。

    ·弹出框 Popover要么用于“吸引或促使用户做出某种行为”,要么用于“在用户提交数据后传递错误消息”。任何一种都不适于这一用例。

    ·吐司 Toast 作为一种“用户做出某一行为后的确认机制…以及紧接着创造、编辑、删除行为出现。”

    ·模态 Modal 作为“一种保证用户的行为是有意识的而非误操作的警示机制。”在这一案例中,行为是完全主动有意识的(编辑记录)并且不需要警示。

·根据以上分析,吐司是合适的选择。进一步去了解它在UI中是否具有合适的重要层级。

·消息控件:吐司

 

最终,决定消息的状态:已成功。


因此,综上所述,应采用:成功的吐司提示



二,消息类型


从一个更高的视角来看,我们根据用户的交互本质来进行消息类型划分。

·系统消息 System messaging 警示用户系统相关的事件或状态。可以由系统或另一用户发起。

例如,本周将进行系统维护。

·用户参与消息 Engagement messaging 促使用户进入或更新系统数据。可以由系统或另一用户发起。

例如,过去一个月,在Opportunity x中都没有任何变动。创建一个项目任务或计划。(??)

·主动接入消息 Access messaging 当用户想要接入某一超出他使用权限的项目时出现。可能是该条记录已经被删除或用户没有接入权限等。

·反馈消息Feedback messaging 是当用户与应用进行交互时应用给出的反馈。大部分的新建、阅读、更新、删除行为都会带来反馈消息。

例如,创建账户x。



三,控件

1.概述



每种控件都拥有特性以决定它的重要层级。例如:




这些特性适用于每个控件。




2.横幅banners

传递影响整个系统的状态,在某个板块上方持续存在,不需要用户主动发起操作。

注:仅适用于salesforce


(1)用法:

传递系统级别的消息,与用户在应用中所处位置无关。

横幅展示以下状态:

·错误:告知用户无法继续在salesforce中的操作体验,例如浏览器待更新。

·报告信息:展示管理相关状态(如已以用户身份登录),进行系统维护等。

·断线:告知用户他们已断线

·警告:警告用户在salesforce中的可能事件,如浏览器未更新导致。

当用户登录后,以通栏形式在所有头部呈现。在用户登录状态下持续展示,通常无法被移除。横幅只在特定情况下可以移除,即传递的信息是对将来有影响但当前不会有任何问题的时候,例如告知用户计划要进行的的系统维护。



(2)做什么和不做什么

做:

·尽可能少使用

·让UI和文案简洁。需要的话,提供链接让用户得以获取更多详情。


不做:

·不要做为反馈机制。反馈时使用文案、弹出框、吐司或模态窗口。

·如果在用户登录期间该消息与用户持续相关,则不要让它可移除。


(3)变体




(4)UI文案

每个案例的UI文案都不一样,取决于应用背景。下方规范可作为样例,但不要受限于此。



(5)建议代码

下落动效时长:0.4s



3.文案

用一种不会遮挡的方式传递信息。在内部展示但不遮挡界面。

(1)用法


根据情境选择可见性程度,但只在板块内部某一UI控件内部或其附近展示。文案应当融入UI中,除了错误状态。

文案可展示以下状态:

空白:无数据或不可用

错误:系统无法加载内容,或某一表格出错

报告:当某一项目出现反常,例如重复项目

临时:系统运行过程中,如保存中、加载中、邮件发送中等

当空白状态影响到整个页面时,考虑采用文案+图

对于表格错误,消息展示为红色,并通常与弹出框一起使用

(2)使用情境:多样

(3)做什么和不做什么

·尽量简短。对于大部分用例而言1-2句话即可。

·展示错误信息时使用另一种颜色。


不做

·如果消息紧急不要仅依赖于文案。如警告用户即将删除一个卡片。

·不要让文案与周边UI差异过大。避免太显著的变化,如很大的字号、对比强烈的颜色做背景等。最多为错误信息更改颜色。

·不要使用动画或动效。最多为过度状态的文案提供渐入渐出效果。


(4)变体-控件

文案、图标+文案



(5)变体-状态

为空、错误、报告、临时过渡、警告



(6)变体-屏幕大小:适合整体UI即可

(7)UI文案:根据具体情况变化,例子如下


(8)代码建议

错误文案色值:#c23934



4.图+文案

(1)用法



视觉:凸显

语气:报告的

动效:静止

持续性:永久

声音:柔和


展示状态:

·为空:没有内容时,或没有值得关注的项目时。

·报告:系统处于维护中时。

·错误:页面丢失,用户没有足够的权限或其他错误(通常与无法获得内容相关)。


(2)使用情境



做和不做

·使用图案减少对用户的消极影响。当用户想要获取某一项目内容而不得时,会有消极体验,而图案会减少这种影响。

·包含引导用户的文案。例如当用户看到的是空列表页时,给出链接文案引导用户创建新记录。


不做

·不要在列表或卡片内部使用图案。这种情况使用文案即可。

·不要在一个页面内展示1个以上的图。图案不应当相互抢夺用户的注意力。

·不要作为基本操作(CRUD, Create, Retrieve, Update, Delete)的反馈。这时应使用吐司或弹出框。


(3)变体

·控件

在整体页面、主要内容区或边栏中都能呈现



·状态(为空、报告或错误)

空白列表



空白消息feed


报告



错误



·屏幕大小

移动端

最宽300px

最高180px

较小文案


(4)UI文案



(5)建议代码




5.模态弹窗 Modals

展示某一动作正在进行中,确认某一用户动作,或告知某一错误。


(1)用法:


应用于消息时,模态可以有一下几个状态:

·过程中:当用户在上传文件时。



·警告:用户试图进行损坏性操作(如删除某一记录),进行影响很大的操作(如给100,000人发送邮件),或放弃某一未完成的行为(如离开一个为保存的表格)时。


无论被用于创建/编辑容器还是消息容器时,模态弹窗的行为动效等展示应保持一致,使用默认控件及动效代码即可。


(2)情境

做和不做

·当需要传递进度、确认或错误消息时使用模态弹窗。一个用户不应在某一流程中看到多个警告模态弹窗。

·在右下角放置按钮,所有模态保持一致。

·标题和行为按钮标签需保持一致。例如,模态标题为“删除文件么?”按钮标签为“删除”。

不做

·不要用模态展示成功状态,如“合同已成功添加”。请使用吐司。

·不要将鼠标箭头放在行为按钮上。一个乐于使用键盘的用户可能不小心确认该行为。


(3)变体

屏幕大小——移动端



较小标题

通栏按钮

除非有核心信息必须展示否则不要包含详情内容


(4)建议代码




6.通知公告Notice

警告用户系统相关的事项和更新。

注:Salsforce平台合作商户不要使用此控件。

(1)用法


当系统想要将消息传递给用户时出现;不是用户行为的结果。很少出现,不应成为用户典型行为流程的一个部分。

没有关闭(✖️)按钮。用户通过点击通知内部按钮关闭通知。


展示以下状态:

·错误:当系统出现无法让用户继续操作的问题时。

报告:当系统需要重置系统相关信息但不用停止当前工作时。


(2)情境



(3)做和不做

·谨慎使用。不应作为展示系统消息的第一选择,因为会打断用户的操作。

·必要时让用户给出反馈。当意外系统故障时,例如,用户反馈会是发现问题的一个有效方式。

不做

·不要使用通知来确认用户的行为,例如在用户删除一个项目之前给予警告。这时使用标准模态弹窗。

·不要重叠通知。


(4)变体

·不同控件(一个按钮,多个按钮,一个按钮+输入框)





·不同状态(错误,报告)



·不同屏幕大小(移动端)


较小标题

通栏按钮

(5)UI文案



(6)建议代码




7.消息Notifications

通过展示可供点击的信息和快捷入口来告知用户平台内的相关动态。

(1)用法


消息让用户知悉相关项目的更新。包括如下:

·@ me 某一项目提到某一用户,或某一项目分派给某一用户。

·用户自定义 Custom criteria  一个项目满足了用户设定的标准。

·批准 Approval  用户需要批准某项目,或用户的请求得到批准。

·提醒 Reminder  某一活动临近或最后期限临近。

·流程更新 Process update  某一用户发起的流程成功完成或出现问题。

·产品发布 Product announcement  app需告知用户产品相关的新消息。


消息由两个元素构成:

·图标 Icon:展示未读消息的数字

·托盘 Tray:包含用户收取的所有消息项目

消息图标位于头部,点击展开和手气托盘。当有新消息时,图标上会出现一个数字;多个新消息时,数字会随之更新。托盘内的每个消息能链接到相关项目。


每个消息项目可以展示以下不同状态:

错误

报告

成功


(2)情境



(3)做与不做

·在项目内可以包含行为按钮,这样用户可立即处理;如记录需要用户的批准时,提供“同意”和“拒绝”。

·允许用户关闭消息提醒。

·聚合同一项目的多个消息以减少噪音。



不做

·不要将消息用作反馈机制。使用文案、弹出框、吐司或模态。

·不要将消息作为获取全部动态的唯一渠道。消息是高度自定义的,而用户可能选择关闭某些项目。

·不要让用户感觉过载。有选择地使用消息。

·不要在一个消息项目中包含多个行为步骤。只包含一步的行为,如同意或拒绝,已核查等。


(4)变体

·控件



·状态

无论是报告式还是成功式,都使用统一的控件状态(未读、悬浮等)。


·移动端


移动端的托盘形态与桌面端很不一样。他不是悬浮在页面上方,而是从右侧划入。

此外,用户没有在app中时,也可以收到OS系统级别的通知消息。




8.弹出框Popovers

因为问题或潜在问题吸引用户注意。

(1)用法


一个弹出框可展示以下状态:

·错误:告知用户在上传数据时出现错误

·警告:系统提醒用户某一记录已经很久没有动态了

弹出框包含标题和主体,主体可包含链接。


在错误情况下,行为按钮(通常是保存和取消)左方放置红色警告图标。弹出框也是红色的,出现在警告图标上方。它比内部消息更明显,同时也不阻碍其他控件。错误弹出框自动出现(当用户提交表格出现错误后)。对于多项错误,主体文案可以是一个列表。

在预约/警告场景中,相关项目出现一个黄色警告图标⚠️,弹出框通常出现在图标右侧。用户通过点击图标展示改弹出框,不要自动出现。

(2)情境



(3)做和不做

·在弹出和收起弹出框时使用动画。

·确保弹出框内的链接和关闭按钮可以通过键盘进行操作。

不做

·不要让错误弹出框超出表格

·不要随意使用警告弹框。确保使用警告弹框的标准相对灵活,让用户不要总是被打扰。(?)(Do not use warning popover liberally. Make sure the criteria for calling a warning popover is flexible enough so the user doesn’t constantly feel pestered.)


(4)变体


(5)不要在移动端使用

(6)文案


(7)代码


缓入缓出时长

滑动距离




9.吐司

吐司属于用户行为的反馈或确认机制。

(1)用法


用户进行创建、编辑、删除等行为后出现。例如,用户通过模态弹窗编辑了一个机会并保存。模态关闭后,吐司出现在新建机会详情页面的顶部。

吐司可以显示出以下状态:

·错误:当用户做出一个行为,但系统阻止此行为真正执行。

·报告:当用户做出一个行为,有一些附加信息需要呈现。

·成功:用户完成或执行完毕。

·警告:当用户因外部原因无法完成某一行为(例如许可)而不是某个他能立即修改的问题时(如表格内错误)。


无论页面如何滚动,吐司都能保持在页面顶部可见,直到用户移除或规定的持续时间已过去。他们可以呈现1-2句(不用缩短),包含链接,以及关闭按钮。桌面端吐司可包含一个图标以表明消息类型,移动端不需要图标。

吐司宽度取决于内容长度及内部空白,但至少需要480px且在页面居中。

吐司以以下方式呈现:

·持续:持续呈现直到被用户关闭。促使用户了解信息而不阻挡页面内其他交互,例如,10条消息未能传达。

·暂时:短时间展示,直到持续时间结束或用户关闭,显示某个很有用但是非核心的消息,例如,记录已被保存。


(2)情境


(3)做和不做

·将同类型吐司汇总以减少吐司个数



·不同类型的吐司并列展示,将最近的展示在顶部


不做

·当创建行为将用户带到新建项目时,不要使用吐司来确认成功。

·不要在内部编辑时使用吐司。回到查看状态就足够表明已成功修改了。如果表格未能成功保存,表格应仍处于编辑状态。

·不要在用户导航至其他页面后仍然保留吐司。吐司仅与当前页面相关。


(4)变体

·控件



·状态


·屏幕大小

移动端


90%宽度

没有图标

较小的居左文案

没有描述文案


(5)文案



(6)代码




四,消息状态

消息状态传递的是UI文案的语气语调。与消息原则保持一致,UI文案应当是报告式的和可执行的(可以的话)。


1.空白Empty

场景:

·某页面控件没有内容时——inline text



·页面没有内容时——illustration & inline text



2.错误Error

(1)表格错误

Error Inline Text, Error Popover

如果用户提交的表格中有错误,则展示提示文案或同时呈现弹出框。

字段级别(field-level)的提示文案位于字段附近(如,电话号码不能包含字母),二弹出框展示时错误汇总(如,重新表格以下字段:电话号码)。



Error Inline text (+ icon variant)

如果不能使用弹出框,则展示提示文案(+图标)。



(2)未完成

Error Toast

用户操作后,当系统相关问题阻止了该操作的真正执行,则展示吐司错误。

使用“标题和描述”来表述更多信息。这一交互方式应尽可能少出现,且通常不应属于某一典型用户行为流。



(3)卡片内容错误

Error Inline Text

卡片内容无法加载时,在卡片内部展示错误提示文案。




(4)系统错误(当前)

Banner

如果系统错误影响用户当前操作,则展示横幅。




(5)系统错误(随机)

Notice

如果系统错误是随机发送的,则使用公告通知用户。



(6)无法获取页面内容

Illustration & Inline Text


(7)流程错误

Notification

如果用户发起的流程(如导入数据)出现错误,则使用消息提醒用户


3.报告 informational

出现场景:

·项目出现异常状态,如重复项目(内容顶部出现icon + inline text)

·用户行为完成,带有附加信息()

·用户当前板块有管理级别相关调整

·系统不可进入,如维护中

·系统需要更新信息但不用立即停止当前工作

·系统需要告知用户另一板块的相关活动

(1)异常项目

在异常项目内容上方展示,使用图标+文案

illustration & inline text

(2)成功行为附加信息

information toast

(3)管理相关状态

banner

(4)系统不可用

illustration & inline text

(5)系统消息

notice

(6)动态更新

notification


4.离线Offline

banner

直到用户上线一直展示


5.成功Success

出现场景:

·需要用户手动输入的行为成功完成(如上传一个表格)

·自动触发的行为成功完成(如自动保存的笔记)

·用户发起的行为成功完成(如数据导入)

(1)手动行为

success toast

(2)自动行为

inline text

用户行为持续的,提示可能频繁出现

(3)流程成功

notification


6.过渡

(1)系统正在进行某一行为,如保存、加载、发送邮件等。

inline text

(2)上传文件时

modal


7.警告

使用场景

·系统发现用户工作表格存在隐患(如重复)

·系统提醒用户处理某一长时间没动态的项目

·因为外部原因无法完成某一行为(如批准)

·系统相关问题影响到用户当前板块

·用户将要完成一个具有破坏性的,严重影响的,或放弃完成的行为


(1)表格警告

inline text(+icon variant)

(2)未更新项目

popover

(3)未完成警告

warning toast

(4)系统警告(当前板块)

banner

(5)用户确认

modal

评论

© 鸥米 | Powered by LOFTER