四步走查智能硬件异常Case
此文已由作者于真真授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
相比于软件,智能硬件产品由于涉及硬件和软件两个端的状态,其异常case要更加错综复杂。由于硬件产品的迭代更新较慢,一旦带着问题上线要比软件麻烦的多,轻则导致操作上的困惑,重则导致产品无法使用,因此设计师必须在产品设计过程中将所有情况考虑周全。
梳理异常case的通常方法是按照产品使用场景和操作顺序一一枚举,这种方法费时费力,容易遗漏。例如使用APP连接硬件时就包含用户不小心给硬件断电、手机蓝牙未开启、硬件广播延迟等异常case,但是设计师无法确定这个操作节点上异常case是否已穷举全面、无遗漏以及对应提示是否合理。
第一次做智能硬件,少不了各种踩坑,但在这过程中逐渐摸索出一种比较直观的智能硬件异常case走查方法,通过这种方法我梳理出的异常case比工程师上报给我的还要全面,亲测可用,大家不妨试试。
在网易云音乐车载蓝牙播放器项目中,网易云音乐APP对硬件每一步的操作都要检测软硬件之间的通讯是否正常,因此我主要将此工具应用在梳理蓝牙连接异常case。
第一步,对状态进行拆分组合。将软硬件的状态(或异常case原因)进行拆分,例如将软件拆分为两种状态——A状态和B状态;硬件拆分为两种状态——1状态、2状态;然后将各种状态进行组合,即得到A-1、A-2、B-1、B-2四种状态。
通过拆分和重组软硬件的蓝牙状态可以得到手机蓝牙开-播放器蓝牙开、手机蓝牙开-播放器蓝牙关、手机蓝牙关-播放器蓝牙开、手机蓝牙关-播放器蓝牙关四种状态。所有的异常case都是由这四种状态(原因)引起的。
第二步,梳理任务流,确定交互关键触点。根据使用场景将用户使用产品流程中的交互接触点进行梳理和排序,交互接触点细致程度可根据当前所在的产品设计阶段而定。将用户使用车载蓝牙播放器的流程分为四步:首次使用、首次设置频率、非首次设置频率、退出。
第三步,建立走查表,整理异常case。将前面整理得出的4个关键触点和4种状态组成一个矩阵。在矩阵中,将对应交互接触点和软硬件状态(异常case原因)下的异常情况整理出来。
第四步,为每一种异常case设计解决方案。最重要的一点就是根据异常case和发生的场景、任务节点设计对应的提示文案及形式。
在此次产品设计中,硬件蓝牙是否开启和是否连接分别是通过logo灯的亮起/熄灭和呼吸/常亮来提示用户;而软件的异常case则可通过APP内各种弹窗、页面搭配不同的文案提示,要注意的一点就是同一种原因引起的异常case在不同节点上可能会有不同提示语。
这样一份走查表具有直观和全面的特点,所有项目参与者都可以方便地根据它来理解产品异常case。
关于走查表制作的一些补充TIPS:
1.多人合作。交互设计师可以组织产品策划和软硬件工程师共同参与走查表的制作,项目相关人士的参与可以确保大家对问题的理解一致,达成共识,提升后续沟通效率。
2.步骤二中谈及的交互接触点可根据走查表所使用的阶段而变化。例如在产品策划前期可以通过走查表预判产品在各个阶段的异常case;在设计的中后期则可以将具体的交互节点放在任务流坐标之上,方便我们捕捉异常case出现的时机节点和查漏补缺。
3.软硬件状态和交互接触点是常见的走查维度,但不是唯一。根据不同的项目,可适当调整走查的维度,一切以对项目“最有用”为原则。
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 网易考拉海购:电商高并发架构设计的铁律
【推荐】 6本互联网技术畅销书免费送(数据分析、深度学习、编程语言)!
【推荐】 反射型 DDoS 攻击的原理和防范措施
四步走查智能硬件异常Case的更多相关文章
- Mac系统下使用VirtualBox虚拟机安装win7--第四步 安装虚拟机硬件扩展包支持
如 果想要在虚拟机上使用连接在 Mac 上的硬件外设,比如 U 盘,iPhone 等,需要我们在 Virtual Box 官网下载一个硬件支持扩展安装包.同样地,我们先打开虚拟机的下载页面: http ...
- [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”
NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应 ...
- 如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上)
当前进展: 一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计 ...
- 如何为编程爱好者设计一款好玩的智能硬件(三)——该选什么样的MCU呢?
一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计硬件积木的! ...
- JAVA EE企业级开发四步走完全攻略 [转]
http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...
- 苹果HomeKit如何牵动全国智能硬件格局
苹果HomeKit如何牵动全国智能硬件格局 2014-06-23 15:48 发表 系统分类:消费电子 自定义分类:默认 标签:智能家居 苹果在6月的WWDC开发者大会上发布了包括 ...
- java web每天定时执行任务(四步轻松搞定)
第一步: package com.eh.util; import java.util.Calendar; import java.util.Date; import java.util.Timer; ...
- 为智能硬件提供一站式解决方案——机智云GoKit评测
为智能硬件提供一站式解决方案——机智云GoKit评测 2014年12月24日 作者: ladouyu 3 17,414+ 4 EMW3162GoKit开发板STM32F103智能硬件机智云2.0 从物 ...
- 【STM32H7教程】第11章 STM32H7移植SEGGER的硬件异常分析
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第11章 STM32H7移植SEGGER的硬 ...
随机推荐
- array_diff函数的注意事项
array_diff — 计算数组的差集 说明: array array_diff ( array $array1 , array $array2 [, array $... ] ) 对比返回在 ar ...
- GWT更改元素样式属性
GWT有时候不像普通网页那样可以自由的添加CSS改变样式,所幸gwt提供了一些底层的方法,通过这些方法来实现DOM操作等.通过gwt部件的getElement()可以取得dom上的元素,这时就能对该元 ...
- Hot resize Multipath Disk – Linux
This post is for the users of the great dm-multipath system in Linux, who encounter a major availabi ...
- Day3-Python基础3---函数递归和函数式方程
一.函数的递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应 ...
- FLASH和EEROM使用【转】
最近在看代码的时候,遇到了一个使用FLASH模拟EEPROM的情况,看到这个我当时是一脸蒙蔽啊,对于一个有时候连FLASH和EEPROM都分不清的人来说,怎么可能读懂用FLASH来模拟EEPROM呢? ...
- 淘宝的前端类库-KISSY
KISSY(淘宝) KISSY是淘宝的前端类库,几乎在淘宝的每个页面上都能看到它的身影. KISSY提供稳定的核心,包括 oo.dom.Event.Anim.Ajax 等:强大且易用的脚本加载器,特有 ...
- PD中更改显示Name还是Code的设置
菜单->Tool->Model Options->Name Convention->右侧display中选择显示name还是code. 此外,在16版中,还可以通过Tool-D ...
- 2016.9.9《Oracle查询优化改写技巧与案例》电子工业出版社一书中的技巧
1.coalesce (c1,c2,c3,c4,...) 类似于nvl但可以从多个表达式中返回第一个不是null的值 2.要在where条件中引用列的别名,可以再嵌套一层查询 select * fro ...
- 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别
最近在学struts2,struts2相比以前的JSP+Servlet,在处理流程上的更简单,我们就一个小实例来具体分析一下. 实例内容如下: 实现一个简单的注册页面包括:用户名.密码.重复密码.年龄 ...
- linux 信号量之SIGNAL 0<转>
我们可以使用kill -l查看所有的信号量解释,但是没有看到SIGNAL 0的解释. [root@testdb~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) ...