我做的第一款应用是一款叫5coins的记账应用,初衷是学会ios开发。却没想到能经历这么多,当然自己也学到了很多, 分享给大家吧。
我做ios开发之前,一直做的是web开发,不断游走于php, python,html,js, flex之间。09年底购入一台macbook pro之后,一直想搞ios开发,但每次一看到objective-c那种奇葩的语法,心里就有马在奔跑,反复折腾几次之后,终于在12年底下定了决心开始钻入ios开发。
自己虽然不是设计师,但有一些基本的审美素质,所以在国外网站上20美元买了一套ui后,自己做了设计。交互也是自己画的,太拙劣了,就不晒出来了。
看上去是这个样子的
和大多数应用一样,上线后就没动静了,每周偶尔有几个人购买,对!是收费的,0.99美元。之后更新了2、3次,添加了小功能和修复了bug,但始终没有任何起色。
转机发生在一年以后,也就是ios7发布后。看完13年的wwdc,当时被yahoo天气等惊艳到后,我决定要重新设计一下我的应用了。在一个设计师同事的帮助下,应用就变成了这个样子,图标也重新设计了一下。
因为支持了64位,当9月份ios7正式开放下载前一周的时候,我收到了苹果给开发者的邮件说可以开始提交ios7的应用了,我便于当天就提交了。没有想到的是几天后接到了苹果打来的电话(美国的号码),说我的应用在ios7上面闪退,这个应该是当时系统的一个bug,如果你的应用同时支持32位和64位的话就会在64位设备上闪退,因为iphone5才发布,所以开发过程中并没有机器可以来测试。对方告诉我有两个选择,要么只支持64位系统,那么就不能支持ios6;要么放弃64位的支持,这样ios6和7上都能运行,让我决定后重新上传,他会尽快审核。我最后选择了仅支持ios7和64位并当天就重新提交审核并把价格改成了1.99美元,想着反正没人下,也不在乎这个价格了,苹果很给力,第二天审核就通过了。也正是因为这一次改版,彻底改变了这款应用的命运。
ios7正式发布后,每周的下载量略有提升,但还是非常少,完全没有任何办法啊,没钱刷榜只能力求苹果推荐,当时听说支持新特性什么的就更容易获得推荐,所以在13年底的时候花了时间增加了用户呼声最高的icloud功能,结果是给自己挖了一个大坑,后面详说。反正就这么一直不死不活的样子直到14年1月份。某天晚上睡觉前,我突发奇想把应用改成了免费几天(传说中的限免)。结果第二天早上,收到了一封appsgonefree发来的邮件,说他们推荐了我的应用。因为老婆一直用appsgonefree下限免应用,所以这个消息让我兴奋了起来,一直在期待统计数据的更新(因为没有加第三方统计库,而苹果的数据统计是一天一更的),晚上看到数据的时候把我乐坏了,1.4万的下载量,看来用户还是喜欢免费的啊。这个结果直接导致了应用的评分也大量增加,并且90%的都是5星评分。而大量的下载也会提升应用在市场上的排名,并带来更多的下载。而且限免结束后一段时间内的购买也会有提升,我猜想应该是用户基数上去了,知名度更高的原因。总而言之,这次限免让我尝到了甜头,因此每次更新的时候我都会顺便限免一次。
14年3月份的时候限免又被appsgonefree推荐,那次日下载量突破了3万,并且在各大(小)应用市场中的排名蹭蹭往上窜。
然后3月27日早上收到了一封用户邮件,他说他在新闻里看到我的应用,里面说有安卓版,但是他没有找到。我马上问他在哪个新闻看到的,于是他把地址给我了。是美国fox6台的一个地方新闻中的一个栏目叫做what’s appening,主要是向用户介绍最近流行的应用,节目中他们还特意准备了5张1美元来作为开场白的道具,略带喜感。下面是视频截图,可以看到主持人手中的手机中运行着5coins。
14年9月,被中国市场首页推荐
15年1月,被product hunt推荐,当天日下载量达到近13万
期间,网站也改版了好几次,下面是新版后的第一个网站(landing page)
第二次改版
现在的样子 5coins - the simplest expenses tracking app for ios
================= 但是,出来混的,迟早是要还的。==========
由于自己的失误,加上陷入icloud的坑,一次更新后出现大量用户数据丢失的情况,每天都会收到几十封来自用户的邮件,问数据怎么没了,我要一封封回,并且要尽量帮用户找回数据,要问用户的系统版本,要问icloud设置,要告诉用户可以通过哪些方法将数据弄回来。同时你要去想办法重现这个问题,接触过icloud的开发者应该明白,coredata(本地数据库)+icloud是噩梦般的存在,现在应该好一些了,特别是cloudkit出来之后。总之,我需要一边安抚用户的情绪,一边努力找到bug,提交新版本,向苹果申请快速审核(苹果很给力,两次申请都通过了,提交24小时内就通过了审核)。
但用户是没有耐心的,特别是丢失了数据的用户。所以app store出现了很多一星的评价,给大家看两个最让我难受的:
loved it until data was deleted
this was a very useful app... i used it daily to keep expense reports in check. until the latest update 3.4.4. everything has been deleted. 6 months worth of data. gone. fix or app is getting deleted like my data.
简单翻译一下:你特么不修复这个bug我就删了你这个应用,就像你删了我的数据一样!
thanks for the horrible update
this was a pretty cool program when i got it in january. i really liked the way my spending patterns changed when i could visualize where my money went. but this is also an archival app for your expenses. today they released an update and every single expense i had on the app prior to the update disappeared. i uninstalled and will avoid this app developer in the future.
简单翻译一下:数据全丢,太失望了,删应用,以后离这个开发者远远的。
那几天,心里非常难过,也非常后悔,后悔自己的错误给这么多用户造成了损失。
==========================================
以上就是我作为一个独立开发者做一款应用的过程,有机遇,也会有挫折,但真正能让你坚持下去的是还是内心的那份喜爱。以下是一些心得,回答题主的问题,希望也给各位想自己做应用的开发者一些启示。
1. 认真对待每一个功能
不稳定,bug多多的功能还是别上了,那是给自己找罪受。要支持一个系统的新特性?别着急上线,仔细阅读一下官方文档,网上看看人家的经验,争取找一个最合理的方案(best practices)。你今天心急随意上了一个功能,说不定哪天就会给用户带来不可挽回的损失。独立开发者意味着你需要承担更多的责任。
2. 时间总是有的
没时间不是理由,说自己时间不够的有两种人,一种是真时间不够,还有一种是懒,仔细想想你属于哪类?我家在无锡,工作在上海,5coins的大部分代码都是我周末在往返动车上完成的,周末时间不能用,因为要约会,哈哈。什么?程序员也有女朋友?当然有!而且还很漂亮!已经成为老婆了。
3. 不要停止学习
做独立开发者的最大的一个好处就是你可以不断学习你想要学习的东西,新的技术,新的平台特性,新的编程语言,你的全职工作很多时候并不会允许你有这么多机会自己去完新的东西,所以开发者利用自己的项目去学习是非常必要的。
4. 如何成为设计师
有设计师朋友一起做当然是最好,不过很多时候设计师都要你自己来当,但要记住一个原则,交互设计大于视觉设计。首先要好用,其次再是好看。至于如何把交互设计做好,这里的学问就多了,我也只是在学习过程中,除了对设备本身的特性要熟悉之外,最重要的是站在用户的角度去思考问题。视觉设计的话,自己实在没感觉就去买一套ui吧,也不贵,比你自己瞎整更省时间。现在老婆在我的引hu导you下也正在转行学设计的过程中。这是和她合作的第一款应用(大姨妈管理应用, 名字叫lunaria,免费的哦),怎么样?还是有点感觉的吧。我做这款应用是为了学习swift。
5. 需要累积什么经验么?你经验越丰富,走的弯路也就越少。但丰富的经验不是前提,因为作为独立开发者这个过程本身也是经验积累的过程。
作者:codingrhythm
链接:https://zhihu/question/29020285/answer/66095377
来源:知乎