Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance how hkbus-app fetch "routeList" and "StopList" #187

Open
pantinker opened this issue Jun 19, 2024 · 2 comments
Open

Enhance how hkbus-app fetch "routeList" and "StopList" #187

pantinker opened this issue Jun 19, 2024 · 2 comments

Comments

@pantinker
Copy link
Collaborator

Scenario: 用戶發現路線資料庫唔update, 例如:未見新巴士站或新巴士線,又唔知應該點做
新用戶會覺得,ETA就不斷更新, 但路線竟然唔update, 很奇怪

Some suggestions:
a. 做個preference出黎俾佢user自己揀?
平衡點係每個星期更新,因為巴士改動通常都係周末/周一
options可以係每日/每星期(default)/手動

b. 如果在主畫面有個掣,「手動更新路線資料庫」值唔值得做?
依家路線資料庫更新的 freqency 點呢?
缺點:同一個function最好避免出現多次/有唔一致嘅操作方式
有機會增加維護成本

c. 有冇辦法得知open data果邊的最後更新時間?如果check到open data同local version,
然後有分別就立即update/彈popup問要唔要update?

Observations
目前 hkbus-app 主要是以 db.ts line 51 開始 fetch database:
https://github.com/hkbus/hk-independent-bus-eta/blob/master/src/db.ts

database 是 hk-bus-crawling (https://github.com/hkbus/hk-bus-crawling) compiled,變成 github page 的 routeFareList.min.json, 目前是 5.2mb。如果頻繁更新,用家會多消耗電話數據

初步觀察,主要是巴士線 "kmb", "nlb", "ctb" 和 小巴線 "gmb" 最常更新。可以考慮將 database file 拆開,分開時常更新和不常更新的資料,有點似 network QoS。這可以減少用家電話數據消耗。這也不用需要大幅改動 EtaDb 的結構。

此外,可以研究一下以類似 RSS feed 那種方式推送更新,可以令更新更有效率
Question: How about use "WebSub" to publish the "routeList" and "StopList" update?
https://github.com/hemerajs/websub-hub

小弟能力有限,還請各位高手指教怎樣更新最好

@pantinker
Copy link
Collaborator Author

恭介兄™:
其實自動每日update對用家最大缺點係咩? 浪費個幾mb數據?

By design 強制full load我覺得簡單直接

Chun:
data 係其一
其次開 app 會慢

@pantinker
Copy link
Collaborator Author

pantinker:
如果 database zip 少過2MB, 不如直接增加 database update frequency, 少於一星期. 只要安排合適的 download timing, 唔好整慢個 app 和產生 network error 就可以

粒子風暴:
Download同Update DB果下會唔會Chur CPU?

如果initial之後,Show左第一轉ETA data
之後跟手先慢慢background download同update又得唔得?即掉轉次序做

咁先show ETA就唔影響急住睇時間嘅User
但可以keep DB most updated而唔影響user experience

今天只做一件事:
可以用 routeFareList.md5 checksum 分到 database 夠唔夠新

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant