湾区日报ios版是一款资讯类软件,每天推送最新的互联网和创业方面的新闻来给你阅读。湾区是指美国旧金山湾区,是科技创业人士的聚集地。故而业界常用湾区来代指科技和创业相关的内容。
软件说明:
湾区日报是什么
我在旧金山上班,做工程师。每天都会看了一些关于科技、创业类的文章。然后挑选出5篇文章,与读者们分享。
选文章的标准是什么?
只有一个标准:我自己主观觉得有收获的英文文章。为什么不是中文文章?
因为我很难找到高质量的中文文章。
比较“主流”的中文科技媒体很多都是翻译英文的文章,我还不如直接看英文的。
如何分享给读者?
每天选5篇文章后,针对每篇文章,我会拟一个中文标题、写一小段中文简评,然后连同原链接发出去。
发到哪里去?
湾区日报有一个网站 wanqu.co,文章发到这个网站上。 同时,还会通过多个渠道推送给读者。
这些渠道包括:微博、微信公共账号、邮件订阅、RSS、Twitter、Facebook页面、iOS App推送。
湾区日报每期是怎么发布的
每天看文章、写简评、发到上面提到的各个渠道,这一系列操作还是比较花时间的(每天2~3小时)。
湾区日报只有我一个人经营,我得尽量想办法“偷懒” — 尽量自动化各种操作。
选文章和写简评是纯体力劳动,我还没找到如何自动化起来。
但有两大部分还是可以自动化的,1)录入文章数据;2)分享到各个社交渠道。
如何录入文章数据?
我在Slack上跟机器人wanqu-ops说话,发给它一个链接。
然后它就自动提取标题、提取图片、构建slug、关联某一期(issue),最后创建新文章。如下图所示:
读者们有的已经认出了机器人的图标。
没错,我这里用的是Hubot。这个机器人除了帮我分担发文章的部分工作外,还承担了重大的运维职责。
比如部署新代码、tail log、查看关键指标(新增微博粉丝数、网站访问量等)、重启服务器等。
刚才说了,写简评得手动操作的。
我有时候通过wanqu-0ps机器人写简评(跟它对话),有时候通过网站后台写。这是网站后台的截图:
有读者可能也认出来了,上面是Django的admin界面。
湾区日报的网站是Python/Django写的,数据库用的是Postgres。
如何分发到各个社交渠道?
除了微信的公共账号外,其他的社交账号都能通过他们提供的API自动发帖。
所以,不管是通过slack上的机器人、还是网站的后台,只要文章状态是Published,就会自动发帖。
以微博为例,只要是“来自 湾区日报BayArea”的,都是通过微博API发出来的。
邮件订阅的邮件则是通过MailChimp分发的。MailChimp每天太平洋时间晚上9点会读取 wanqu.co/feed,然后群发邮件。
Facebook页面的更新理论上也能用API,但我懒。所以就用 IFTTT 同步 Twitter账号上的内容。
微信公共账号没有API可用,得手动发送了。
湾区日报微博的炒冷饭现象
很多读者已经发现了,湾区日报的微博账号常常会重复发以前发过的文章。这主要出于几点考虑:
有的读者刚刚关注到湾区日报,没看过以前的文章。
所以“以前的文章”对他们来讲其实是“新的文章”。
就好比我们的父母开始用上互联网了,经常在微信朋友圈里转载一些我们10年前就已经见过的段子、网文。
对我们来讲,那些段子是旧的,但对他们来讲,是新的。
有的好文章确实经得起多次阅读。每次读,都有新的体会。我自己很多文章其实都读好几遍的。
出
于运营账号的考虑,账号的内容得不断更新,这样比较活跃,涨粉比较快。
这不是什么新鲜伎俩,各大媒体类的账号或多或少都炒冷饭。
就好比暑假到了,白娘子传
奇、西游记、鹿鼎记、还珠格格等一遍一遍地重播。
随着湾区日报文章数量的增加,大家见到重复文章的周期也会变长很多的(现在是一个多月重复一次)。
如何自动炒冷饭?
我后台定时炒冷饭用的是Celerybeat,每小时有一定概率自动发微博与Twitter。
发帖太频繁了,大家也会烦的。所以,每个小时都有一定概率发帖;
不同时段,发帖的概率不同;大部分时候这个概率是80%。
每个社交账号的API调用都是一个Celery task。Message broker用的是RabbitMQ。
最早的湾区日报是静态网站,后来换成了Wordpress。所有的发微博、发Twitter什么的都是我手动操作,很花时间。
而且重复的机械劳动容易厌倦。
之前一直没确定到底要不要长久把湾区日报做下去。
毕竟白天有一份startup的全职工作,事情也比较多;在公司里跟同事也有side
project在做。
回家后也要花时间在家庭上;自己也有其他side project。
直到3月中旬的某个周末。我也不记得什么原因了,就是突然自己把 wanqu.co 重写了一遍。
然后一不做二不休,陆续花了些时间自动化了一些流程。于是每天的手动操作变少了,比较不会厌倦了。
而且说实在的,每天5篇文章,我自己也学到很多东西,也在进步。
顺便提一下,我一直坚信要快速迭代,更新小段代码。所以也通过slack机器人,输入 wq deploy,发布新代码。
如果你还没用上Hubot,我推荐你看一下,小团队里的DevOps利器 — 对我来讲,是一个人的团队的利器:)
更新内容:
版本 2017.09.16 中的新功能
53/ 在上一家公司时,有次CEO要上全国性的早间新闻直播;我们组早上4点就到办公室严阵以待,以防直播时网站挂掉。等待直播开始、百无聊赖之时,我们在大屏幕投影电影 Office Space。正出现儿童不宜镜头时,PR女主管推门而入;老G以迅雷不及掩耳之势静音并切换到 Google Analytics,“恩,这个…网站在线人数…这个…还是挺正常的”。
Updates:
招聘广告页面加入 logo。
修复一个小 bug。
(进入 App 可查看以前发过的完整的更新日志:发现 -> App 更新日志)