WallSquare -写给 Unsplash 的 iOS 客户端

初衷

最开始知道 Unsplash 是16年8月的时候,在知乎看到有人推荐Instant这个 Chrome 扩展--每次打开 Chrome 扩展页更换一张精美照片壁纸,使用下来体验很好,就去了解了一下。于是乎知道 Unsplash 这个网站,所有照片都是用户主动上传,并且以CC0协议(简单理解为作者放弃照片版权,任何人可以自由下载使用),而且官方还提供了 API ,就想着能不能写点什么,不过那时很忙,搁置了。

直到10月中旬,手头里公司的项目 iOS 部分已经全部完成,才真正开始付诸实践。从11月11号发布第一个版本,到现在已经发布了7个版本了,期间学到了不少东西,这里稍微总结一下,作为2017年文章的开篇。

产品和设计

说实话,代码这块我从不担心,这种客户端还是没多大难度,但是产品和设计心里还是有点担心的。虽然在上一家的时候也参加一下产品设计,但了解的并不多,于设计更是几乎一窍不通了。开发中也确实在这块遇到了不少问题。

抓住核心想法,快速完成第一版的开发。Unsplash 提供的 API 还算比较全,能做很多事,刚开始想着 API 各种都用上,想一次做到很好。但是在怎么用这些功能以及页面怎么设计上纠结不清,时间也就这样蹉跎过去了。后来想通了,个人的小 app 没必要追求那么完成高大上的功能,记住最初最想要的功能,实现它,其他的看情况慢慢加。很快确定我的核心想法是浏览和下载照片,搜索、分类什么的都可以等等,想法确定立马就可以开始开发了。

设计不能仅仅停留在脑海。因为不懂产品设计工具,设计只能停留在脑子里,也觉得这样应该就够了。真正开发的时候才发现,这里是个天坑,脑子里的界面没法想的太细,我的大脑内存不够,细节太少,甚至还有开发一半觉得又有新想法,想更改,来来回回浪费不少时间。于是第一版之后就去学了下 Sketch ,把想法画出来,画的过程中会逼着自己去填充细节,也容易发现设计中的不足之处,及时更改。实在不行也可以画到纸上,总之就是要把设计先落实一遍。再开发就是简直如行云流水,效率有了很大的提升。

程序开发

因为是个人项目,开发上非常自由,平时公司项目不能做的事,现在都可以尝试。

WallSquare 目前还是用OC进行开发,熟悉一些,开发起来顺手,现在项目基本稳定了,准备用 Swift 混合开发。

还有其他几点平时没怎么试过的东西。

  • 设计项目框架。之前公司的智能行车记录仪 app 虽然是我搭的项目,但是因为那时经验不够,完全没有搭框架的概念,后期很不满意框架,也挖了不少坑。现公司是来接手项目,没机会设计,不过我来了后这半年了也基本上重构了一遍,算是积累了一些经验。自己写 app 时就能随心所欲的自己搭建了,时间也充裕,可以从容的去比较各种设计模式。
  • 缓存。之前公司项目因为各种原因,基本都没怎么加正式的缓存,这次好好体验了一把。暂时是用的文件,过段时间试试数据库,正好研究一番 Realm。
  • 内购。其实内购本身还是很简单的,只是以前一直没机会体验,这回加了个【请喝饮料】的内购,对于内购的添加也有了个大概的认知。

还有很多很细的地方不细表,以后有时间再分享具体的技术文章。

运营

即使是个人的业余 app,也是希望被更多人使用的,那么就一定会有运营。

App取名。刚开始挺随意,就学我最初接触到 Chrome 扩展取名 Instnat ,上线之后尴尬的发现搜索 Instant根本找不到自己的app,前面一大堆名字带 Instant 的。第二版赶紧改名 PhotoSquare,搜了看没有几个 app 用这个名字的。然而还是too young ,这回搜 PhotoSquare 能搜到,但是排几十名。跟朋友推荐,还要翻半天,尴尬。很纳闷,有很多名字了不带 PhotoSquare 怎么还排在我前面,于是就知道了下一个问题,关键词。名字就又改了,WallSquare ,这回终于能搜到了,你可以试试。

App关键词。前面的排名问题,想了一下才反应过来是因为关键词。别人关键词做得好,所以虽然搜的是我app名字,却能排在在我前面。于是赶紧去了解这方面的知识,使用App Anine 、ASO 100 等网站分析优化关键词,看到名次起起伏伏,还挺有意思的。现在iPhone已经有些关键词排名前十了,iPad也有很多排名前三的,收获很大。现在想来,这块其实技术还是应该懂一些的,自己的独立 app 一般没什么推广资源,也就在这些地方下功夫了, 只是公司了都有专门的运营,忽略了这方面的学习。

其他运营方式。运营肯定不止取名和关键词这么简单,还要各种推广,在合适的地方用合适的方式推广。作为个人app,我没有这样的推广资源,当然另一方面也觉得 app 还不够满意,连在同学里面的推广都没有 ,故而还没有体验过这方面的推广。今年应该会在相关话题下认真的尝试一下,给自己涨涨经验。

后话

虽然 app 到现在也不过在400个用户,并没有什么成绩,但我确实已经从中学到很多东西了,还会继续开发维护下去。

另外,最近感觉在与产品和设计的沟通上,我更能站在他们的角度上想一想了,虽然很菜,但是能尝试想想他们当时是怎么思考的,沟通效率会提升一些。

业余 app 也是不错的推动自己学习的方式,用业余项目刷点存在感,在其中应用最新的技术,寻找工作外的一些可能。

最后,如果你在找壁纸,或者单纯的想欣赏一下摄影作品,可以尝试一下我的app。点击下载WallSquare,或者App Store搜索WallSquare。