选择移动实施策略

过去五年移动技术的突然爆发提供了巨大的机遇。虽然看起来许多移动平台将继续蓬勃发展,但移动用户对应用程序的用户体验要求非常高。本文介绍了两种实施移动渠道的策略,这些策略将有助于平衡用户体验和平台覆盖范围,同时为您的应用程序提供前进的道路。

2012年5月21日


Photo of Giles Alexander

Giles Alexander 是 Thoughtworks 的首席顾问。他拥有研发产品开发背景,现在专注于帮助 Thoughtworks 的客户开发和交付移动应用程序以及支持架构。


为什么移动很重要?

移动是新的网络:在 2000 年,企业意识到商业和客户关系的未来就在刚刚爆炸式增长的网络上。几年后,网络商务已经超越了传统的线下商务。移动商务目前只是网络商务的一小部分。但几年后,它将反过来超越传统的网络商务。

大大小小的企业都知道这一点,并且正在规划产品以备战并利用即将到来的移动使用浪潮。这些产品具有创新性和吸引力。事实上,大多数企业正在规划的产品仍在等待移动技术赶上来。

移动的爆炸式增长是有充分理由的。人们更喜欢移动设备的参与度和即时性。移动设备融入人们的生活方式,与他们一起移动,而不是要求人们按照技术的条件来满足它们。而这种变化带来了新的机遇,远远超出了通过新渠道销售相同商品的范围。

然而,移动市场在多个平台上分散。仅仅拥有伟大的产品创意已经不够了。你还需要有一个计划来实施这些想法。你的计划需要考虑许多不同的因素。但首先,哪个更重要,体验还是平台覆盖范围?

为什么体验很重要

在过去的十年中,随着网络的兴起,广告一直是销售的公认智慧。这是准确有效的。网络一直是直接连接和去中介化的巨大泥潭。虽然这对消费者来说很棒——在一定程度上——但这依赖于供应商找到一种方法,将他们的名字放在这些消费者面前。结果是针对性和侵入性更强的广告竞赛。

移动提出了一个问题

如果我的商店是你最喜欢的商店,它总是放在你的口袋里,为什么我需要知道你昨晚吃了什么?

也就是说,高质量的体验会吸引客户并留住他们。毕竟,购物是一种休闲活动。一旦留住,对这些客户进行特定跟踪以进行广告宣传就不那么必要了。但是,保持领先的用户体验是必要的,因为这是移动用户所追求的。

过去五年的移动爆炸是一个用户体验保真度稳步提高的故事。苹果几乎完全依靠提供更高质量的体验,在移动市场上确立了强大的地位。反过来,跨平台的应用程序开发人员的目标是满足或超越移动用户的更高期望。

微软在移动领域迟来的加入,推出了 Windows Phone 7,试图通过超越苹果的 iOS 体验来获得市场地位,这一点尤其说明问题。他们似乎确实超越了苹果,但这是否为时已晚?

开局

虽然体验可能是首要目标,但需要考虑多达四五个不同的移动平台:iOS、Android、黑莓、Windows Phone 7 和移动网络。如果其中两个以上平台对你很重要,那么在所有平台上提供高保真体验将是一项极其昂贵且漫长的操作。这并不是说在所有重要的平台上提供出色的体验不值得追求。与其试图立即实现,不如将其视为一个目标。

相反,考虑一下你进入移动领域的第一个行动应该是什么。第一步将涉及在平台覆盖范围和体验保真度之间进行一定程度的权衡。你的应用程序、你的业务、你的用户和市场将指导你权衡应该是什么。在所有这些限制条件下,你的选择范围从支持一个平台的超高保真体验到支持所有平台的简陋体验。

为了方便起见,我们将这两个极端分别称为激光策略和全面覆盖策略。

重要的是要记住,平台覆盖范围和体验保真度之间的权衡仅仅构成你进入移动领域的开局。移动应用程序和策略将不断发展。无论你从哪个位置开始,随着时间的推移,你将能够朝着“精彩区域”发展,在那里每个平台都支持高保真用户体验。但是,你可以用来发展应用程序的技术将根据你为开局选择的策略而有所不同。

