什么是 [API 优先]?
不久前,我在全国政府网站专业人士协会发表演讲。在同一次会议上,马克·海德也在发表演讲。我们演讲的主题都是关于开放数据,但侧重点不同。我的讨论是关于开放政府和开放数据之间的区别,而 他的演讲 是关于 [API 优先]。
幸运的是,我们的演讲安排在不同的时间,所以我有机会听他讲解关于使用开放数据进行网站开发的 [API 优先] 策略。他的副标题是“开放数据是构建更好网站的基础”。
[API 优先] 本质上是设备无关的设计。马克提出的前提是,网站通常在部署后才对 API(应用程序编程接口)进行改造。API 可能是也可能不是为了响应那些从网站上抓取数据的人的需求而设计的。我很喜欢这次演讲,我也理解了为什么先考虑 API 再考虑网站是有道理的。
本文讨论的是未来可能发生的事情。今天的开放数据仍然遵循 Gartner 咨询公司的“炒作周期”,就像 20 年前的万维网一样。我们将看到机器比人类更多地并且应该更多地消费数据。这是一个关于数据如何使用的假设,基于轶事和调查证据。在没有更多数据的情况下,我无法证明任何结论性的东西,但我可以假设以下几点:
- 人类消费的数据重用价值较低,因为它没有被重新分发
- 在 Web/移动 [优先] 平台上提供的数据比在 [API 优先] 平台上提供的数据需要更多的工作才能重用数据
- 来自媒体、技术和学术界的资深用户绝大多数时间都花在浏览罗利开放数据门户网站上
- 数据门户网站元素固有的用户体验问题使其难以使用
数据门户网站不仅仅是任何网站
我想更深入地探讨一下这个问题。在线数据应该 [API 优先],数据门户网站需要被更实用、更少令人讨厌的东西所取代。11 月,我完成了一项关于 罗利开放数据门户网站 的调查,收到了公众 100 多份回复。公众对数据的类型、更新频率和质量表示赞赏,但他们一致不喜欢界面。大多数关于界面的评论都是关于延迟,有时是显示不兼容。
我完全同意他们的结论。数据和改造后的 API 非常棒,但它们被锁在一个几乎无法使用的笼子里。如果平台是围绕 API 而不是 Web [优先] 策略构建的会怎么样?我们可能会发现,为了适应当前和未来的设备,罗利市可以减少工作量,开发人员可以修改数据和随之而来的探索小部件。
图 1:2014 年 10 月加载的行数
如果我们看看数据网站的实际使用情况,而不是它们的营销方式,我们就会开始看到一些模式。罗利开放数据门户网站在过去 18 个月中获得了 1,115,125 次人类页面浏览量,其中大部分发生在过去六个月中。在 2014 年 10 月,我们的 API 调用量达到 17,000,000 次的峰值。在一个月内,机器的浏览量是人类的 17 倍。
正如你从图中看到的那样,9 月和 11 月的数据与 10 月相差不远。一些读者可能想知道为什么 API 调用量从 2014 年 5 月开始激增。5 月到 10 月期间,我们一直在 Red Hat JBOSS Switch Yard 上构建开源服务架构,该架构可以挖掘并自动附加罗利开放数据门户网站内的数据集。
罗利开放数据门户网站使用响应式 Web 设计,对大多数手持设备友好,但 API 需要一些帮助才能将数据推送到门户网站中。门户网站本身将每个数据集都作为 API 端点发布。这个 API 是一个只读 API。编写一些代码,我们可以让 Socrata 门户网站允许我们附加数据集。Socrata 并不是 Web/移动 [优先] 类别中的唯一平台。ESRI、CKAN 以及在某种程度上,Junar 都是基于相同的原则架构的。这不是对任何特定平台的直接批评或认可。
犯错的后果
在看到最近一些门户网站发布时出现的轶事问题之前,讨论多节点方法和提倡 [API 优先] 策略似乎是深奥的。明尼阿波利斯最近发布了其开放数据门户网站,却受到了 尖锐的批评。大多数批评都集中在网站的性能、延迟、非响应式设计和崩溃的网页上。请注意,这些都是公民尝试通过不同的浏览器使用门户网站时的抱怨。该市指责 ESRI,但延迟和设计糟糕且未通过验证的页面并非平台固有的问题。ESRI 不是一个 [API 优先] 产品。该市表示,他们应该选择 Socrata。考虑到该市管理发布的能力,似乎很明显,缺乏基于多节点标准的做法是导致 Beta 版本失败的一个重要但并非唯一的原因。
CKAN 最近也宣布通过 一条推文 发布了一个关于埃博拉危机的新的、全面的开放数据门户网站。这不是响应式设计。当我在我的手机上查看时,我看到的是完整网站的微型版本,除非我切换到更大的界面,否则我无法有意义地消费或重用数据。现在让我们想想这样做的后果:
- 数据是为谁准备的?如果是为外勤人员准备的,这是一个巨大的失败。最常见的外勤设备是平板电脑和手机。没有某种应用程序来消费 API 将会成为数据重用的障碍。
- 我如何消费和重用数据?沿着链接的兔子洞,我可以找到关于危机数据的地理数据。大多数目录列表都是 CSV 数据集以及提供数据上下文的 PDF 文件。这样做的好处是我有元数据,坏处是我无法查询明显的 API 端点,将该站点的数据与我的分析的其他数据合并。
结论
这只是冰山一角。除了不使用 [API 优先] 策略的技术问题外,我们还有关于 PII(在明尼阿波利斯案例中)的政策问题和 CKAN 实例中的用户体验问题。因此,我通过比较人类和 API 消费的数据得出以下结论:
- 人类消费的数据重用价值较低,因为它没有被重新分发
- 在 Web/移动 [优先] 平台上提供的数据比在 [API 优先] 平台上提供的数据需要更多的工作才能重用数据
3 条评论