投身移動(dòng)開發(fā)必須知道的20件事
移動(dòng)開發(fā)需要具體的設(shè)計(jì)考慮。這個(gè)所指的范圍非常廣,可以從“你已經(jīng)習(xí)慣了并覺得容易”到“困難”(These can vary greatly from what you’re used to and it’s easy to trip up),所以,這里有一些開發(fā)者 Paulo Fierro 很久以前被告知的忠告。
那么,你想要從事移動(dòng)開發(fā)?也許你想通過應(yīng)用商店就可以獲得預(yù)想的上百萬的收入,或者僅僅只是在尋找一個(gè)新的挑戰(zhàn)。無論如何,當(dāng)你想設(shè)計(jì)你自己的app時(shí)肯定需要考慮許多具體的問題,當(dāng)然我不是指的編程這方面。
在你開始之前,你需要弄清楚你想解決什么問題。你的用戶是誰?他們?cè)谀??他們將如何使用它?如果他們?cè)谕粫r(shí)刻使用會(huì)對(duì)你的應(yīng)用程序產(chǎn)生什么影響?
當(dāng)你想到這些問題的答案的時(shí)候你可以把它們寫下來,刻在墻上。當(dāng)你面對(duì)一些困難的選擇的時(shí)候可以回顧這些答案,也許它們會(huì)給你指明正確的方向。
1、選擇你的平臺(tái)
選擇什么樣的平臺(tái)取決與你想做什么以及你的用戶是誰。這些平臺(tái)的最頂層是web。如果你想出售你的應(yīng)用程序,那么你可能想要將它放在應(yīng)用商店。如果你需要使用相機(jī)或者其他的設(shè)備的API,那么你可以使用本地的方法,或者使用一些封裝好了的框架比如AIR/PhoneGap/Titanium。
這里沒有明確的答案,你選擇什么樣的平臺(tái)取決于很多的事情,因此不妨回顧一下刻在墻上的那些話,也許它們會(huì)告訴你答案。
2、甭想快速暴富
很多人對(duì)比了當(dāng)前的應(yīng)用商店的熱潮和19世紀(jì)40年代末的加利福尼亞淘金熱,正如當(dāng)初的淘金熱,有人成功有人失敗,更多的是失敗。我不建議人們只是為了賺錢而加入這行,那還不如到最近的賭場(chǎng)堵上幾千英鎊來的現(xiàn)實(shí)。
但是我們經(jīng)常聽到媒體上鼓吹一些具大的成功范例。我最喜歡的故事是加拿大的開發(fā)者 Matt Rix 花了幾個(gè)月的晚上,做出了一款游戲,最終超越憤怒的小鳥,排名前10位,這可不是一件容易的事。那款游戲叫做 Trainyard ,他將它開源了,并且共享了數(shù)據(jù)。
兩個(gè)月前,F(xiàn)lurry,一個(gè)移動(dòng)應(yīng)用分析公司發(fā)布報(bào)告稱,目前蘋果應(yīng)用商店里面有超過50萬應(yīng)用程序,同時(shí)安卓電子市場(chǎng)里面也有將近35萬。
再次強(qiáng)調(diào)這(指的致富)不是一件容易的事。
3、閱讀HIG
Human Interface Guidelines(人性化界面指南)或者說HIG是一個(gè)所有開發(fā)平臺(tái)都具有的文檔,它告訴你怎么樣去創(chuàng)建一個(gè)良好的用戶界面,讓用戶在使用的時(shí)候感覺就像在家一樣自然舒適。每個(gè)平臺(tái)都是不同的,因此你需要考慮到每個(gè)細(xì)微的差別。
例如,iOS用戶習(xí)慣在左上角有一個(gè)返回按鈕,但對(duì)于Android來說,大多數(shù)機(jī)型都會(huì)有一個(gè)物理的返回按鈕,因此在應(yīng)用程序上面再增加一個(gè)只能帶來不必要的冗余和混亂。
在黑莓平板上,用戶希望通過下拉頂部狀態(tài)欄來顯示設(shè)置選項(xiàng)。用戶往往不會(huì)感謝你提供了這些已知的人性化的行為,但是如果你沒有這樣做,他們一定會(huì)憤怒。
因此閱讀HIG從而了解這些概念,但是請(qǐng)記住,這些都是簡(jiǎn)單的指導(dǎo)方針,但不是規(guī)則,更加不是分類的清單。
4、讓功能具有趣味性
開發(fā)一個(gè)實(shí)用的應(yīng)用程序并不意味著它一定會(huì)很無聊。我們?cè)?009年開發(fā)的一個(gè)應(yīng)用程序 Flash on the Beach 中,使用了一套標(biāo)準(zhǔn)的 iOS 組件,但是設(shè)計(jì)出來的外觀和體驗(yàn)完全不同。我們希望讓這個(gè)應(yīng)用具有自己獨(dú)特的個(gè)性,但是又不會(huì)讓用戶想要疏遠(yuǎn)。這在當(dāng)時(shí)不是很常見,因此還獲得了一個(gè) Gulltaggen 獎(jiǎng)。
我最喜歡的iPhone相機(jī)應(yīng)用是Camera+,它的按鈕和標(biāo)題看起來很普通,但是具有可愛的自定義字體風(fēng)格。
Tweetbot是我最喜歡的Twitter客戶端,它結(jié)合了陰影和漸變的巧妙應(yīng)用,使自定義提示框與應(yīng)用的其他設(shè)計(jì)搭配得非常融洽,整個(gè)應(yīng)用看起來非常漂亮,這就是對(duì)細(xì)節(jié)的注重。
在他的書 Tapworthy 里面,喬?!た死颂岬搅恕皌ap-worthiness”,我更喜歡“l(fā)ickability”這個(gè)詞,正是這種對(duì)細(xì)節(jié)的注重讓我感覺非常好,甚至想要舔我的手機(jī)。
因此我們的應(yīng)用可以遵循那些準(zhǔn)則,同時(shí)仍然具有趣味性。現(xiàn)在在iOS5上通過使用新外觀的API使這件事變得更加容易。
5、挑戰(zhàn)慣例
這方面最明顯的例子就是“pull to refresh”(下拉刷新)。你可能知道我具體在說什么。自從布里切爾在Tweetie 2 上介紹了這個(gè)詞,這個(gè)設(shè)計(jì)概念已經(jīng)飛速的傳播到了其他的手機(jī)操作系統(tǒng)。
這個(gè)概念是簡(jiǎn)單的,你將一個(gè)列表下拉到中間某個(gè)位置,然后釋放,這時(shí)就會(huì)產(chǎn)生一些事件,例如刷新數(shù)據(jù),就好像你的Twitter信息。盡管當(dāng)時(shí)沒有很直觀的產(chǎn)品,一旦你想到了它,它就是一個(gè)天才的、完美的“令人驚喜”的例子(Although not immediately obvious at first, once you get it, it’s genius and is a perfect example of ‘surprise and delight’)。
今天我們可以看到許多使用了“pull to refresh”的應(yīng)用,比如Gowalla, Facebook, Google+, Tweetbot, foursquare, oink, Fribi 等等,將來還會(huì)有越來越多的應(yīng)用會(huì)使用它。
另外一個(gè)流行的模式是提高中間底部的工具欄按鈕。Oink, foursquare, Fribi以及其他的許多應(yīng)用都采用了這種方法,讓人們關(guān)注應(yīng)用程序的重點(diǎn)。
6、場(chǎng)景行為是不同的
當(dāng)開發(fā)一個(gè)應(yīng)用的時(shí)候,你只有30秒,也許是一分鐘的時(shí)間去獲得用戶的注意。你的應(yīng)用必須讓用戶一眼就能看懂并上手。千萬不要使用復(fù)雜的界面,只需要給我們細(xì)節(jié),對(duì)不對(duì)?
嗯,是但又不是(Well, yes. And no)。有時(shí)候,我在沙發(fā)上,通過放在膝蓋上的平板看電視?;蜃谖业脑∈依餆o聊。統(tǒng)計(jì)說,其不只是我!
那么你的用戶在哪里?他們會(huì)在做什么?設(shè)計(jì)也應(yīng)該相應(yīng)的考慮這些。
7、內(nèi)容也應(yīng)該不同
簡(jiǎn)單是好的,但是簡(jiǎn)單并不意味著愚蠢————我們需要專注于我們的應(yīng)用程序的核心功能并編寫高效的相關(guān)的copy。
然而micro-copy非常難寫,超級(jí)難。
8、我的手指很粗
我的手指很肥因此它至少需要44像素的區(qū)域。如果不這樣做那么點(diǎn)擊會(huì)變得非常有難度。我們?cè)贔OTB2010這個(gè)應(yīng)用里面就犯了這樣的錯(cuò)誤。
這個(gè)后退按鈕有10像素高,但是具有一個(gè)巨大的觸摸區(qū)域從而使得它容易點(diǎn)擊。那么問題在哪里呢?它幾乎看不到。一定要避免這種情況!
9、獨(dú)立的解決方案
如果你將要為不同的設(shè)備開發(fā)一個(gè)應(yīng)用,那么你需要大量的資源。通過將圖像放大去適應(yīng)一個(gè)平板不是一個(gè)好的方法。
最簡(jiǎn)單的方式是叫你的設(shè)計(jì)師一開始就創(chuàng)建各種規(guī)格的資源,這樣當(dāng)你需要在iTunes上面使用一個(gè)512×512的圖標(biāo)的時(shí)候就不會(huì)有問題了。
10、設(shè)計(jì)一個(gè)漂亮的圖標(biāo)
俗話說得好,你只有一次機(jī)會(huì)讓用戶留下良好的第一印象,你的圖標(biāo)是你的應(yīng)用實(shí)現(xiàn)這一目標(biāo)的基礎(chǔ)。
我們可以在空白的畫布上去做一些偉大的事情,通過這個(gè)機(jī)會(huì),采用有效和漂亮的方法去解決你的問題。
我喜歡這樣。
因此,讓我們花些時(shí)間和精力去完善這些細(xì)節(jié)。去年,為了Flash on the Beach,我們開發(fā)了FOTB.me,這是我們第一次嘗試只針對(duì)移動(dòng)設(shè)備開發(fā)的webapp。
當(dāng)網(wǎng)站被添加到iOS的主屏幕時(shí),你可以自定義圖標(biāo)和啟動(dòng)畫面。因此我們通過這個(gè)機(jī)會(huì)創(chuàng)建了一系列的圖標(biāo)和啟動(dòng)畫面,一套適用于舊的iPhone,一套適用于新的iPhone(它具有“視網(wǎng)膜”屏幕),一套適用于橫豎屏的iPad。
但是,這只會(huì)被極少數(shù)人看到。但如果他們注意到了,我希望他們會(huì)感到驚訝甚至微笑。如果是這樣,那真是太棒了。
11、我的手機(jī)就是我的身份
這一切問題的原因是我的手機(jī)會(huì)透露很多我的信息。
你可以看到我安裝了很多的應(yīng)用程序,但是它們都整齊地歸類在不同的文件夾,盡管我的辦公桌上一團(tuán)糟。這說明了什么?我也不知道。
底線就是我無法容忍我漂亮的桌面屏幕上是一個(gè)丑陋的圖標(biāo)————因?yàn)槟菚?huì)說明我是怎樣的一個(gè)人呢?
12、不要讓我去讀那些他媽的手冊(cè)(RTFM)
拜托!想想小孩。
如果你認(rèn)為人們不會(huì)這樣想,那你自己讀一下桌面軟件的說明書,那會(huì)比使用應(yīng)用程序多花上兩三倍的時(shí)間。
當(dāng)iPad出來的時(shí)候,有一個(gè)雜志應(yīng)用(這里就不點(diǎn)名了),使用了大量的手勢(shì)導(dǎo)航。開始我還覺得很酷,這就像一個(gè)Minority Report(電影,“少數(shù)派報(bào)告”)那樣的東西,很有趣。
一個(gè)星期之后我就不知道該如何使用它了,幫助屏幕也隱藏了起來,因此唯一的方法就是重新安裝它。這可不是一個(gè)好的體驗(yàn)。
如果你想讓使用一些瘋狂的基于手勢(shì)的導(dǎo)航,我們不會(huì)阻止你。但是如果你必須這樣做,請(qǐng)將幫助屏幕放在最近的地方,并且最好能讓你的應(yīng)用值得我們花費(fèi)這些時(shí)間。
13、不要偽裝
我不是那種模仿本地應(yīng)用程序外觀和感受的webapp的粉絲。有一些UI框架會(huì)盡力讓它們看起來就像本地控制。但是當(dāng)用戶從應(yīng)用商店將它們下下來之后問題就產(chǎn)生了。
這些webapp本身就運(yùn)行的比較慢,但是由于它們的外觀和感受與其他的應(yīng)用程序相似,因此用戶會(huì)對(duì)它們產(chǎn)生錯(cuò)誤的期望,從而將它們下載下來。它們做出了隱含的承諾但是卻沒有辦法達(dá)到。
我會(huì)避免它。
14、你的想法不是獨(dú)創(chuàng)的
NAS早在2001年就這么說過,“沒有什么想法是獨(dú)創(chuàng)的,太陽(yáng)底下沒有什么是新的事物。重點(diǎn)不是你要做什么,而是你怎么實(shí)現(xiàn)它?!薄皼]有什么想法是獨(dú)創(chuàng)的”,
不幸的事實(shí)是,想法是多如牛毛,執(zhí)行就是一切。一個(gè)精心設(shè)計(jì)的產(chǎn)品在合適的時(shí)間加上一點(diǎn)點(diǎn)運(yùn)氣就能走很遠(yuǎn)。
15、為您自己打造
這樣你能保證至少有一個(gè)幸福的用戶。更重要的是,如果你為你自己打造,你會(huì)很清楚的知道你到底想要解決什么,怎樣才能有的放矢。
16、聽取用戶的建議
如果你很幸運(yùn),在某些方面你的用戶會(huì)支付你費(fèi)用,所以有和他們溝通的途徑是非常重要的。使用類似于GetSatisfaction的服務(wù)和用戶交流,不管是反饋錯(cuò)誤或提出新的功能建議。這里的關(guān)鍵是,它是公開透明的溝通。
Twitter就是這樣操作的,但是還可以改進(jìn),你可以停止重復(fù)你的一個(gè)好主意(Twitter works too but can be a lot more work and you may end up repeating yourself a good deal)。
盡管我們聽取用戶的建議,并且他們有時(shí)候確實(shí)能提出一些偉大的想法,但是你也不必非要實(shí)現(xiàn)他們說的每件事,相信你自己的直覺。
17、潛近你的用戶
分析非常重要的。它會(huì)讓我們從用戶的行為里面學(xué)到很多東西,并且會(huì)讓我們看到用戶是怎樣使用你的應(yīng)用的。
對(duì)于FOTB.me我們使用了Google Analytics,主要是針對(duì)Android,iPhone,iPad和PlayBook。我在Twitter上面看到有人說
@FOTBme I was hoping for this year when I heard web app, but on Opera/Symbian the site doesn’t work at all…
(當(dāng)我聽到webapp之后期待了一整年的FOTB.me,結(jié)果它在Opera/Symbian上面完全不能用)
— Thomas Kr?ftner (@tkraftner) September 11, 2011
一開始我想,廢話!這能影響多少人呢?結(jié)果通過Google Analytics 我發(fā)現(xiàn)4,241個(gè)訪問者里面只有四個(gè)人受到影響。雖然不幸有0.09%,但是我們還是可以容忍這點(diǎn)。當(dāng)然你也可能沒有這么幸運(yùn)。
幾個(gè)小時(shí)后我們看到影響增大到了20個(gè)用戶,0.5%的比例,但是我們?nèi)匀豢梢越邮堋?/p>
重點(diǎn)是,如果沒有這些統(tǒng)計(jì)資料,我們沒有辦法知道這個(gè)問題到底有多大或者多小。有了這些數(shù)據(jù)(得知問題并不大)可以讓我們睡個(gè)好覺。
18、原型!
這是一個(gè)偉大的工具讓你可以向其他人表明你的想法并且可以檢測(cè)技術(shù)上的可行性。我們傾向于寫一套典型的、小的函數(shù)去檢測(cè)解決一個(gè)問題的可能的方法。無論你做什么,首先在設(shè)備上實(shí)現(xiàn)你的原型。沒有什么比在設(shè)備上直接測(cè)試更具有說服力,即使是滑動(dòng)瀏覽一系列的圖片(Nothing beats testing on the device itself, even if it means a series of images you can swipe through)。
這里有很多的工具可以讓你創(chuàng)建原型如 Prototypes, Balsamiq and FieldTest,你甚至可以使用Keynote。
無論你選擇什么,將它放在設(shè)備上并展示給你的朋友,以一杯啤酒的代價(jià)讓他們給你反饋。但是當(dāng)你完成了這些之后,扔掉這個(gè)原型(Whatever you choose, get it on a device and show a friend over a beer to get their feedback. But once you’re done, throw the prototype away)。
我是說真的,扔掉它!這的確很難舍得,但你要知道你寫的任何代碼,一旦做成了產(chǎn)品,永遠(yuǎn)不會(huì)死(I mean it, throw it away! This takes discipline, but know that any code you write – once it makes it into production – will never die)。
無論用什么方式,你寫原型很快。但是你不會(huì)希望用接下來的幾年時(shí)間維護(hù)修改那段代碼。扔掉它(You write prototypes fast, in whatever way works. Hack it up! But you do not want to spend the next few years supporting that code. Throw it away)。
19、開始
開始實(shí)現(xiàn)你的想法,因?yàn)槭菚r(shí)候?qū)⑺龀鰜砹?。這很難但是也很令人激動(dòng),這些想法終于不再只是卡在你的腦海中了,將它們帶到現(xiàn)實(shí)中來!
如果從一開始就想把所有的事情做的很完美那很容易失敗,你不需要把它做的很完美,但是我們會(huì)盡力。
20、我們可以使世界變得更好
這是一個(gè)崇高的目標(biāo),但我就是這么想的。作為設(shè)計(jì)者和開發(fā)者我們有這個(gè)能力去創(chuàng)造一些不僅僅影響我們自己而且也會(huì)影響其他人生活的東西。
如果我們讓生活變得更加容易,更加簡(jiǎn)單,哪怕只是一點(diǎn)點(diǎn),同時(shí)解決了某個(gè)問題,那我們就做了好事,可以讓我們引以為豪的好事。