你将不得不在这两种策略之间做出选择,而这个选择将影响你的应用程序在生命周期的前两年的表现。重要的是要对这个决定有意识,要了解这些策略的优缺点以及每种策略的演变路径可能是什么。

激光策略

激光策略是专注于一小部分功能和一个平台,但提供非常精致和沉浸式的用户体验。当体验对你的应用程序或产品至关重要时,你会采用这种策略。通常,应用程序本身就是产品。

例如,你的目标可能是提供一种全新的航班购物方式,就像 Hipmunk 一样。或者你的应用程序可能试图接触到非常特定的客户群体,这些客户可能受到设计的影响很大,就像 Instagram 一样。

无论哪种方式,体验都是王道。选择一个平台,并在该平台上构建一个非常高保真体验的应用程序。

演变

一个显而易见的选择是水平演变:将应用程序移植到另一个移动平台。添加另一个平台将导致构建和维护成本增加,因为一个新的开发团队将与现有的开发团队一起启动。在移植工作结束时,将支持一个新的平台,但不会引入任何新功能:本质上,你只是再次获得了相同的应用程序。除了错失扩展产品范围的机会之外,真正的损失是学习和调整产品功能集的机会。

另一种方法是利用新平台探索新的产品和功能想法。这可能会导致功能集不同,但体验保真度较低。如果新功能成功,这些功能可以重新整合到原始应用程序中。

激光策略有一个特定的演变,我们称之为拥抱差异。但在深入探讨这种方法的更多细节之前,我想将激光策略与另一种极端的策略进行对比:全面覆盖策略。

全面覆盖策略

全面覆盖策略是专注于在许多(如果不是所有)移动平台上构建一个保真度较低的应用程序。该应用程序将在所有平台上提供一致的功能集和体验。当您已经拥有庞大的用户群,并且应用程序将成为访问现有产品的全新渠道时,这种策略最适合。

由于您现有的用户群,最重要的是让新渠道出现在尽可能多的用户面前。显然,平台覆盖范围是王道。但是,由于这是移动设备,体验仍然非常重要。与其提供降级的体验,不如提供简化的体验,并提供最少的功能集。

演变

这种策略的演变比激光策略要简单得多。通过提高所有平台上应用程序的体验质量,垂直演变您的应用程序。但是,有两点需要考虑。

首先,一些平台比其他平台更有价值。找到对您的产品和用户最重要的平台,并将您的精力集中在那里。允许这些平台上的体验逐渐(或大幅)领先于其他平台。

其次,全面覆盖策略假设某种形式的跨平台技术。跨平台框架等通过提供最低公分母方法来工作。这使得应用程序开发保持一致,但它对您可以提供的体验质量设置了上限。在选择跨平台工具包时,重要的是要考虑这个上限,上限是否足够高以满足您的使用需求?是否有办法突破上限,至少在您最有价值的平台上?如果不考虑这些问题,您可能会发现一年左右后您将从头开始重写您的应用程序。

一种称为利用相似性的演变策略在采用全面覆盖策略时非常有效。在详细介绍之前,我想回到激光策略的演变方法:拥抱差异。

拥抱差异

一旦您决定激光策略是您最好的开局,从那里演变到扩展平台覆盖范围的一种方法是拥抱平台之间的差异。每个移动平台和渠道都有不同的交互模式和使用趋势。移动设备嵌入到人们的生活中,因此虽然您可能将相同的产品作为应用程序提供给 iPhone 和 iPad 用户,但 iPad 的使用场景不同,这意味着应用程序对用户来说实际上是不同的产品。

与其试图假装所有平台基本上都一样,不如利用这些差异作为一种方法来实验和扩展应用程序的功能集。

以 Instagram 为例,它最近被 Facebook 收购。他们只通过 iPhone 应用程序和两个功能非常有效地发展起来:将复古滤镜应用于您的照片并与您的朋友分享。他们是激光策略的典型例子;他们甚至没有桌面网站。

