开放数据门户应该是 API [优先]

还没有读者喜欢这篇文章。
Government and library open data using Creative Commons tools

Opensource.com

什么是 API [优先]?

不久前,我在全国政府网站专业人士协会发表演讲。在同一次会议上,Mark Headd 也在发表演讲。我们都在谈论不同的开放数据主题。我的讨论是关于开放政府和开放数据之间的区别,而 他的演讲 是关于 API [优先]。

幸运的是,他们把我们的演讲安排在了不同的时间,所以我才有机会听他谈论使用开放数据进行网站开发的 API [优先] 策略。他的副标题是“开放数据是构建更好网站的基础”。

API [优先] 本质上是设备无关的设计。Mark 提出的前提是,网站通常在部署后才改造 API(应用程序编程接口)。API 可能是也可能不是为了响应那些试图从网站获取数据的人的抓取行为而设计的。我喜欢这次演讲,我也理解了为什么在考虑网站之前先考虑 API 是有道理的。

本文讨论了未来可能会发生什么。今天的开放数据仍然遵循 Gartner 20 年前对万维网的“炒作周期”。我们将看到,机器比人类更需要也应该消耗更多数据。这是一个关于数据如何使用的假设,基于轶事和调查证据。在没有更多数据的情况下,我无法证明任何结论性的东西,但我可以假设以下几点:

  • 人类消耗的数据的重用价值较低,因为它没有被重新分发
  • 与 API [优先] 平台相比,在 Web/移动 [优先] 平台上提供的数据需要更多的工作才能重用数据
  • 来自媒体、技术和学术界的超级用户绝大多数时间都在浏览罗利开放数据门户
  • 数据门户元素固有的用户体验问题使其难以使用

数据门户不仅仅是任何网站

我想更进一步探讨这个问题。在线数据应该 API [优先],数据门户需要被更实用、更少烦人的东西取代。11 月,我完成了一项关于 罗利开放数据 的调查,收到了公众的 100 多份回复。公众对可用数据的类型、更新频率和质量表示赞赏,但他们一致不喜欢界面。大多数关于界面的评论都与延迟有关,有时也与显示不兼容有关。

我完全同意他们的结论。数据和改造后的 API 很棒,但它们被锁在一个几乎无法使用的笼子里。如果平台是围绕 API 而不是 Web [优先] 策略构建的会怎样?我们可能会发现,为了适应当前和未来的设备,罗利市方面可以减少工作量,开发者可以修改数据和与之相关的探索小部件。

Figure 1: October 2014 Rows Loaded

图 1:2014 年 10 月加载的行数

如果我们看看数据网站的实际使用情况,而不是它们的营销方式,我们就会开始看到一些模式。罗利开放数据在过去 18 个月中获得了 1,115,125 次人类页面浏览量,其中大部分发生在过去六个月中。在 2014 年 10 月,我们的 API 调用量达到了 17,000,000 次的峰值。在一个月内,机器的浏览量是人类的 17 倍。

正如您从图中看到的那样,9 月和 11 月的数据与 10 月相差不远。一些读者可能想知道为什么从 2014 年 5 月开始 API 调用量激增。5 月至 10 月期间,我们一直在 Red Hat JBOSS Switch Yard 上构建开源服务架构,该架构可以挖掘和自动附加罗利开放数据门户内的数据集。

罗利开放数据使用响应式 Web 设计,对大多数手持设备都很友好,但 API 需要一些帮助才能将数据推送到门户中。门户本身将每个数据集都发布为 API 端点。这个 API 是只读 API。编写一些代码,我们可以让 Socrata 门户允许我们附加数据集。Socrata 并非 Web/移动 [优先] 类别中的唯一平台。ESRICKAN 以及在某种程度上,Junar 的架构原理也相同。这不是对任何特定平台的直接批评或认可。

出错的后果

在看到最近一些门户网站启动的轶事问题之前,讨论多节点方法和倡导 API [优先] 策略似乎是深奥的。明尼阿波利斯最近启动了其开放数据门户,却受到了 严厉批评。大多数批评都集中在网站的性能、延迟、非响应式设计和崩溃的网页上。请注意,这些都是公民试图通过不同的浏览器使用门户网站的投诉。该市指责 ESRI,但延迟和设计不良、无法验证的页面并非平台固有的问题。ESRI 不是 API [优先] 产品。该市表示他们应该选择 Socrata。鉴于该市管理推出的能力,似乎很明显,缺乏基于多节点标准的方案是导致 Beta 版失败的一个重要原因,但不是唯一原因。

CKAN 最近还通过 一条推文 宣布启动了一个关于埃博拉危机的新的综合开放数据门户。这不是响应式设计。当我在手机上查看时,我看到的是完整网站的微缩版本,除非我切换到更大的界面,否则无法有意义地使用或重用数据。现在让我们想想这样做的后果:

  • 数据是为谁准备的?如果是为实地工作人员准备的,那这是一个巨大的失败。最常见的实地设备是平板电脑和手机。如果没有某种应用程序使用 API,这将成为数据重用的障碍。
  • 我如何使用和重用数据?沿着链接的兔子洞,我可以找到关于危机数据的地理数据。大多数目录列表都是 CSV 数据集以及提供数据背景信息的 PDF 文件。这样做的好处是我有元数据,坏处是我无法查询明显的 API 端点,将该站点的数据与我自己的分析的其他数据合并。

结论

