This topic created in 55 days ago, the information mentioned may be changed or developed.
众所周知,在 APP 里操作一个远程开关,开始操作时,此时的状态是 [操作命令正在发送] ,APP 上的 UI 需要显示为正在发送命令,需要等远程开关返回操作成功消息后,此时 APP 上的 UI 才能改变状态。
但国内很多智能家居的 APP ,比如米家,当你按下开关时,开关的状态就立即改变了,似乎是你按下后,远程开关就立即操作成功了。
然而真实的意外情况有:
1.远程开关没有任何改变,米家的 UI 上的开关却已经显示为成功操作。
2.远程开关没有任何改变,米家的 UI 上的开关却已经显示为成功操作,等了几秒钟后,米家 APP 显示说对方未响应,但此时米家的 UI 仍然是显示为成功操作。
3.远程开关没有任何改变,米家的 UI 上的开关却已经显示为成功操作,等了几秒后,米家的 UI 改变显示为操作失败。
我还试了几款小厂的智能家居 APP 以及微信小程序,都存在这个问题。
Supplement 1 · May 21
有些人可能没见过设计严谨的 APP ,举个例子,小飞机(电报 Telegram ),它发消息,是有两个√的。
第一个 √ 表示服务器收到,第二个 √ 表示对方已经打开聊天窗口并阅读了这条消息。
Supplement 2 · May 21
看了一下大家的意见,很多人觉得,正确的设计 等于 很差的用户体验。为了提高(迎合)用户体验,不得不做出不专业、不正确的设计。
我觉得,大部分用户并不是计算专业,他们不明白点击了按钮后,在真正的业务链条中,会有多个状态。但是,他们是用户,是公司的基本盘,是公司赖以生存的基石。如果不考虑他们,严格把 APP 做的很专业,用户可能会很困惑,进而反感。
所以我觉得,普通用户与专业用户,我都要:
进入 APP 后,默认是目前这种简化的设计,但 APP 右上角,有个切换按钮,点一下可以切换到专业模式。
默认的简化模式,开关只有开与关两种状态,用于照顾大部分麻瓜用户群体;
专业模式下,开关会严格按照数据发送逻辑,有多种状态:未初始化、正在获取远程开关状态、已发送开关命令、服务器已接收到命令、远程开关已经执行命令等状态。并且在 LOG 面板中显示具体的信息。
 |
|
1
laimailai May 21
这个我也发现了,有时候网络不好点了后 APP 状态变了,实际上是失败的。 估计是异步操作?
|
 |
|
2
LuxChen May 21
我感觉是故意这么设计的,让你感觉操作都很快顺手,如果真的加上等待开关返回的时间,那体验就很差了。
|
 |
|
3
villivateur May 21
市场下沉导致的。很多人无法理解“延迟”这个概念,认为只要我按了就应该立刻生效。
|
 |
|
4
milkzizi May 21
loading 多了也烦人,有一种一直在等待的感觉
|
 |
|
6
willygeek007 May 21 1
1 、触发开关,客户端先更新状态==发送到服务器==客户端等待状态刷新 2 、触发开关,客户端不做更新==发送到服务器==客户端等待状态刷新 哪种用户体验好些,产品经理会选哪种
|
 |
|
7
lukailun May 21 3
显然是乐观更新体验更好啊,毕竟大部分情况下,操作都是成功的。
|
 |
|
8
RedRackham May 21
我以前做 IoT 设备也是按照 3 来做。交互开关有延迟的话,用户体验会非常不好。
|
 |
|
9
Hilong May 21
就是这样的设计啊,真按你那样设计,很多用户就会觉得你这个 app 不行,怎么这么卡。用户体验就很差。
|
 |
|
10
lancelee01 May 21
只有环境有问题才会有出现吧。米家是 WIFI 、红外。只有 WIFI 有问题才会有不一致,99.9% 都 OK
|
 |
|
11
ttsuper May 21
感觉是取舍问题,用户感受第一位,小米好像都是异步下发命令的,同步可能转圈圈体验不好?
|
 |
|
12
flytsuki May 21
没有办法,总不能发消息时按钮 loading 吧
|
 |
|
14
longaiwp May 21
这是一个体验问题,如果是一个实体按钮,你能理解按下去还要等反馈?小米这个可以说不是最严谨的,但是一定是用户体验最好的。
|
 |
|
15
mamumu May 21
物联网一般是 mqtt 那些吧 异步特征比较明显
|
 |
|
17
7gugu May 21
异步返回的体验才是最糟糕的,因为没有立刻让用户感知到他的操作有效性。这个只是一个设计取舍问题,如果真的是异步操作失败了,用户只需要重新再点一次,普通用户去理解异步操作这个概念不见得是一个优雅的解法。
|