在他们通过 iPhone 发展壮大的过程中,反复出现的问题是他们何时会发布 Android 应用程序?未言明的假设是 Instagram 进入更大市场份额的最佳途径是发布一个等效的 Android 应用程序。但 Instagram 的市场份额不是问题。他们的发展速度快于他们的处理能力。他们的问题是他们实际上不知道如何利用他们建立的庞大用户群和社交网络的价值。

例如,一个普通的 Instagram 用户只能使用他们的 iPhone 与他们的社交网络互动。iPhone 的交互模型是围绕发布照片或快速查看当前发生的事情而构建的。它不适合浏览或更深入地探索。如果一个 Instagram 用户开始关注另一个用户,他们无法轻松地浏览该用户的旧照片。从该新用户处关注链接也很不方便:他们喜欢哪些照片,他们还关注谁?

所有这些任务都更适合于现在不受欢迎的桌面网络,或者可能是平板电脑。

虽然 Instagram 最终确实开发了一款 Android 应用——其 iPhone 应用的直接移植版本——但他们本可以采取另一种路线。

  1. 构建一个桌面 Web 应用,允许现有的 Instagram 用户探索他们的社交网络。这将主要是一个只读应用,除了它允许用户扩展他们的社交网络。它最引人注目的功能将是已发布照片的各种幻灯片。这个桌面 Web 应用将提供 iPhone 应用没有提供的全新功能。此外,它将鼓励现有用户群完善他们新生的社交网络,并在一定程度上接触到其他移动用户,至少允许他们浏览 Instagram 的世界。Instagram 采取这一步骤的额外成本将是微乎其微的。这是一个需要支持的新平台,但它是一个拥有广泛且易于获取的技能的平台。现有 Instagram 开发人员很有可能能够接手这个平台,而不会出现任何明显的滞后。
  2. 调整桌面 Web 应用,使其成为一流的 iPad 体验。只需少量工作,他们就可以在新的平台上拥有一个具有全新功能的体验极佳的应用。
  3. 利用这个 iPad Web 应用,采用混合方法将其嵌入到原生 iPad 应用中。整合现有的 iPhone 照片分享代码,提供一个集社交网络探索和原始照片分享功能于一体的原生 iPad 应用。此时,Instagram 已经扩展了他们的平台覆盖范围和功能集。他们以一种能够快速纠正方向错误的方式做到了这一点,并且通过一系列小的步骤,他们得以保持高品质的体验,这帮助他们成名。

正如我上面所说,Instagram 实际上最终发布了一款 Android 应用,而不是遵循这种策略。然而,Instagram 被 Facebook 收购可以被视为这种方法的一种变体。他们下一步将走向何方,这将非常有趣。虽然他们现在是世界上最大的社交网络的一部分,但 Facebook 承诺让他们继续独立运营。下一步显然是利用 Facebook 的强大力量来增强他们有限的社交网络功能。

这个工作示例仅仅是一个示例。但它很好地说明了在使用激光策略进行开局时,除了将相同的应用移植到其他平台之外,还存在哪些替代方案。混合 Web 方法在这个示例中非常突出。预计混合 Web 方法将在激光策略的许多演变中发挥重要作用,因此,如果需要采取任何步骤来排除这种选择,务必谨慎。

利用相似性

与拥抱差异是演变激光策略开局的一种有效方式类似,利用平台之间的相似性可以成为演变覆盖所有基础策略的有效方法。如果您选择了覆盖所有基础策略,平台覆盖范围将是您的首要目标——这意味着,随着新功能的引入,这些新功能应该在所有支持的平台上可用。

但这是移动领域,用户体验至关重要。虽然开局可能允许提供一个简陋的体验,但随着时间的推移,这种体验应该得到改善。激光策略大致呈水平演变,而覆盖所有基础策略大致呈垂直演变。唯一的区别是,随着确定哪些平台最有价值,应该努力加速这些平台上的用户体验。

虽然混合 Web 方法可以帮助演变激光策略,但我们预计它将成为任何覆盖所有基础策略的基础。

