身為數年的後端工程師,原本想說也來試試看學習一個新語言,然後一步一步紀錄學習過程與對這語言的了解。
但很快的,我發現我跟網路其他那些分享的文章的工程師不一樣,要完成那樣一篇篇清楚又詳細的教學文章實在非常的困難。
首先,對這個語言的了解要夠深入,然後也要了解的夠廣泛。此外,即便寫出一些文章,也非常難寫得比網路的文件,以及其他人分享的文章更清楚。
所以,我決定改變文章性質,來紀錄我是如何從想出 Idea,到為什麼決定用 Flutter
,以及怎麼安排&搜尋該學哪些功能。到最後,我,一個沒寫過 App 的人,是如何去一步步完成這個 App。
註:現在這個 App 基本功能算是完成了,接下來還有一些測試跟上架流程
Idea 是什麼呢?
我想做的是一個可以讓人“即時揪人”的 App。
先來問幾個問題:
- 有沒有遇過去百貨商場買東西時,看到買 2 送 1,很想買又不太想買,只因為自己不需要 3 個一樣的東西?
- 一個人到海邊衝浪,在無聊的等讓時間,想找個人一起邊衝浪邊聊天
- 出遊搭車到左營站時,需要臨時找人拼車到東港、恆春、墾丁
- 一個人當背包客到處旅行,突然想要找個旅伴一起到下一個地點
- 同事們都不喝飲料,人數不夠所以自己無法叫外送(為了省運費),但整棟大樓很多人,想說可以找幾個不認識但在同大樓的一起湊人數
這些,就是我想解決的問題。
市面上交友軟體這麼多,那這個 App 跟市面上已經有的 App 有什麼不一樣?
我希望這是一個以活動 trigger 的 App。也就是說,這雖然也算得上是一種交友軟體,但並不是根據對方 profile 上的自介、照片、或興趣去做決定。
這是什麼意思呢?
也就是說,這是一個以活動為出發揪人的 App,要不要參與這個活動完全憑著自己對這個活動有沒有興趣去決定。
所以,在這款 App 上面,是不存在 profile 的,當然也就不會知道參與者的年齡、性別、長相等等。
如此一來,所有使用這個 App 的人都能專注在活動上,如果這不是一個讓使用者有興趣的活動,使用者應該不會加入。但你應該可以確定,這些加入活動的人都是對這個活動有興趣的人。
用這種方式,我希望可以排除不是真心想參與活動的人。
再來,發起活動的人決大部分應該也是本來就要做這件事的人,透過這個 App ,只不過試試看是否可以及時找到志同道合or即時找到想一起做某件事的人,順便交個朋友。
舉例來說:我正要去公園跑步,但突然想找個人一起跑步。於是,我到了公園發起一個五分鐘後開始慢跑的活動。
五分鐘後,不管有沒有人加入我其實還是會去慢跑
這就是我的 Idea 來源。有了這個 Idea 之後,那接下來我還需要做什麼呢?
具象化我的想法
首先,要怎麼設計出一款滿足我需求的 App 呢?
我覺得,這個 App 需要以地圖為主,讓使用者可以一打開 App 就會先看到自己所在位置。緊接著,把所有周遭的活動顯示在這個地圖上。
在活動描述中,你可以看到這個活動的名稱、描述、以及詳細地點描述,藉由這些資訊,你可以根據你自己的想法決定是否要加入此活動。
注意:由於希望參與者可以 focus 在當前活動上,因此一次只能在一個活動內。
舉例來說:
- 如果你發起一個活動,在這個活動尚未結束前,是不能加入別人活動的。
- 如果你已經加入一個活動,是不能在活動結束前,再加入第二個的。
在這邊先告一段落,接下來會說我如何從這些想法決定應該學什麼,以及怎麼找夥伴幫忙,到如何一步步實現。