互联网上的信息分散于各处,如何把它们聚合到一起呢。
于是RSS订阅器诞生了。
后来RSS订阅器没落了,人们更习惯阅读聚合好的信息,而不是自己去整理。
我也是。
但是有时候,我们需要及时、迅速地得知“紧急”的事件,这样的背景下,Shiny诞生了。
Shiny的全部代码和三种语言的SDK均已在GitHub发布,但是我不打算贴出链接,因为这个项目实际上有数年的历史,一开始开发的时候也没想到后来会有这么多的需求要做,所以在架构上比较混乱,代码也有很多地方是hot fix之类的,总之没什么好看的。
以上就是Shiny的架构了,实际上并不复杂。
由于没啥用户,该系统运行效率很高。
- 推送几乎同时到达所有客户端。
- 分析数据到推送完毕仅数百毫秒。
我拿着手机,开着Shiny客户端,推送时基本上是和chrome extension在同一时间弹出。
我们费了这么大劲,是想及时看到啥?
Lantis啥时候又投试听动画了。
ラブライブ!公式啥时候又发推了。
就是这样无聊的事情……
此外,基于Shiny的高实时性,一套EEW(紧急地震速报)推送系统也在Shiny进行推送。
chrome的rich notification API为倒计时通知提供了可能。
目前,Shiny运行着YouTube订阅、Twitter订阅、fS新闻订阅、EEW等功能,状态稳定。
空空写的垃圾后端,为用户提供白名单、黑名单、订阅等多种模式来筛选通知。并且提供chrome extension、网页版、Android App三种接收方式。
目前市面上的软件的推送通知,一般都有不小的延迟,这就让Shiny在B站抢稿、速报新闻等领域有自己独特的优势。另外,易于使用的API和完整的SDK也为开发者提供了快速的接入手段。