在软件设计中,常常面临着资源紧缺、网络延时、网络环境不稳定等等情况,面临各种情况,往往会和产品设计上有分歧。
有些产品设计是这样的:
1. 用户必须先到后台拿到某个数据之后,才能开始界面展示(没有网络无法进入软件)
2. 某个打车软件,必须每秒都同步地图上汽车的位置
3. 某个看美女图的软件,全部去拉取1080P的图片展示
这只是一些例子,这些情况都是可以做变通的,能带来更好的用户体验和资源的节省。
什么是有损设计?
以Uber为例,最好的体验应该是这样的:叫了一辆车后,每一秒汽车移动的位移变化,都应该展示给用户,用户能清楚的看到每一秒汽车是如何运行的。但是,这后面面临的是用户每一秒要刷新一次汽车的位置,汽车也要每一秒不断的上报汽车每一秒的位置。如果汽车到你这里需要五分钟的话,也就是300秒内,Uber的后台要处理这一单600次请求,如果同时的订单很多,那计算资源消耗是极快的。同时司机和用户刷新了300次界面,每一次都要产生流量和消耗电量(手机发热是肯定的,流量也可能会被一些卫士管家报警)。
这样的产品体验肯定不合格,解决这类问题,首先要降低预期,不要以为资源是无限的,根据当前拥堵和汽车形势速度,计算下大概时间,假设也是大概五分钟到,那20s同步一次就好了,这已经降低了很大的计算资源所需的量级。(这只是提个思路,是不严谨的)。
以微信为例,春节期间,当时很多短视频已经看不了,朋友圈的图片已经看不了,在界面上已经给出了一些提示,但最基础的即时通讯功能并没有崩溃,我想一定是流量太大,只针对关键业务更多资源投入,其他做了一些「有损」的设计。
有一个饭馆,它每天只营业三个小时,这是典型的有损设计。可能损失了收入,但是剩余的时间,老板娘可能是在弹钢琴、做学问,这个「有损」换来了更多的「诗和远方」,生活不只眼前的苟且~
什么是柔性设计?
以看图软件为例,WiFi下给用户的是高清图,2G下同样给的是高清图,没有做任何的区分,一张高清图可能是800K,在2G的情况下,算20K的速度,要下载40s,这种体验几乎是无法接收的。
解决方案类似:做2套图片,WIFI、4G、3G下给高清图片,2G下给低分辨率图片,针对用户不同的网络情况给不同的图片,流量和体验兼顾的一种方案。
某些软件在这方面做的是比较好,比如在新闻页面中,如果用户是移动网络,那经常是给一张很小的图(几K或十几K),如果用户有兴趣的话,会点开看大图,这种既保障了移动网络下打开页面的速度,也保障了用户的流量。
这是一种针对不同用户网络条件的柔性设计,但同时是一种有损设计,因为没有完全还原出原页面的样式。
什么是牛逼的设计?
不用多说,追求完美的时候,不要太较真,不要一味的非要还原整个过程真实的样子。在一定时候要做变通,一些假动画,一些假进度,一些复杂过程的隐藏,对一些一场情况的处理,一些与用户主动的交互都可能事半功倍。
有一些东西不是技术问题,而恰恰是一个产品问题。
软件设计有的时候就像中国的父母,一直以为都是给孩子最好的,其实孩子并不满意,要有所取舍,有时要放任,有时要严格。
本文来自给产品经理讲技术(微信公众号:pm_teacher)授权发表,转载请联系原作者,违者必究。
- 还没有人评论,欢迎说说您的想法!