2020年6月29日星期一

《牛油果烤面包》回顾(Part 5 - 中国)

我在这个系列的第一篇文章里面就说到过,当初为了用最低的成本和最短的时间把节目推上线,我们选择了使用 Anchor 这个平台做发布。它如同 YouTube 一样免费和易用,当然也如同 YouTube 一样无法在中国访问。在节目上线后我们很快就意识到这个问题,于是费了很大功夫进行调整。


喜马拉雅是我们的第一个尝试,因为它是国内的平台所以它有义务保证内容可以在国内访问到。在得知 Anchor 在中国无法访问时,我们第一时间去注册了喜马拉雅,并且把我们的节目同步发布到喜马拉雅。之后斯图亚特还去注册了企鹅 FM 和荔枝 FM,但因为手工多平台发布的成本高,但又收获不了多少收听次数,最终放弃了。现在国内的平台就只做喜马拉雅。

提到喜马拉雅就不得不提一下 Apple Podcasts 在中国那一套心照不宣的特殊做法。如果你正常地使用 Podcasts Connect 提交一个播客的 RSS,默认这个节目不会出现在中国区。Apple 通知你节目通过审核时,这仅仅是意味着节目通过了 RSS 格式审核,但这跟中国一点关系都没有。之后 Apple 会默默地审核你的内容,决定你是否能发布到中国区,整个过程不会有任何的沟通,审核不通过也无法上诉。因为我们一开始使用的是 Anchor,它的 RSS 在中国根本无法访问,自然 Apple 不会把我们的节目发布到中国区。

想要把节目发布到 Apple Podcasts 的中国区,民间有一个办法,那就是用喜马拉雅导出的 RSS。因为喜马拉雅本身在中国,所以 Apple 乐意发布任何来自喜马拉雅的 RSS。为此我们专门在喜马拉雅后台申请了导出 RSS,然后把 RSS 添加到 Podcasts Connect。为了避免听众看到我们的 Apple Podcasts 上有两个节目分不清哪个是哪个,我们把喜马拉雅导出的那个叫做牛油果烤面包中国版


考虑到喜马拉雅不是一个泛用型播客平台,为了方便中国的听众使用 Overcast、Pocket Casts、Castro 等泛用型播客应用收听,我们又花钱购买了 Typlog 的服务并且把每一集的内容同步发布到 Typlog。作为付费平台,Typlog 的灵活性比 Anchor 和喜马拉雅都要好很多,而且大多数时候能在中国访问到,不过也有极少数时候用户会报告不能访问。

Typlog 值得一提的是节目文本内容的编辑灵活性。Anchor 和喜马拉雅对内容都是有限制的:Anchor 不允许多层套叠的 bullet points,如果我们写了多层的就必须手工改为一层的。喜马拉雅连 bullet points 都不支持,只能人手在每一行文本前加个星号表示这几行是个 bullet points。Typlog 完全没有这些限制,而且可以用 Markdown 语法来写,非常符合我的编辑习惯。

在建立好 Typlog 发布后,我们就逐步把各个平台收录的 RSS 地址从 Anchor 改为 Typlog 了。这样做是为了保证中国听众就算是通过 Overcast、Pocket Casts、Castro 等平台搜索到我们节目后能正常收听。可惜最近发生了一系列事情,使得很多这些泛用型播客应用被 Apple 中国区下架了,估计这些应用的中国用户将来只会变得越来越少。


最后,为了保证我们的品牌、域名和链接掌握在我们手上,不受任何一个发布平台的干预和限制,我选择了建立我们自己的网站。我们的域名 avocadotoast.live 最初只是简单地指向到我们的 Anchor 页面或喜马拉雅页面(根据访问来源国家智能指向),但这样子我们得不到任何网站分析数据,不知道有多少来自中国的用户因为指向错误而打不开 Anchor。为此我决定利用静态网站生成器编写我们自己的网站,每一集节目都要能在我们的网站上打开和播放。

