感謝iphone的投遞
新聞來(lái)源:TGBUS
來(lái)自Big Nerd Ranch的開(kāi)發(fā)者Aaron Hillegass和Joe Conway在上周末的Voices that Matter iPhone大會(huì)上做了一場(chǎng)精彩的演說(shuō),從開(kāi)發(fā)者的角度詳述了一款iPhone應(yīng)用的生命周期。他們兩位都是著名的開(kāi)發(fā)者指導(dǎo),還是iPhone軟件開(kāi)發(fā) 的顧問(wèn)。在演講中,他們解釋了iPhone軟件如何產(chǎn)生,從開(kāi)始到完工,其間還向參加會(huì)議的開(kāi)發(fā)者提供了他們開(kāi)發(fā)軟件的竅門和建議。
首先,Aaron Hillegass和Joe Conway透露了自己不愿合作的客戶,以供其他開(kāi)發(fā)者參考。這些客戶分別是:Dreamer guy,Ad guy,web guy,enterprise guy,clone guy,future recipient of a C&D guy,desperately seeking cool。原因是,這些客戶有些急于求成,卻又不提供任何想法;有些想為自己的網(wǎng)站開(kāi)發(fā)軟件,卻又想拿著軟件到App Store賺錢;有些甚至早早要求開(kāi)發(fā)者簽訂協(xié)議,似乎早就知道你開(kāi)發(fā)的軟件安全性能不夠。
他們提醒開(kāi)發(fā)者在賣力開(kāi)發(fā)軟件之前應(yīng)該先 調(diào)查清楚客戶的背景與要求。接著,他們進(jìn)入正題,開(kāi)始解釋iPhone軟件開(kāi)發(fā)的過(guò)程。
軟件能否獲得很好的評(píng)論,或者是否會(huì)被蘋果拒 絕,歸根到底為一個(gè)定義:(向什么樣的)對(duì)象+區(qū)別+解決方案。比如,向?qū)W生提供的+設(shè)計(jì)精美的+電子閱讀器;向房主提供的+有趣的+預(yù)算追蹤器。開(kāi)發(fā)者 可以慢慢思考,要開(kāi)發(fā)的軟件是在何時(shí)何地使用,列出可行方案清單,然后才思考整個(gè)開(kāi)發(fā)過(guò)程。
下一步是模型階段,這一階段需要設(shè)計(jì)出軟 件的外觀和整體感覺(jué)。市面上有很多這樣的工具,如sketchpads到stencils 到iPad applications。我們的目的不僅是將軟件的表面做好,還要將軟件的功能進(jìn)行修正,盡可能地簡(jiǎn)化,只留下必要的功能。蘋果最擅長(zhǎng)這方面了,甚至在 硬件方面他們也能做到舍棄,即使他們知道一部分用戶想要這些功能,比如他們將軟盤驅(qū)動(dòng)從iMac拿走了,把FM收音功能從iPod拿走,把USB接口從 iPad拿走。但這樣做的效果則使產(chǎn)品更具目的性,反而更加成功。這一點(diǎn)我們可以從蘋果身上學(xué)習(xí)。
按照Big Nerd Ranch的做法,接下來(lái)他們將會(huì)把軟件從UI模式轉(zhuǎn)為代碼模式,在一種類似Omnigraffle的程序制作表格,列出代碼中模式、價(jià)值和控制器,還標(biāo) 出軟件的數(shù)據(jù),比如它將會(huì)儲(chǔ)存在哪里,以及它的稱號(hào)。這些信息均在文檔中于參與的開(kāi)發(fā)者共享,而且留著還有用處,如果想把軟件移植到其他平臺(tái)上。
此時(shí),Big Nerd Ranch也會(huì)為軟件做出分析:開(kāi)發(fā)者可以建立一個(gè)信息表,隨時(shí)更新該軟件的使用方式,操作方式,以及需要修復(fù)的Bug。一些公司甚至還利用專門軟件來(lái)收 集iPhone用戶的建議和想法。假設(shè)你是為電影公司制作軟件,可以進(jìn)行調(diào)查,讓用戶選出自己喜歡的電影角色,然后可以用觀眾選出的最受歡迎角色來(lái)作為推 薦電影的人物,放到即將開(kāi)發(fā)的軟件中。
Aaron Hillegass和Joe Conway還提到了估算。如果開(kāi)發(fā)者是為客戶開(kāi)發(fā)軟件,則必須隨時(shí)向客戶更新軟件完工時(shí)間。這點(diǎn)可要注意了。Hillegass說(shuō),你花在估算的時(shí)間越 長(zhǎng),你就越擅長(zhǎng)估算。但如果你一直都在估算你什么時(shí)候能完成開(kāi)發(fā),你將永遠(yuǎn)都完成不了。所以,在必要的時(shí)候可以將開(kāi)發(fā)時(shí)間估算得長(zhǎng)一些。BNR的規(guī)則是, 加一天,并增加時(shí)間的單位。怎么說(shuō)呢?比如一位開(kāi)發(fā)者說(shuō)他需要5天才能完成,他們將會(huì)添加一天,然后加大時(shí)間的單位,即用“周”來(lái)表示。這樣,他們告訴客 戶的完工時(shí)間就是“6周”。
編碼的過(guò)程被稱為周期。這時(shí),你需要執(zhí)行軟件的一個(gè)功能、加入美術(shù)效果、從客戶獲得反饋、修復(fù)一些 Bug,然后才進(jìn)入下一個(gè)功能的開(kāi)發(fā)。Conway指出,在客戶和開(kāi)發(fā)者之間還有一個(gè)周期,那就是反應(yīng),也可等同于金錢。因此,越快從客戶獲得反饋,開(kāi)發(fā) 進(jìn)展得越快。
有意思的是,他們透露孩子是他們見(jiàn)過(guò)的最好的測(cè)試用戶。Conway建議,開(kāi)發(fā)者可以向孩子們展示他們的軟件,看看孩子 如何操作,如果連孩子都會(huì)使用,并且能弄懂你的軟件,這說(shuō)明這款軟件很好。
這時(shí),屏幕上出現(xiàn)關(guān)于行銷的幻燈片。Aaron Hillegass和Joe Conway都承認(rèn),他們對(duì)軟件的行銷一無(wú)所知。他們只知道需要在App Store提供軟件描述和截圖,而且還需要一個(gè)網(wǎng)站,評(píng)測(cè)推薦將會(huì)為軟件的行銷提供不少幫助。開(kāi)發(fā)者往往不參與行銷,雖然他們知道行銷非常重要。“行銷是 一個(gè)關(guān)鍵。”Hillegass說(shuō)。
接著,他們大略提了軟件的本地化。Hillegass說(shuō),如果開(kāi)發(fā)者想讓軟件支持世界各國(guó)語(yǔ)言, 最好延后。因?yàn)殚_(kāi)發(fā)者等待改變軟件的語(yǔ)言時(shí)間越長(zhǎng),他們實(shí)際需要作出的改變?cè)缴?。一旦?zhǔn)備就緒,開(kāi)發(fā)者即可展開(kāi)部署。這要根據(jù)軟件的不同而變化。但如果需 要網(wǎng)頁(yè)服務(wù),Hillegass和Conway推薦亞馬遜和谷歌的服務(wù)。需要提醒的是,蘋果審核軟件的時(shí)間一般不可預(yù)知,所以開(kāi)發(fā)者都不會(huì)清楚具體的發(fā)布 日期。
最后,他們談了App Store拒絕一款軟件的幾點(diǎn)原因。其中一點(diǎn)是“復(fù)制蘋果的API(當(dāng)前的或?qū)?lái)的”。Conway說(shuō),開(kāi)發(fā)者的軟件常常被蘋果沒(méi)有理由地打回,然后幾個(gè) 月后會(huì)發(fā)現(xiàn)蘋果實(shí)際上將他們軟件的功能作為蘋果官方的功能發(fā)布。飛行模式也是一個(gè)被拒絕的普遍原因。一款軟件的功能必須能在沒(méi)有網(wǎng)絡(luò)的情況下使用。所以一 款軟件能不能在飛行模式下打開(kāi)是軟件會(huì)否被拒絕的原因。
雖然Aaron Hillegass和Joe Conway的演講主要是針對(duì)開(kāi)發(fā)者,但也給我們?nèi)ν馊私忉屃塑浖_(kāi)發(fā)的流程,最后感謝Aaron Hillegass和Joe Conway的精彩演講。
聯(lián)系客服