热腾网

 找回密码
 加入热腾

QQ登录

只需一步,快速开始

搜索
热腾网 首页 战略 摩拜单车 查看内容

昨晚,我提心吊胆地解锁一辆共享单车

2017-11-27 00:54| 发布者: 热腾网| 查看: 1746| 评论: 0

摘要: 原标题:昨晚,我提心吊胆地解锁一辆共享单车 作者简介:刘新元,善新科技创始人,原腾讯高级前端开发工程师,曾参与QQ会员、腾讯游戏、QQ钱包、QQ智慧城市、QQ智慧校园等多个项目开发,2017年QQ红包前 ...

原标题:昨晚,我提心吊胆地解锁一辆共享单车

作者简介:刘新元,善新科技创始人,原腾讯高级前端开发工程师,曾参与QQ会员、腾讯游戏、QQ钱包、QQ智慧城市、QQ智慧校园等多个项目开发,2017年QQ红包前端主要负责人。

一次不愉快的使用体验引发的思考

昨晚跑完步有点累,回公司的路上便打算找辆共享单车骑回去算了,这个想法很容易实现,路上共享单车随处可见。

要在一年前,要想找辆共享单车骑的话,可能还得找那么一会儿,但现在已经完全不用找了,四处可见的共享单车甚至有些“车满为患”了,视野里想不看到共享单车恐怕都有些难了。

在一堆共享单车里,我很轻易的看中了一辆比较新的ofo,然后拿出手机,呀,手机快没电了,我小心翼翼地打开微信,再打开ofo小程序,然后是“漫长”的等待它启动,每次点击手机屏幕都是提心吊胆的,生怕它马上自动关机,而每一次操作之后的并没有自动关机,我心里都有如中奖般的庆幸和喜悦。

按照“墨菲定律”——最担心的事往往最后会发生,果不其然,在最后一个环节,手机没能撑到把解锁码给我拿来就自动关机了,我只好拖着疲惫的双腿继续走回公司。

共享单车的设计仍有缺陷

作为一个IT民工,尤其是技术出身的我,喜欢思考互联网产品,时髦的说法叫用户体验。在腾讯的那些年,面对着海量用户,几乎每天都在跟产品的性能较着劲,想方设法的去优化产品的性能以提升用户体验。

对于共享单车这类应用,很容易看出现在这种设计,无论是从产品角度思考,还是从技术层面总结,都不是优秀的设计或架构。

首页需要说明一点的是,有小程序的,我就不会再下载APP了,先有APP的,后小程序的,我就会卸载APP,毕竟不想老是看到提醒手机存储空间不足。

虽然使用小程序的操作路径会比APP长,但微信基本是保持一个常驻进程,操作起来也是非常快速,反倒是很多APP还有个启动广告,那简直是不可理喻的弱智行为,那些广告看到一个恶心一个。

然后我来分析一下为什么说共享单车的应用现在的设计不是优秀的设计。

小程序的启动是先加载资源包,对于ofo和摩拜这两个小程序应用比较简单,也没有太多图片资源,功能逻辑也较单一,所以资源包会很小,启动的时间这里优化空间不大。

在加载完资源包后,微信便启动一个进程专门独立去运行小程序了,从我们点击打开一个小程序到可以完完整整的看到这个小程序,这中间的等待时长就主要取决于首页的复杂度了。

如果首页非常简单,不用进行网络加载,那基本就是在加载完资源包后马上就渲染出来了。但如果首页有功能,有网络请求,那就要看企业的服务器部署和用户的网络环境了,服务器性能越好,处理请求的速度就越快,反之,则可能就需要用户耗上一定的时间来等待了。

当然,用户的网络环境也是非常重要,但这个并不是企业能解决的问题,不能要求上亿的用户都处在良好的网络环境下。产品的优化或者说性能的优化的意义也就在于帮助用户在较差的网络环境下获得较好的用户体验。

根据这个思考以ofo为例来分析一下,摩拜同样适用。

定位功能还有存在的必要吗?

按照上面的截图可以看出,小程序启动后,先是进行定位,然后根据定位结果加载用户所在的区域地图,然后再在地图上显示用户所在区域范围内的共享单车。

看下这个初始化过程,定位,这是一个非常耗时耗电的过程。

以我之前在腾讯负责过的LBS服务统计过的数据来看,定位在android上是需要将近1.2s左右,iOS因为可以共用系统定位数据,在可以共用的情况下,可以忽略不计。

但在系统定位数据无效情况下,耗时也是需要将近1s的。这还只是拿到个经纬度,然后需要将这个经纬度提交到服务器,服务器返回用户所处的区域并加载地图。

与此同时,也可以把用户周边的共享单车列表一起返回(没有刻意去抓包分析,但我相信应该会是这样做的)。然后是一个渲染过程,渲染地图又是一个非常耗时耗电的过程,还有后面标记单车位置,都是比较耗时耗电的。

但这一切对用户来说是毫无意义的,因为我根本就不需要这些,我只需要点一个按钮,进入下一个页面,去打扫或者输入车牌号,继尔得到解锁码。

也许这种设计在共享单车兴起之初,单车投放量还非常低的时候,应该算是一种挺科学的设计,打开APP或小程序,首先应该是去找哪里有车可骑,但发展至今,显然找单车已经不再是问题了,用户可以随随便便就从身边找到一辆车,只是需要APP或小程序来解锁而已了。这是行业的发展带来的需求核心问题的变化。

共享单车的设计应该与时俱进

那么,假如我是ofo或摩拜的产品或技术负责人,我会如何来设计呢?

还是以ofo为例。

首先,首页我将极致的简化,实现零网络请求,不需要定位,不需要显示地图,不需要显示我周边的单车

只有两个按钮一个输入框、一个可点击文字区域(也可以看成是一个按钮),一个扫描骑车按钮,一个车牌号输入框及确认按钮,底部再加一个雷达扫一扫,其实就是打开地图查看附近的单车。

这样优化之后,首页极大地简化了,无必要的耗时耗电全去掉了,网络请求也全没了,初始化渲染就变得非常简单和轻松了。但需求的核心及用户体验并没有因此降低,在我看来,应该是得到了提升。

而且如果用户是习惯手动输入车牌号,也可以直接在首页完成了,不需要再先点击“手动输入车牌号”单独打开一个页面再来输入车牌号了,减少了一步操作。(另外提一点,这个设计能把这两个按钮位置放下面一点点吗?以我们拿手机操作的舒适程度来看,再放下面一点点,点击起来会更轻松。)

在个别投放单车较少的区域,当用户需要通过手机查找单车时,可以点击“雷达扫一扫”,主动定位并请求服务器返回附近的单车进行地图标识。

通过这样一个简单的优化,极大地提升了小程序的性能和用户体验,对APP也是如此。

而且,因为首页初始化的请求减少了,对于ofo或摩拜来说,日PV千万级别的应用,他们需要的服务器和带宽也可以极大极大地减少,一年下来应该也能节约个几百万的成本吧。

一切的设计都应该是以解决问题为出发点,优秀的技术架构应该在完美的解决问题的基础上,再尽可能的提升用户体验,如果还可以,那就再尽可能的帮企业节约下成本吧。问题也是变化的,设计亦如是!期待ofo和摩拜能优化一下。


杯具

无语

很好

蛋定

愤怒

最新评论


热腾网X

未实名认证用户将不可发帖!

即日起,未实名认证用户将不可发帖,注册后,发帖请遵守当地法律法规。 【点击进行实名认证】...

点击查看详情