网站的主体是我一个周末连夜赶工做出来的,之后花了不少时间打磨和提升自动化程度。现在只要我们发布到 Typlog、喜马拉雅或 Anchor,我们的网站就会自动更新,保证最新一集总能在我们自己的网站上看到。为了兼容中国和非中国用户的体验,我们的网站还设计为从多个音频来源进行播放,如果其中一个音频来源播放失败就自动切换到下一个音频来源。这样就算中国听众无法访问某些音频来源,最终还是会切换到喜马拉雅的音频来源从而保证播放。

制作这个网站的详细技术抉择我觉得可以单独写一个系列,就不在这里详细展开。有兴趣了解这个项目背后细节的话,请通过邮件RSS/Atom 进行订阅。如果我接下来还有时间继续写这个系列的话,我会写一写我们进行远程录音的经验。尽管我之前已经写过录音剪辑经验,但现在大家不能面对面录音了所以我们又摸索了一套新方法来做远程录音。这个话题我们下次再聊。

2020年6月28日星期日

《牛油果烤面包》回顾(Part 4 - 选题)

之前写了 3 篇《牛油果烤面包》的满月回顾(1 2 3),现在准备继续写下去。当然满月早就过了,甚至连半年都不止了,然而又没到一周年,所以文章标题就不再提及时间啦。上次我们说到了我们从个大平台都能获取到什么样的收听数据,那这次我们就说一说我们是怎么做选题的吧。

要说选题,那必须先说一下我们的受众定位。这在我们几位主播之间其实没有非常统一的观点,我们有人更在乎在美国的中文听众,也有人更在乎来自中国的听众。来自中国的听众又可以细分为更多的类型:有些是已经接触到比较多英文信息和海外信息的,那就比较类似在美国的中文听众;有些技术研究得很深入但只熟悉中文的术语,遇到英文的就比较难听进去;有些技术了解不深,希望多听听浅显易懂的科普内容,对深入话题不感兴趣。因为我们在这方面没有统一,所以选题时也没有刻意针对哪一种中文听众类型来做,每一期的受众会略微不一样。


我们选题一般会有两种风格:一种是侧重专业性的,一种是侧重娱乐性的。前者的目标是让听众爽,后者更多是主播和嘉宾自己爽。

我们先说说前者吧,我们在做这类选题时一般优先从我们身边的朋友里找专业人士,想想他们熟悉的专业内容如何能够塑造成相对科普一点的话题,保证讲述过程中的趣味性和故事性。然后我们就会跟这些朋友说,希望找他们来录一期节目,问一下他们是否愿意,然后再协商什么能说什么不能说。因为他们工作领域和公司的限制,可能有些事情他们能多说,有些事情他们不能说,这些都是要提前说好的。

因为我们强调自己是一个科技性的节目,所以我们找的很多专业人士都是自己的同行,也就是科技行业的从业人员。推荐系统人工智能硬件加速人工智能在传统行业的落地搜索引擎计算机视觉激光雷达都属于这种类型的节目。当然我们身边也有不少朋友在非科技领域有非常深入的见解,我们也会请他们来介绍他们的专业。私人飞行执照美国公务员美国个税疾控中心Airbnb 短租房东桌游电子游戏都属于这种类型的节目,因为作为主播我们自己也不是很懂,所以录制节目的过程也是我们自己学习的过程。

至于娱乐性节目,主要就是我们自己想要说,说完了还想要分享给大家听,所以我们就录了。这方面的选题是非常随性的,总之有主播想要录,我们有档期就录。这类型的节目包括互联网信息获取在家办公台北旅游托斯卡纳旅游伊朗旅游。此外还有一些选题是介于专业性和娱乐性之间的,我们做不到非常有深度的专业内容,但我们觉得嘉宾有独到的经历和见解非常值得分享,于是我们就会去录:中美互联网公司异同美国裁员冻卵硅谷春晚

