快好知 kuaihz

“史上最漂亮的计时类应用”是怎么来的?

相对于“交互语言”、“设计理念”这种比较专业、深奥的内容,我想对于普通用户而言,其实对每个应用或者说每个功能背后的故事更有兴趣。“时钟”应用被称为“史上最漂亮的计时类应用”,今天,我就跟大家分享一下关于时钟应用的几件事。

“算法考虑了日出日落时太阳圆心与地平线的关系、大气折射率的影响”

时钟”应用世界时钟的表盘会根据时间的不同而发生变化:当时钟代表的城市是白天时,表盘是白色的;当时钟代表的城市正处于黑夜,表盘就是黑色的。这个小功能在 2013年3月27日 Smartisan OS 发布会上就有提及。

“黑夜黑表盘,白天白表盘”,是对这个功能的简单概括,这个概括在绝大部分时间是正确的。然而,一个容易被忽视、但是恰恰能体现细致程度的问题是,黑夜和白天的时间分界点在哪里?

早期的版本中,默认将 06:00 之后、18:00之前作为白天,18:00之后至次日 06:00之前作为黑夜。这种设定在春、秋两季时问题还不明显,冬夏二季时问题就显现出来了。温带、寒带夏季05:00时天色已初朦,19:00太阳尚未下山,而表盘的颜色都是黑色的;冬季07:00仍需借助路灯才能走路,17:00时已华灯初上,但是表盘颜色却是白色的。

最初,我想到的办法是规定三组时间点,春秋一组,夏季一组,冬季一组。稍加考虑之后不难发现,这显然仍是一种“中纬度中心主义”的思考方式。我们在思考问题时,一定会受到所处环境的限制——尽管是无意识的——以这个例子具体来说,我一直生活在中纬度地区,所以我考虑的黑天、白天时难免以我在中纬度地区生活的经历为依据,通常会忽略低纬度或高纬度地区的特殊情况。而且,即便同在中纬度地区,北京已经日出,乌鲁木齐还是黎明。所以,人为确定日夜交替时间点的方法是行不通的。

世界时钟黑白表盘

此时,就需要寻求一种更为精确的方法。日出日落时间显然是最合适的选择。工程师在调研之后发现,确实有这样的算法,只要获知任一地点的日期、时区、经纬度坐标之后,即可计算出该地在任何一天的日出、日落时间。城市的日期信息可以从手机的系统中获取,难以获取的是城市所属的时区和经纬度坐标。

这里需要说一下的是“时区”,我们熟悉的“东八区”、“西五区”这种时区是理论时区。现实中,各个国家、政府可能并没有采用理论时区的时间,有时还会变更本国的时区,比如,克里米亚在 2014 年 3 月时将时间向后调了两个小时,改用莫斯科时间。

同时,计算机程序中的时区数据库(tz database)的数据也不是按照“理论时区”组织的。例如,法国巴黎的经纬度坐标是8°51′24″N 2°21′03″E,英国伦敦的经纬度坐标是51°30′26″N 0°7′39″W,从经度来看两者都应该是UTC时区的,实际上,法国采用的是“欧洲中部时间”,比英国早一个小时。而巴黎所处的时区时区数据库中的代码是“Europe/Paris”,伦敦所处的时区时区数据库中的代码是“Europe/London”。

理论时区(from wikipedia)

时区数据库中的时区(from wikipedia)

接下来的一个星期,我和工程师共同查找、核对了 622 个城市的名称(简体中文、正体中文、英文)、所属国家(简体中文、正体中文、英文)、时区和具体经纬度坐标。工程师则反复验证算法。

2013 年 12 月 4 日,Smartisan OS v0.8.8 α 的发布说明中,有了一项“世界时钟表盘颜色按照当地日出日落时间改变黑白”。

“我觉得秒针应该加一个效果”

事实上,由于我们对于用户体验和视觉效果的极致追求和强调,我们的许多工程师在这方面甚至都产生了非常灵敏的直觉。

一个具体的例子,锤子科技的官方微博曾经转发过一个网友拍摄的视频,视频内容是“时钟”应用的秒针在每一次摆动之后会有轻微的回弹,像真的石英钟。这个动画就是工程师自己做主完成的。

