天天看点

《互联网产品设计》一1.4 本地应用程序作为网络产品

本节书摘来自异步社区《互联网产品设计》一书中的第1章,第1.4节,作者【美】randy j. hunt,更多章节内容可以访问云栖社区“异步社区”公众号查看

互联网产品设计

“能在ios和android上运行的程序是什么?”这是一个很好的问题。在你的设备上直接运行,而不是在网络浏览器中运行的应用程序通常被称为“本地应用程序”。例如,iphone版本的twitter就是基于ios系统编程的,可以用于iphone和ipad。因此,iphone版的twitter是ios平台的“本地应用程序”。

多年来我们都在自己的桌面上使用本地应用程序。“桌面应用程序太旧了吧”,你说什么?再想想。流行的网络产品,如evernote一类的应用程序可以运行在你能想到的每一个平台上,包括mac os x和windows。因为evernote在任何地方都可用,你可以非常便捷和频繁地使用它。这也是能让产品保持可用和活跃的原因之一。

使用应用程序几年后,我开始相信我们应该像思考网络产品那样去思考应用程序。当然,它们有着固有的差异(其中有些让应用程序感觉更像盒装软件),但它们也有相似之处。让我们看看它们的差异和相似之处,并考虑如何通过网络产品的透镜去查看应用程序,以帮助做出更好的产品和程序。

网络产品从来没有“被安装”的概念, 相反,它们只是“存在”在一个特定的url中。因此,它们在每个浏览器内都是随处可见的(假设合理地尝试解决了任何跨浏览器编程的怪异问题)。

因为产品代码存在于一个地方而不是安装在每个个人用户的设备上,所以一个基于浏览器的产品可以对世界上每一个用户立即改变或升级,这简直难以置信。网络产品分发给每个用户的单点形式,让用户仅需在网上访问该产品就能体验到最新最好的功能。

在大多数情况下,网络产品需要实现一个独立的代码,应用程序开发需要复杂的编程语言,当然还有ui(用户界面)设计以及其他的细节问题。此外,创建一个基于本地操作系统的应用程序通常需要为应用程序的每一个操作系统重新编程——android、ios、mac os x、windows、linux等。即使你正在开发一款多个平台都可使用的“克隆”产品,也难以避免大量的独特设计和工程工作。

如果这一切听起来像是不支持开发本地应用程序的理由,那么你将会在认为网络应用程序是唯一出路的设计派别中找到理想的合作伙伴。那么,为什么你还会开发一款本地应用?

本地应用作为首选的主要原因之一可能是,本地应用能更深地进入移动和本地的硬件设备(如内存芯片连接的设备、摄像头、麦克风、gps数据等资源)。

虽然这个断言通常是有争议的,但一般情况下,本地应用程序的执行速度更快,也更能响应用户输入。换句话说,它们经常让用户“感觉”更好。此外,本地应用程序可以更容易创建,所以它们不需要数据/网络连接工作。这方面对居住在地下排满各种参差不齐数据线地区或通过限制流量控制成本的用户来说更加重要。

最后,在某些情况下,由于上述原因,比起网络应用程序你的用户可能更喜欢本地应用程序,那些让人难以理解的原因根植于目标用户的观念中。他们可能更乐于购买软件并享受占有感,在这种情况下,本地应用程序可能非常合适。

尽管创建和发布网络应用不同于本地应用程序——它们不具有相同功能,但你的客户可能会同时使用它们。应用的类型是次要的,最终还是要基于整个产品的体验。如果你的产品服务很好,他们会很满意。如果他们预期的体验是许多类型产品的延伸,那么你将接受的挑战是达到或超过他们的

预期。

将互联网产品和本地应用产品在你的思绪中隔离开来,会危及一个深思熟虑的产品体验。这个结果很可能会对品牌和形象的持续构建带来负面影响。

在许多情况下,同一拨开发者会既做网络产品又做本地应用产品。发布、分发和安装对本地应用程序的开发要求非常严格,这或多或少降低了工作的流畅性。你可以接受这个过程,但我更喜欢重新定义本地应用程序,尽可能多地把它们当成网络产品。这种重新定义可以帮助你思考,使你的应用程序更容易改变和快速发展,并以自然的节奏进行迭代,与建立一个网络产品的步调保持一致。在本书后面我们将讲述所有这些想法的更多细节。

虽然应用程序可能有一些独特的约束、挑战和机遇,但让我们把它们看成是与网络产品无异的产品吧。在本书的其他部分将涉及它们。