最后还有一类特殊的选题,叫做蹭热点。我们还是希望我们的节目能够获得快速增长的,而蹭热点有时候是个很有效的办法,虽然不一定能成功。(这是我在知乎回答问题的经验啦,回顾了一下得票最多的答案,有一部分是蹭热点而来的。)这部分选题的时效性非常强,某个事件发生后必须尽快完成录音、制作和发布。我们的第一期节目iPhone 11 发布会就是这种类型,后面还有BlizzCon、CES(1 2)以及下周马上要发布的 WWDC。


回顾我们的选题,从播放量来看最可靠的是专业性题材的节目。这些节目我们可以持续做,只要我们能够一直找到新的专业话题,在一定程度上来说我们可以「量产」这种类型的节目,而且每一集都会有比较高的播放次数,但并不是最高的播放次数。那最高的播放次数来自什么呢?这需要的不是专业见解,而是情绪上的刺激。要让听众一看到题目就能产生情绪上的反应,以下是一些例子:

  • 美国裁员这一集刺激的是大家恐惧的情绪。在美国拿着工作签证的人都知道,一旦被裁员那就有可能被迫离开美国,之前那么多年投资在留学和工作上,就差那么一点拿不到绿卡是一个巨大的损失。这一集的播放次数非常高。
  • 中美互联网公司差异成功的刺激到了中国程序员对行业内卷的负面情绪,大家都想了解一下其它国家的互联网行业从业体验是怎样的,所以播放次数也很好。
  • 搜索引擎通过在标题中提及百度的没落而刺激到了中国网民对百度的厌恶情绪,很多人不仅仅收听了这一集的节目,还在评论种表达了对百度的不满。

有意思的是,人类确实更容易受负面情绪的驱动,在收听播客时也如此。这是现代市场推广所才去的一个常见手段,当然最终会导致民众两极分化,这又是一个新的问题。我们在选题时不会刻意的去选择挑起负面情绪的话题,但从结果上来看确实这样的话题效果更好。

2020年6月22日星期一

为什么美国网银转账那么慢:ACH 详解

我刚刚来到美国时就发现美国网银的转账速度很慢,往往中国网银一天甚至实时能完成的转账,在美国需要三天甚至更久,不过后来习惯了也就没再仔细思考这件事情。我最近加入了 Robinhood 的 Funding 团队,我们团队负责用户资金转进、转出 Robinhood 账户,为此我好好学习了一下美国网银转账背后所使用的 ACH Transfer 机制。现在终于可以来向大家解释一下为什么美国银行的转账速度那么慢了。

我这篇文章主要参考了 Gusto 关于 ACH 的系列博客(1 2 3 4 5),大家喜欢看原文的话可以去看看。在开始之前,我们来解释一下下文要用到的概念:

  • ACH:Automatic Clearing House。这是一套自动清算系统,是金融机构之间使用计算机进行自动清算的协议。
  • NACHA:National Automated Clearing House Association。这是一个制订 ACH 标准协议的机构,并且负责管理 ACH 网络。
  • Federal Reserve。美联储,实际运营 ACH 网络的机构。
  • ODFI:Originating Depository Financial Institution。这是代表发起 ACH 操作一方的发起方银行。
  • RDFI:Receiving Depository Financial Institution。这是代表 ACH 操作接受一方的接受方银行。

在美国的金融机构之间进行金额不是很大的转账,往往使用的都是 ACH。一个 ACH 操作中通常会涉及到 5 个参与者,他们分别是:发起方、发起方银行(ODFI)、美联储(Federal Reserve)、接受方银行(RDFI)、接受方。举个例子,Alice 是 Bob 的雇主,Alice 要发工资给 Bob,那么 Alice 就是发起方,Alice 的银行就是发起方银行,Bob 的银行就是接受方银行,Bob 就是接受方。

