又到了一年的暑假,想不到去年无心插柳开发的清单 App 已经累积了这么多用户,为几万个用户提供了便利,曾经还登上过 AppStore 的推荐和 少数派 2018 的年度独立 App 推荐 也算是我开发生涯的一大成就了。一年过去了,我还在维护着这个产品,那么这篇文章就来聊一聊 Listify 这一年的变化,设计上的,交互上的。以及一些经验和感想。

listify family

Listify 更新半年后,我觉得这个 App 已经走到头了,因为在保持简约设计的情况下,每加一个功能就变得异常困难,如果为新的功能单独设计一个按钮,就会破坏了原本的简洁,但是要想隐藏这些按钮,交互上的学习曲线又会变得很高,导致很多人会不知道某个好用的功能,这是需要取舍的一个地方。

关联阅读:三天时间,我写出了自己的 Todo 应用

为什么收费

一年前, 在少数派关于 Listify 的推文中,我说道 Listify 是免费的,现在变成了收费 3 元。至于为什么,用一句话总结出来就是:人们不会去珍惜一个免费的东西。不得不说很多人买了一个免费的 App 在没有搞清逻辑还各种抱怨不好用真的是很让人失望的一件事。当然,让我更惊讶的是,尽管收费 3 元并不是很贵,对于我一个留学党来说3元人民币可以说是连一瓶水都买不了,但是收费之后的无脑差评少了很多很多。

harsh comments

黑暗模式

去年 9 月,macOS 迎来了系统级别的黑暗模式,在此之后对于黑暗模式的需求一下子高了起来,在 iPhone X 这样的 OLED 机器上,显示黑色既能护眼又能省点,那么关于黑暗模式的开发也提上了日程。在设计上,Listify 开启了黑暗模式之后会自动把所有的卡片阴影去掉,我做了很多界面上的测试最后发现还是在暗色下把阴影拿掉效果更好。因为 Listify 的设计特点就是卡片 + 阴影,所以理论上黑暗模式下的卡片应该配上一个白色的阴影,但是那样的设计实在是太违和了,在必要的时候需要放弃一些设计元素。 

dark mode

更美观的教程引导页面

这是我第一次觉得有一个美观一些的教程页面是多么重要,就像我之前所说的 Listify 的交互学习成本很高,很多隐藏的交互普通用户根本不会了解,比如下拉动作可以用于刷新或者新建某个东西,Chrome 下来可以用来新建 Tab,在很多社交 App 下拉可以进行一次刷新,这些很基本的交互方式,还是会有很多人不懂,所以引导界面就显得至关重要了。当然 Listify 第一个版本就有一套引导新用户的教程页面。

不过很多朋友使用我的产品时候,第一次见到引导界面就会一路滑下去,从来不会看上面的内容,这使我很无奈,所以我重新设计了引导界面,缩短了内容,也更加美观了,下面三个图是引导的截图,我做了一个45度视角的卡片,这样可以凸显出来 Listify 的卡片设计思路,同时将需要高亮的内容在视觉纵轴上抬高,并且降低了不重要部分的透明度,就得到了下面的设计,这样用户可以很直观的理解教程所说的交互。 

new tut page

当然,即使有在漂亮的引导页面,还是会有用户不去看,在 Listify 第一版本的时候我就意识到了这个问题,所以在第一次启动 Listify 的时候,App 会自动添加几个教程性质的条目,这样用户可以看着这些条目来学习最基本的交互,引导的教程在设置里面还能找到,所以在这个刚开始使用的阶段只要让用户学会怎么进入设置就算是成功了。

first launch

当然,设置界面的「教程(Tuturial)」选项在之后的更新中我改成了「小贴士 (tips)」,因为我觉得小贴士的表达随意一些,而教程这个词总感觉会给人一定的压力。以上就是我关于交互学习曲线高的一些应对经验。


iCloud

iCloud 是呼声更高的一个功能,似乎每个人买了 iPhone 之后都会再购入一个 iPad,并且还需要在 iPad 上使用 Listify。于是云同步则成了一个不可缺少的功能,没有云同步的话似乎使用 App 的时候就少了一种“安全感”,可能这就是很多用户希望 Listify 拥有云同步的原因吧。

