最近半年断断续续在开发一个 iOS 端的个人管理类应用,名字比较特别:欲望与成就
整体来说,这是一个我理想中的生活工作方式的应用。里面包含了习惯培养,待办清单,事件记录,日常统计,番茄钟,定时器等各种小功能。
最初做这个 App 应该是受到一篇知乎文章 @
ZeroWWWWWWW 的在如何成为行动巨人上的回答的启发。做了一个简单的版本,放到 App Store 上供人免费下载。后来有很多用户都表示很喜欢这个应用,个人也想拓展一些功能,就重新开始开发,慢慢的加入了不少功能。
简单的看,可以理解为一个习惯培养类应用。
应用中主要由两种任务。第一种是成就,完成成就类任务就可以获得成就币。比如健身,阅读等。第二种是欲望,完成欲望需要消耗成就币,比如买个机械键盘。
成就又分为习惯和待办事项两种,前者是每天 11 点睡觉之类的习惯培养,后者是完成作业之类的待办事项。主要玩法就是通过完成任务积攒成就币,再去满足欲望花掉成就币。
既然是个人项目,当然是要变身成为全干工程师啦。
开发:
对于程序员,这部分应该是最简单的。全部用 Swift 开发的。当然也用上了 GitHub 上的好多轮子。
感谢以下这些第三方库
'SwiftDate', 'Realm', 'RealmSwift' ,'Localize-Swift','ColorMatchTabs', 'MJRefresh' , 'pop', 'SwiftySound' , 'UMengAnalytics-NO-IDFA' , 'IGColorPicker' , 'PopupDialog', 'SwiftyJSON' , "TableViewDragger"
产品设计:
这个项目应该是本人做得时间最长,功能最复杂的个人项目了,所以在产品设计上也花了不少时间。也是最有趣的地方。
先是开了一个公众号,方便和用户进行沟通,帮用户解决问题,也可以收集一些反馈信息。也正因为此,这个应用的功能越来越多了,但很庆幸的是,在加入了众多的功能之后,这个应用开上去还是比较简单的。简单的完成引导后就基本上手了。
和用户的交流过程中,会有很多收获。比如可以发现一些产品设计上的用户缺陷,可以及时修正。还有些用户会有奇怪的用法和想法,交流之后也会受到启发,设计出一些特殊的功能,比如应用里的天眼功能,就是受到用户启发后开发的功能。还有一些模棱两可或有争议的功能,我一般会提供一个配置项,让用户自行选择。
期间我也想出了一些特别有趣的功能,加上之后用户也很受用户欢迎。比如我有个 IAP 需要花 6 元钱购买一个 Pro 版本的 buff,有了这个 buff,就可以使用所有 Pro 版本的功能。并且这个 Buff 是有时效的,但用户只要每天能完成 3 个习惯,buff 就能延长一天,如果能每天都完成 3 个习惯,就可以无限期使用 Pro 版本了。这个 Buff 机制和 App 习惯培养的目标,简直是绝配。
因为本人做过一段时间的游戏开发,所以应用中也加入了一些动效和音效,很多用户就很喜欢满屏幕成就币滚来滚去的效果。
UI 设计:
用 Sketch,程序员花点时间简单学习一下,然后撸几个图标应该是比价容易的。再配合一些网上的资源,修改一下应该很快就能用上。我主要从
http://sketch.im/ 找一些图标的原型。然后修改、统一风格之后,切图导出成 pdf 就可以用上了。
唯一的难点可能就是应用的图标了,不过只要花点时间,总能弄出个差不多可以的图标的。我也前前后后设计了好几版图标才定下来。
中间遇到的一些挫折:
最大的挫折就是在数据库上面了。应用最初用的是苹果官方的 CoreData。后来觉得 MagicalRecord 开发起来更方便,就切换到了 MR 上。再后来为了支持在多台设备上同步数据,掉进了 CoreData + iCloud 同步的坑,这个方案苹果描述的很先进,花点时间做了 Demo 测试了下效果也不错,然后就跟进了。
结果,开发完善,本地测试通过后后。发布到线上,一些用户就反馈升级后有数据丢失,一开始以为是自己用的不对,还尝试调整了几个方案,折腾了几个版本,但问题一直解决不了。最后只好放弃了,切换到了 Realm。Realm 还是很赞的,有详细的开发文档(包括中文版),上手容易,使用方便。
应用下载地址:
https://itunes.apple.com/cn/app/id1051212505或者在 App Store 上搜索:欲望与成就
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/413134
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.