Paul Gaubil是家庭改善App MagicPlan制造商敏普的首席执行官和联合创始人。

最近,关于开发人员是否更好地服务于开始移动软件生产iOS或Android-First,已经有很多争论。

虽然这对每个开发人员来说可能是不同的,但是根据具体情况,我们在敏感的情况下,我们对每个方法都有很好的理由选择了魔术师的发展的iOS - 首先方法。我们现在正在在iOS上开发和迭代之后在Android上发布我们的软件。我们的软件以多种方式是独一无二的,并且可能会对开发人员之间的当前辩论提供一些见解,或者至少说明在两个平台之间选择时的一些更深入的问题。

在我们的案例中,由于Apple是第一个释放配备有陀螺仪(iPhone 4)的主流设备,这一决定比大多数人更容易。

MAGICPLAN是一个应用程序,捕获房间的形状和尺寸,以创建全面,准确测量的楼层计划。该捕获过程利用移动设备(加速度计,陀螺仪和相机)中的每个可用传感器,无需绘图或测量工具即可执行此操作。在我们的情况下,支持每个新设备需要的不仅仅是开发新的接口 - 它需要了解总硬件组合和正确解释输出数据。出于这个原因,开发的复杂性与硬件的普遍性相比成比例。

为了减少复杂性,更快地创建可用且有用的软件,开发开始并在iOS上持续了几年。而不是支持从竞争OEM(和移动运营商专用)的竞争中有巨大变化的设备列表,而是通过将我们的注意力集中在苹果更具凝聚力上,快速地向市场带来稳定和有用的产品生产线。然后,我们能够集中精力进行我们产品的迭代和增量改进,以满足市场需求。只有在达到一定程度的成熟程度后,Android Development成为我们的现实可能性。

经过两年的iOS,超过500万下载,用户每天创造超过20,000楼的计划,Android成为我们的“必须有”。

为了开始,我们必须对Android提供的硬件和设备进行一些基本分析,以便确定对它们的开发的兼容性和可行性。那个时候,11,865个独特的设备运行某种形式的Android操作系统。达到50%的活动市场所需的支持86,而509个独特设备所需的80%。虽然三星远离Android设备的领先制造商,但S3的旗舰型号仅占安装了Android基础总数的六个百分点,而S2则占3.9%。今年的模型,S4占总市场份额的1.5%。现在,这些数字和它们背后的指标可以辩论(我们的来源是Androidfragmentation.com),但硬件普遍性和“碎片”的基本问题显然是对我们这样的应用程序的发展令人不安。

我们的第一个决定是重构和重构代码尽可能重构成常见的软件开发套件(SDK)平台,全部用C ++写入,随后设计了与Android和iOS兼容的统一的多传感器和多线程架构。这使我们可以在一个平台上验证所有关键的传感器处理代码,并轻松地端口到另一个平台,以及为一系列合作伙伴关系提供SDK集成选项。

其次,我们很快意识到我们不得不放弃算法校准和认证的想法,因为不同硬件的众多组合将使这是一个过于昂贵的运动来完成自己的练习。

我们转到了Android社区,那些告诉我们他们渴望获得申请的Android版本的人。我们的开发团队在志愿者的设备上安装了一块可以安装的软件,并将传感器和校准数据发送回给我们。这是为了更好地了解野外的不同变化。

我们认为自己非常幸运能够拥有如此忠诚和渴望的社区,以便我们能够以这样的方式依赖它们。这种经验,本身就突出了两个主要优点,也可能是Android平台中最大的弱点。如前所述,我们被辛勤社区与Android设备的社区免受帮助,愿意帮助我们为您的软件帮助我们的软件;通过Google Play商店或通过自动安装运行测试版测试的能力使得对我们作为开发人员的应用程序开发的细化和信息收集阶段非常愉快。这些东西都没有以相同的方式获得iOS。然而,使这一步骤的硬件碎片甚至必要的罢工相反的票据。

在我们的案例中,真诚怀疑,足够大的群体本来愿意帮助我们解决碎片问题,我们没有在iOS上开始,并拥有一项工作,合法的产品。在Android上的“碎片化”往往是关于操作系统的版本或(通常可怕的)定制OEM皮肤/功能的特征。这些肯定确实成为一个问题,例如当我们发现一些在设备(和规格表)中包含陀螺仪的制造商,但未在其软件中启用它。

但是,在我们的情况下,硬件的碎片和普遍性是我们最大的挑战。我们无法允许我们的软件在我们没有测试和认证的设备上运行,因为未校准的传感器融合的结果将为我们的客户提供孤立,并在我们的公司和产品上反映不佳。

这是一个艰难的问题,以协调,因为谷歌对OEM之间的竞争进行了巨大的竞争来制造了良好和差异化的硬件,以便以新的和令人兴奋的方式推进平台。思考是,平台通过竞争得到改善,竞争得到了更大的竞争对手。有趣的硬件创新出现了对消费者来说的愿望。

当然,这使得任何开发专业或硬件密集型应用程序(即:游戏)更多的挑战。它全部,但确保这些类型的软件将首先在iOS上首先开始,以便在移植到Android之前在更简单到的平台上测试他们的受欢迎程度和商业可行性。

至于MAGICPLAN,我们能够成功地使用这一战略,并在九个月的开发工作和“社会测试”由我们的INNERPID追随者,我们的Android发布现在已准备好进行黄金时间。