大家好,很開心能夠參與本屆IT邦幫忙鐵人賽,在接下來的30天中,我會以自己做的一款名為「顏色」的app作為主軸,向大家分享如何使用Swift和其他API製作簡單的iOS app。
靈感發想
目前市面上的app種類繁多且功能完善,若想做出一款新穎且獨具特色app,企劃發想是最重要的一環。
「顏色」以關心身邊親友來進行發想。確定app主題方向後,我開始查詢相對應的專業知識,詢問周遭親友的日常經驗,並分析市場現有的app,進而設計出以下8項特色功能。

- 不用輸入任何文字
- 即時情緒偵測
「顏色」會即時偵測使用者的臉部表情變化,透過機器學習後的數據來判斷目前使用者對應的情緒。
- 具象化情緒
以伊登色相環中的第一次色和第二次色象徵不同的情緒,依據使用者目前的情緒比例混合出所代表的顏色,連續顏色會用藤蔓的形式呈現,讓使用者能一眼看出當日的情緒變化。生氣:紅色、恐懼:紫色、快樂:黃色、中立:米色、傷心:藍色、驚訝:橘色。
- 紀錄小事
使用者可透過顏色的變化了解不同時間點的情緒,藉由不同時間點的情緒判斷當時發生的事件,並以圖標形式紀錄。使用者可自行決定是否和朋友分享,欲分享的事件會成為藤蔓上的分支。
- 每日總結
將前一天的情緒變化轉換成落葉儲存,若使用者想回顧過去的心情,點擊想查看的日期落葉,就能看到過往的心情變化。
- 個人情緒分析
用圖表的方式分析使用者的情緒,可選擇週、月、年的時間區段觀察自己的情緒狀態。
- 知心朋友圈
結合社群功能,在記錄自己情緒同時,也能查看朋友當日情緒。
- 關心朋友情緒
可以看到朋友當日的情緒顏色變化及分享的心情小事。若是想對朋友表達關心,可以在朋友的藤蔓分支上回饋表達關心,關心人數超過一定數量便會在分支上長出花朵。
提醒大家,在初期發想階段時,務必要查看官方規範,確認功能是否能夠實現。在「顏色」案例中,apple的開發者文件有明文記載,無法於背景開啟相機,因此特色2:即時情緒偵測功能無法實現於iOS app。我在撰寫程式時才發現,花了許多時間回頭修改企劃內容與介面,真的是悔不當初。

參考文獻:https://developer.apple.com/documentation/avfoundation/avcapturesession/interruptionreason/videodevicenotavailableinbackground*