聚焦客户

8

阅读时间

使用条件与变量构建交互设计系统

ProtoPie 如何帮助印尼超级应用 Gojek 在视障人士中测试功能。

尤利娅·索罗多克, ProtoPie 的产品营销经理

Gojek 是一款印尼超级应用,可让你购买从食物、门票到雇用配送司机在内的各种服务。

自然地,Gojek 需要自己的设计系统。该公司在同一生态体系下拥有多个移动端产品,因此对他们来说,拥有一个可在所有产品中使用的精简且一致的设计系统非常重要。一致性就是一切。

ProtoPie 的优势之一是,团队成员无需从零重新创建每个组件,就能制作高保真原型。此外,这些组件还带有变量和条件。

Gojek 创建了可操作变量,以确保组件能够在不同产品和场景中使用,并根据其在更大设计系统中的使用方式配备不同的变量和条件。


ProtoPie webinar guest speakers Riyadhi Rachman and Luthfi Eryando.


ProtoPie 网络研讨会嘉宾演讲者 Riyadhi Rachman 和 Luthfi Eryando。

Gojek 如何在 ProtoPie 中使用变量

什么是变量?它是用于存储数据的容器,数据可以是文本、数字到颜色等。变量可以通过特定触发器或动作被重新赋值。例如,可输入像电子邮件这类可复用数据。


Variables are “baskets” that store values.


变量是用于存储数值的“篮子”。

Gojek 以多种方式使用变量。

1. 预订状态变量。** **通过为变量填充值并创建相应的触发器与响应


using variables to store reusable data

2. 用于自动化计算。例如,计时器


using variables to automate calculations

3. 让组件动态化


using variables to make components dynamic

以下是完整视频,Gojek 产品设计师 Riyadhi 和交互设计师 Luthfi 在其中分享了他们如何在工作流中使用 ProtoPie 的条件和变量。

视频

Gojek 如何在 ProtoPie 中使用条件

什么是条件?它是在满足时会触发动作的参数。

ProtoPie 允许在单个条件下设置多个参数。比较方式也很多——简而言之,就是用来将一个值与另一个值进行比较的机制。当你希望创建一个可以复现完整编码成品的条件时,这非常有用。


A condition is a parameter that triggers an action when fulfilled.


条件是在满足时触发动作的参数。

假设 Gojek 想创建一个触发器来检测其预订状态变量的变化。他们先添加一个触发器,再添加一个条件来检查数值是否正确,最后添加一个可根据该数值触发变体的 speaker。

Gojek 对按钮的使用就是一个典型例子。这类按钮通常有两种状态——激活和未激活。它必须在正确的时间、正确的条件下被激活:字段必须先填写,按钮才会被激活。


using conditional triggers


使用条件触发器来改变按钮状态。

他们添加了一个条件来检测按钮是否已填写,并设置相应的触发响应来改变按钮颜色。

最后,他们使用条件提供分支,根据特定条件将用户导向不同流程。最棒的是?他们只用了一个触发器。首先,为按下按钮添加触发器;然后添加条件检查用户选择的是选项 A 还是 B;最后将这些分支关联到不同条件。

为什么 Gojek 创建了“state”变量

以最常见的组件——按钮为例。Gojek 创建了多个变量,如 state、theme 和 loading。

一个按钮有两种状态——激活和未激活。Gojek 团队创建了“state”变量,并为每种状态及其对应响应创建了包含两个条件的触发器。触发后,文本和容器颜色会发生变化。

他们必须确保按钮保持未激活状态。因此,他们在 Tap 触发器上设置了条件,并将“state”变量作为参数。

同样的方法也用于调整“loading”状态。由于“loading”状态只会在按钮被点击后出现,他们在 Tap 触发器上设置了使用 loading 变量作为参数的条件,并设置后续响应。


using variables within components


在按钮组件内使用变量来更改主题。

ProtoPie 如何帮助 Gojek 提升产品可访问性

提升可访问性是 Gojek 的设计原则之一。

幸运的是,ProtoPie 的 Speak 功能使他们能够在视障用户身上测试原型,并快速收集反馈。

Gojek 创建了一个“selection highlight”组件,可在场景中被单独识别。该组件有一个 ID 变量,可根据顺序进行特定识别。


creating components in protopie studio


在 ProtoPie Studio 中创建“selection highlight”组件。

他们创建了一个变量,用于声明场景中正在被选择的是哪个项目,并将其命名为“item”。

为了改变“item”变量的值,他们使用了 Fling 触发器——向右滑动会让 item 变量得到“+1”响应,向左滑动会让 item 变量得到“-1”变量。

有两个主要变量起到了关键作用。“ID”变量用于跟踪 ID,“item”变量则告诉组件当前选择的是哪个项目。此外,为了在选择组件与场景之间通信,他们在场景上设置了 Detect 触发器来检测“item”变量的变化。


using the detect trigger


Detect 触发器用于检测“item”变量的变化。

Gojek 在选择组件内创建了一个 Receive 触发器,用于与组件通信并指示当前选择的是哪个项目。

他们为条件设置了 Detect 触发器,使原型能够检测当前选择的是哪个项目。他们在资源条件上使用“item”变量,并根据滑动时的“item”变量分配 Speak 响应。然后他们为滑动手势设置了限制,以确保 item 的值永远不会大于屏幕上项目的值。


Assigning the Speak response


分配 Speak 响应。

这个很酷。作为“items”选择的附加功能,他们设置了一个变量,并让原型检测用户手指。如果手指的 Y 轴位置值下降,item 变量也会随之下降。

这极大加速了他们的产品开发阶段。通过专门为视障用户创建逼真的原型,他们能够更快获得真实洞察并高速迭代。

ProtoPie 让 Gojek 有机会以低成本试错。专注于时间。在产品发布前进行微调并降低风险。


Why Gojek design teams love ProtoPie


为什么 Gojek 设计团队喜爱 ProtoPie。

用 ProtoPie 为你的产品开发降风险

Google、BMW 和 GoPro 的设计团队都在使用 ProtoPie 来加速产品开发,并为每一次大胆尝试降低风险。

立即免费试用 ProtoPie。