这只是冰山一角。除了不使用 API [优先] 策略的技术问题之外,我们还有关于 PII(在明尼阿波利斯案例中)的政策问题和 CKAN 实例中的用户体验问题。因此,我通过比较人类和 API 消耗的数据得出以下结论:

  • 人类消耗的数据的重用价值较低,因为它没有被重新分发
  • 与 API [优先] 平台相比,在 Web/移动 [优先] 平台上提供的数据需要更多的工作才能重用数据
Jason Hare
二十年用户行为分析经验,专注于与 Web 应用程序的交互。经验包括使用快速原型设计和迭代项目管理风格开发用户界面,以创建屡获殊荣的、以用户为中心的信息门户。主要兴趣包括大数据和开放数据应用,以及公共部门环境中的社区参与。

3 条评论

嗨,Jason,

的确,我完全同意。API 是促进基于数据创新的关键要素。

在 OpenDataSoft (http://www.opendatasoft.com),我们正在构建和运营一个基于云的数据管理平台。该平台是“API 优先”构建的。这意味着可以从门户访问的任何功能也可以作为 API 调用使用。实际上,门户本身就是 API 的第一个消费者。可用的 API 包括(详见 http://docs.opendatasoft.com/collection/1382-using-apis):
- 数据集目录 API(目录中数据集的关键字和分面搜索)。
- 数据集 API(数据集记录内的搜索、地理数据集记录的地理聚类、数据集记录的数值聚合)。

因此,您不仅可以通过 API 调用从门户获取原始数据,还可以访问高级功能,例如地理聚类和分析,以便直接为任何类型的设备上的高级用途提供支持。这使得应用程序开发人员可以非常轻松地快速构建第一个 MVP,而无需构建任何后端。

虽然 API 是开放数据门户的关键功能,但绝不能忘记一个主要的警告:潜在的互操作性不足。虽然一些高级功能仍然可以通过非标准化的专有 API 提供,但对于数据平台来说,最大限度地支持标准至关重要。在消息格式(JSON、GeoJSON、RSS、RDF...)、协议(REST、OData...)和安全框架(OpenId、OAuth、SAML...)方面。支持标准是让开发者社区渴望使用数据门户 API 的唯一途径。

“API 优先”开发的另一个优点是,它鼓励开发基于这些 API 的可重用框架。实际上,开放数据门户不应仅仅针对经验丰富的开发人员。它还应该让任何公民都有可能简单地重用 Web 组件,构建自己的仪表板和数据可视化。
- 这就是为什么使用 OpenDataSoft 平台构建的任何标准数据可视化都可以轻松嵌入到第三方 Web 应用程序中 (http://public.opendatasoft.com/explore/dataset/chicago_incidents_2001_p…)。
- 这也是为什么我们最近作为一个开源库发布了一组可重用的 HTML 小部件,这些小部件可以轻松组装以构建数据仪表板 (http://opendatasoft.github.io/ods-widgets/docs/#/api/ods-widgets.direct…)。

因此,如果我可以将此总结为几个陈述:
- API [优先] 开发应该是强制性的。
- 开发和支持标准将变得越来越重要。
- 提供工具和框架以方便重用在开放数据门户上公开的数据集也是开放数据政策成功的关键因素。

很棒的文章,Jason。我认为你关于开放数据 API 在最有用情境中(例如在移动设备和平板电脑上)实现开放数据重用的强大功能,这个观点非常正确。我想补充一点,API 不仅允许设备灵活性,还允许开发人员构建针对特定面向公民的问题量身定制的用户体验。

数据门户是不够的。我们需要开发人员和企业家重用开放数据来构建应用程序和工具,将数据带到可以为公民带来实际行动的地方:以情境感知的方式进入他们的移动设备、进入他们的汽车以及进入他们的日常工作流程。仅仅存在于数据目录中的数据是不够的——它需要被带到公民实际需要它的地方。这就是开放数据将如何改变、改进,甚至有望拯救生命的方式。

但是,我想在你的论点中补充一点。虽然我完全同意“API 优先”策略,但我们不应该止步于此。我坚信,至少在开放数据的情况下,仅通过 API 提供访问是不够的。API 通常提供门控的、用例驱动的体验,而批量开放数据对于研究人员和分析师来说更有用。此外,无论我们是否喜欢,API 都会更改或消失,我们都依赖于 API 的所有者来继续提供对其中包含的数据的访问。我们对开放数据和透明度的责任应包括使创建这些数据集的存档副本成为可能(只要许可证允许)。这就是 Socrata 不仅致力于提供出色的 API 来访问开放数据 (http://dev.socrata.com),而且还允许通过可下载的数据集快照进行批量访问的原因。

实际上,去年 12 月我在巴黎 API Days 上就此主题进行了一次有趣的演讲 (http://www.apidays.io/)。如果您愿意,可以浏览我的幻灯片,我认为录音可能很快就会发布:https://socrata.github.io/presentations/conferences/2014-12-03-open-dat…

嘿 Chris

感谢您的链接和评论。我认为我们在这里发现了一些有价值的东西。API 优先,但不仅仅是 API。虽然我认为机器对机器的数据重用具有更高的投资回报率(它肯定扩展得更快),但人类和人类可读的数据可视化也很重要。对于公共部门活动的披露,例如公共安全和公共财政,尤其如此。

您是否愿意合作撰写另一篇关于多节点数据发布的文章?如果您愿意,我全力以赴。

最好的祝愿

Jason

回复 作者:Chris Metcalf

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.