不过这个功能的开发难度比其他的功能都要高,毕竟需要和服务器交互来同步数据,一个小的设计疏忽可能就会使得别人使用的时候无限的闪退,所以在发布这个功能之前必须做足够多的测试。而且这是我第一次为这个量级的 App 开发同步功能,难免还是很紧张的。很害怕第二天起床又是一堆差评。

有了云同步功能之后的确非常的方便,用户打开云同步之后不需要改变任何操作习惯,也不需要学习任何新的东西,只要按照以前的日常习惯使用 Listify 就可以了,同步什么的,Listify会全自动处理的。

iPad 适配

那么既然有了 iCloud 同步,iPad还是要适配一下的,旧版的 Listify 只支持竖屏显示,这是远远不够的,不过之前没有同步功能我觉得很少有人会在 iPad 上使用 Listify,iPad 和 iPhone 现阶段 App 体验上的差异就是 Split View 了,iPad上两个 App 可以实现分屏使用,当然这个功能也是需要适配的,之前的版本很多界面代码是写死的,没有那么 Adaptive,所以为了适配 iPad 我又重写了大量的界面逻辑。

iPad support

   

Apple Watch

关于 Apple Watch,其实我是没有任何计划的,因为虽然平时也用 Apple Watch,但是只是用来记录运动和步数的,根本不会用任何 Apple Watch 上面的 App,可能是因为二代 Apple Watch 的体验并不好,每次载入一个 App 花费的时间还不如直接拿出手机来看。所以一直对 Apple Watch 的 App 比较排斥,直到有一天的一封邮件,一个用户给我发反馈说血书求 Listify 支持 Apple Watch,其实我当时并没有特别在意这个事情,随手回复了一个「你的血书呢」之类的话。然后就有了下图,看来医学生真的惹不起..……

petition

于是一天后 Listify 支持了 Apple Watch。虽然很赶,但是能用。

Apple watch


多行显示

屏幕宽度利用率低是 Listify 的一个明显缺点。每个卡片对于屏幕有一个宽度上的间距,并且卡片里面的条目相对于卡片有有一个间距,这就导致了 Listify 不能记录很长的内容,这成了很多用户抱怨的点。虽然有时候我很难理解为什么需要在清单上写那么多字,因为平日我个人使用 Listify 的时候不会打特别多的字,所以也就没有想在这方面有改进(其实是因为这样的界面支持多行显示很困难)。不过随着很多人的反馈以及iPad分屏的支持,我还是准备加上多行显示的功能,因为 iPad 进行 1/4 分屏的时候会使得 Listify 在那么小的宽度上几乎不能用。

因为某些开发时候的历史遗留问题。Listify 的多行显示在代码上很难实现,所以我也想过其他的方案来应付长内容,比如让内容在一行内滚动显示,后来觉得还是没有直接多行直白,所以还是去实现了多行显示。

现在 Listify 支持多行显示了,有时候可以把邮件里或者网上看到的一些话复制到 Listify 里面当备忘,之后也可以轻松的把这段话复制到剪贴板里面。虽然我还是很少用这个功能啦,可能是个伪需求,不过有总比没有好。

multiline



快速添加 

其实我个人是不用 GTD 相关的 App 来安排自己的生活的,我几乎不需要让 App 提醒我什么时候该做什么,我需要的往往是一款清单式的应用,需要做的事情,直接写上去,不用设置提醒时间,也不需要根据时间和优先级显示,我更喜欢手动的去调整一个条目的顺序,所以更多的是把 Listify 当作一款清单 App。不过每次添加一个新的条目都要下拉,这对于想要大量添加一些条目的需求就很不友好了。

所以我设计了一个快速添加的交互,只要在主界面的长按一个卡片的标签,Listify 会弹出一个输入框,然后就可以快速地往那个列表添加条目了,不需要每次都进行下拉操作,非常方便。 

quick add


尾巴

以上就是 Listify 在这一年期间发生的变化。在这一年中,Listify 成长了,我也成长了,我不再像以前那样把浮躁的只想把代码写完发布新的版本,而是会对体验拥有更多的思考,有时候看似简单的一个功能,背后需要考虑的要素太多,交互体验,学习曲线,界面性能,测试等等。

当然,也感谢在背后默默支持我的人们,是你们给我带来了动力。

good comments


> 下载少数派 客户端、关注 少数派公众号,了解更多有趣的应用 🚀

> 特惠、好用的硬件产品,尽在 少数派sspai官方店铺 🛒