前段时间完成了我个人的一个iPhone应用"爱玩",这是一款可以提供音乐演出、讲座沙龙等各种同城活动信息的App,2011年9月底在苹果商店上线。 App下载链接:http://itunes.apple.com/zh/app/id464760869 意料之外的是"爱玩"在10月28日至11月4日的那周登上了苹果商店的首页,排在新品榜的第三位,在随后的11月5日到11月12日那周登上热门产品榜的第十位。一款应用能登上苹果商店的首页很大一部分是运气成分,这一点并不是开发者可以掌控的。但是我们可以掌控的是应用程序的品质,当它有幸被苹果的编辑们发现时,有更大的机会脱颖而出。如何保证应用的品质呢?我觉得需做到"知己知彼"。"知己"是在开发之前要明确产品的核心功能与定位,而"知彼"则是在产品发布之后要保持与用户交流通道的畅通,分析用户的使用习惯。这里就跟大家聊聊这款App的产品设计与用户分析。 关于爱玩的产品设计 做 "爱玩"一方面是出于个人兴趣,希望能够及时了解和参与一些和设计相关的活动,扩充自己的知识面,如果有一款App可以给我推荐一些活动,让我在碎片时间或是室外能够方便地接触到这些信息,那会对我非常有用。随后在iphone的 App store搜索了一下,发现这方面的App很少(当时豆瓣还未出"豆瓣活动"的App),便决定自己开发一款。当然我自己并没有活动信息的数据,好在豆瓣网可以通过API来获取网站上的同城活动信息,这样数据来源的问题就解决了。 做 "爱玩"的另一个主要目的,是想锻炼一下自己的能力,从头到尾去完整的开发一款产品。从事视觉设计已经有四年多了,我也常常问自己如何去突破和发展,我的答案是对互联网市场的敏锐度,对产品的方向把握和全局设计的能力,简单地讲就是能够把一个产品做成功而不是单单让需求方觉得界面好看。所以在设计之初,我问自己最多的一个问题就是"如果我是一个创业者,我会怎样来做这款产品?"我决定把功能尽可能的精简,满足用户核心诉求,使得第一个版本可以尽快发布。但简单不等于粗糙,我希望这款应用给人的第一感觉应该是轻量却很精致。同时,第一版发布后,接下去的产品发展应该是用户数据驱动,这就需要我们在产品中对用户的关键行为进行记录与分析。 最后决定第一版的功能如下: 1. 查看最近一周的热门活动:最基本最核心的功能,也是app启动后的默认页面。 2. 按分类查看活动:让用户有更多的选择空间,不局限于本周的活动。 3. 按活动的类别,地点,关键字与日期进行搜索:方便用户按自己的要求来筛选活动。 4. 查看从当前所在位置去活动地点的驾车/公交路线:充分发挥移动设备的优势。 5. 收藏活动,在活动开始前通过手机发提醒。 6. 通过邮件或是短信、微博,和朋友分享:邀约朋友一起参加活动是很自然的想法,同时也有利于发展新用户。 其 中1), 2), 3)是基本功能,1)回答了"这个周末有什么有趣的活动我可以参加?"这个问题,是app的核心功能,所以用户一打开"爱玩"首先就会看到一周热门。 2), 3)则提供给用户更大的选择范围,可以按自己的需求筛选活动。4), 5), 6)则是发挥手机平台自身的优势。其中5)可以增加用户的粘度(Retention),6)有则利于发展新用户(Growth)。 在具体的设计界面制作上选了一种比较简洁的设计风格,侧重在信息排版,一方面想要营造高端大方的感觉,一方面也是考虑到节省设计时间,从开始构思产品功能到两个尺寸的界面切图完成所有的设计工作都是在下班后的7点多开始每天工作2-3个小时,大约持续了两周,总共的时间开销大约在24个小时(不包括开发工作量)。中间修改最多的是一周热门的信息展示方式,从视觉角度来说希望这个tab能够有足够的吸引力和独特性,从交互角度来说又要让信息展示有序和操作直观,在这里要感谢stevegu在设计过程中给予我的建议和帮助也要感谢在做简单用研过程中给予我反馈和意见的同事们和好友们。 关于用户反馈与数据分析 无论产品的大小,取得用户的反馈都是非常重要。所以爱玩在设置页面中加入了比较明显的"告诉我们您的建议"按钮。实际效果很不错,我得到相当多的意见反馈。比如一开始爱玩支持的城市只有12个,很多用户要求增加他们所在城市的支持,如今爱玩已经支持超过50个城市了。再比如,有好多用户觉得微博分享在有些时候会比短信或是邮件分享更方便,所以在1.1版本中我们加入对腾讯微博和新浪微博的支持,上线后发现用微博分享的活动数量是短信分享的4倍。 对于用户的邮件, 特别是Bug报告或是要求增加城市的,一般都会马上解决问题并回复,最晚也是当天结束前回复。因此也经常收到用户的感谢信,人有时是很奇怪,这些感谢信其实内容都差不多,但你还是津津有味看每一封信,而且每次心里都有一种的满足感。另一个奖励是很多得到及时回复的用户还会在App Store给爱玩一个5星的评分,这实际上是对于爱玩最好的广告宣传。 之前自己也开发过移动应用,但一直对于用户数据记录这块不太重视,只是每天在itunes connect上看一下应用的下载量。爱玩的开发从各方面都比以前的几个app要更成熟,基本做到了"麻雀虽小,五脏俱全"。由于在用户主要行为上都做了后台记录,所以现在我除了可以看到用户每天的下载量,访问量外,我也能知道用户使用各功能模块的次数,比如"收藏活动"这个功能今天有多少人用, 哪类活动的收藏次数最多?多少人用了搜索功能?多少人用了分享功能,新浪微博分享与腾讯微博的使用比例?微博,短信,邮件分享的使用比例?有了这些数据,我就会更清楚在下一个版本中需要改进哪些功能点。在新版本上线后,又可以从数据上验证改进的功能是否真的起到了正面的效果。 在 1.0版本上线之后,我本想在1.1版本中去掉搜索Tab,简化成一个搜索框,然后可以加入像是"附近活动"这样的LBS功能。但从用户的使用数据中我发现不但搜索的使用频率相当高,而且各种搜索条件使用的比例相差不大,也就是说搜索分类,时间,地区以及活动名称关键字都有其存在的价值。所以最终我在 1.1版本中保留搜索Tab。我觉得这是一个不错的以用户数据来驱动产品的例子,开发者不应该想当然的去增加或是删减一项功能,一切须以实际用户数据为依据。 其实记录用户数据还有一个额外的好处, 当发觉某个数据当天或是前一个小时的数量与往常相比出入很大时,那很有可能这块功能出了Bug,可以第一时间把问题修复。这就好像用户每天都在帮我的应用做"体检",指标越多越详细,检验结果也就越全面。 用到的工具 工欲善其事,必先利其器。开发"爱玩"用到了不少很优秀的工具,而且大部分都是免费的,在这里也和大家分享一下。 * XCode,基础工具 * Photoshop,设计必备也不必多说 * Amazon EC2,顶顶大名的云服务,比起国内的大部分web hosting要强太多了。"爱玩"的服务器架设在Amazon的日本东京服务器上,速度相当不错。对于小型应用,Amazon现在还有一个一年免费的优惠,非常划算 * Mixpanel.com,对于用户数据驱动的产品,mixpanel给开发者提供了很好的用户数据分析与报表工具,强烈推荐 * BugSense.com,应用程序品质最重要的一环就是程序的稳定性,如果一个用户在使用"爱玩"的过程中程序崩溃了,BugSense可以向开发者发送崩溃的出错报告 * Bitbucket.org,用于源代码与设计源文件的版本控制与备份。不少人认为只有团队做项目才需要版本控制,其实不然。如果没有版本控制系统,要是误操作删除了重要的源文件,那你只能欲哭无泪了。或是当做一些尝试的改动时,如果不满意可以轻松的回到改动前的状态。 网上不乏iOS应用开发的文章与教程,今天分享内容主要是开发之前的产品设计,与发布之后的数据分析,这也是很多个人开发者容易忽视的部分,希望能给到大家一些启发和帮助。如果有任何建议或者意见,欢迎发email到:chenlian@vip.qq.com一起探讨,谢谢大家!