手机 app 是怎样诞生的?10000 字带你读懂 iOS 应用开发流程
编注:我们希望用一万字的篇幅,系统、深度地分享有价值的内容,让少数派读者可以享受获得新知的愉悦。
本期「万字解析」内容选自 。《 100 小时后请叫我苹果开发者 》面向所有有兴趣尝试苹果生态应用开发的读者,帮助初学者从零开始,高效开发出一款应用,先人一步,迈进苹果生态的开发世界。
▍寻找灵感
灵感来源于生活。许多视频博主都会做这样一个挑战,将地图贴在远处的墙上,蒙着眼睛扎飞镖。博主和观众约定扎到哪里就去哪里。本篇文章中,我们将以此为例,构思一个随机地名生成器的应用。二可以借此讲解独立应用开发的完整流程,帮大家梳理出一份学习指南。
明确大概想要做什么之后,接下来需要做的便是将抽象的地标生成器概念具体化。我们会将其转化为可执行的应用方案,并确认目标人群。开篇提到,本应用的灵感来源于飞镖扎中地图上的地名,那么在手机上创建一个飞镖扎地图小游戏合适吗?
好像也不合适,当我们把地图显示出来,并给予用户一个飞镖时,用户还是可以根据地图位置判断可能被扎中的区域。进一步思考将其变成可行应用的方法,可以考虑回到问题的本源来。我们想要的无非是给用户一个具体的、可前往的城市名称。
落到实处,我们可以创造一个能展示随机城市名的界面。提供一个随机按钮,用户按下后,程序直接显示出城市名好像有些枯燥。那么用带点赌博性质的游戏开箱子的机制如何?似乎更有娱乐性一些。我们可以将正面有随机城市名的卡牌背面朝上,当用户翻牌时,卡牌不会立马反面,而是会播放一个小动画拉高用户期待。
目标用户 Target Audience
大想法已定,接下来我们需要考虑目标用户。在本应用中,我们的目标用户是视频博主和热爱旅行但又不希望总被热门目的地左右的背包客。这些潜在用户去搜索,尝试一款随机地名生成器应用的可能性更大。
用户画像 Persona
在产品设计中,有时会进一步描述目标用户中的一个明确个体,这一流程叫做制作用户画像。用户画像可以是设计中的一个理想的客户描述。本应用的用户画像则可以是一个 20 岁左右管理 Bilbili 频道的男性、他经营的是一款美食探索栏目,他比较喜欢尝试新鲜事物,看到目前比较火的随机目的地挑战,他也有兴趣参与进来,去一个未知的目的地拍一期视频尝试当地特色美食。
可行性验证
有了灵感之后,你是不是着急着想要开始制作了?别急,在制定具体需求前,用一个案例介绍几个与产品相关的重要概念。
网友 @BasilBricks 制作的乐高迪士尼城堡模型 - Reddit
试想你在拼装一个迪士尼乐园的乐高玩具,比如上图所示,你会如何规划拼装流程呢?你也许会按照说明书一步一步来,先完成塔尖、完成大门、最后完成城堡的安装。城堡本体安装完成后,虽然距离迪士尼乐园建设完成的大业还有很长距离,但你已经可以看出这一项目的基本雏形。
在以上的设想中,我们将具体的创作流程分为以下三个阶段。
灵感萌芽 Ideation
基于你对生活的观察,你可能会发现身边不同领域存在的改进空间。在这一阶段,你可以使用不同方法来完善一个灵感,比如头脑风暴。
基本可行性产品 MVP
这一阶段则是验证灵感的最重要阶段,MVP 的英文全称为 Minimal Viable Product,你可以将其翻译为最基本的可行的产品。
M代表着基本、最骨干的功能,用户看到后会知道你在做什么。
V代表可行的,它意味着在此阶段,这些基本功能可以被一些用户拿来进行尝试。程序设计者常犯的一个错误便是凭空猜测,假设用户需要这些那些的功能,并将自己所知的内容自然而然地当做用户也知道。实际则不然,对于用户来说,他们对你的想法、理念一无所知。制作完 MVP 之后,你就可以拿着你的 MVP 去请用户盲测了。你可以自己设计一个简单的问卷,事先不作说明。拿着 MVP 产品去请用户盲测,之后再按设计好的问题提问,来验证用户的使用流程是否如你预期,以及你所创作的产品是否可以满足用户的实际需求。
P代表有价值的成品。
不太完美的 MVP - Unsplash @markkoenig
对于乐高迪士尼乐园项目来说,MVP 大概是你拼好了迪士尼城堡,把迪士尼乐园厂区的砖块放在大板子上的时候。虽然迪士尼乐园的其他地方还很空旷,城堡本身的细节也没有拼装完美,但别人已经可以由你的迪士尼城堡看出其他区域建成后的样子。
迭代周期 Design Cycle
在不同领域中,迭代周期的概念被广泛使用,重复推进这一循环的步骤,可以帮你更好地推进当前产品。收获了产品反馈后,做产品的人通常会选择两个方向继续前进。一类人会将 MVP 完善后直接推向市场,由市场反馈决定接下来的需求和迭代方向;另一类人会继续坐下来完善产品,直到期望的所有功能都完成后再推向市场。
无论你是哪类人,你可能都要面对产品迭代的周期,来对不同功能点,根据反馈评估,对产品进行更新,最终完善产品。这一流程一般来说是一个完整的设计、思考与评估闭环。
对于应用程序来说,新需求可能来自你自己或用户评论。你的用户会提出许多他们想要的功能,你需要根据产品在市场中的定位,来决定是否采纳这些功能建议。决定后,下一步便是创建归类描述不同需求的待办事项,并为其功能进行设计,满意后便可以将代码落地并发布更新。有些开发者还会选择诸如 A/B 测试来将同一种需求制作两个或多个变种,并根据用户反馈来决定哪一种进入最终版。
▍记录需求
在上一节可行性验证中,我们使用乐高迪士尼乐园的案例,展开探讨了灵感可行性验证和产品迭代的思想。接下来将回到