一個人獨立開發iPhone App的甘苦談…
原文:http://fstoke.me/blog/?p=2851
#文章同步刊載於Inside Forum
去年12月,我從原本任職的一家網路公司離職,決心投入開發iPhone App的行列 (其實也不是一離職就決定要這樣的,也是經歷了許多事和想法的轉變)。在這之前,我寫過C/C++、Java、Ruby、PHP、Javascript。碰過手機UI介面開發、Java Game、DB資料庫、Web Server、網頁前端技術。但沒寫過Objective-C(我想應該很多人跟我一樣,因為這套語言實在有點新,又比較封閉),所以在離職的前半年,我大概花了二個月的時間把Apple給開發新手的英文文件K完 (我可以跟你講,很痛苦,尤其周遭沒有半個人可以問,而且Apple的文件又常常喜歡用艱澀的英文寫,不像Google的技術教學文件簡單易懂,常常K到半夜眼睛在酸)。之後再利用下班時間花了大概一個半月寫了一套不難的小App(一個英文教育軟體),可是需要與Server端作溝通,如果不是因為我本身前後端的技術都碰過的話,一個人做可能還真的有點難搞。
離職後,到目前為止已經過了剛好半年了。後來又陸續做了二個App,一個是工具類型的App,另一個是遊戲App。目前正在做另一個遊戲App和另一個App的外國新版本。從去年六月申請IDP(iPhone Developer Program)到現在,剛好整整過了一年,前天我才第一次拿到Apple要匯給我的營收款項,不過很少,只有5千出頭。不過在離職前的半年,其實我是沒有很積極的在寫App的,而離職後的三個月我才比較有新作品上架。所以嚴格來說,從三個月前開始算,才是我真正有獲利的開始。努力了一年,才賺五千塊? 有沒有搞錯!? 我去大公司上班年薪都可以拿到一百多了,我到底在幹嘛? 呵~ 有時候我也會問我自己這個問題,有時候會有點沮喪~ 會覺得自己很傻。但,這就是所謂的機會成本吧。如果你選擇百萬年薪的工作,沒錯! 你每年都可以保證賺一百萬,努力的話甚至更多。但相對的,你也失去了每年可以賺500萬的機會,甚至1000萬、5000萬。我,選擇了後者,因為我覺得我這個年紀還有辦法承受創業失敗的風險。如果再過幾年,也許想創業也沒這個機會了…
一個人寫App到底是什麼感覺? 是寂寞,是艱辛,是享受,是熱血! 大概就是這樣。雖然偶爾還是會想說,要不要回去職場上班算了。但想了想就會想到,回去職場上班,做的東西可能不見得是自己喜歡的,而且生活也會受到許多的約束,每天都要配合固定的時間坐息,尤其台灣的科技公司老闆又喜歡以壓榨員工為樂(我之前待過的公司是都還好,當然,是我自己選的,我寧願錢賺少一點然後做自己喜歡的東西也不願意賣身)。想到如果去上班,就沒辦法再繼續過自由的生活,想開發什麼有趣的App就去做,想寫code寫到半夜2點就寫,想打電動打到半夜3點就打,想偷閒一下去吃吃豆花就去。想想便作罷,覺得如果生活還過的去手頭沒這麼緊的話,我還是想繼續現在的生活與工作模式。
一個人寫App要會什麼? 第一是技術。廢話! 你要先學會Objective-C這套語言(到現在為止,我還是覺得它是我碰過最難上手的語言 ~”~)和Cocoa這套Framework及Xcode這套IDE。不是只要學會這些就夠了,那隨便找一個大學剛畢業的資訊相關科系學生也可以做,他們coding搞不好還寫的比你快。這些只是基本的必要條件,在這之前,你必須累積各種技術和經驗,因為你不知道哪一天寫什麼樣的App會用到。不管是前端還是後端,資料結構還是物件導向設計,你能吸收多少就努力去吸收。沒有人敢說自己每一套程式語言都可以100%上手寫的很好,可是程式語言中,有些共通的觀念是不會變的。例如盡量減少I/O的次數、減少邏輯判斷的複雜度、模組化…等等。這些東西,Apple的官方開發文件不會教,你必須在自己的工作生涯中努力學習和累積。
第二是你要有企劃的能力。意思是,當你想到一個idea或一個遊戲,你要有能力將每一個細節和流程想到,烙印在你腦海裡。並且把一些細節流程,做成一個自己看的懂,配合的開發人員也看的懂的東西(不管你是用什麼方式去呈現)。企劃者本身兼具有技術能力有個好處,在企劃的過程中,你會一併考慮在技術面是不是比較容易做的到,而不會有太天馬行空的做法出現。換做今天是兩個不同角色的人在一起做的話,就會常常出現企劃者想的東西太過不切實際或不好執行,兩個人就必須花許多時間在調整與磨合。另外還有個好處是,由懂技術的開發者來做企劃,他們想到的idea往往會令人大吃一驚。因為他們會很清楚的知道,目前有什麼樣的酷炫新技術可以玩,或者Apple提供的iOS新版本SDK中多了什麼新玩意兒可以嘗試。一個企劃者了解越多新技術、新玩意,對企劃上絕對會有顯著的幫助。
第三是你要有喜愛學習新事物的能力。你不能因為以前是做技術出身的,就只想碰技術,其他跟技術沒關的領域你就不想碰。你去公司上班,可以這樣,公司其實也希望你有專精的能力比較好。但你現在自己就是老闆,是個獨立開發者,許多事情你必須都要自己親自處理。即使你沒碰過、你不會、你不想,你還是要做,你沒辦法說No。以我自己來說,我沒做過音樂、音效方面的處理,就要自己上網去查有什麼音樂製作軟體比較好用,有什麼錄音用的麥克風是大家推薦的,哪裡有可以付費下載的商用音樂音效網站。我不懂行銷(不過我想目前在這App這個領域,也沒多少人懂 ~”~),就去多看網路上的文章,多吸收國外的資訊,多跟以前的同事朋友聊聊。要懂得謙虛的放下自己的身段,重頭開始學,才有辦法繼續走這條路。
第四是你要有尋找Out Sourcing的能力。一個人再怎麼強,也不可能每樣東西都會,一定有自己一個人沒辦法Handle的地方。以我來說,我可以處理技術、UI設計、企劃、音樂、音效、網站、行銷,但唯一我覺得一個人沒辦法做或做不好的,就是美術的部份。而開發一個App,尤其是iPhone的App,美術更是重要。因為那會影響你這個App到底是100人下載還是1萬個人下載,所以我寧願花錢請人做或找伙伴一起做。這時候,人脈就很重要了,還好我的個性雖然有點孤辟但以前在上班時還算人緣不錯,也都有找到可以幫我處理的好伙伴。
最後是你要有一顆熱情、不怕失敗的心。創業這條路不好走,很多成功的人其實之前都失敗過好幾次。先問問自己為什麼想寫App? 想寫什麼樣的App? 原本覺得一個App應該至少要賺100萬,結果只賺1000塊,是不是受的了這種打擊? 這些都清楚的想過之後,而且是肯定的答案。那恭喜你,你應該有辦法可以繼續往下走。我當初開始之前,其實並沒有想那麼多,做就對了。不過還好,這些試煉我都有通過…~”~。一個人創業的初衷是很重要的,當你失意困惑時,它會重新把你帶回正確的路(我不是在講廢話,是真的發生在我身上的經驗)。如果連自己為什麼想要做App的理由都說不出來,那可能只要一做失敗,你就會放棄,回去找工作了。
如果你很清楚自己要的是什麼,即使失敗了,你還是有辦法調整方向,繼續往下走。另外,想寫什麼樣的App也是很重要,找自己熟悉的地方開始,會比做自己完全不知道使用者需求的App,更容易成功。我是個從國小就開始打紅白機、國中打街機、高中玩MD、大學後玩PC Game、Online Game和各式遊戲器(Wii、PS2/3、PSP)的骨灰玩家,我一天沒打電動手就會覺得癢。所以我選擇了開發遊戲為我最主要的App類型。因為我會比一般人更熟悉玩家的需要,我可以把自己當成一個玩家般來看待自己寫的遊戲好不好玩,哪裡不好玩就要改,哪裡設計醜就要換。如果做出來的東西,連自己都不喜歡玩,那你也不用想說要去說服別人下載。
如果你很清楚自己要的是什麼,即使失敗了,你還是有辦法調整方向,繼續往下走。另外,想寫什麼樣的App也是很重要,找自己熟悉的地方開始,會比做自己完全不知道使用者需求的App,更容易成功。我是個從國小就開始打紅白機、國中打街機、高中玩MD、大學後玩PC Game、Online Game和各式遊戲器(Wii、PS2/3、PSP)的骨灰玩家,我一天沒打電動手就會覺得癢。所以我選擇了開發遊戲為我最主要的App類型。因為我會比一般人更熟悉玩家的需要,我可以把自己當成一個玩家般來看待自己寫的遊戲好不好玩,哪裡不好玩就要改,哪裡設計醜就要換。如果做出來的東西,連自己都不喜歡玩,那你也不用想說要去說服別人下載。
hmm… 苦水寫了好多… ~”~。不過,到目前為止,我還是覺得自己很幸福。可以有錢有閒做自己想做的事,朝著自己的夢想前進,家人也很支持我。不像有人,搞不好今天禮拜六還要去血汗工廠加班(謎之音: 按!! 你講話一定要這麼機車嗎? XD 今天加班的人可別跳樓… ~”~;)。即使失敗了,我還是不會後悔這一年的努力,至少我盡力了,會不會成功,就交給老天吧…。
這是我的一些個人心得,有些觀點和想法,我也不敢說自己就是100%正確,我自己也還在學習摸索中。等到哪一天如果我一年可以賺500萬了,我就可以再來寫篇文章屁說:「對! 就是要這樣!! 我講的沒錯~」。希望那天早點到來~~
一個人獨立開發iPhone App一年(半?)回顧
好久沒寫blog文章了,因為這段時間我一直在沒天沒日的開發新App(還有玩D3 ~”~)。去年約莫這個時候我寫了一篇「一個人獨立開發iPhone App的甘苦談」。獲得蠻多朋友的回響,有些人給我豉勵,有些人找上門想找我合作開發,有些人因為看了我的文章而想像我一樣。過了一年多了,我仍然還沒達到我的目標 – 一年賺500萬 ╮(╯_╰)╭。
去年這個時候的我與現在的我比起來,想當然爾是比較樂觀許多(也天真許多),覺得自己什麼都辦得到。現在的我,經過了一年的磨難,多了幾分經驗與沉穩。一年前我曾說過: 「一個人寫App到底是什麼感覺? 是寂寞,是艱辛,是享受,是熱血!」。這句話現在回頭看,還是沒變,不過艱辛的成份更多了一些 :p。很慶辛過了一年了,我還能繼續開發App,雖然收入仍然不太好,但至少還能勉強生活開發更多App。
這段時間,賈伯伯掛了,願他在天上安息。我很感謝他,因為他,我才有辦法實現兒時的夢想 – 一個人獨立做遊戲。這段時間,雖然我沒有去職場工作,但借由網路、Facebook,我認識了許多新朋友。絕大多數都是跟我一樣的獨立開發者,我們有時候會約出來見見面聊一下,聊聊一些甘苦與技術。有些人蠻久沒看到他們的更新狀態了,不知道他們是否仍然努力撐著。衷心得祝福你們可以找到對的路,可以一直開發新App下去。
這一年裡,我曾經從滿懷夢想,到跌入深淵,又從深淵裡慢慢爬起。今年年初,其實我自己立下了一個誓言,如果收入仍然沒有達到一個目標,過完農曆年後,我就要去找新工作了。原本已經持續了八個多月收入慘淡的情況,到過年前的最後一個月眼看仍然不見有起色。但就在過完農曆年後的那個月,我收到了Apple的月結營收通知,奇蹟出現了! 那個月的收入剛剛好破了我許下的目標了!! 當下我第一個念頭並不是去吃什麼大餐慶祝一下,而是我覺得,是不是老天爺希望我再繼續做下去,他不希望我放棄我的夢想呢,真的~ 所以後來我才有辦法繼續做到現在,現在又可以推出一款新遊戲。
如果現在有人跟我說,他也想離開公司自己做App賺錢。一年前的我會說,那就衝吧。但現在,我會跟他多聊聊,了解他的個性和興趣還有為什麼想做App。如果我覺得他並不適合,我就會老實跟他講,勸他再多想想。一個人做App聽起來是很爽很屌沒錯,但大家都只看到光彩的那一面: 某某國人自製研發的App在XX國家拿到了第幾名,營收可望好幾百萬。但大家沒看到的是,有更多的開發者,是默默無聞、安靜得開發著App,期得有一天可以發光發熱,就像我一樣。而那些曾經做過App上排行榜前幾名的開發者,你覺得他們收入應該不錯吧,但事實是多半只能拿到夠回本的錢而已,離”賺很多錢”還很遠。由於現在App Store市場的競爭太激烈,很多做的不錯的App頂多也只能上排行榜幾天或幾個禮拜而已(尤其是Game類型的App,上榜後很容易就很快又掉下來)。如果你的App只靠賣斷獲利,而沒有其它的收入來源(例如: IAP、廣告收入),很容易就掉入幾乎沒有收入的窘境。
不過如果是非遊戲類型(工具類)的App,只要你有辦法做得好用、實用,讓使用者會天天想用。那即使只有賣斷的營收,可能也有足以讓你一直有穩定的收入,這是我個人的觀察(我以前公司就是個例子,他們做了很多款工具類型的App,其中有一款已經過了一年半了,幾乎都還有一直維持在不分類前50名左右。而另一款App上架已經過了快一個月了,還維持在前十名左右)。
所以其實有一陣子我一直在猶豫到底要主攻遊戲好,還是工具類好,不過最後我還是選擇了我熱愛的遊戲。但我並不是說我就永遠只做遊戲了,如果突然有想到好的點子,我還是會做工具類型的App。我覺得一個好的獨立開發者,最重要的技能就是 – 生存。活下去比什麼都重要,如果真的手頭很緊,接接外包案也無訪(這句話從我口中講出來是沒什麼說服力啦,因為我個人非常排斥接案子,但我真的曾經有想過要接來做做看)。如果你有辦法撐得別人久,自然成功的機率就會比別人大,因為經驗是會累積的。這一年來我自己也是一直在try新的方向,現在的方向就是在不斷得嘗試和修改後得到的。雖然路走得還不是很穩,但至少還過得去,相信可以越來越穩健。
另外,這一年多來有些情況好像也慢慢在轉變。原本常常耳聞某某公司紛紛砸錢跳下來做App試圖獲利,但最近比較常聽到的是某某公司決定收起來不做App了。這對獨立開發者來說是件好事,因為競爭慢慢變少了。獨立開發者很難跟有錢有勢的大公司所做的App競爭,這是殘酷的事實。圖可能做的比人家醜,玩法可能比人家少,甚至bug可能也比人家多。但大公司投入的資源相對需要比較多,所以要回收的成本也會比獨立開發者高很多。所以你要集中火力,全力把你的App的”甜蜜點”做好,也就是App最吸引使用者的地方,其他部份再視資源多寡再決定要不要做。這說起來簡單,但其實做起來還有點困難。我自己也是常常在煩惱到底要不要加某個功能,覺得加了會讓遊戲變得更好玩,但開發時間又會額外增加許多了。有時候,得狠下心決定捨棄某些功能,否則你會永遠做不完。如果等全部的功能都做完時再推出,萬一不成功,你也掛了。
我覺得現在的App Store,像是一場老鼠與大象還有蟑螂之間的戰爭。獨立開發者是一隻老鼠,大公司是一隻大象,還有很多是玩票性質只是做App來自爽的是蟑螂。如果只有老鼠和大象,我覺得還好,至少老鼠的食物不會被吃光,還是吃得到屑屑。而大象必須吃得比老鼠多很多才能存活下來。但多了蟑螂就不同了,他們的數量多到足以把老鼠的食物吃到一滴不剩。而且就算蟑螂已經死了,還是會留下屍體佔了一格位子。當一個外來者打開門一看,他看到的可能只有滿地的蟑螂屍體和大象。沒耐心的人,可能就直接找大象了。有耐心的人,可能還會撥開數不盡的蟑螂屍體慢慢找,直到耐心用完。所以做為一隻老鼠,必須讓自己突變為更鮮豔的色彩,才比較容易被看到。
好啦~ 說了這麼多,有建設性的話我也不知道有沒有… :p 希望還是有一點點。不過我真得希望,每個像我一樣的獨立開發者,都可以越來越勇猛(經驗),武器(技術)越來越強,HP(money)越來越高 。希望明年的這個時候,我聽到的,是大家在吃到飽燒肉店邊笑邊談論著: 「ah~ 我做了一個工具App幫我賺了500萬」,B: 「哈! 我比你高,我做了一個遊戲賺了800」,C:「hmmm……. 我做的App在全世界25國包括美國拿到不分類前10名。賺多少我就不講了,免得你們凹我請客。」。希望大家都能找到自己的出路,堅持下去,就像D3裡的維特兄講的: 「我的族人已經分崩離兮,散落各地,不過,我會堅強活下去! 只要你們買點我的東西…」
標籤: 程式開發
0 Comments:
張貼留言
<< Home