Other Readings异读 返回作品
字号
主题
下载
下载全书

全书 · v0.1 · 2026-10-11

云、商店与数以百万计的应用

伊琳娜·卡尔德拉克、马丁娜·莱克 编 · 2015 年原著 · Claude 辅助全译AI 辅助初译,未经人工终校第 6 / 9 单元

The Cloud, the Store, and Millions of Apps — Anders Fagerjord(安德斯·法格约德)

iPhone 上的 150 万个应用可以用于成千上万种用途。其中许多是基于云的服务,而更多的是游戏和简单的实用工具。软件即服务(Software as a Service,SaaS)的理念是:让一个程序只在中央服务器上运行一个实例,并且只用一个浏览器来访问这些程序。在移动设备上,通过应用访问服务比通过浏览器更为高效,这意味着每个用户都需要许多应用。此外,对应用而言,硬件传感器与云访问同等重要,甚至更为重要。与其把应用视为软件服务,我们更应将其描述为一个网络中的行动者(actors);在这个网络中,开发者、用户,以及苹果公司(Apple)的硬件、编程环境和应用商店(App Store)都是重要的组成部分。


“网络已死”(The Web is Dead)——这是 2010 年 8 月《连线》(Wired)杂志整版封面上的口号。主编克里斯·安德森(Chris Anderson)写道,移动应用提供了“更简单、更流畅、开箱即用的服务”(2010b)。蒂姆·奥莱利(Tim O'Reilly)回应称“真正重要的是后端”,他指出,Twitter、Google 或 Facebook 等热门服务都运行在大型服务器中心里,而这些服务器中心既可以通过网站访问,也可以通过原生应用访问(Anderson 2010a)。这些服务器被称为云,许多最受欢迎的应用都在使用它们。我们把文档和数据存储在云中,有时在社交网络中分享,有时则保持私密。无论我们使用哪块屏幕——从小小的电话、中等尺寸的平板电脑,到台式计算机,乃至 50 英寸的电视屏幕——它们都随时可用。我们仍然把它们称为电话和电视,但我们用它们来使用相同的服务。看来,真正重要的是云,是后端。

云的某些部分——或者更准确地说,某些云——是软件即服务(SaaS)站点,用户可以在这些站点上访问运行于中央数据中心的计算机系统。用户不必在自己的机器上安装软件,而是通过网页来访问这些系统。在我所在的大学,我在一个网站上报销差旅费,在另一个网站上阅读和撰写正式公函,并与同事在 Google Docs 中起草论文——Google Docs 同样是一个网站。所有这些都可以通过一个瘦客户端(thin client)——我的网页浏览器——来访问。由于这个瘦客户端早已存在于我的计算机中(以及几乎所有其他计算机中),我只需让这一个程序保持更新,而无需安装和升级大量其他程序。这对我来说想必更为方便,也为大学的计算机部门省去了购买升级并将其分发给全体员工的工作。主系统只在数据中心存在一份安装,可以随时更新,无需向所有用户分发副本。

然而,大多数时候,我发现这些网站速度缓慢,总体上难以使用。我常常渴望那种“更简单、更流畅、开箱即用的服务”——再借用一次安德森的话。

台式计算机越来越多地被用来通过网页浏览器访问远程软件,而移动平台的使用则绕开了浏览器,转而偏爱无数的原生应用。下文我们将对此稍作梳理,并且会很早就认识到:云是一个漂亮而简单的隐喻,所指的却是一个复杂的行动者网络(actor network)。像这样一篇短文很难处理哪怕一个网络,更不用说几个相互竞争的网络了,因此我将聚焦于为苹果 iOS 开发、运行在 iPhone 和 iPad 上的应用。

要描述这样一个复杂的网络,我们需要谨慎用词,尤其是因为同一个术语可能会被不同的行动者群体以不同方式理解。

对程序员来说,app 是任何应用程序(application program)的缩写。在这里,我们将在更狭窄的意义上使用“应用”(app)一词,我们相信这更符合日常用语:应用是一种供移动设备使用的小程序,从一个中央分发者——应用商店——下载。

对于一本讨论 SaaS 的书而言,“服务”(service)一词至关重要。在这里,我们必须离开对服务的日常理解,而将其限定于面向服务的架构(Service-oriented Architecture,SOA)工程中的用法,即开放组织(The Open Group)所给出的定义:

服务是对一种可重复的、具有特定结果的业务活动的逻辑表示(例如检查客户信用、提供天气数据、汇总钻探报告等),并且:它是自足的,可以由其他服务组合而成,对服务的消费者而言是一个“黑箱”。(The Open Group 2013)

应当补充的是,这些服务是通过计算机网络提供的。那么,应用是由服务构成的吗?它们只是瘦客户端、通往云端的门户吗?事实是,有些应用确实如此,但远非全部。要理解应用,我们需要认识到它们是一个网络中的行动者,下文我们将尝试描述这个网络。

协调传感器

关于应用的笼统概括十分常见,但一个应用几乎可以是任何东西,从简单的实用工具到复杂的游戏。苹果的应用商店里有地图应用、医疗诊断工具、运动日志、食谱和饮食日志、银行应用和公交车票应用、单位换算器、计算器,还有简单的手电筒。唯一的共同点似乎是设备:应用是供移动设备使用的软件应用程序。那么,让我们就从 iPhone 本身开始描述应用网络。

iPhone 推出时,苹果宣称它是三种新设备的合一:一台电子邮件设备、一台音乐播放器和一部电话(Apple 2007)。我们或许仍倾向于把 iPhone 视为对电话的再媒介化(remediation)(Bolter and Grusin 1999),但 iPhone 的技术规格清楚地表明它远不止于此。它是一台口袋大小的计算机,具备多种网络连接:GSM 电话、801.11 Wi-Fi[1]、蓝牙、USB,在 2014 年的机型中甚至还有近场通信(Near-Field Communication)(Apple 2014a)。输入可以通过高分辨率触摸屏、手机正反两面的麦克风和摄像头以及几个按键完成。输出则通过屏幕、三个扬声器、一个振动器或一盏强光 LED 灯实现,还可以通过线缆连接更多的扬声器和屏幕。重要的是不要忘了传感器:GPS、距离传感器、气压计、加速度计、用于指南针和运动检测的三轴陀螺仪、环境光传感器,以及部分机型中的指纹扫描器。

iPhone 应用是一种小程序,它利用这些网络连接、输入/输出和传感器中的某一些,来实现用户认为有用或有趣的目的。应用可以根据用户或传感器的输入进行计算,通过网络发送和接收数据,并将结果输出给用户,同时将结果通过网络发送出去。最受欢迎的应用实际上是 Web 服务的瘦客户端,例如 Facebook 和 Google 地图(Google Maps)。它们大量使用网络,大部分计算都在远程服务器上、“在云端”完成。但另一些热门应用,例如《愤怒的小鸟》(Angry Birds),则在 iPhone 上进行计算,并使用 iPhone 的触摸屏和扬声器进行交互。还有一些应用依赖其他传感器,例如 Sleep Cycle 利用加速度计监测用户睡眠时的身体活动,又如 VitalSigns 通过分析图像来计算摄像头前那个人的脉搏和呼吸频率。2014 年苹果设计奖(Apple Design Award)得主《Device 6》是一个介于游戏与书籍之间的互动故事,只使用触摸屏和扬声器;而 Flashlight 只使用触摸屏来开关 LED 闪光灯。Sleep Cycle、VitalSigns、《Device 6》和 Flashlight 都不与任何服务器通信,它们在 iPhone 上孤立地运行。

宣称“没有软件,只有服务”,就是把这种多样性收窄为寥寥几类应用。我认为利斯特尔(Liestøl)的视角更富成效:我们正在步入感官媒介(sensory media)的时代(Liestøl et al. 2012)。我相信这一转变需要深入研究,但在本文中,我们需要继续描述这个网络:从运行在设备上的应用,转向应用开发者及其工作的环境。

此处有软件

基特勒(Kittler)曾以一个颇具挑衅性的文章标题《没有软件》(“There is no Software”)(Kittler 1992)引起了一些关注;他在文中认为,计算机软件的诸多层次只是在遮蔽计算机底层的硬件。尽管这篇文章带有十足的技术决定论色彩,它主要是对现代计算机的笛卡尔式基础的批判。基特勒能用好几种编程语言编写代码,他非常清楚软件是劳动——往往是巨大的劳动——的相当有形的成果。软件的分层结构使这种劳动更为高效;软件研究(software studies)的进路不应把它分析掉,而应关注这些不同的层次,考察权力如何分布于其间。

人们并不是通过组合 Web 服务来设计应用的。iOS 应用只能用苹果为 Macintosh 计算机提供的 XCode 编程环境来开发。它包括两种语言和 70 个不同的框架(frameworks)供程序员调用,其中包括界面按钮和其他元素、苹果服务器园区中的云存储、一个数据库系统、用于 2D 和 3D 开发的图形引擎,以及通往 iOS 其他部分的接口,例如通知、通讯录、日历、地图、相机和照片编辑软件。这些框架在两方面类似于服务:一是它们都是标准化的设计模式,开发者可以通过相对简单的接口加以依赖;二是它们都是“黑箱”,因为开发者无需了解其内部运作。上文概述的三种主要操作——本地计算、访问传感器、访问苹果的云服务——都有相应的框架支持。程序员可以通过使用苹果的框架来赚钱:借助应用商店的支付服务实现应用内购买,以及在应用内投放横幅广告。苹果 iCloud 中的云存储可以通过另一个框架获取,而通过 Facebook 和 Twitter 分享则借助又一个框架完成。

XCode 是这个网络中一个强有力的行动者:它规定了什么可以做、什么容易做、什么根本无法做,因而对开发者拥有权力。齐特林(Zittrain)把 iPhone 作为“拴系式”(tethered)设备的首要例证——这种设备可以被其制造商远程控制——与之相对的是可以被用来做任何事情的“生成性”(generative)设备(Zittrain 2008, chap. 2–3)。这种二分过于简单。苹果可以通过软件更新控制 iPhone 的某些方面,开发者可能使用的部分框架和服务也可以被远程控制。但开发者仍然找到了自由,在美国商店中创造出 150 万个应用,这看起来相当具有生成性。苹果的框架很少把开发者锁死,但它们提供了阻力较小的道路。像 Facebook 这样的大公司运营着自己的服务,供其应用使用。较小的开发者则要么自行开发服务,要么走更简单的路线,使用苹果的服务。与其采用生成性/拴系式的二分法,我们更应效仿基特勒的做法(即便不采纳他的结论),去研究通过各个软件层次所能获得的自由度。

软件即服务常被描绘为一种使编程变得简单的架构。表面上看,开发者无需编写代码,只需把不同的服务组装起来,就像孩子拼接乐高积木一样。iOS 编程与此相去甚远。仅仅创建一个传统的入门级“hello world”信息,就需要一系列不同的文件,其中大多数对初学者来说都难以理解。iPhone 已售出 5 亿部(Costello 2014),但其所有者中只有 35 万人注册成为开发者,而这些开发者中又有许多人(我们不知道具体有多少)从未向应用商店上传过任何应用。人们可以设想一部编程简单到用户会自己编写手电筒应用、而不是去下载一个的手机,但 iPhone 并不是这样的产品。

应用商店:强制通行点

正如 XCode 是唯一的编程环境,苹果也垄断了分发渠道;开发者不能直接把应用发给朋友。要在真实的 iPhone 上测试新应用,开发者必须向苹果购买每年 99 美元的许可证(Apple 2014b)。应用只能在少数几台设备上测试,并且只能通过苹果的应用商店进一步分发。这是我们所描述的 iOS 网络中的主要节点,也就是卡隆(Callon 1986)所说的“强制通行点”(obligatory passage point)。

到 2014 年底,应用商店中已有近 150 万个应用。正如斯尼卡斯(Snickars 2012)和弗吕基格(Flueckiger 2012)所讨论的,它是小型企业的舞台,尽管最受欢迎的应用背后是大型服务(App Annie)。

苹果会在每个应用获准进入应用商店之前对其进行审核,《应用商店审核指南》(“App Store Review Guidelines”)(Apple 2015)包含 179 条规则。苹果核查应用是否可靠、安全,并符合 iPhone 的界面指南。苹果也在保护自身的市场地位:“提及任何其他移动平台名称的应用或元数据将被拒绝”(规则 3.1)。暴力、种族主义、性、医疗建议,以及提及药物、酒精或尼古丁使用的内容,都受到严格管控。这引发了一场关于审查的争论,维基百科的“苹果公司的审查”(“Censorship by Apple”)词条即是明证(Wikipedia contributors 2015)。

苹果对每次审核都收取费用。获准的应用可以免费分发,开发者也可以选择出售,在这种情况下苹果抽取 30% 的收入。要下载应用,用户必须提交个人的 Apple ID 和密码,付费应用则从与该账户关联的信用卡中扣款。

在与开发者、软件、注册费和信用卡公司的这些交锋中,在这些“力量的较量”(trials of strength)(Latour 1988)中,苹果是迄今为止最强大的力量。不过,开发者也拥有权力。正如斯尼卡斯(Snickars 2012)所表明的,若没有开发者方面的这种巨大创造力,iPhone 就不会取得今天的成功。用户这一方则逐一判断自己想要安装和使用哪些应用;由于下载量的竞争十分激烈,这可不是微不足道的权力。当用户选择保留哪些应用时,他们就在其他行动者之间的力量较量中充当了仲裁者。

移动性与无处不在:客户端与云

我们已经快速勾勒了应用网络,并指出了其中的一些权力关系。现在可以回到 SaaS 的问题上来。应用开发并不是由没有经验的人把服务混搭(mashing up)在一起。不过,应用仍可以连接到 Facebook、Twitter、Google 的众多服务,以及 Evernote 或 DropBox 之类的个人存储云。这就是普适计算(ubiquitous computing):你的数据始终与你同在;云始终在你头顶。但是,用一个瘦客户端访问所有软件的理念已经失落了。手机虽然性能强大,但对于现代 Web 服务所使用的高级客户端脚本而言仍然太慢。移动电话网络也比台式计算机的宽带连接慢得多。效率是开发应用而不使用手机网页浏览器的一个主要原因。苹果的 Objective-C 比 JavaScript 更高效,并让开发者对众多软件框架和硬件传感器拥有更多控制。另一个原因是屏幕太小:浏览器有几行用户界面(称为“chrome”),会占用宝贵的空间。在 Safari 浏览器中显示的 Facebook,顶部有地址栏,底部有后退按钮和其他控件。而 Facebook 应用可以使用整个屏幕,同时也更为高效。

手机上的云计算不是一个瘦客户端,而是许多个瘦客户端。每一个都必须安装并保持更新;尽管应用商店软件可以提醒用户有可用的更新,SaaS 那“无需安装、无需升级”的主要承诺已然落空。

结论

应用不会扼杀网络。尽管网站和应用之间存在一些重叠,但有相当多的应用从来不是、将来也不会是 Web 服务。安德森的观点是,目前在网络上作为商业服务提供的许多内容,例如新闻和社交媒体,可以通过为每个平台量身定制的应用更高效、更可靠地交付。从安德森作为一份印刷杂志主编的视角来看,最显眼的是媒体产业,这并不令人意外。对齐特林等人而言,业余参与才是网络的力量所在,也是使网络成为一种独特技术的那一方面。

业余爱好者制作了许多应用,但大多数应用可能是由专业程序员在业余时间制作的。开发一个应用,就是进入一个由苹果的编程语言和 Xcode 应用程序、苹果的审批服务、苹果的应用商店、用户以及 iPhone 本身所构成的网络。

应用不仅仅是服务;它们是应用程序,把 iPhone 的计算能力、网络连接、传感器和输出设备用于那些不会激怒苹果、而用户又认为有意义的目的。

感谢安德斯·松内斯·勒夫利(Anders Sundnes Løvlie)、弗罗德·古里拜(Frode Guribye)、亚坦·米夏尔森(Kjartan Michalsen)和约翰内斯·M. 林海姆(Johannes M. Ringheim)富有洞见的讨论。卑尔根大学(University of Bergen)媒介与信息科学系慷慨地借给我办公空间,让我在那里写下了本文。

参考文献 (References)

Anderson, Chris. 2010a. “The Web Is Dead? A Debate.” Wired, September 17. Accessed December 19, 2014. http://www.wired.com/magazine/2010/08/ff_webrip_debate/.

Anderson, Chris. 2010b. “The Web is Dead: Long Live The Internet.” Wired, September 17. Accessed May 27, 2015. http://www.wired.com/2010/08/ff_webrip.

App Annie. “iOS Top App Charts.” Accessed April 14, 2015. https://www.appannie.com/apps/ios/top/?_ref=header&device=iphone.

Apple. 2007. “Apple Reinvents the Phone With the Iphone.” Apple Press Info, January 9. Accessed December 19, 2014. https://www.apple.com/pr/library/2007/01/09Apple-Reinvents-the-Phone-with-iPhone.html.

Apple. 2014a. “Iphone 6: Technical Specifications.” Apple iPhone. Accessed December 19, 2014. http://www.apple.com/iphone-6/specs/.

Apple. 2014b. “iOS Developer Program.” Apple Developer. Accessed December 19, 2014. https://developer.apple.com/programs/ios/.

Apple. 2015. “App Store Review Guidelines.” Apple Developer. Accessed April 14, 2015. https://developer.apple.com/app-store/review/guidelines/.

Bolter, Jay David, and Richard Grusin. 1999. Remediation: Understanding New Media. Cambridge, MA: MIT Press.

Callon, Michel. 1986. “Some Elements of a Sociology of Translation: Domestication of the Scallops and the Fishermen of St Brieuc Bay.” In Power, Action and Belief: A New Sociology of Knowledge?, edited by John Law, 196–223. London: Routledge.

Costello, Sam. 2014. “How Many Iphones Have Been Sold Worldwide?” about tech. Accessed December 19, 2014. http://ipod.about.com/od/glossary/f/how-many-iphones-sold.htm.

Flueckiger, Barbara. 2012. “The Iphone Apps: A Digital Culture of Interactivity.” In Moving Data: The Iphone and the Future of Media, edited by Pelle Snickars and Patrick Vonderau, 171–183. New York: Columbia University Press.

Kittler, Friedrich. 1992. “There is no Software.” Stanford Literature Review 9 (1): 81–90.

Latour, Bruno. 1988. The Pasteurization of France. Cambridge, MA: Harvard University Press.

Liestøl, Gunnar, Anne Doksrød, Šarunas Ledas, and Terje Rasmussen. 2012. “Sensory Media: Multidisciplinary Approaches in Designing a Situated & Mobile Learning Environment for Past Topics.” International Journal of Interactive Mobile Technologies 6 (3): 24–28.

Snickars, Pelle. 2012. “A Walled Garden Turned Into a Rainforest.” In Moving Data: The Iphone and the Future of Media, edited by Pelle Snickars, and Patrick Vonderau, New York, NY: Columbia University Press.

The Open Group. 2013. “Using TOGAF to Define and Govern SOAs: Service-Oriented Archtecture Defined.” The SOA Source Book. Accessed May 27, 2015. https://www.opengroup.org/soa/source-book/togaf/soadef.htm.

Wikipedia contributors, “Censorship by Apple.” Wikipedia: The Free Encyclopedia. Last modified February 22, 2015, 14:04 CET. Accessed April 14, 2015. http://en.wikipedia.org/w/index.php?title=Censorship_by_Apple&oldid=648325693.

Zittrain, Jonathan L. 2008. The Future of the Internet and How to Stop it. New Haven, CT: Yale University Press.

注释