相對(duì)于“交互語言”垃环、“設(shè)計(jì)理念”這種比較專業(yè)、深?yuàn)W的內(nèi)容返敬,我想對(duì)于普通用戶而言遂庄,其實(shí)對(duì)每個(gè)應(yīng)用或者說每個(gè)功能背后的故事更有興趣【⒃“時(shí)鐘”應(yīng)用被稱為“史上最漂亮的計(jì)時(shí)類應(yīng)用”涧团,今天,我就跟大家分享一下關(guān)于時(shí)鐘應(yīng)用的幾件事经磅。
“算法考慮了日出日落時(shí)太陽圓心與地平線的關(guān)系泌绣、大氣折射率的影響”
“時(shí)鐘”應(yīng)用世界時(shí)鐘的表盤會(huì)根據(jù)時(shí)間的不同而發(fā)生變化:當(dāng)時(shí)鐘代表的城市是白天時(shí),表盤是白色的预厌;當(dāng)時(shí)鐘代表的城市正處于黑夜阿迈,表盤就是黑色的。這個(gè)小功能在 2013 年 3 月 27 日 Smartisan OS 發(fā)布會(huì)上就有提及轧叽。
“黑夜黑表盤苗沧,白天白表盤”,是對(duì)這個(gè)功能的簡單概括炭晒,這個(gè)概括在絕大部分時(shí)間是正確的待逞。然而,一個(gè)容易被忽視网严、但是恰恰能體現(xiàn)細(xì)致程度的問題是识樱,黑夜和白天的時(shí)間分界點(diǎn)在哪里?
早期的版本中震束,默認(rèn)將 06:00 之后怜庸、18:00 之前作為白天,18:00 之后至次日 06:00 之前作為黑夜垢村。這種設(shè)定在春割疾、秋兩季時(shí)問題還不明顯,冬夏二季時(shí)問題就顯現(xiàn)出來了嘉栓。溫帶宏榕、寒帶夏季05:00時(shí)天色已初朦,19:00 太陽尚未下山侵佃,而表盤的顏色都是黑色的麻昼;冬季 07:00 仍需借助路燈才能走路,17:00 時(shí)已華燈初上趣钱,但是表盤顏色卻是白色的涌献。
最初,我想到的辦法是規(guī)定三組時(shí)間點(diǎn)首有,春秋一組燕垃,夏季一組枢劝,冬季一組。稍加考慮之后不難發(fā)現(xiàn)卜壕,這顯然仍是一種“中緯度中心主義”的思考方式您旁。我們?cè)谒伎紗栴}時(shí),一定會(huì)受到所處環(huán)境的限制——盡管是無意識(shí)的——以這個(gè)例子具體來說轴捎,我一直生活在中緯度地區(qū)鹤盒,所以我考慮的黑天、白天時(shí)難免以我在中緯度地區(qū)生活的經(jīng)歷為依據(jù)侦副,通常會(huì)忽略低緯度或高緯度地區(qū)的特殊情況侦锯。而且,即便同在中緯度地區(qū)秦驯,北京已經(jīng)日出尺碰,烏魯木齊還是黎明。所以译隘,人為確定日夜交替時(shí)間點(diǎn)的方法是行不通的亲桥。
此時(shí),就需要尋求一種更為精確的方法固耘。日出日落時(shí)間顯然是最合適的選擇题篷。工程師在調(diào)研之后發(fā)現(xiàn),確實(shí)有這樣的算法厅目,只要獲知任一地點(diǎn)的日期番枚、時(shí)區(qū)、經(jīng)緯度坐標(biāo)之后璧瞬,即可計(jì)算出該地在任何一天的日出户辫、日落時(shí)間。城市的日期信息可以從手機(jī)的系統(tǒng)中獲取嗤锉,難以獲取的是城市所屬的時(shí)區(qū)和經(jīng)緯度坐標(biāo)。
這里需要說一下的是“時(shí)區(qū)”墓塌,我們熟悉的“東八區(qū)”瘟忱、“西五區(qū)”這種時(shí)區(qū)是理論時(shí)區(qū)。現(xiàn)實(shí)中苫幢,各個(gè)國家访诱、政府可能并沒有采用理論時(shí)區(qū)的時(shí)間,有時(shí)還會(huì)變更本國的時(shí)區(qū)韩肝,比如触菜,克里米亞在 2014 年 3 月時(shí)將時(shí)間向后調(diào)了兩個(gè)小時(shí),改用莫斯科時(shí)間哀峻。
同時(shí)涡相,計(jì)算機(jī)程序中的時(shí)區(qū)數(shù)據(jù)庫(tz database)的數(shù)據(jù)也不是按照“理論時(shí)區(qū)”組織的哲泊。例如,法國巴黎的經(jīng)緯度坐標(biāo)是8°51′24″N 2°21′03″E催蝗,英國倫敦的經(jīng)緯度坐標(biāo)是51°30′26″N 0°7′39″W切威,從經(jīng)度來看兩者都應(yīng)該是UTC時(shí)區(qū)的,實(shí)際上丙号,法國采用的是“歐洲中部時(shí)間”先朦,比英國早一個(gè)小時(shí)。而巴黎所處的時(shí)區(qū)在時(shí)區(qū)數(shù)據(jù)庫中的代碼是“Europe/Paris”犬缨,倫敦所處的時(shí)區(qū)在時(shí)區(qū)數(shù)據(jù)庫中的代碼是“Europe/London”喳魏。
接下來的一個(gè)星期,我和工程師共同查找怀薛、核對(duì)了 622 個(gè)城市的名稱(簡體中文截酷、正體中文、英文)乾戏、所屬國家(簡體中文迂苛、正體中文、英文)鼓择、時(shí)區(qū)和具體經(jīng)緯度坐標(biāo)三幻。工程師則反復(fù)驗(yàn)證算法。
2013 年 12 月 4 日呐能,Smartisan OS v0.8.8 α 的發(fā)布說明中念搬,有了一項(xiàng)“世界時(shí)鐘表盤顏色按照當(dāng)?shù)厝粘鋈章鋾r(shí)間改變黑白”。
“我覺得秒針應(yīng)該加一個(gè)效果”
事實(shí)上摆出,由于我們對(duì)于用戶體驗(yàn)和視覺效果的極致追求和強(qiáng)調(diào)朗徊,我們的許多工程師在這方面甚至都產(chǎn)生了非常靈敏的直覺。
一個(gè)具體的例子偎漫,錘子科技的官方微博曾經(jīng)轉(zhuǎn)發(fā)過一個(gè)網(wǎng)友拍攝的視頻爷恳,視頻內(nèi)容是“時(shí)鐘”應(yīng)用的秒針在每一次擺動(dòng)之后會(huì)有輕微的回彈,像真的石英鐘象踊。這個(gè)動(dòng)畫就是工程師自己做主完成的温亲。
有一天我跟工程師核對(duì)開發(fā)進(jìn)度。核對(duì)完了之后杯矩,我們的工程師跟我說:“我覺得秒針應(yīng)該加一個(gè)效果栈虚。一般的石英鐘的秒針在跳動(dòng)一次之后,都有一個(gè)輕微的回彈史隆,我們時(shí)鐘應(yīng)用的秒針沒有這個(gè)效果魂务,我自己做了一個(gè),你看一下≌辰”當(dāng)時(shí)我很吃驚鬓照,因?yàn)橥ǔ碚f,工程師是痛恨產(chǎn)品經(jīng)理提需求的相艇,但是這個(gè)工程師主動(dòng)給自己提了需求颖杏,而且是視覺方面的需求。我們看了這個(gè)動(dòng)畫效果之后坛芽,覺得非常好留储,節(jié)奏和程度把握都很好,就在下一個(gè)版本的更新中添加了這個(gè)特性咙轩。
“渾身是鐵能打幾根釘子”
前面提到了兩個(gè)我們改進(jìn)產(chǎn)品的小故事获讳。我的體會(huì)是,一個(gè)產(chǎn)品的進(jìn)步活喊,不能僅僅依靠我們自己“想”需求丐膝,用戶在使用過程中發(fā)現(xiàn)、反饋的問題對(duì)我們來說也很重要钾菊。產(chǎn)品經(jīng)理帅矗、設(shè)計(jì)師每天都在想如何改進(jìn)一款產(chǎn)品,但肯定還是有想不到煞烫、發(fā)現(xiàn)不了的地方浑此。俗話說的,渾身是鐵能打幾根釘子滞详,有時(shí)候還是要靠用戶的反饋凛俱、督促。還是以“時(shí)鐘”這款應(yīng)用為例料饥。
迄今為止蒲犬,我們共單獨(dú)發(fā)布了四款應(yīng)用,分別是錘子時(shí)鐘岸啡、錘子便簽原叮、歡喜云同步工具和錘子日歷。其中凰狞,錘子時(shí)鐘是最早單獨(dú)發(fā)布的篇裁。一方面是因?yàn)闀r(shí)鐘應(yīng)用不依賴系統(tǒng)的其他功能,適合單獨(dú)發(fā)布赡若,另一方面是,時(shí)鐘應(yīng)用比較好地反映出了我們公司設(shè)計(jì)師的水準(zhǔn)团甲。所以選擇最早選擇時(shí)鐘應(yīng)用進(jìn)行單獨(dú)發(fā)布逾冬。
2013年7月,“錘子時(shí)鐘”在各個(gè)安卓應(yīng)用市場上線。說實(shí)話身腻,那時(shí)候我們的想法是产还,時(shí)鐘應(yīng)用做到這個(gè)水平、擁有這些功能嘀趟,基本上已經(jīng)沒什么可以挑剔的了脐区。就等著人民群眾交口稱贊了。
事實(shí)上她按,錘子時(shí)鐘發(fā)布后牛隅,確實(shí)收到了大量好評(píng)。雖然我們都知道我們的用戶在體驗(yàn)和審美方面的要求異乎尋常地高酌泰,但是我們還是被他們反饋回來的建議給震驚了媒佣。我可以舉幾個(gè)簡單的例子。
比如陵刹,有個(gè)用戶發(fā)現(xiàn)默伍,我們的世界時(shí)鐘里的“的黎波里”和現(xiàn)實(shí)中的“的黎波里”時(shí)間不一樣,有時(shí)差衰琐。后來我們發(fā)現(xiàn)也糊,世界上有兩個(gè)“的黎波里”,一個(gè)是利比亞的首都和最大城市羡宙,另一個(gè)是黎巴嫩同名城市狸剃。后來,我們就在世界時(shí)鐘的城市列表的城市名稱后面添加了國家名稱辛辨,加以區(qū)別捕捂。這是一個(gè)小的改動(dòng)。
再比如斗搞,我們的秒表有打點(diǎn)功能指攒,秒表的打點(diǎn)有兩種顯示方式:一種是顯示兩次打點(diǎn)的時(shí)間間隔,比如一個(gè)人跑步僻焚,跑完一圈允悦,打一個(gè)點(diǎn),記錄一個(gè)時(shí)間虑啤,再跑一圈隙弛,再打一個(gè)點(diǎn),那么第二次打點(diǎn)的時(shí)間就是跑第二圈用的時(shí)間狞山;另一種是顯示每次打點(diǎn)的時(shí)間點(diǎn)全闷,比如十個(gè)人跑步,依次打十個(gè)點(diǎn)萍启,這十個(gè)時(shí)間點(diǎn)就是這十個(gè)人的成績总珠。每種方式都有各自的用途屏鳍,說不上哪種“對(duì)”、“哪種”錯(cuò)局服。
最早的時(shí)鐘應(yīng)用采用的是第一種方式钓瞭,很多用戶表示不解,那么后來的版本中我們?cè)黾恿艘粋€(gè)開關(guān)淫奔,可以讓用戶選擇自己需要的方式山涡。但是后來還是有用戶說,有開關(guān)了還是不方便唆迁,因?yàn)槊看沃荒芸吹揭环N打點(diǎn)結(jié)果鸭丛,想要同時(shí)看到兩種,最后媒惕,我們就修改了設(shè)計(jì)系吩,同時(shí)顯示兩種不同的打點(diǎn)方式記錄的結(jié)果。
有一個(gè)用戶發(fā)現(xiàn)妒蔚,錘子時(shí)鐘的世界時(shí)鐘和鬧鐘的分針更新頻率不一致穿挨。這么說可能不太容易懂,我解釋一下肴盏。日常生活中的鐘表科盛,秒針每走一格,分針也會(huì)相應(yīng)地走動(dòng)一小段距離菜皂,這段距離非常小贞绵,以至于肉眼很難發(fā)現(xiàn)。因?yàn)槊脶樢幻腌娮叩氖且桓窕衅轴樢幻腌娮叩氖橇种桓裾ケ馈S幸粋€(gè)用戶就發(fā)現(xiàn),世界時(shí)鐘的秒針在走動(dòng)時(shí)章母,分針也會(huì)走動(dòng)母蛛,但是鬧鐘的秒針走動(dòng)時(shí),分針并不會(huì)走動(dòng)乳怎,而是等秒針走完六十格彩郊,分針在最后一秒向前跳動(dòng)一格。就是這么小的一個(gè)差異蚪缀,是我們的用戶發(fā)現(xiàn)的秫逝。
那段時(shí)間,我每天一起床询枚,就能收到十幾條這樣的消息违帆。壓力非常大。但也正是用戶的這些建議金蜀,讓時(shí)鐘這個(gè)應(yīng)用在原來的基礎(chǔ)上又有了很大的改進(jìn)前方。
本文作者:錘子科技UX產(chǎn)品經(jīng)理 邱楓