假设 Alice 发工资给 Bob 的那天算作第 1 天,Alice 的银行会要求 Alice 在特定时间(假设是 7:00 PM)之前发起这个操作,超过这个时间就算是下一个工作日的操作了。为此 Alice 必须在第一天的 7:00 PM 前发起一笔 ACH 操作转出 Bob 的工资,与此同时 Alice 的银行会在 Alic 的账户余额上减去 Bob 的工资。这是第一步。

Alice 的银行(也就是发起方银行)会在午夜把记录了这一笔 ACH 操作的 ACH 文件发给美联储,然后美联储把这个 ACH 文件转发给 Bob 的银行(也就是接受方银行)。这是第二步。

Bob 的银行会在第 2 天清早(假设是 5:00 AM)处理这一笔 ACH 操作,把工资加到 Bob 的账户余额上。这是第三步。如果一切顺利的话,事情到这里也就结束了,工资成功从 Alice 的账户转到 Bob 的账户上。但是如果发生异常的话,那就还有两步要走。

什么情况可能导致异常呢?Bob 可能填错账户号码了,Bob 可能把 checking account 错误标记为 savings account 了,Bob 还可能注销账户了,有各种原因可能导致异常。这些都叫做 ACH Return,会导致一笔 ACH 操作失败。值得注意的是,跟中国的网银不一样,Alice 作为发起方不仅仅可以转钱给 Bob,只要 Bob 签署了正确的 ACH 授权,Alice 还可以要求从 Bob 那里收钱回来。这时候 Bob 余额不足或者是 Bob 撤销授权等等的情况,都会导致异常。

在第三步里,Bob 的银行在第 2 天清早会处理这一笔 ACH 操作,如果它发现有异常的话它可以把 ACH Return 发给美联储,但这个 ACH Return 最晚可以在第 3 天结束之前发出。按照最坏的情况考虑,ACH Return 会在第 3 天和第 4 天之间的午夜由 Bob 的银行经过美联储发送给 Alice 的银行。这是第四步。

Alice 的银行会在第 4 天清早(再次假设是 5:00 AM)处理这一笔 ACH Return,然后把 Bob 的工资归还到 Alice 的账户余额上。这是第五步。整个过程耗费了 3 天的时间,准确来说是 3 个银行工作日(bank day)的时间。

一般来说,Alice 发工资给 Bob,如果 Bob 的银行没发生异常,Bob 是不会提出异议的,毕竟钱是多了而不是少了。但如果 Alice 发起的 ACH 操作是从 Bob 那里收钱,Bob 的银行没有遇到异常不代表 Bob 不会提出异议。跟 Bob 的银行不一样,Bob 本人有 60 天的时间提出异议(dispute),然后就会导致 ACH Return。Alice 的银行收到 ACH Return 之后,就要把已经给了 Alice 的钱拿回去。如果 Alice 的账户已经没有那么多钱了,Alice 的银行就赔钱了。

因此 Alice 的银行进行 ACH 操作向 Bob 收钱后,收回来的钱该不该给 Alice,是全额个 Alice 还是部分给 Alice,具体什么时候给,这些都是开放性问题,不同的银行会做不同的策略。有些银行会等到第 4 天才把钱给 Alice,因为第 3 天结束后 Bob 的银行就不再可能因为异常(如 Bob 账户余额不足)而返回 ACH Return 了。

有些银行会因为 Alice 长期的良好表现而信任 Alice,在第 2 天就提前把全额或部分给 Alice。如果金额比较大,Alice 的银行担心 Bob 在第 3 天结束后提出异议,那 Alice 的银行还可能要进行更多的沟通协调,向 Bob 的银行确认这真的是 Bob 授权了的,那就会拖更长的时间。


希望上述信息能够解释清楚为什么美国的网银转账这么慢。

如果大家对 ACH 文件的格式感兴趣的话,可以读一读这篇文章,里面做了简单介绍。实际的文件格式,请以 NACHA 官方手册为准,那是一本几厘米厚的砖头书籍,我们 Funding 团队就有一本今年最新版本的。