---
tags: cofacts, meeting note
---
20200408 會議紀錄
=====
> Workis: MrOrz, bil, lucien
> 線上:志超
> 線上開會:https://tico.chat/powercall?room=cofactshack&type=timeFirst
> 上次開會紀錄:https://g0v.hackmd.io/@mrorz/rk3w8oWwI
>
## Design
> by 志超
Landing page
- 與 Lucien
- 需要照片
- 不要有時代感的東西,例如 m8
- 有什麼給什麼,志超再挑
- 2K / full hd,可以放全版的圖
- 長頸鹿
Badges
- 確定的等級中英文
- https://g0v.hackmd.io/@NFi0czulSemxCM8RNSlz8Q/HJ8xT3QVU
---
- lv0: 從零開始的主人公
- lv1: 鄉民
- lv2: 站得前面一點的鄉民
- lv3: 好心人
- lv4: 很好心的人
- lv5: 好人
- lv6: 大好人
- lv7: 謠民 Fact checker
- lv8: 童貞魔法師 Magician
- lv9: 老司機 On the road
- lv10: 闢謠天行者 Rumor the skywalker
- lv11: 魔法少女 Magica
- lv12: 闢謠天師
- lv13: 謠言大覺者
- lv14: 謠言終結者
- lv15: 滅謠師太
- lv16: 闢謠小女警
- lv17: 闢謠小飛俠
- lv18: 闢謠鐵金剛
- lv19: 從零開始的魔法旋轉花花
- lv20: 變態的好人
- lv21: 超能孟獲
- lv22: 熱血傲嬌律師
- lv23: 初號機
- lv24: 貳號機
- lv25: 好心神
orz
英文與中文要一致好難
但如果要照意思畫圖的話中英文就要一致
bil
迪士尼翻譯也會在地化
可以等級不同用顏色分就好嗎
orz
金銀銅
藍鑽 (?)
lucien
當時是覺得等級 25 已經是天文數字 所以可以設計
badge 則是給成就的。
等級名字一種是讓社群去討論
另一個是就不要名字
orz
我覺得等級太難了
lucien
但我有 1X 個成就也要取名字
orz
但 badge 圖可以用達成條件來畫
例如說大家覺的有用 10 個、20 個、50 個
lucien
之前淡化編輯
但如果等級很高,是不是可以加回來
例如說可以填資料、職位認證之類
orz
我是覺得可以用等級
lucien
希望可以增加欄位
可能需要人工審核認證
頭像可以存嗎
orz
要做的話就是接 [Google picker](https://developers.google.com/picker)
丟 GCS 然後存 URL
lucien
職業認證呢
他跟 organization 有什麼不一樣
organizaition 是誰審核
bil
organization 是公開資訊
但職業是個人資訊
orz
我本來是打算用網域擁有與否
然後組織就是「擁有這個網域的人」(可用 [google search console API 認證](https://developers.google.com/webmaster-tools/search-console-api-original/v3/sites/get))
組織下的人可以選擇用個人身份回應,或用組織身份回應
用組織的話分數就會算在組織
組織也有 score 跟 badge
組織可以在 chatbot 上顯名
## 小聚
上週討論: https://g0v.hackmd.io/@mrorz/rk3w8oWwI#%E5%B0%8F%E8%81%9A%E6%80%8E%E9%BA%BC%E8%BE%A6
### 基礎松觀察
用的是跟大松一樣的工具
https://intro.g0v.ronny.tw/
- 需要 g0v slack 帳號
- 「大廳」https://intro.g0v.ronny.tw/meet/show/g0v-infrath16n
### 我們怎麼辦
orz
上週提到用直播 + slido
不過沒辦法重現私下問問題的部分
分享螢幕也麻煩
bil
LINE 可以直撥
orz
Facebook group 開直播
發問直接在直播下面
發問怎麼辦
bil
1. 私訊給粉專,這樣可以保密,但也可以公開回
2. 留訊息,大家可以一起回答
orz
那他們查到一半的東西要怎麼回
bil
用「我也想知道」功能,請他們把查到一半的東西放上去
:::success
- 粉專開直播
- FB group, page, LINE 都會通知
:::
orz
不會有自我介紹了
認領工作怎麼處理
bil
置頂工作分配
orz
工作分配的 sheet:
第一個分頁放教學
請大家認領分頁
OBS 放資訊
1. 工作分配
2. 發問:comment or 私訊 Cofacts 粉專
3. 目前活動進行到哪
1. 介紹 Cofacts 編輯
2. 介紹今天如何工作
3. 直播比鄰吃飯(冠軍薯條、涼麵)
bil
認領 tab 之後
做 3 個之後
可以私訊我們請我們叫食物
orz
上次說前三天再宣傳嗎
那就是下週三 4/15
4/18 開直播
4/18 早上測試 “publish as a test broadcast”
![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_3f929604ce473a035e8e0352b7e7dc9b)
bil
直播通知抄指揮中心快訊的格式 lol
「小聚直播快訊」
- [x] 主題:
- 首次防疫雲端直播小聚
- [x] 時間:4/18 (六) 14:00-17:00
- [ ] ~~KKTIX~~
- [ ] ~~攜帶貼紙~~
- [x] 場地:Workis (早上測試)
- [ ] 食物給比鄰直播吃。
- [ ] 直播用筆電
- [ ] OBS 設定
- [ ] 字卡素材
- [ ] 投影(不要把直播設定也直播出去惹)
- [ ] BOSE 藍芽喇叭麥克風
- [x] 延長線
- [ ] 新功能介紹
- [ ] wifi
- [ ] Nighthawk M1 + 4G sim
- [ ] ASUS RT-N12 Wireless N300 (2x 5dbi高增益天線)
- [x] 誰會來呢?
- Bil
- MrOrz
- Howie
- [ ] 誰不會來
- [ ] LINE 文案
## Category 上線缺什麼
### UI PR review
article page 的互動
https://github.com/cofacts/rumors-site/pull/234
### Elasticsearch mappings migration
否則 article page UI 會無法顯示⋯⋯
### 顯示 Category 的定義
否則大家會不知道要標成什麼
lucien
description 應該就足夠?
orz
好像有新的分類
政治
慈善相關
bil
tag 是給研究者
urban legends
free 可以分成免費跟詐騙
IFCN 也有做這樣的標記
orz
但我想要做真的有人想訂閱的
給「編輯用」的標籤
lucien
訂閱有點難
但主要是讓人可以 filter
orz
那也是要有人想要「只看這種分類」
我們做分類才有意義
lucien
burst 類的 event
-----
### 訂閱
lucien
RSS 類 / 個人 user page 可以看到內容
orz
那等於要記 activity log 耶
就是所有人的所有動作都會記在一個表
然後大家的訂閱設定也是一個表
在看關注列表時,就是讀取設定,然後去 activity log 撈要顯示的東西
lucien
限定可以訂閱的東西
例如說看到關注的使用者回應什麼
## rumors-line-bot memory issue
前週討論:https://g0v.hackmd.io/IS6_Qg6pQFK6uorTtatZ7w#rumors-line-bot-memory-issue
## 開發
GitHub activities
https://datastudio.google.com/u/0/reporting/18J8jZYumsoaCPBk9bdRd97GKvi_W5v-r/page/WSQFB
### 感謝送出理由功能
Stimim++
orz
我想要感謝 stimim
然後說請大家把查到一半東西放進去「增加回報理由」
### LINE bot 互動修改
Chatbot PR 求 review:
1. 改目錄結構: https://github.com/cofacts/rumors-line-bot/pull/167
2. 加簡單 GraphQL API (無需 auth): https://github.com/cofacts/rumors-line-bot/pull/168
3. 加需要 auth 的 GraphQL query API: https://github.com/cofacts/rumors-line-bot/pull/169
4. 加需要 auth 的 GraphQL mutation API: https://github.com/cofacts/rumors-line-bot/pull/170
還沒好的PR:LIFF 初始設定 https://github.com/cofacts/rumors-line-bot/pull/171
UX 定稿:
https://g0v.hackmd.io/860RnxUGTi6z2Kca6ojAbg
State diagram 設計:
> * 共有三種 LIFF: LIFF asking source (詢問文章來源)、reason LIFF (送出文章理由)、feedback LIFF (覺得回應有用的建議或沒用的理由)
> * 送出 article, reply request 與 feedback 的流程思維改變:從先問理由(選填)才送出,改成先送出、才問理由。回到 __INIT__ state 時,也能叫出 LIFF 修改 reason / feedback。這也導致了 state diagram 的簡化。
> * 在 LIFF 裡的動作(選擇選項、送出文字)都會透過 LIFF send message API 傳回聊天視窗做紀錄;同時 chatbot server 也會把握這個機會拿到新的 reply token 送新東西(也就是 state diagram action 裡的 “reply with” 敘述)
> * 光是顯示 LIFF 是無法回應使用者的,但可以在 LIFF 載入時打 API 進行動作(如 create feedback)
> * 設計時需考量到使用者跳出 LIFF 之後怎麼回來接關。
> 使用者選到一則沒回應的訊息有兩種情形:
> 1. 有複數篇訊息符合搜尋,而使用者點到沒有回應的那篇
> 2. 只有一篇訊息符合搜尋
>
> 2 的行為,現在是直接跳到「沒有回應噎,請按『我也想知道』」這一步。
>
> 我思考了一下,原本 (3/25 會議時提出的) 1 直接打開 LIFF 的設計,其實也要處理「把使用者選了這一則訊息(selectedArticleId)存進 context」這件事。但是,目前 chatbot webhook 的設計都是「回應時一併 mutate state 與 context」,但這個設計會需要在不改 state 的情形之下修改 context,我覺得設計上不是很好。況且,2 「只有一篇訊息符合」的 case 也無法解決,因為我們沒辦法在回應訊息時直接打開 LIFF,無論如何都要吐一個按鈕出去讓使用者點才行。
>
> 因此我還是把 `ASKING_REPLY_REQUEST_REASON` 這個 state 加回來了:
> https://docs.google.com/drawings/d/1sSzI0PSggkA3PPP99Nl18H4zMO4lk-2y5s7dGRNJwAE/edit
> - `CHOOSING_ARTICLE` 下,不管是上面 1 還是 2 的狀況,都會轉移到 `ASKING_REPLY_REQUEST_REASON` state 並且設定 `selectedArticleId`
> - state 轉移的當下就會送出 reply request。
> - 作為 reply,我們會告訴使用者「抱歉『ooooo』這一篇還沒有回應,已經幫你提交需求」、並且問使用者願不願意提供更多資訊幫助編輯闢謠(一個按鈕);按鈕會展開 LIFF asking source。
> - 續上,使用者在 `CHOOSING_ARTICLE` 下到底選了「哪一篇」在對話視窗裡面就會有個紀錄(LIFF 下比較麻煩還要 `sendMessage`)
>
> 這樣一來,整個流程也會與流程圖右邊的 `ASKING_ARTICLE_SUBMISSION_CONSENT` 更為接近,但差異是 reply request 會在進入 `ASKING_REPLY_REQUEST_REASON` 之前就會觸發(加速 1 人回報 --> N 人回報的過程,反應實際流傳度 ),而送出文章是在離開 `ASKING_ARTICLE_SUBMISSION_CONSENT` state 的時候才會觸發。
### LIFF compatibility
https://github.com/sveltejs/svelte/issues/558
從 mobile browser, direct 來猜, 時間分佈 this year to date
瀏覽器分佈:
![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_ad815304463eb99864974c51e547c092)
版本分析:
https://docs.google.com/spreadsheets/d/121Jql1JIF-fC8-uIgcLlK-PyofC2GMnqu6W1EO_dJ0o/edit#gid=0
:::info
Android: Chrome mobile `52.0.2743.98` to cover 99% of sessions
iOS: iOS version `10.3` to cover 99% of sessions
:::
寬度分佈:
![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_c1c59576b9b834e4f7575418866c37b6)
:::info
可用 320 寬的手機進行測試
:::
高度分佈:
![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_1bdd7477019c2a8ea1e3ca7df8c54201)
:::info
參考就好,[LIFF 不一定要蓋滿整個螢幕](https://developers.line.biz/en/docs/liff/overview/#screen-size)
:::