电子计票应用程序出错,险些毁了一场美国大选,程序员的锅?
事件回溯
该应用程序由 Shadow 公司开发,前后花费了四个月时间,成本为 63182 美元(约合人民币 44 万元),基于 React Native 构建。这家公司还曾替政府建过网站、设计数字营销活动或打造各种工具。据专家称,IowaReporterApp 应该有如下基本功能:
当选区主席用选区识别码(PIN 码)经过双重认证登陆到 App 后,就会浏览到关于如何进行初选的基本信息。
有趣的是,美国公共广播电台(NPR)曾质疑通过全新的 App 进行选举的方式可能会暴露公众隐私,当时民主党不愿揭露 IowaReporterApp 的安全机制设计,担心公布相关细节反而会让黑客有机可趁。如今看来,IowaReporterApp 在很多方面的表现都很差。
问题出在哪?
2016 年为选举提供 App 服务的公司联合创始人兼联合 CEO Rodney Guzman 说道:
“当我目睹这一切发生时,简直像做了一场噩梦。这个工作如果由我们来完成就不会发生这种事。”
2016 年,这项工作是由微软外包商 InterKnowlogy 公司完成的,InterKnowlogy 公司基于微软技术为选举构建 App 和其他数字化基础设施。InterKnowlogy 在应用程序开发方面拥有近二十年的经验。相比之下,2020 年初选的应用程序是由一家名不见经传的新公司 Shadow 打造的,该公司以前从未接触过如此大规模的需求。
构建过于匆忙
由于 2020 年 App 供应商不像之前的团队那么经验丰富,并且有足够的资金和人力支持。据了解,2016 年的 App 构建筹备了约一年时间,前三个月进行产品设计,与需求方会面,对 App 的可用性不断研磨,而这三个月初期设计阶段差不多赶上了 Shadow 整个产品构建周期。
对于外界质疑的该款 App 到底花了多长时间来构建这一问题,Shadow 首席执行官 Gerard Niemira 表示,“我们从 8 月开始接洽,并自那时起开始收集需求并着手设计,因此 App 的构建周期基本上是从 2019 年 8 月到 12 月。因为收集需求耗费了比较长的时间,所以直到交付期临近时才有了最终版本。”
根据国家记录显示,该 App 是在几个月内构建的,成本为 63182 美元,对于应用在如此重要场合的一款 App 来说,四个多月的构建周期真的不算长。
“我作为一名工程师,听到这种消息感觉有点疯狂,”InterKnowlogy 软件工程师 Michael Gramley 说道。“我们不能在两三个月内建立一个稳定的平台。因为我们需要花费大量时间来测试所有内容。如果真有人这么做了,那最终失败的可能性非常大。”
缺乏训练和测试
Android 资深开发人员 Kasra Rahjerdi 表示,该应用程序包含默认的 React Native 元数据,并且“只在原有的框架上添加了自己的代码”。换句话说,该 App 就像一个不会编码的人机械地按照教程完成构建。Rahjerdi 表示,他们从初级入门包开始操作,只是在入门包上添加了一些东西。我甚至有一种感觉,觉得这个就像是通过谷歌搜索操作说明,然后一步步根据操作说明构建的 App。
Shadow 首席执行官 Gerard Niemira 在接受媒体采访时表示,该应用程序设计很简单。他称这种 App 不需要过于复杂,只需要帮助选区主席做数学运算,并以最快的速度获得票选结果,这是一个相对简单的 App,原理就像计算器一样。此款 App 是可靠的,来自该 App 上的的数据是可靠的,在 App 上完成的数学运算也是可靠的,我们在 App 上收集到的所有结果都是正确的,并且已经得到验证。
Gerard Niemira 的言外之意是:
数据和结果都是正确的,只是,速度慢了不少。
然,这款 app 的设计初衷,恰恰是为了提高投票结果的统计效率。
除了处理数据的速度不尽如人意外,在被问及 App 的安全性测试时,Niemira 解释道,我无法透露进行安全性测试公司的名字,但我们确实进行了独立审核。该审核时某些配置项的确出现了问题,但是我们已经在初选前将这些配置项进行了很好地修复。
最终结果
结语
|
有话要说