对于这种策略,我想请您考虑一下 DemocracyNow! 的例子,这是一个总部位于纽约的全球电视和广播新闻节目,通过网络进行广播。DemocracyNow! 的目标是接触尽可能多的潜在听众和观众。为了实现这一目标,DemocracyNow! 意识到,提供适合听众和观众的机制非常重要,因此他们开始构建移动应用。移动应用应该让用户在早高峰通勤时轻松观看 DemocracyNow! 节目。

DemocracyNow! 决定通过构建一个移动 Web 应用来解决这个问题。除了提供高质量的平台覆盖范围之外,这还提供了一些能力来应对他们可能遇到的体验天花板。例如,鉴于 DemocracyNow! 的节目可能是相当大的视频文件,您如何允许观众下载这些视频以便稍后观看?HTML5 确实提供了离线存储,但容量非常有限,网页对运行后台下载进程的能力有限。

在这种情况下,体验要求不是针对高质量的用户界面。

这种情况非常适合采用混合方法。将 DemocracyNow! Web 应用嵌入到原生应用中。应用的原生部分可以随后在后台下载视频,并将其提供给 HTML5 UI。这是一种特别强大的方法,因为 HTML5 不仅在 iOS 和 Android 设备上提供了非常高质量的体验,而且在质量较低的设备(如 BlackBerry 和 Windows Phone 7)上也能很好地降级。

切换到这种混合方法是突破跨平台方法固有的体验天花板的有效方式。在真正复杂的混合方法中,除了允许后台访问原生设备功能之外,还可以切换跨平台和原生 UI。为此做好准备需要仔细考虑所选择的混合方法。HTML5 具有很多优点。

指导原则和理念

从根本上说,只有一套原则指导移动策略的选择。首先也是最重要的是,我们建议遵循来自 精益创业 运动的想法。这种运动鼓励人们专注于定义和开发仅包含最低限度必要功能集的产品。移动领域为我们提供了独特的机会。虽然大多数大型公司的核心 Web 开发已经发展成为一个庞大的组织,拥有自己的生命和目标,但移动开发通常是从一个规模小得多的兄弟姐妹开始的。随着时间的推移,它当然会成长。但当它很容易,而且人们可能没有密切关注时,尝试将移动开发作为一家初创公司来运行。

使用初创公司理念的目的是,通过尽早发布,您将更快地了解您的产品实际上应该是什么。学习是一个关键原则。移动领域是全新的,平台正在快速发展,人们与移动的互动方式也在不断发展。这意味着将会有很多机会,但您需要学习并快速行动才能抓住这些机会。

如前所述,选择更开放的技术有很多优势。通常,开放技术不太可能限制您未来的行动。这是因为开放技术可以得到多个供应商的支持。每个供应商可能对技术的发展方向都有略微不同的看法。在使用相同技术的情况下,在供应商之间切换的痛苦要小得多。更具体地说,优先考虑 Web 和 Web 技术。除了开放性之外,它还拥有有史以来最广泛的供应商支持。

最后,避免以应用的版本为单位进行思考。也就是说,不要将多个功能和平台发布捆绑在一起,而是要考虑功能,并计划独立发布这些功能。虽然出于营销原因,您可能选择将功能打包在一起,但这应该完全独立于技术和实现。将功能与版本分离还将允许您独立地移动平台支持。

衡量维度

虽然我们认为用户体验和平台覆盖范围是确定移动实施策略时要使用的两个关键维度,但还有许多其他变量需要考虑。

  • 生命周期:您将多久进行一次应用开发流程?应用的预期使用寿命有多长?它会被很快替换吗?寿命较短的应用更适合使用激光策略:如果应用不需要维护,快速开发的单平台应用可能是最合适的。
  • 预算:您已经决定构建一个应用,因此您显然可以负担得起一些东西,但您能负担得起多少次更新?如果您的预算足以发布,但不足以进行多次更新,那么激光策略将允许您有效地专注于高价值平台,并且只需要进行少量发布。
  • 现有系统和内部技能:您是否拥有大量现有的内部系统,任何应用都需要与这些系统集成?您可用的内部开发技能是什么?您是否拥有大量渴望接受再培训的 Java 开发人员?如果您拥有庞大而复杂的现有系统,移动应用可能只是您现有产品的全新渠道。此外,对内部技能进行再培训需要几个版本才能收回成本。覆盖所有基础策略可能适合。

