一個念頭閃過的時間長度,大約在1/20秒,有的人恰巧掌握了這0.05秒,改變了這個世界。
我當時是這麼想的,這大概是出生以來第一次拼了命的完成一件事。
— 前情提要 —
最初的發想,是在國中畢業旅行,和朋友出遊互相墊錢,最後結算時即使手上有兩台計算機,也無法明確有力的做個總結
『到底誰該還誰多少錢?』一張用來記帳的紙塗塗改改後也還是沒有頭緒。
當時的時空背景,還不是個智慧手機的時代,只在大人們手上的按鍵型手機,甚至仍然還是黑白螢幕,小孩們也鮮少配有自己的行動電話。
但當年,電視新聞不斷在提倡電腦、網路、資訊爆炸等議題(當然還有節能減碳救地球),搞得同學們的作文都一定會以:在這個資訊爆炸的時代…,作為開頭。
「這種問題電腦應該很快就可以算出來了吧。」我當時是這樣想的,但對一個受常規教育的我來說,程式開發是多麼遙不可及,彷彿能看懂程式碼的都是超強神人。
算了,既然不會寫程式,那我就先把這個點子真正的記下來吧,或許哪天長大了,也知道那黑底白字的亂碼,是怎麼影響這個世界的。
三年過去了,高職念的是圖文傳播,期間有個名為計算機概論的學科(第一次聽到還以為是在講書店賣的計算機的製造原理),實際去了解過後才對現代科技有了一些概念。
花了一整個月的時間弄懂 i = i + 1 這種奇怪的式子,無奈以一個初學者來說,道阻且長。
五年又過去了,大學及研究所主修工業管理,真正開始被逼著寫程式是在大學的畢業專題,大學耍廢了三年多,開始實際做一個專案才是人生真正的開始
那一年的生活就是抱著電腦整天泡在圖書館,一切從0開始學習PHP、MySQL、C++、Android,拼拼湊湊倒也完成了一個堪用的旅遊規劃App
— 正文 —
萬事起頭難,起頭真的很難
在2016年的除夕夜,陪長輩們看電視看到幾近發霉之際,腦海中又閃過一個念頭:
「把它做出來吧!」
一疊回收紙上畫滿草圖,雜亂的頁面、資料表架構,甚至還沒有一個完整的規劃,就已經等不及著手開始開專案敲鍵盤。
事後才徹底體會到,冒然進行是件錯誤的事。
例如:
- 習慣用Eclipse堅持不用當時新的IDE Android Studio,後來在轉匯出匯入時花了整整一個星期才沒有跳錯(現在應該是可以無痛轉移)。
- 各頁面功能與連接無全盤規劃,導致後來換了十幾次架構。
- 雜亂的命名all_summary_activity、total_activity、main_activity,常做到一半才發現開錯頁面。
- 完全沒有物件導向,每個activity裡有無數個一維陣列。
- 初期花太多精力在非主要的部份,好比自訂數字鍵盤完全符合各種情境,但因功能改變耗費時間做無必要的調整。
先不論這些,大約在五天後,一個雛形就出來了,當年還很天真的想說趁初六開工時同步上架到Play Store
但再仔細用過,也只是個毫無介面可言,也只有自己知道怎麼用的app
為了做出一個像樣的東西,我開始請親朋好友試用並記錄大家的回饋,聽聽大家的意見(早該這樣做的)
蒐集到的意見總結如下
- 希望可以記錄每一筆支出的名稱,如飯錢、車票…等,供結算時顯示
- 希望可以提供部份成員離開,而不是僅有一次結清的方式
- 希望有群組功能,同時記錄兩組活動的開銷
- 強化支付與收款的用詞與圖示
我只覺得一片混亂,這並不只是功能上的問題,同時也牽涉到UI/UX的部份,但回頭看看現在的版本
「重來吧!」默默按下新增專案的選項
這次,完完全全是規劃好每個頁面該放什麼元件該有什麼功能,也參考類似功能的記帳app介面,也修了一門電機所Android的實作課,這還真是我的第一堂教室裡的程式課。
我才發現開發app是需要持續追蹤新版本新功能,如同RecyclerView也是後來才有的東西啊啊啊,多聽多看多學 ,對於後續的開發有著大大的幫助。
最終實際花在coding的時數少了先前的十倍吧,倒是花了更多時間看著手機發呆,一直在思考如果讓操作更加直覺流暢
兩個月後,第二版也測試完成,正式上架!
(那年看到每個app廣告都是一隻手拿著手機的方式呈現覺得有點厭倦,所以特地借了條美腿來做宣傳)
不敢說自己做的多完美,play商店上像神一般等級的app滿坑滿谷,但還是一定要強調數字鍵盤超級強大啊,有機會可以載來試看看 Play Store 連結在這
看看我花了多少心思在磨那個功能複雜的鍵盤吧。
以上。
對了,第一次開發app的心得還有,感覺一直盯著螢幕都快近視,下次會好好保護眼睛。
註:某天還發現有人替它寫了簡介了呢