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