有一天我跟工程师核对开发进度。核对完了之后,我们的工程师跟我说:“我觉得秒针应该加一个效果。一般的石英钟的秒针在跳动一次之后,都有一个轻微的回弹,我们时钟应用的秒针没有这个效果,我自己做了一个,你看一下。”当时我很吃惊,因为通常来说,工程师是痛恨产品经理提需求的,但是这个工程师主动给自己提了需求,而且是视觉方面的需求。我们看了这个动画效果之后,觉得非常好,节奏和程度把握都很好,就在下一个版本的更新中添加了这个特性。

“浑身是铁能打几根钉子”

前面提到了两个我们改进产品的小故事。我的体会是,一个产品的进步,不能仅仅依靠我们自己“想”需求,用户在使用过程中发现、反馈的问题对我们来说也很重要。产品经理、设计师每天都在想如何改进一款产品,但肯定还是有想不到、发现不了的地方。俗话说的,浑身是铁能打几根钉子,有时候还是要靠用户的反馈、督促。还是以“时钟”这款应用为例。

迄今为止,我们共单独发布了四款应用,分别是锤子时钟、锤子便签、欢喜云同步工具和锤子日历。其中,锤子时钟是最早单独发布的。一方面是因为时钟应用不依赖系统的其他功能,适合单独发布,另一方面是,时钟应用比较好地反映出了我们公司设计师的水准。所以选择最早选择时钟应用进行单独发布。

2013年7月,“锤子时钟”在各个安卓应用市场上线。说实话,那时候我们的想法是,时钟应用做到这个水平、拥有这些功能,基本上已经没什么可以挑剔的了。就等着人民群众交口称赞了。

事实上,锤子时钟发布后,确实收到了大量好评。虽然我们都知道我们的用户在体验和审美方面的要求异乎寻常地高,但是我们还是被他们反馈回来的建议给震惊了。我可以举几个简单的例子。

比如,有个用户发现,我们的世界时钟里的“的黎波里”和现实中的“的黎波里”时间不一样,有时差。后来我们发现,世界上有两个“的黎波里”,一个是利比亚的首都和最大城市,另一个是黎巴嫩同名城市。后来,我们就在世界时钟的城市列表的城市名称后面添加了国家名称,加以区别。这是一个小的改动。

城市名称后的国家

再比如,我们的秒表有打点功能,秒表的打点有两种显示方式:一种是显示两次打点的时间间隔,比如一个人跑步,跑完一圈,打一个点,记录一个时间,再跑一圈,再打一个点,那么第二次打点的时间就是跑第二圈用的时间;另一种是显示每次打点的时间点,比如十个人跑步,依次打十个点,这十个时间点就是这十个人的成绩。每种方式都有各自的用途,说不上哪种“对”、“哪种”错。

最早的时钟应用采用的是第一种方式,很多用户表示不解,那么后来的版本中我们增加了一个开关,可以让用户选择自己需要的方式。但是后来还是有用户说,有开关了还是不方便,因为每次只能看到一种打点结果,想要同时看到两种,最后,我们就修改了设计,同时显示两种不同的打点方式记录的结果。

秒表同时显示两种打点结果

有一个用户发现,锤子时钟的世界时钟和闹钟的分针更新频率不一致。这么说可能不太容易懂,我解释一下。日常生活中的钟表,秒针每走一格,分针也会相应地走动一小段距离,这段距离非常小,以至于肉眼很难发现。因为秒针一秒钟走的是一格,分针一秒钟走的是六十分之一格。有一个用户就发现,世界时钟的秒针在走动时,分针也会走动,但是闹钟的秒针走动时,分针并不会走动,而是等秒针走完六十格,分针在最后一秒向前跳动一格。就是这么小的一个差异,是我们的用户发现的。

那段时间,我每天一起床,就能收到十几条这样的消息。压力非常大。但也正是用户的这些建议,让时钟这个应用在原来的基础上又有了很大的改进。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:计时  计时词条  漂亮  漂亮词条  应用  应用词条  怎么  怎么词条  
设计

 你知道“梵雷斯托夫效应”吗?

在生活中,可以运用到的心理学无处不在,作为优秀的设计师应该重视心理学带给设计上的帮助 。很多时候,人们的心理状态和认知决定了人们面对设计作何反应、如何...(展开)