你的用户

  • 他们是谁?是什么驱动着他们?他们的统计特征是什么?他们与移动技术的互动方式?可以使用激光策略很好地定位目标用户群,而如果您的用户群很广泛,那么您最好的选择是尝试使用覆盖所有基础策略来接触尽可能多的人。
  • 竞争对手在做什么?通常,对竞争对手做出反应不是一个好主意,但如果移动或用户体验是您的关键差异化因素之一,那么了解竞争对手的做法非常重要。
  • 营销炒作:您是否打算围绕这个应用制造营销炒作?炒作是针对应用本身,还是为了制造品牌炒作?品牌建设活动可以有两种方式:如果应用旨在为您的品牌做出贡献并扩展您的品牌,那么您应该快速行动。但是,如果应用要成为一个独立的品牌,那么质量和长期演变就显得更加重要。

应用程序

  • 性质:应用是品牌建设活动的一部分吗?是竞争的一部分吗?是用户偶尔会使用的东西,还是旨在成为一个长期的主力产品,它将实质性地取代客户与您的产品现有的沟通渠道?
  • B2[ECB]:是面向员工、客户还是企业的应用?这些应用将具有截然不同的交互模式。普遍的观点是,员工可以容忍质量低得多的体验。但是,这种情况正在发生变化。随着移动提高了消费者对体验的期望,它也提高了员工的期望。随着自带设备的出现,将员工视为一个被俘虏的受众已经不够了。
  • 原生设备功能:您的应用需要访问哪些原生设备功能?

你如何实现?

本文介绍了激光策略和覆盖所有基础策略,以及这些策略如何演变为一种长期的、可行的移动策略,但您实际上如何实现这一切呢?

执行任何实施策略都涉及有关组织结构和技术选择的决策。在本文中,我将暂时不讨论技术选择,只是说,如上所述,混合 Web 方法具有很大的潜力。

实现激光策略

如果您决定遵循与激光策略非常接近的策略,那么开发组织应该反映这一点。这里最重要的方面是抛弃任何关于维护功能和体验一致性的想法。相反,允许每个平台以不同的速度发展。

实现全面覆盖策略

在安排您的开发组织以交付移动应用时,首要目标将是能够在所有平台上扩展功能集和体验。实现这一目标的最佳方法是独立地开发和交付功能:安排“Y”形功能团队,负责跨所有移动平台和后端系统对新功能进行端到端的开发。Y 的“茎”开发任何后端和应用逻辑更改,然后分支扩展到将功能交付到各种移动平台。这种功能团队安排将使团队能够灵活地为每个平台提供最佳体验。

结论

最终,每个人都知道移动设备是未来的趋势。科技界的三大巨头目前正在争夺这个市场。但与之前的网络不同,移动设备正在让用户体验变得**至关重要**。它重要到足以彻底改变在线商务的形态。很少有企业能够长期忽视这一点。

然而,移动设备也存在碎片化问题。考虑到构建高质量用户体验的成本,该如何应对呢?预计在初期,你将不得不权衡平台覆盖率和用户体验。随着时间的推移,你将能够逐步提供覆盖大量平台的优质体验。但为了高效地实现这一目标,你需要在选择移动实施策略时有意识地进行选择。

想象一下你的应用程序或产品可能如何演变,为最有可能的演变路径做好准备。并特别关注 HTML5 和移动网页技术能为你带来什么。

最后,利用移动设备的全新特性。你能否将你的移动开发团队打造成精益创业团队?你能否在该团队中建立快速迭代和学习的文化?然后为你的开发团队做好准备,迎接这个激动人心的新世界。


致谢

我要感谢 Jonny LeRoy 和 Pete Hodgson 帮助我发展这些想法并审阅本文。我还想感谢 Dan Tao、Renaud Tircher 和 Srini Raguraman 帮助我发展这些想法。最后,感谢 Dan、Pete 和 Jonny 在命名方面非常出色。

重大修订

2012 年 5 月 21 日:martinfowler.com 的首个版本