Quantcast
Channel: 少数派
Viewing all 14436 articles
Browse latest View live

从 OmniFocus 切换到 Todoist,我意识到任务管理不需要开始日期

$
0
0

前阵子我从 OmniFocus 换到了 Todoist,基本上没有痛感的就切换过来了。毕竟工具只是一个载体,核心还是你驾驭任务系统的方法。稍微有些不适的事情是,默认提供的「今天」视图,不能像 OmniFocus 的「预测」一样,独立显示「推迟到」当天的事件。不过昨天我突然想通了,不仅不需要像 OmniFocus 一样,甚至我原来的用法都是「错」的。


不管有没有迁移到 Todoist,有部分 OmniFocus(或者其他 GTD 应用)的老用户可能像我开始时一样,觉得任务不能设置「开始日期」是个不方便甚至不能接受的设定。

一个任务,截止日期并不是今天;我既希望在今天的日程里看到它,又不想他显的很紧急的样子,该怎么办?

为什么要给任务设置「开始时间」?

举个例子,一个事情你得做个三四天,这周五截止。你打算周二开始做,每天做一部分直到完成。在 OmniFocus 里你可能会设置成这样:

推迟与截止的设置

设置推迟日期为周二,这样周二就可以看到这个任务;因为它不在截止任务区域,所以不会导致你「很紧张」。然后你得在当天结束之前把这个任务手动推迟到周三,否则你明天就该看不到这个任务了。

在 Todoist 里,任务只有一个「日程安排」可以填,也就是截止日期。我们把这个周五截止的任务设置成什么时间才合适呢?设置成周五,周二、周三、周四就看不到;设置成周二,然后每天做完了推迟一天?那这个任务得恶心死你,你看到就不想做,真的做完了当天的部分你又点不了完成,很没成就感。

弄清楚「下一步行动」是什么

我之前用 OmniFocus 时真的用「推迟到」作为开始时间,其实仍然会缺乏成就感,也同样会觉得恶心。让我们先来回顾一下 Getting Things Done 一书中关于事件定性的部分。

假设一个任务是需要完成的,那你就要搞明白所谓的下一步行动是什么。当你对照着当天任务去执行时,都不应该再思考「这个任务究竟要我干什么」这样的问题。可以再看看书中给「下一步行动」举的例子:

- 给弗雷德打个电话,让他提供他所推荐的那家修理厂的电话号码。  

- 起草有关预算会议议程的想法。

- 与安吉拉谈一谈我们打算建立的文件归档系统。

- 从因特网上了解一下数据库管理软件的情况。

对着这个列表,你只要按部就班的完成就可以了。如果你把这些任务排在了某天截止,那这些事情当天一定都能完成。

如果我想计划一次长途旅行

我最近在计划前往台湾的旅行,如果我在收件箱里记录:

九月份去台湾旅行

收件箱里未处理的任务

那我在九月份是肯定没法前往的,毕竟我没有往来台湾通行证、没有预订机票、没有做好行程规划等等。合理的做法是什么?将任务拆解,拆开成若干个可以执行的动作:

1. 整理出前往台湾自由行所需准备的内容列表

如果你有明确的出行时间限制,上面这条任务你应该尽快安排时间完成,然后你可以得到一个清单:

2. 大陆居民往来台湾通行证及有效签注

3. 所在地往返台湾的机票

4. 旅行路线规划

5. 行程中可能需要的火车、汽车、景区门票等

6. 必备行李的清单

7. …

其中通行证和机票都有明确的时间限制,也是最需要被规划的部分。机票最好在通行证确认以后再购买,避免被拒签还要承担金钱损失。所以先搞定通行证,你为这项任务设定了截止日期:

办理「大陆居民往来台湾通行证」的任务日期

到了设定日期的那天,你去了办证大厅,估计该被告知缺少很多相关材料了。这种事情我在过去没少遇到 Orz 。所以上述的第一项任务还应该被拆解,整理出办证所需要的材料。如果是你已经有的材料,可以添加到备注或评论里,不在身边或是还需要办理的,就应该单独列为一项任务:

未设置有效期

最后,还要根据了解到的资料为各项任务设置具体的日期(既是截止日期也是执行日期)。可以看到,涉及到的两个证件办理都有挺长的行政周期,如果没有事先了解,很可能面临无法成行的风险。执行过程中还要注意根据实际的完成情况,及时调整后续任务的时间。

设置了有效期

如果任务开始之前不先做好拆解,你的大脑就会试图一边拆解任务一边执行任务,效率变得十分低下,甚至任务变得我们计划 9 月份去旅行,看似现在才 6 月份,但是杂七杂八的手续办理下来,已然没有多少剩余时间供你购买打折机票了(据我了解,为了省钱,很多朋友的长途旅行会在半年甚至更久之前就准备并计划好)。

所以,任务在开始执行之前不先做好拆解,你的大脑就会试图一边拆解任务一边执行任务,效率变得十分低下,甚至任务变得无法完成。相反,在执行前就尽可能计划好,不仅效率更高,而且对于阻碍任务完成的风险也更有预期。当然,本文想提的最重要一点是,在这种情况下,具体的某项任务的截止日期和他的执行日期完全可以是同一个属性,也就没必要额外设置了。

任务的量化、细化、流程化

上面的这个例子十分的具体,你的脑海中大概会浮现一些你觉得没法拆解的任务。而且不像是办通行证这样,有那么多现成的信息可以查阅。所以,我还要和你介绍任务拆解的「三化」大法:

能量化的就量化,不能量化的就细化,不能细化的就流程化。

这个「三化」是个前辈分享给我的项目管理经验。当时我刚开始为整个项目排期,不明白怎么给项目中的人员做任务拆解。对应到 GTD 中,也就是不明白应该怎么编排其他人的「下一步行动」。

任务的量化

最理想的情况是将任务进度量化,例如你看在线视频的时候,屏幕上可能会显示进度,加载了 3%、15%、69%……这里的百分比都是视频文件真正被下载到本地的占比。工作里有没有这样的情况呢?例如客服人员的工作指标是一周内答复 500 条用户的反馈,那他每天应当完成的指标就在 100 上下,多一点少一点没关系,周五的时候它完成了 500 条就行。

例如 Todoist 里,你给自己设定了每天至少要完成 N 个任务,也属于一种量化:

Todoist 量化任务的达标线

任务的细化

这时候你得给一名网页开发工程师安排工作了。有个网页需要开发,有一周的时间可以安排。作为项目管理人员你应当每天都了解一下任务的开发进度,而不是一周以后再去问「你做完了吗?」

所以周一下班的时候你问技术人员「今天做了多少?」他说「我做了30%」,你怎么知道他说的是不是真的?这种情况你应该在任务开始前,和这位开发做技术分解,把「一个网页」分解成组成网页的若干个模块,例如:

  • 搭建页面框架
  • 页面顶部导航
  • 页面底部信息
  •  …
  • 视觉还原

并和他一起约定这些细分的实现顺序;这样每天和他一起回顾的时候,你只要问他「顶部导航做完了吗?」;这就是将任务细化;大部分工作到这一步都可以拆解了。

任务的流程化

然而,你的项目里还有一些运营人员,他们的任务可能是给你的产品策划一些活动。假设你们每周都要策划一个活动,运营需要把这个活动的时间、地点、人物都想好。

  • 确定活动目标
  • 确定活动方案
  • 确定活动流程
  • 写明活动说明
  • 活动上线运营

你会发现每周的活动都要经过这样一个流程才上线,那你每天只要和运营人员回顾当天的流程是不是完成了。

同理,工作及日常里的任务也是可以按照这个方法来拆解,能量化的就量化,不能量化的就细化,不能细化的就流程化。

总结

这篇文章从生活里的计划,讨论到了工作里的项目计划。希望大家能够理解,当一个任务被拆解得足够细致时,具体动作的执行日期和截止日期,应当在同一天。当然会有例外,但在少数情况下手动推迟日期应该就不是困扰了。这时候用 OmniFocus 的「推迟到」或者是 Todoist 的提醒时间都随意了。

只是为了让你的管理软件看起来舒服,可能不值得这么大费周折。然而找出「下一步动作」的意义远不止于此,你可以真正做到计划和执行两个步骤的分离。确保高效率的同时,避免了无数导致目标无法达成的风险。

当我们面对收件箱中的事项时,不应该匆匆忙忙的就开始动手。而是先搞明白,这个事项究竟是什么、能不能做以及下一步做什么。


那年今日,你有 1 个条目:Day One | 我和 App 的故事

$
0
0

如果没记错,Day One (现在的 Classic 版)是在 2013 年限免得到,不想浪费如此优质的 App,开始试着记录一些生活琐事、观影记录、旅行见闻等,渐渐地从坚持变成了习惯。

某次版本更新后,打开 Day One 出现一条提示「那年今日,你有 1 个条目」,点进去打开了三年前的一篇日记。

那一刻,整个人仿佛有一种穿越时空的奇妙感觉。

Day One 那年今日

为了能更多的与未来的自己相遇,我开始频繁而广泛地记录,一句感悟一张美图,又或是红白喜事。

有天和老婆闹不愉快,两人都在赌气。叮咚,iPhone 弹出了 Day One「那年今日,你有 1 个条目」。里面是两年前向老婆大人表白的日记,「现在的我正在写日记,希望未来的我在出现夫妻矛盾时,来看看这个,不忘初心」这句话给了我一个响亮的巴掌,赶紧和老婆大人道歉。是不是觉得很巧?可是生活中就是会遇到一些让你难以置信的巧合。

表白日记


2016 年,小家伙来到了这个世界。和老婆大人一起阅读「那年今日」,回忆小家伙还在肚中时,第一次产检听到心跳的喜悦,因羊水偏少的焦急。这些都串联成一段美好的回忆,而回忆本身又加强了我们之间的感情。

小宝第一次产检日记


上个月底,外婆过世,几天后「那年今日」打开了去年端午节看望外婆的日记。回忆起小时候和外婆在一起的点点滴滴,湿润了眼睛。愿外婆在天堂安好!

端午节看望外婆日记

「那年今日」带给我的感动与喜悦远不止这些,我会一如既往的记录着,也许当下的内容平淡无奇,但日积月累下来也是一段值得回忆的故事。Day One 与其说是日记,更像是一个时间胶囊,每一段记录都期待着再次阅读的那一天。


编注:

本文为少数派和豌豆荚联合发起的 「我和 App 的故事」征文活动的精选文章。在 7 月 5 日前参与征文,就有机会获得 🎮 Nintendo Switch、📱 魅蓝手机、📒  Moleskine 笔记本, 了解活动详情 >

对于提早投稿的优秀文章,一旦被推荐至少数派首页,就能获得价值 298 元少数派 × 豌豆荚周边礼包 1 份(比如本文作者就已经拿到)。由于礼包有限,越早投稿,拿奖机会越大。

你的密码真的安全吗?六款密码管理 App 合集推荐 [福利]

$
0
0

互联网时代,各种各样的网站和应用方便了人们的生活,每个网站都需要注册才能开启更多的功能,大多数人为了「方便」都设置同样的密码或几个常见的密码。然而,为了安全起见,肯定是需要给每个网站都设置一个特殊的或者复杂的密码,这样可以确保自己的账户更加安全。特别是一些网站还绑定了个人的银行卡信息等,一但密码被盗,后果不堪设想。但是如果每个网站都使用特殊的密码,那么又会增加人工记忆的负担,所以这时候选择一款适合自己的密码管理软件,尤为重要。

关于密码管理软件自身的安全性,很多人可能也会有质疑,任何一款产品都无法保证绝对的安全,但是作为普通用户来说,正常使用下被破解的可能性很低。

以下六款软件由坚果云安全团队逐一试用后进行整理,分享给大家,总体来说算是目前市面上安全性比较高的。他们各有特点,都是非常好用的密码管理软件,可以满足绝大部分用户的使用需求。

1. KeePass

KeePass 是一款免费、小巧、绿色且开源的密码管理工具,多年来一直深受大众的好评。它能为用户提供一个足够安全的加密技术来保存各种各样的账号和密码。可以生成、存储你所有的密码(包括用户名),并备注 Note。数据库文件可以直接放在坚果云里进行同步,多设备使用起来会更加方便。

【费用】官方 PC 端免费,移动端没有官方发布的版本,但由于是开源的应用,所有有很多优秀的第三方客户端,也都是免费使用(有的需要挂梯子,国内应用市场不一定可以下载)。

  • 安卓:Keepass2Android
  • iOS:MiniKeePass,iKeePass,Passwordix 等 

在安装 KeePass 后,需要新建一个密码库文件,用于存放以后新添加的密码内容。

新建密码库,选择想要保存在电脑里的位置,如果选择保存在坚果云的本地同步文件夹内,那么会一起进行更新同步。

保存KeePass数据库

选择数据库保护方式,包括以下三种类型:主密码,密钥文件,Windows 用户帐户,三种方式可以叠加使用,所以 KeePass 的安全性还是非常高的。

三种类型的数据库加密保护

在 KeePass 里可以根据自己的需求,选择分类添加密码,之后只需要双击密码就可以复制。

在其他设备里,可以从坚果云本地同步自己的密码库后,在 KeePass 里直接打开这个数据库文件,用于多设备的同步使用。

或者打开选择 URL 的方式,使用 WebDAV 连接到坚果云,不用下载密码库文件到本地,直接打开之前存放在坚果云云端里的密码库文件,URL 地址:坚果云服务器地址,账号:坚果云注册账号,密码:坚果云第三方应用密码(注意:非登录密码)。

通过WebDAV连接坚果云,同步密码数据库

如何搭配坚果云进行同步使用的设置,可以参考坚果云帮助中心-使用技巧里的详细设置介绍:KeePass 如何搭配坚果云实现多设备同步?

KeePass 的自动填充及在浏览器里的使用功能不如其他的同类软件,更多时候需要手动设置,但是牺牲便捷性的同时,也意味着安全性和可靠性更高一些。另外由于其是一款免费的开源软件,在平台兼容性上还是胜过很多其他密码管理软件。

2. LastPass

LastPass 是一个优秀的在线密码管理器和页面过滤器,支持 Windows, Mac, Linux, iOS, Android,Windows Phone, 主流浏览器(IE, Chrome, FireFox, Opera, Safari)。与 KeePass 相比,LastPass 在浏览器里使用功能更加强大。

它的特点是以浏览器扩展的形式使用,当你登录任何一个网站,它就会提示你保存登录信息,并在云端自动同步,以后访问该网站时它就会自动为你填写登录表单。 由于 LastPass 是将用户的数据保存网络上的,虽然是在将用户的密码数据加密后才将其发送到服务器,但安全性也受到部分用户的质疑。

【费用】PC 端免费;手机端收费:每月 1 美元,按年收费。

当注册新的网站时,可以直接在线生成密码并存储。

浏览器生成密码

初次登录网站时可以选择,保存站点信息,或者生成一个新密码等操作。

LastPass 与 Chrome 或者是 Safari 等浏览器自带的密码管理相比,最大的优势是跨浏览器平台(不同的浏览器之间数据同步)。比如你常用 Safari,用 iCloud 管理密码是非常自然流畅的,但是假设你异地出差,需要用 Windows 电脑 IE 浏览器访问某个网站,那 LastPass 的优势就体现出来了。

3. 1Password

1Password 是一款来自加拿大开发商 agilebits 的跨平台密码管理应用,目前支持 Windows, Mac,Android, iPhone, iPad,浏览器扩展支持:Chrome, FireFox,Opera, Safari。综合来看,算是密码管理软件中用户评价最高的。Mac / iOS/ Android版本已经支持中文,但是 Window 目前只有英文版。另外作为一款收费软件,价格相对较高,愿意付费使用的人并不普遍。

1Password 包含密码管理器与浏览器扩展两个部分,前文中我们介绍的 KeePass 和 LastPass 这两款软件,可以认为 1Password 是两者的完美合体。

【费用】目前 1Password 是订阅式,分为个人版和家庭版:个人版每月 2.99 美元;家庭版每月4.99 美元,可以包含 5 个账号使用。购买后,一个账号可以在多个平台登录进行同步使用。

1Password 提供 30 天免费试用,可以体验后根据需求选择购买。

1Password页面简洁美观

提供详细的标签和分类

在浏览器登录账号时,可以直接右键调用出 1Password 进行自动填充账号和密码或者更新密码。

浏览器上使用1Password

可以创建新密码,或更新密码

4. Enpass

Enpass 中文版是一款安全可靠的跨平台密码管理器软件,它可以支持目前市面所有常用的平台:Windows, Mac,Linux 以及 iOS, Android, Blackberry, Windows UWP,ChromeBook 在内的客户端,并且提供主流浏览器的一键登录扩展,基本能覆盖你所有的密码应用场景。只需要记住一个主密码,就可以轻松管理所有的账号密码。

【费用】PC 端免费,手机端可以免费显示 20 个密码项目。

如果你是轻度用户,可以不购买付费版,如果密码特别多且移动端需求高(超过 20 个项目),也可以升级到专业版,解除限制。目前费用是 68 元人民币一次性购买永久使用。相比较其他按月收费的还是比较划算的。可以作为 1Password 的替代品进行使用。

以下是 Enpass 电脑客户端界面,针对不同的使用场景,设置了例如登录、信用卡、财务等类别,可以分别进行填写。在设置密码时可以选择自己手动添加或者系统自动生成自己想要的位数的复杂密码。另外,可以设置无操作几分钟后自动上锁,防止离开后他人打开查看。

Enpass PC客户端

Enpass 可以选择只在某个设备本地离线使用,但是建议选择保存到云端进行多设备的同步,方便在任何设备上随时获取到自己需要的账号密码,在设置-同步里就可以选择使用 WebDAV 的方式连接到坚果云。

Enpass可以通过WebDAV连接到坚果云同步


如何搭配坚果云进行同步使用的详细设置,可以参考坚果云帮助中心-使用技巧里的介绍:
如何在 Enpass 中设置 webdav 连接到坚果云? 

由于 Enpass 没有将你的密码上传到其服务器,密码只存在你的电脑本地或者自己设置的信任的云服务里,所以安全性完全由自己掌控。Enpass 无法泄露你的密码,安全性相对较高。

5. XyKey

XyKey 是一款简洁易用的账号密码管理工具,属于小众的轻量级的软件,没有太多复杂的操作和功能 ,也没有联网权限,所以密码没有在其他服务器里备份,安全掌握在你自己手中。备份和导出也很简单,采用文本的方式。如果有多设备同步需求的,可以将备份文本保存在坚果云里,这样可以手动进行更新。

【费用】目前只支持 Windows 10 系统、安卓、iOS 。Windows 安装需要在微软商店购买,费用是 13 元人民币,安卓在 Gooole Play 下载需要 8 港币,iOS 下载需要 6 元人民币。

安装 XyKey 后,只需要设置一个主密码即可,没有账号的设置,密码的记录由手动输入操作完成。

由于 XyKey 没有联网功能,所以备份还原都需要手动操作,选择备份就会生成一段内容,需要自己复制保存起来。建议保存在 txt 文本里,放在坚果云,这样随时获取密码就会比较方便。还原只需要将之前备份的文字内容粘贴进去就可以了。

手动备份和还原

6. 花密

以上几款软件都是类似于一个电子的密码本,记录了你的所有密码。市面上还有一些非存储式的密码管理软件,它的特点是不管是云端还是本地都没有记录你的密码,而是一种密码的计算生成方法,例如花密,Master Password 等。

下面花密以为例:

它的界面非常简单,你只需要设置一个与个人信息无关的记忆密码,然后加上不同用途密码的区分代号,那么就会自动生成一个复杂的密码。只要你的记忆密码和区分代号规则不透露给他人,一般也是难以破译的。需要使用密码时,可以在网页端登录花密,或者在电脑手机等下载该软件,使用自己的记忆密码和区分代号,计算得出最终密码。即,记忆密码+区分代号=最终密码。

例如:所有的记忆密码为 123456(当然你可以不要设置这么简单),自己设置区分代号为每个网站或应用的全拼音,比如坚果云网站为:jianguoyun。123456+jianguoyun,你就可以获取到一个 16 位的密码。如果需要增加复杂性,可以将区分代号的规则设置成首字母大写,或者固定再添加其他字母或数字。

小结

介绍了这么多,如果还是不清楚选哪个,坚果云给大家做个简单的总结:

  1. 如果想要获得最便捷的设置体验,且不在乎价格的话,那么可以选择 1Password;
  2. 如果不想花钱,又想全平台使用的,不怕麻烦,愿意手动设置的可以选择 KeePass;
  3. 主要仅用于电脑端,移动端没有强需求,另外不想付费,希望设置起来相对便捷的,可以选择 Enpass;
  4. 主要用于网页端自动登录,愿意花费一点钱的,可以选择 LastPass;不想花钱,也不想下载太多客户端,对密码要求也不是非常高,可以使用花密,只要记住一个密码规则即可。
想了解更多支持坚果云同步的软件使用技巧,欢迎关注坚果云微信公众账号:jianguoyunhq。


评论送福利

在评论区中谈谈你在使用哪款密码管理 App 以及为什么使用它。我们将在下周四(7 月 13 日)从评论区中挑选 5 位,各送出一年的坚果云专业版。

请注意开通你的站内私信,抽奖后我们将通过站内私信与你联系。


作为一名 UI/UX 设计师,我为什么觉得 iPad 不能胜任我的工作 | 征文精选

$
0
0

最近的 WWDC 上,Apple 发布了最新款的 iPad Pro,从性能上、交互上加成 iPad 的生产力属性,希望在人们口中的看片玩具能够真正的具备和传统的桌面设备效率相抗衡的实力。我作为一名 UI/UX 设计师,在实际的工作中也尝试过让 iPad 作为主力工具使用。事实证明,对于我来说 iPad还是不能胜任我的主力来工作。

下面我从 4 个方面讲述一下。

  1. 什么叫生产力
  2. iPad 相比较于 PC、Mac 的几个优势劣势 
  3. iPad 在我的工作中应用
  4. 对 iPad 的总结和期望

什么叫生产力

提到生产力,人们通常会脱口而出的就是「效率」、「工作」、「专业化」等等这种大词,但是所有的「力」都是要需要场景的,否则笼统的讲 iPad 是不是生产力都是没有意义的。打个不恰当的比方,就像铁匠的生产力工具-锤子放在我这,也只能裱起来放在墙上了。所以具体到我的工作情况,我对它的解释是「在 UI/UX 设计工作中,在高强度的工作中能高预览性、高操作性、高稳定性、高软件协作性的完成图形处理需求」

iPad 相比较于 PC、Mac 的几个优势劣势

我的设备是 iPad Air 2 代。在刚买的时候,我也是很自然的用它来看片,上班时也基本不带上,虽然在 iPad 里下了一大堆所谓「生产力」工具,可是基本没怎么用过。或许是一种思维的定式,自然而然的就觉得传统的桌面电脑是生产力,而这个 iPad 并不是。但就像在周星驰的电影《食神》里一把板凳不仅仅是可以用来坐,还可以当做十大暗器之一。或许换种思维换个场景,开发者就能够开发出新的工具来创造新的方式,而不是简简单单的复制桌面端的工作方式。

所以,我开始带上 iPad 上班,并尽量让 iPad 参与到工作中。我的体会是 iPad 相比传统的桌面电脑最大的优势是便携性和信息交互方式的简便化。而劣势就是交互维度的设计和交互简便化难度的问题。你在 Mac 上可以单击、双击、右点击、拖动加上各种触控板手势、各种快捷键等不同维度的选择,这样能包含更多的操作需求。

 iPad 经过这么多年的的升级换代,硬件上已经能过达到很可用的能力了,软件依托 iOS 生态,数量上也是十分丰富的。在写作、移动办公、阅读、娱乐、绘画上是十分首选的设备了。

那我们为什么还在讨论 iPad 是不是生产力?或者是真的是在讨论生产力吗?

iPad 在我的工作中应用

(当然我也将 iPad 升级到了 iOS11 Public Beta 版,进行测试。) 

我的工作中主要需要用到的软件有 Sketch、Photoshop、Flinto、Atom、QQ、Chrome、Safari、Email 等等,其中以 Sketch 为最重要的图形设计软件,它的 iOS 版是辅助 Mac 上 mirror 实时查看的功能。

而我的工作过程主要是: 

  1. 在收集传递资料、信息时要用到 QQ、Safari、Chrome、Email、备忘录;  
  2. 构建 UI 原型主要用到 MindNode、Sketch; 
  3. 进行正式设计时主要用 Sketch、Photoshop、Illustrator; 
  4. 制作页面交互和动效时用 Flinto、Principle; 
  5. 偶尔的编程用到 Atom、Sublime Text; 

在尝试 iPad 作为主要生产力时,根据目的导向和工作模式导向的原则,我也去尽量的寻找能够替代的其需求的新模式,但是发现现在 iOS 生态里还没有能够和 Sketch 或 Photoshop 的功能类似的图形设计软件;在交互制作方面,是有几个可以在 iPad 上编辑的 App,但是能够做的还是太少了;在编程方面,也没有好用适合我的编程软件。在整个工作过程中,iPad 对于我只能完成制作前的信息收集录入整理工作。 

尽管在 iOS 11 上,苹果对系统交互上做了很大的改进,也就是我所说的「交互维度的简便化」做了更符合人们工作习惯的方式,可作为「吃饭家伙」软件功能的缺失,导致在工作中,我不能将其作为主要工具去使用。但除了核心的工作任务,其他的辅助性工作是完全可以胜任的,例如使用它来镜像我的设计稿、文字信息录入整理、散步式的思维发散。并且通过 iCloud、Handoff 等功能完成设备之间信息或场景的切换。

对 iPad 的总结和期望

iPad 的移动化、交互简便化的能力,让我能够在通勤路上或是躺在床上都不会觉得是个大负担。屏幕也比 iPhone 要大很多,不至于用你的「胡萝卜」在这个小屏幕上戳来戳去戳半天的。它的硬件能力毋庸置疑,那生产力说到底就是建立在人机交互基础上,针对各个专业的软件了。

在我工作需求中,iPad 还不能作为主力工作,但是我相信随着交互方式的探索和 iPad 软件基础的丰富,说不定就会造出适合在 iPad 上工作的图形软件, 而我可能还是要定时定点走进大楼完成我的打卡任务,而不是我在床上指点江山?


编注

本文为 Matrix 社区正在举办的 iPad 能胜任你的工作/学习吗? 主题征文活动的精选文章。

我们会在 Matrix 不定期举办有奖征文活动,只要你在 7 月 7 日前参与征文,就有机会获得少数派从苹果美国总部带回来的官方周边,点此 了解详情

我找到了 6 个 macOS 壁纸的实景地,并成功用 iPhone 还原了它们

$
0
0

自 OS X Mavericks 以来,Apple 开始改用加州地标命名系统代号,例如 OS X v10.9 Mavericks,OS X v10.10 Yosemite、OS X v10.11 El Capitan、macOS v10.12 Sierra、macOS v10.13 High Sierra。而 Apple 这一举动,无疑变相的给加州这些公园打出了世界性的广告。美丽的桌面壁纸,结合激动人心的新系统,无非给冰冷的 0、1 代码增加了一丝大自然的味道。

恰逢前几天作者趁着暑假的最后一点尾巴,前往了加州进行 Road Trip。途中在 Death Valley 死亡谷国家公园、与 Yosemite 优胜美地国家公园停留了两日,成功复原了 OS X Yosemite、OS X El Capitan、与 macOS Sierra 的部分壁纸。

我并没有专业摄影师的装备与技术,使用的器材是 iPhone 6,最终效果也当然完全无法与原图媲美。但我希望能抛砖引玉,把我们的科技圈从电脑前拓展到大自然中,证明科技也可以玩出点不同的花样,而不仅仅在家做「科技宅」。

El Capitan 酋长岩

El Capitan  酋长岩(壁纸版)
El Capitan 酋长岩(实拍版)

这张图片的拍摄位置非常好找,是位于Wawona Rd 上的 Tunnel View。此地属于专门的观景台,所谓的「景」,就是 Apple 的这张桌面背景。道路两旁有停车场,车位充足。

El Capitan 2 酋长岩 2

El Capitan 2  酋长岩 2(壁纸版)
El Capitan 2  酋长岩 2(实拍版)

这张图片名为酋长岩,但实际上确实 Half Dome 半圆丘,这一点当时误导了我很久。拍摄位置位于 Glacier Point Rd 上 Glacier Point Trailhead 附近的观景台。

Yosemite 优胜美地

Yosemite 优胜美地(壁纸版)
Yosemite 优胜美地(实拍版)

接下来是一串名为 Yosemite 1、2、3、4、5 的系列,这一系列困扰了我好久,因为我并不知道照片中的景色是哪座山哪块石,就更别提拍照地点了。经过一番搜索,我找到了 这么一个网站。经过网站高人的指点,与自己的误打误撞,终于成功找到了拍照的地点。

图中的山头是名为 Half Dome 的巨大花岗岩,算是公园内出名的景点。拍摄的位置位于Ahwahnee Meadow,这块 Ahwahnee Meadow 位于 Northside Dr 与 Ahwahnee Drive 这两条路之间,十分广阔。我拍摄的位置在Ahwahnee Meadow西边界小路上,靠近 Northside Dr 的一端。如果可能的话,尽量把车停在 Northside Dr 路边。此处无停车场,只有几个零星的车位,不易停车。

Yosemite 2 优胜美地 2

Yosemite 2 优胜美地 2(壁纸版)
Yosemite 2 优胜美地 2 (实拍版)

图中巨大的花岗岩石便是 El Capitan 酋长岩,如果不是仔细辨认的话根本就看不出这和酋长岩那张图竟然是同一块岩石。在之前提过的网站上,给出的地点是:

El Cap taken from the meadow across from Bridalveil Falls.

翻译成中文就是:「新娘瀑布对面的草地」。

这一条误导我很严重,其实这块儿草地完全不在新娘瀑布附近,而是在 El Capitan Meadow,距离新娘瀑布也有将近 1 Mile 的距离。我前后徒步寻觅了一个多小时,不过幸好仍然成功找到了正确的位置。

Yosemite 3 优胜美地 3

Yosemite 3 优胜美地 3(壁纸版)
Yosemite 3 优胜美地 3(实拍版)

这张照片的拍摄位置是在Cook's Meadow Loop 上,中有一个小小的木质观景台。我拍摄的位置就是在这个观景台上。希望各位不要像我一样冲进茂盛的草丛,还踩了一脚水。

Yosemite 4 优胜美地 4

Yosemite 4 优胜美地 4(壁纸版)
Yosemite 4 优胜美地 4(实拍版)

这张图的拍摄位置是与 El Capitan 2 酋长岩 2 拍摄位置非常相近的 Glacier Point。此处的观景台很适合观看日落,也有很多摄影爱好者扛着长枪大炮早早的抢占好位置。拍摄照片当天的日落时间是晚上8时,但早在6时就已经有人开始站位。在 Glacier Point Trailhead 有停车场,车位充足。

Sierra 内华达山脉

Sierra 内华达山脉(壁纸版)
Sierra 内华达山脉(实拍版)
Sierra 内华达山脉(实拍版)

严格意义上讲,Sierra 内华达山脉指的是一大片区域,而 Apple 这张壁纸上的山峰的「真名」其实是Lone Pine Peak。这张照片其实我拍的非常不满意,一是因为离的太远,数码变焦后太模糊;二是当时天色已晚,拍的也并不是很清楚。装备精良的朋友应该能拍出更棒的效果。拍摄地点是Eastern Sierra Interagency Visitor Center。

Death Valley 死亡谷

Death Valley 死亡谷(壁纸版)
Death Valley(实拍版)

这张图片的拍摄地点就不是在优胜美地国家公园,而是在 Death Valley 死亡谷国家公园,所以我也放在了最后。图中的拍摄位置是在 Zabriskie Point。

饮水思源,在我们欣赏这些美丽的桌面壁纸时,也别忘记这些壁纸的摄影师是谁。

现在我能找到的唯一的来源是 El Capitan 2 酋长岩 2 的摄影师 Sungjin Ahn,现居 Denver, CO, USA(科罗拉多州丹佛市县)。我们可以去其他网站寻找他的更多作品:

笔记、待办、任务管理,在这个工具里都能搞定:氢

$
0
0

😆 关于「氢」

基于 Git 的任务、笔记、待办管理工具  http://origingroup.tech

用几句更具体且简单的话来描述「氢」:

  1. 一个极致的类 Workflowy 列表管理工具;
  2. 一个基于 Scrum 看板的任务管理工具;
  3. 一款简洁灵巧的 WYSIWYG 笔记应用;
  4. 第一款用 Git 作为第一存储的笔记工具。

👣 由来

在很早以前就有一种做个人项目管理的想法,基于当时很难找到一款合适的工具专门针对个人项目做管理,试用了一些针对 Team 的工具后,最终放弃,原因如下:

  1. 个人项目管理应该更简单:Team 工具在实现的基本目标是协作,导致设计的交互不得不限制于这一初始条件,任何一个操作都是很 serious 的,比如创建一个任务,评价,更新详情,更新时间。导致了很多交互阻碍;
  2. 应该更专注于想法的表达:个人项目管理里边很多的步骤实在思考,如何逐步的去展开整个产品设计的画卷,而 Team 工具中这不是 First Priority;
  3. 数据存储在云端:倒不是担心数据隐私的问题,而是担心数据安全的问题,现在的 saas 产品 过个几年不倒的少。

也尝试了一些 Todo,Task 应用来做管理,其中如 Omniplan 在项目管理是确实做得很棒,使用了很长一段时间,还是回到了 Evernote,发现有这样的一个性质,个人项目管理有很大一部分的笔记属性,不知道其他人在这件事情上是怎么思考的,不过我做事儿的思路基本是:

  1. 针对要做的事儿画一个大的思维导图;
  2. 不断搜索相关类似主题的内容,然后记录下来;
  3. 然后列出任务去实现;
  4. 循环 1 2 3 扩大导图,继续搜索实现。

后来也看到了很多不错的产品,如 Workflowy,于是我决定尝试做一款自己的笔记管理,设计的基本思路就是如上面的介绍,考虑:

1. 数据安全的问题,做离线的,而不是 saas, 那离线的情况怎么保证安全了,第一想法就是 Git,Git 存储数据可以做到如下的特性:

  • 可以查询所有历史记录,也就是现在记录的笔记,任务状态,10 年后都可以查看;
  • 都很多第三方 private git 仓库服务,gitlab, coding.net oschina , 可以根据自己的需要将数据存储在这些地方,也可以自己放在 aws 或者阿里云中,避免 saas 服务的单点故障;
  • 天然支持分布式写作。

2. 基于 Scrum 看板模型的任务管理:说到任务管理,scrum 看板模式一直是很多团队在敏捷开发中所实践的,我发现其中的 backlog -> sprint -> product  的循环非常适合个人项目的管理维护,这里我也想所以下为什么我非得加上这个模型,我个人在做项目的时候总是会出现的问题:「太聪明」,这里是贬义词,就是想法太多,很难遵循既定的方案去践行,而 scrum 模型中一个很好的提倡是,像 🐷 一样执行,在 sprint 的周期内,唯一需要关注的是如何 kill 任务,而不是去思考设计。

3. 笔记属性,「氢」中的很大一部分工作是要打造一款同样极致简单的笔记工具,任何一条任务都可以当做一个笔记,所以「氢」的笔记设计参考了很多很棒的工具,如 Bear,Notion.so ,但基本的思路是做一个让用户专注于思考的表达的编辑器,而不是一款富文本,提供快捷的如 Markdown 快捷键,Slash Tool , Inline Toolbar 这些工具可以做基本的样式设置, 同时在能力上也提供了很大的扩展空间,这个设计参考 Notion.so,任何东西都是一个 block,可以很快自定义一个新类型的 block,但是又不同于 Notion.so,不会有过多的拖拽排版功能(至少我目前认为这些事表达内容的障碍)。

👻 具体设计

  • 列表
  • 任务详情
  • 看板
  • 日历
  • Git 存储

第一部分:列表

Workflowy 类似的列表

列表也就是目录,整体参考了 workflowy 的列表设计,不过和 workflowy 不同的是,这个是一个目录结构,而非把内容放在列表中。

如果不熟悉 workflowy,简单解释这个列表就是一个操作系统的文件目录结构,顶层是硬盘,第一级目录是 C 盘、D 盘、E 盘 ,再里边的目录是具体的文件和文件夹,文件夹还可以放文件夹和文件。

这种设计的灵活性使得在操作列表时极其的快捷:

  1. 新增:直接回车就创建一个任务。
  2. 删除:像删除文本一样,文本没了,任务就没了。
  3. 层级关系: Tab + Shift Tab 可以进行缩进。
  4. 位置调整:Ctrl + Command + Up/Down 可以上下移动。

第二部分:任务详情

任务详情

任务详情可以担当完整的笔记书写工具,在书写工具的设计支持如下的一些 block 组件。

目前其他的组件还有图片,markdown Inline style。

同时支持 notion.so  类似的 / 工具 👽 ,任何位置输入 / 都会出现这个东西,于是可以很方便的插入 block*,或者做 format。

也支持 inline style 的 format。

还有 Bear 的快捷键和 Markdown 语法的插入「Markdown + 空格」模式。

第三部分:看板

看板

如上,看板部分的设计师参考的 scrum 模型的 backlog - sprint - product,目前这个模式很适用于自己的项目管理。

第四部分:日历

在任务管理中,日历是必不可少的,这是根据时间维度来看任务的基本模式,目前「氢」的日历支持很简单,只有查看的模式,不过基本满足需求。

第五部分:Git 历史

目前 Git 的集成部分是为了尽快推出的一个极简版本,基本的功能是查看提交历史,切换快照,提交 commit。

✊ 下一步计划

目前「氢」仍然有很多细节 Bug,不过我相信只要大方向对了,这些 bug 的修复都是时间问题。

下一步会更多的关注 :

  1.  Git 的更深入的集成;
  2. 笔记编辑器的持续优化。

你在 Kindle 上用过 Todoist 么?| 我和 App 的故事

$
0
0

他一直都有记作业的习惯。

一个手机大小的本子就放在写着「Top secret Eyes only」字样的红色夹子旁边。夹子里面有关于各种低分的证据,除了讲题的时候不得不拿出来,他不想让任何人看。风吹着窗框发出碰撞的声音,班主任不在,吵嚷的声音显然更大些。黄色的课桌不大,总是被碰掉在地上的本子显得有点脏。如果你出于好奇想打开看看的话,大概也只能看得清前几页那些好好写在格子里的字,再往后看就只有乱糟糟的一团了。

虽然算不上是爱学习的人,但作业写不好要罚 N 遍,还是只能好好写。从小写字就不好看,碰上教语文的班主任也总是被刁难,可这又能怎么办呢,只能说自己活该。他一边听着 mp3 里存的播客一边写今天的罚写,脑子里四处想着些有的没的。前两天刚刚尝试了一下做 Win8 的 Metro 应用,「也许有一天我可以帮忙给喜欢的播客做个官方 App。」他想。

11 点了,他拿出本子看了一下,还有三遍。父母都已经去睡了,只有他在房厅里在台灯下写罚写。因为怀疑他自己在屋子里不能认真学习,父母在学期开始的时候就要求他到房厅里学习。诺大的房间里只有这一处灯光,倒是有种孤寂的感觉。用他语文老师的话讲:渲染气氛、烘托人物、推动情节、深化中心,好像是有这么一回事。

明天交上去,估计又会因为字难看被说点什么吧,不过也不在乎了,睡觉要紧。他把记作业的本子扔在一边,练习册塞进书包里,根本不知道到了初二将会过上半夜一点半睡觉的日子。

春去冬来,原来还能在晚课间隐约看的到的夏季大三角已经不见了踪影,现在挂在天上的是最好认的猎户座。他只记得属于猎户座的八颗星。这本子越来越薄了,「本来以为能用一学期的。」他拿着被撕的几乎只剩下封面的便笺说到。

用坏的本子越来越多,直到最后随着他初中三年的时光一起被送进了历史的垃圾堆。

他上高中了,朋友送给他一个黑色的大块头,是个计算器。虽说是计算器,但这计算器不但能自己写 BASIC 脚本,还可以流畅运行用 lua 语言编写的程序,甚至可以用某种方法安装 Linux。他听朋友讲,这玩意是国外学生用剩下的二手货,他们上学都带着用的,考试的时候还有的考试模式会把功能限制在考试需要的范围内。

「既然带手机会被没收,那带着这个上学不是很好嘛。还可以在学校写写代码什么的,跑点小游戏也是很好的。」他想。「在这样一个数字产品爆发的年代,学生的数字生活却几乎为零。虽然没有手机,可有了这个东西的话,我也许可以做一些其他人没有做过的事情。」但是,虽然不再被教语文的班主任斥责字丑,高中教数学的班主任却依然是个十分不喜欢电子产品的人,他自然没能顺利如愿。在他的班里,有人带了 mp3 和耳机都会被没收,他也不该对他大的吓人的黑盒子抱多大希望的。

第二天的下午,他自习课的时候在摆弄那盒子,正好碰上班主任从后门进来。「你这什么东西?」「计算器。」「晚上拿回去,别带这没用的玩意。」他去找班主任理论,大概是讲了些这机器能干的事情之类的把班主任说烦了吧,最终被允许带着这东西上学。虽然他和我讲过,但我已经记不清他都说跟老师说过些什么了。

在这之后,他再也不用小本子记作业了,而是直接记在这计算器里面。

初中的时候在播客里听说了 GTD,可他只是个学生,只有作业要写而已。尽管如此,他还是像那么回事似的把记作业的文件命名为「Todo-list」。虽然看起来好像回到了 20 世纪末的 PDA 时代,但他依然为此欣喜。

这台计算器上有个 GBA 模拟器,他的同学经常借他的计算器玩,毕竟手机里的游戏玩时间长了也会无聊。是的,不少人都有偷带手机来学校。这时他还没有手机,只有一台初中毕业时家里给买的 iPad。他知道那台 iPad 对他有多重要,他想学 iOS 开发很久了。虽然一直都没有开始,但他知道,如果他失去了这台 iPad,那就再也没有机会做 iOS 了。他不可能把他的 iPad 带来,他知道如果被没收了,没人能保护他的财产权。

他有时候也玩计算器里的游戏,但他更在意的是怎么做游戏。除了用 GBA 模拟器之外,还可以使用 Lua 语言在这机器上编写原生游戏。他熟悉了一下语法之后,用两周的时间写了一个伪 3D 的躲砖块游戏,玩法有点像三条道的别踩白块。他在微博上发了张图,没过多久就被厂家官微转了。

第二年,他的计算器在公交车上被人摸走了。尽管那人大概会因为发现自己偷的不是个手机而闹心,可这并不能使他夺回他的「PDA」。

他重新过上了用纸记作业的日子。

高二下学期,家里终于同意给他买了台 Mac mini,但他还并不知道想自己做什么,只是按照自己之前学到的用法摆弄着曾经无数次想装在他那台破 PC 上的系统。

后来他听说了 Todoist,每次回到家,他都会把纸上记的作业放进去,然后把纸扔掉。虽然在学校的时候已经没有电子设备可以用了,但他还是尽可能的去做这件事。他讨厌学校里的那些循规蹈矩,想要用有科技感的方式过自己的日子。我劝他现实点,免得过的太累。

他买了个 Kindle。我想他算是个喜欢读书的人,他告诉我他小学时候收到的压岁钱基本都拿来买书了。他听别人说 Kindle 上的书很便宜,而且看起来也很舒服,就买了一个。「学校的那些人应该都没有几个听说过这玩意的吧。」他想。

第二天他就把 Kindle 带到学校去用了。他买了狗耳朵的会员,一到下课的时候就掏出来看今天的 RSS,我借来看过一次,里面有中文的,有英文的,还有一些日文的。他破解了隔壁数学组办公室的 Wifi,Kindle 的信号很好,别人手机都搜不到的情况下也依然能够更新数据。课间不会太无聊了。如他所说,他的 Kindle 就那么摆在桌子上,各种课的老师从旁边走过去,没有人看出那是什么东西。

没过多久,他又发现了新玩法。Todoist 可以在 Kindle 的浏览器里正常使用!对于大多数人来说,那个实验性质的浏览器不过是个看书里链接的玩意,平时一次都不会打开,但对他来说则是 Kindle 功能的一半。上个 QQ 啊,看看微博啊,他甚至用那个看过 AlphaGo 和李世石下棋的图文直播。从那之后他再也没有用过记作业的小本。Kindle 屏幕的反应很慢,键盘也不是很好用,但他依然每天在那个浏览器里记录每天的事情,直到回到家之后拿 iPad 继续。

就这样,他在循规蹈矩的日子里艰难的维持着自己对数字生活的坚持。他无力对抗学校的制度,但至少还能想些办法。

有一天,他终于想到该做一个怎样的 App。于是,除了每天的作业和琐事,他的 Todoist 上出现了和这个 App 相关的计划。他看了书,知道做 App 要从设计开始,所以前几天的任务是「设计计时界面 UI」。他没想过多久能完成,但只要开始就可以了。

白天他就在纸上写伪代码,想到灵感就随便建个任务记下来。也许是因为这个原因,他 Todoist 的那个积分涨的特别快。他花了几天的时间搞定了一个没有 UI 的 Demo 版本发到了 Github,但后面还有很长的路要走。

他盼着这个 App 能给他带来什么,不管是初中失败过无数个项目之后的第一次成功,还是自主招生时候能被人看到的一句简单而有分量的话。抑或是家人对他一直在做的「没用的事情」的认可。虽然只有夜里的几个小时,但他努力的工作着。我看到他在课上常常打盹,大概是很困吧,他的同桌也常说他肯定是熬夜才脸上全是痘的。「没事没事。」他还是一直努力着,每一天看一期斯坦福的公开课,每一天完成一个小功能。

两周过去了,「软件最终命名」「看 Swift」「设计存储类」「时间间隔后tablehidden」「造BarTable轮子」。。。这都是他记在 Kindle 里的任务。App 1.0 是在一个月后完成的。那天他熬夜到很晚,他知道终于要完成了,他很期待最后一刻的到来。

他把 App 提交了,接下来是漫长的等待。他每天都看看自己有没有收到什么邮件,如果没有就继续做新想到的功能。他不再熬夜了,作品已经完成,不需要想更多了。

过了一周,苹果给他发邮件告诉他被拒了。他听过之前微博上一位胖胖的程序员讲的他们公司技术总监的故事。那个人被苹果拒过之后很耐心的改完重新上传,他知道他也应该这样做。被拒的理由很简单,一处他没有发现的崩溃 bug 而已,他用不着想那么多。他很快修好了 bug 再次提交审核。

他给小众软件和少数派发了邮件,没指望太多。每周都发好多东西的小众软件也许会给他发文,但少数派这边只能说是试试。他还是不懂设计,第一版的 UI 挺丑的。这一阵子,他刚买了个安卓手机用。没错,之前的整个 App 都是在 iPad 上开发出来的,他没有 iPhone。「不管怎么样,我可以和班主任讲清楚我做 App 的事情,也许为了自主招生她也不会没收我手机。」于是他决定带手机去学校,终于可以干原来那些怎么都干不了的事情了。

还是因为播客的关系,他进了 Telegram,认识了很多原来没有想过能认识的人,其中有人替他找到了郭老师。也许是因为很少有开发者自荐,少数派其实没有看到这封邮件。2015年就要结束了,编辑们正忙着做年终总结,「这文可能要等到假期之后才能发出来」。他很高兴,觉得这事情有些着落了。设计,编写,营销,这最后一步终于完成了。这天之后,他的 Todoist 又恢复了原来记作业时候的样子。

他没能通过自主招生的初审,果然这事情并不被那些人在意。可这又如何呢,他毕竟已经成功了,比那曾经骂他做的东西是垃圾的人成功好多倍。

后来他又开始做播客,每周五多了一个固定的任务「播客录制」。这是一个要一直坚持下去的艰巨的任务,不过他只想开始而已。第一期只是在其他播客的群里做宣传,毕竟和他录播客人的也是在那个群里认识的。听说群里的大家也很欢迎,也许是因为这样没有经验甚至有些笨拙的主播蛮有趣的吧。

高中毕业之后他去了一个糟糕的二本大学,过了一段集中营里的日子。关于他在学校的日子我知道的不多,毕竟高中毕业之后就很少见到了,但他好像依旧在尽力规划着他的时间。

后来他退学了,我倒是不意外,毕竟我去的那学校也没比他那好到哪去。现在他正在家等待去日本的签证,他不知道未来会怎样。有人讽刺他是不好好应试自找的,有人说他是个牺牲品,他没有对那些人说什么,也没什么好说的。

未来有很多好事可以期待吗,再或许只是自讨苦吃。他曾在从大学回来之后的几个月里反复思量自己的未来。「这是你唯一一次可以和那些土豪竞争的机会。」这样的话也许是真的吧,可这和教育又有什么关系呢?也许从一开始他就不该把这件事情理解成教育,也不该把曾被逼着做过的那些事情叫做学习。这样他就不会选择成为一个「不学无术」的人了。

我有时候会和别人讲:「你们有没有在 Kindle 上用过 Todoist 啊?没用过可以去试试,这软件兼容性真的厉害的。」

听说他一个人在家挺无聊的,我于是趁着运动会不上课的几天回家去看看他。他现在已经不再记作业,但我想他还有更重要的事情要做。



编注:

本文为少数派和豌豆荚联合发起的 「我和 App 的故事」征文活动的精选文章。参与征文,就有机会获得 🎮 Nintendo Switch、📱 魅蓝手机、📒  Moleskine 笔记本, 了解活动详情 >

拿着风车的女孩丨我和 App 的故事

$
0
0

我从来没有想过,在我这个破公寓里,也会有小孩子出现,直到堂哥牵着她站在门口。

「小谷,这是你叔叔,你会在这里很开心的。」

上次看到谷的时候,忘记是哪次聚餐,还在堂哥怀里的她,用浅蓝色的眼睛盯着我看,跟现在的情形差不多,只是她手里多了一个小风车,一个四色的小风车。

放暑假不去暑期班,来一个三流摄影师的家里住,说要当什么学徒助手之类的,这个主意真是烂透了,唯一能够说服我留下她的,大概只有她很喜欢照片了。

谷真的很喜欢照片,在我客厅封尘已久、堆积成山的照片墟,成为了她的梦幻王国,即便是过曝的、失焦的、模糊的照片,谷都一一视如珍宝,她甚至不知从哪弄来了满屋的棉花,说要给照片们做个小床。

「很多照片都拍糊了,扔掉他们吧。」 

「嘘!不要吵,照片在云朵上睡觉呢!」

蹲在地上的谷回过头来冲着我笑,缺了一颗门牙的笑。


谷的妈妈告诉过她,白云长时间聚在一块,就会变成乌云,所以她开始把照片分散开来,准确来说,她开始为照片分类,贴上各种标签——蓝色的东西 / 好吃的食物 / 戴墨镜的人 / 昏黄的路灯……就像荧幕上的那些大侦探,煞有介事地在照片的右下角,贴上各种装模作样的名字。

「叔叔你看!这些都是你拍的大猩猩。」 

「这是黑人,不是大猩猩!」

我敲了一下谷的脑瓜,她吐了下舌头,又跑去做她的大侦探了。


在我外出工作的时候,谷就变成了华生的模样,静静地跟在我的背后,把我用过的胶卷,轻轻收入背囊之中,而当我把照片冲晒出来 ,便又是她最欢乐的时刻。

「叔叔你看!」

谷颠着屁股跑到我的桌前,手里捧着一本相册,封面歪歪扭扭地写着:

《桥咀洲愉快之旅》

「不,那天并不怎么愉快。」

我皱了皱眉,谷并没有理会,她翻着相册,开始演说:

「那天清晨,我们爬上了面包山,看到好多好多石头做的菠萝包!那里还有一条小河,河里……」

那天一点都不愉快,而且谈不上「之旅」,只不过是一个该死的工作而已,约拍的客户迟到了半天,镜头因为过热而失灵,拿反光板的胖子满身臭汗,硬要给我阐明,他昨夜吃了很多大蒜辣椒炒猪肉。

「那个死去的螃蟹好可怜,他一定是吃了太多石头做的菠萝包,给噎着了……」

谷还在叽里呱啦地讲解她的杰作。


谷可不会满足「相册」这个杰作,每隔三五天,她又会冒出新的想法。她会把我试拍的几张风景照,拼成一幅巨大的全景图,贴在墙壁上吓我一跳;她会把我连拍的人像花絮,订成一本厚厚的动画书,噼里啪啦地翻给我看……她似乎很擅长把零散的碎片,重新融为一体。

「其实我的灵魂,早就碎落在各个角落,你能帮我拼回来吗?」我问她。

其实我没有真的问她,毕竟灵魂这词,对于一个十三岁的小孩来说,想必晦涩难懂吧。

但终究,她还是触碰了我的灵魂。


记得那天,电视上正播放晚间新闻。

「叔叔你看!」

谷手里拿着一本相册,这次的标题,是《2015 年的今天》

「哦,原来是当年今日啊!」

翻开相册,照片上的我,搂着一个女孩,两人正笑得甜蜜。

脑海中模糊的脸庞,又逐渐清晰了起来,而我的视线,却越来越模糊。

我没有哭,很早以前,我就对自己说过不许再哭,我只是在那里颤抖着,就像震动模式下的手机,一直颤抖着。

「叔叔,你怎么了……」 

「你什么都不懂!」

我居然吼了出来,被惊到的谷差点没跌在地上。

「你什么都不懂!你只是个自作聪明的小屁孩而已!你以为你的作品很棒哦?那些照片,那些拍不好的就应该扔掉!所有照片都应该通通扔掉!!不要给我自以为是……」

后来说了什么,我不太记得了,我只记得,谷哭着跑进房间,插在窗台的小风车,整夜未转。


当我再看到谷的时候,她趴在桌子上睡着了,桌上放着的,是一叠叠分好的人像照片。原来她花了一晚的时间,把我所有照片中出现的甲乙丙丁,都一一分了出来。在这些照片的旁边,还有一个木盒子,上面写着两个字,「隐藏」。

此刻,我终于知道了谷的用意。

我可以选择,不再理会那些拍糊了的照片,不再打开那个木盒子,但我的确,没必要把它们丢弃。 

因为,所有的照片,不论美丑,都有着灵魂;所有的回忆,不论哀乐,都确实存在……

「叔叔你看!」

我放下手中的笔,谷捧着她的新作品,正冲着我笑,缺了一颗门牙的笑。


编注:

本文为少数派和豌豆荚联合发起的 「我和 App 的故事」征文活动的精选文章。参与征文,就有机会获得 🎮 Nintendo Switch、📱 魅蓝手机、📒  Moleskine 笔记本, 了解活动详情 >


Things 3.1 更新:自然语言识别和创建重复任务

$
0
0

老牌 GTD 应用 Things 在两个月前发布了第三代大版本更新,凭借精致的设计、优雅的交互效果以及友好的操作逻辑很快吸引了许多新老用户的喜爱。前两天 Things 升级到 3.1 版本,也终于支持了在项目内创建重复任务,更加符合多数人使用 GTD 应用的习惯。

在项目内创建重复任务

Things 3 刚发布时,由于不能在项目内创建周期性的重复任务,受到了许多用户的诟病,开发商 Cultured Code 在六周内就收到了关于此功能的 20,000 多条反馈。也正因如此,在这样一个「次级版本」的升级中,Things 3.1 终于支持了在项目内创建重复任务。

要想用 Things 3 在项目里创建重复任务也非常简单,在 iOS 设备上你只需要点击相应的任务,在下方的操作菜单按图示点击「重复」按钮,设置好重复周期即可。在 macOS 版本的 Things 中,你只需选中任务后右键即可设置重复任务。

在设置重复任务时,Things 提供了两种方案:

  • 待当前任务完成后计算时间周期,经过指定的时间周期后新建重复任务;
  • 不管当前任务是否完成,从指定日期开始计算时间周期,每隔一个固定的时间周期创建重复任务,你还可以指定在何时结束周期循环。

接下来两个使用情景说明一下 Things 3 重复任务两种方案的区别。

待任务完成后计算时间周期

举个例子,我养了一只猫,从 7 月 1 日开始,每隔 21 天我要带他去打一次疫苗,总共三针。也就是说,我需要创建三个名为「带猫打疫苗」的任务来提醒我到时间了带他去打疫苗,而这三个任务在执行上没有任何区别,唯一的不同就是时间不同,而且每两个任务之间的时间间隔完全一致,与其创建三个一模一样的任务,不如创建一个重复任务,节省我每次填写任务细节的时间。

带猫打疫苗,我必须在第一针疫苗打完后才能带他去打第二针疫苗,第三针同理。也就是说,我必须在打第一针疫苗的任务完成后,再开始计算时间周期,过 21 天后再创建一个新的带他去打疫苗的任务。Things 3 任务的「完成后重复」这个功能就能实现我的这个需求:只有在前一个带猫打疫苗的任务被我勾选完成之后,Things 3 才会开始计算时间周期,并在 21 天的时间周期后为我创建一个新的打疫苗的任务。

不过在我的测试过程中,发现这个功能有一个缺点,我没办法为任务设置重复循环的结束日期,也就是说,如果到了 8 月 12 日打完第三针疫苗之后我不手动删掉打疫苗这个任务的话,它就会一直循环重复下去。

从指定日期开始计算时间周期

这个功能更好理解,在设置重复任务的界面为任务指定一个开始时间,也就是「下一步」,再设置好循环建立重复任务的周期,那么从这个时间开始,每隔一个周期,Things 3 都会为你创建一个一模一样的任务。

比如小明这周六开始每周去一次健身房参加健身课程,课程的持续时间是一个月。在 Things 3 中创建一个名为「去健身房健身」的任务,设置在这周六开始,之后的每周六,小明都能得到一个软件为他创建的名为「去健身房健身」的任务。与「完成后重复」不同的是,我们还可以指定这个循环任务在一个月之后终止循环,一个月之后,软件便不会继续创建新的重复任务,更加符合我们的实际使用情况。

改进的自然语言日期识别

Things 3 支持自然语言日期识别功能,你只需使用它支持的语言输入相对日期,它就能通过计算,将你输入的相对日期转化为更为精准的日期。比如,你可以在为任务设置截至时间时下拉输入「in 3 days」,软件会自动为你设置准确的任务截止日期。因为 Things 3 的自然语言识别暂时不支持中文,所以这里直接列出开发商在官网的支持页面给出的英文实例为例子:

  • tom:明天
  • eve:今天晚上
  • 2pm fri:星期五下午两点
  • next we:一周之后
  • in 2 mo:2 个月之后
  • third thur in jul:七月的第三个星期四

在我的实际测试过程中,Things 3 也支持下面这些语法的使用:

  • mon:星期一
  • 22nd:22 号
  • next wed:下星期三

相比较于同样支持自然语言日期识别功能的个人任务管理工具 Todoist,Things 3 还不支持类似 eve sat (每个星期六)、starting from (开始日期) 这类与循环任务有关的自然语言识别,它只能通过自然语言为任务设置单次任务的开始或截止时间。

除了支持在项目内创建重复任务,开发商还针对这一功能做出了优化。Things 3.1 不仅新增了日语对这一功能的全面支持,现在在 Things 3 内输入相对日期,它还会把经过计算的精准日期直接呈现给你,让这一功能变得更直观、更好用。

目前,Things 3 支持英语、德语、法语、意大利语、西班牙语、俄语以及日语等七种语言的自然语言日期识别。Cultured Code 也表示,对于中文的自然语言日期识别的支持也会很快到来。

其它更新内容

  • 支持 iOS 10.3 推出的 新评价机制
  • 调整了软件数据库数据的迁移逻辑;
  • 升级了软件的数据同步方案:为了让 Things 3 支持项目内的重复任务,开发商升级了软件使用的数据同步方案,你需要升级全部设备上的 Things 至最新版本才能正常地同步数据。


继续阅读更多 Things 3 相关内容:

为微信转账设置到账时间 | 一日一技

$
0
0

今日技巧难度:★☆☆☆☆


我们几乎每天都会用到微信、支付宝进行支付转账等操作。每当需要给一位陌生人转账时,我的脑海里经常会浮现出各种谨防诈骗的新闻,还会担心「会不会转错了」。更何况默认都是实时到账,一旦把微信转账到账时间设置钱转出去,再想要回来就难了。

其实微信提供了一项实用的功能,可以让转账「2 小时到账」。

微信转账到账时间设置

在微信「我」界面中选择「钱包」,点击右上角的「…」,转到「支付管理」,即可设置「转账到账时间」。可以设置为「2 小时到账」或者「24 小时到账」。

当你发现转错了人,或者转账金额出错。你还有至少 2 小时的时间联系对方,或者及时联系微信的客服处理退款。

日记,是一本太仓促的书 | 我和 App 的故事

$
0
0

很小的时候,我妈跟我讲过一个故事,她老家的学校里,有一个老师当众朗读一个学生的日记,后来,那个小学生疯了。

她讲这个是想告诉我要做一个能忍耐的人,别随便别人一说就神经了。然而小小的我心里却在想,如果我的日记被别人读了…………那个人凭什么读?况且那时候的我别说日记了,连写给别人的小纸条都没有几张。

不过后来的我有了三本日记。

1.

一本是初中时候,那时候流行交换日记,我和我当时最好的朋友一起合写——本来只是日记的。后来我开始在上面写小说,把班上所有的人都写进去,本子在全班传阅。谁惹我了我就让谁和班主任结婚,直到那个人来求我,我再让他和班主任离婚,名正言顺的。

当然,我的那个朋友也弃日记开始和我一起写小说。每次我接过本,甫一看完就天马行空地接着往下编,再轮到他时他偶尔会惊呼一句你怎么能把谁谁谁怎么怎么样了。然后气呼呼地强行把剧情又圆回来。不过这没有用,因为再轮到我的时候,我又把剧情整歪了。

我和朋友后来在班里联手称霸,初中三年笔耕不辍,一系列的书一共写了六本,直到第六本被谁传到班主任的桌子上为止。

它们被班主任叫来的父母全部收缴,现在还摆在我脚旁的柜子里。

2.

一本是高中。那时候的我变成了经常一个人呆着。可能是因为换了地方上学——从南方到北方;又或许地域只是借口,交友本来就是弱项;或者更差,我惹人讨厌。可能是常泡图书馆的缘故,喜欢上了抄诗,日记本里的诗一首又一首地增加,总是那几句席慕容的,和几句我模仿的。

高中本就该这样的,可有一次没吃晚饭的晚自习,上了一节突然饿得连笔都握不住,跟同桌说了一句,出去买了一堆吃的想在上课时立着书吃泡面——本来没什么特别的。前前排的同桌传过来一本小说,用个便利签标出了一句话。书是张爱玲的《秧歌》,话是写金根饥饿的窘状。老师本应发现的,无论是在吃面的我,还是我和她那一张又一张晚自习时传的纸条……

高中临毕业时,我的本子,伴着本子里贴的和同学们传的小纸条一起失踪了。当然这是后话了。

3.

还有一本记到现在。大学,我开始把日记记在手机里,那个应用不能加图1 ,只能写字,按一下加号,就出现一个时间点。我频繁地在上面写,生活、小说设定、梦、诅咒、不知何时何地对何人莫名暗生又莫名消散了的情愫……琐碎得很。打开手机需要指纹,进入应用也要指纹,我的日记也前所未有的安全。

有一次走在学校里,看见前面有非常多的人,人墙中心有一棵松树在冒烟,那颗锥形的树已经被熏得漆黑,空气中弥漫着一股烧柴火的味道。人们皱着眉头离树很远,但仍然不散。我突然生出一种奇怪的感觉。我前两本日记也被人那么围观过,一边被烧着。

过几天后再经过那,那颗树已经被处理,代之的是一颗崭新的松树,比周围的树都要小一圈。

点击查看大图

后记

我到现在仍不太敢看以前同学给我记的同学录,更不敢看以前自己记的日记。写此文章强迫自己看了一些。现在日记里的只言片语里,以前初、高中同学记忆的碎片仍依稀回闪,于是挑选出了上面的三条回忆成文。日记中的故事鲜有完整,但日记的片段拼凑起来,似乎能在迷雾中看见一条巨大的蠕虫,从小到大无数的影像连在一起,令人恐惧,但又心向往之。那时的懵懂、错误,现在的理性、谨慎,在某一天,蠕虫交汇;在某一天,蠕虫停止生长……那时剩下的只是这无意义的日记了罢。

溪水急著要流向海洋

浪潮却渴望重回土地

在绿树白花的篱前
曾那样轻易地挥手道别

而沧桑了二十年後
我们的魂魄却夜夜归来
微风拂过时
便化作满园的郁香



编注:

本文为少数派和豌豆荚联合发起的 「我和 App 的故事」征文活动的精选文章。

我迷失在这梦魇立方之中,只想找到我走丢的妹妹 [送码]

$
0
0

我在想,我应该是身处梦中。

我不知道我是怎么来到这里的,我也不记得自己是谁。我摊开双手,看见自己身上穿着一身绿色的雨衣。天哪,我不再是有血有肉的人了,你明白我的意思吗?我现在,像一张纸箔一样,我是一个纸片人!

我不懂为什么会这样,我只能选择向前走,我的后面是一堵墙,哦不,你懂的,是纸箔那样的,一线墙?我不知道该怎么解释。我的一个侧边是虚无,另一个侧边,那里似乎有地板,现在我不知道怎么去。我只能往前走,我想你要是在这里,也不会干站着吧。

这里的地面像是用木箱子搭建的,平地很平,突起的地方就像是楼梯,都有我那么高的台阶,还好我会跳跃,实在不行我想,爬也是可以的。神呐,刚刚发生了什么?!我敢打赌那是神迹,只有梦里才有的东西。我走到了边缘,突然间,怎么说呢,世界移动了!对!是世界移动了,我就站在这里,这个顶角,我看到了左手边有出路,那我应该左转对吧,于是正想往前走,可是这时候,世界左转了而我并没有动!

我才发现这个世界的远处并不是虚无,那里有一些影影绰绰的画在飘动,我能发现并联想到世界在动,全靠这些画。还好我的几何学得不错发现了这个神迹,不过似乎也没什么用,梦里面什么玩意没有呢。

我看到了一个披着长发的小姑娘,长发及腰,不,都已经拖地了,她脸色苍白像是幽灵,她发现我了,似乎很惊讶害怕,眨眼功夫就飘走了。我只能向她消失的方向走去,毕竟这儿没有其他出口了。前面似乎有个门,LEAVE ME ALONE 的文字悬浮在上面,我敢打赌她一定躲在里面,「滚开!」。呦,脾气还不小。前面还有路,我到边缘的时候,世界又移动了,前面连续的台阶,我走了上去,拿到一把钥匙。这应该就是打开那扇门的钥匙吧。说实话这扇门让人反胃,两边竟然有四只大眼珠,血红色的组织把它们粘在门边,或者这些组织就是眼珠的一部分,啊,恶心。我走了进去,世界黑暗了。

当我再睁眼的时候,世界变了。我边走边观察这个世界,我看见了一个小女孩的画像,是彩色的,像是五六岁小女孩的简笔画,色彩很鲜艳。她的旁边竟然有一只章鱼,一只独眼章鱼!它的眼睛真的好大,还会盯着你看!希望它不会拿它的那些触手来对付我。这儿也有一扇粘着四只眼珠的门,看来附近也有一把钥匙。我来到了二楼,是啊,这里有二层,女孩的画像和那只章鱼就在我脚下,还好它是友善的。哦不!这儿下的雨,竟然是红色的!你有见过红色的雨滴吗?!血红色的,就像…就像…我得赶紧离开这儿!底下有獠牙,我敢打赌掉下去不是摔死就是被怪物吃掉。喔喔喔天,跑太快刹不住车了,我在掉下去的时候拿到了一枚钥匙,看来世界又要黑暗了。

有个声音说她有个哥哥,他是个哑巴,天生的哑巴。

那会是我吗?我确实说不出话。看来我非得要找到她问个明白才行。这个世界真的非常复杂,我可能是有个妹妹,一路上我捡到好多属于她的东西,我才想起来,我似乎真有个妹妹。我要去找到她,她......她自己一个人在这里,从始至终,孤单一人。如果我是他的哥哥,那就绝不能放弃她。你会原谅犯了错的哥哥吗?


评论送码

在评论中分享你对迷失立方这款游戏的看法,我们将在 7 月 14 日评选出最多 3 个优秀评论,并送出迷失立方 App Store 兑换码各一个。

结合敏捷学习方法论,将 GitHub 打造成自己的个人学习管理应用

$
0
0
「持续行动,持续反思,持续进步。」—— via. 敏捷学习宣言

前言

对时间的敬畏

需要好多年才能懂得,最好不是去震惊世界,而是要像易卜生所说的,生活在世界上。

我们都一样,渴望着建树功勋、改变世界,可是伴随着年岁的增长,却发现想要实现的梦想依然那么遥远,而时间却依然残酷得流逝着,不会仅仅因为「你」而发生丝毫的改变。如《奇特的一生》当中所言,我对时间始终充满着敬畏之心,最好的方式也不过是奢求时间能够跟自己做朋友,伴随着我这也许注定朴实无华的一生,共同成长。

在我们的一生所能做的事情里边儿,睡眠占去 1/3,此生只剩 2/3,除去非做不可的基本生活维护成本过后,剩下的时间要么选择浪费而荒度此生,要么选择目标而奋力向前,让这一生不留遗憾。Follow your heart,你需要找到一些愿意为其付诸终身的「目标」,以这样的姿态「生活在这世界上」。

敏捷与个人成长

就像软件开发一样,一个人的成长也应该要有自己的方法论。人的一生若是顺风顺水一成不变的话,那未免太无趣了,正是由于世界的未知在等着我们去探索,不一样的经历才会让人感到惊喜和有趣。想做的事情永远都不会嫌多,就像柳比歇夫最开始是研究生物学的,却在科学的道路上越走越远,进而研究起了数学、物理、哲学,甚至于美学,而更关键的是,他在每一方面都做出了很大贡献并且留下了诸多著作。

时间充当着 Product Owner 的角色在不断着向你提出各种各样的需求,敏捷当中最重要的一大前提就是「拥抱变化」,而在「记录时间这件小事儿」里面我提到的 GTD 流程便可以用于处理这源源不断的需求,即收集、整理、执行、回顾,对应到敏捷当中的几大会议显然也可以由个人完成,自己就是自己的 IM & PM,当然也是 BA & Dev & QA。(当然不用担心人格分裂,😂)

实践之术

我都没想到写着写着怎么就把开头写成了鸡汤文,[捂脸](./wechat/emoji.jpg)。但是咧,如果说前面的讲的是「道」,那么接下来就会具体到基于 GitHub 的「术」,即各种实践。

首先呢,让我们从需求出发,从市面上来寻找一款符合敏捷的学习软件,别想了,当然是没有的。对于一名程序猿来说,最理想的答案其实就是 GitHub,作为全球最大的程序猿交友网站,GitHub 本身以及围绕 GitHub 的各种插件使得其项目管理能力其实远比你所能想象的厉害得多。

  • 收集:需求无时无刻,无处不在,anywhere anytime
  • 整理:as BA 即分析,Elaboration & Estimation & IPM => 确定 MVP & Efforts
  • 执行:as Dev & QA,Developing & Testing & Review/Sign-Off
  • 回顾:Retrospection,Introspection,持续反思,持续进步…

通过 GitHub Issues 收集需求

首先你可以给自己建一个 GitHub 仓库作为主页,比如我的 JimmyLv/jimmylv.github.io: Agile Learning based on GitHub issues 其实最开始就是从个人博客的主仓库发展而来。那么,如何快速得收纳自己的想法呢?以解决问题为导向,当然就是有什么需求就直接给自己的 repo 建一个 issue 作为 Story Card,然后了却这个需求的最终形态就是 close 掉这个 Issue,比如我要写这篇文章就始于这个 issue:基于 GitHub 的敏捷学习方法总结 · Issue #36 · JimmyLv/jimmylv.github.io

GitHub README

GitHub issues 的进阶用法

与此同时,新建 issue 还有更高级的用法,也就是通过 ISSUE_TEMPLATE 这样一个模板来新建某个 issue,从而更快地定位问题所在和解析自己的想法,最主要的是能够输出更具体的 TODOs,即下一步行动的具体内容,这个还会在后面详细解释的。

New issue

  • issue 和 issue 之间是可以通过 # 相互连接的,甚至可以跨仓库,被 reference 的 issue 也会出现在另外一边的 issue 里面;
  • 而通过 #! 符号是可以在 comments 里面直接新建一个 issue 的,这在思维爆炸的时候来得特别爽快;
  • 你还可以随意艾特你的小伙伴们 @linesh-simplicity @Yaowenjie ,互相监督、互相学习或者给出 Constructive Feedback 之类的,😂;
  • 更甚至于,若是在 Intellij 里面关联了 GitHub,就可以在 git commit 信息里面直接看到你所要关联的 issues 列表了。

这种方式仿佛学习中的大脑,神经网络被连通了的感觉。

Intellij & Issues

移动端的解决方案

而在移动端则可以通过 GitDo 这个 App 来轻松新建和管理自己的 Issues,没错,就是有人把 GitHub issues 做成了一个 Todos 类 App,还做得很漂亮功能很完善。只可惜不知道这软件最近为啥被下降了,伤感,我就又重新把滴答清单(TickTick)作为自己的万能收集箱了,之后再把比较重要的、需要进一步追踪的事项添加到 GitHub issues 里面来。

GitDo

整理你的 GitHub Issues

大胆地把 issues 作为你的个人需求列表吧,需要解决的问题可以大到做一个开源项目,或者小到读一本书、写一篇文章。对于比较大的需求,你还可以将其转化为 Epic 然后把拆分过后的小 issues 们加入到这个列表里面来。

Epic

而 GitHub (with ZenHub) 强大的 issues 管理能力绝对会让你的迭代工作变得井井有条,使用 GitHub 新出的 Projects 特性或者使用 ZenHub 的 Boards 应该就可以让你瞬间有了日常敏捷工作的感觉了吧!

ZenHub piepline

计划与执行具体任务

制定迭代计划

首先呢,让我们来新建一个 Milestone 来制定计划,也就是决定在一个 Iteration 里面你需要完成哪些 issues。在这里我所制定的阶段性计划周期为一个月,当然你也可以勤快一点以 2 周作为一个 Iteration,享受一下自己的计划要完不成了这个 Milestone 就要废了,没法向「时间」这个一生的朋友交付所有需求的快感吧,🙂

Milestone

当然咯,一般我会在月初做计划的时候给自己准备专门的时间来做 Elaboration,把 Backlog 里面的卡拖到 Rethink/Plan 这一列,然后经过分析和详细输出 TODOs 以及所对应的估点 points 之后便可以将其拖到 Ready For Todo 了,一般我给自己估的点数就是完成这件事情所需要的时间,一小时即对应一个 point。

Iteration

这样你就可以愉快得选择 Filter Issues by Milestone 专注于当前 Iteration,专注于 In Progress 这一列所要做的事情,并且垂涎于 Ready For Todo 里面将要做的事情,每次做完还可以放到 Review/SignOff 里面写写对这件事情的总结和感想什么的,每次挪卡都充满了敏捷的仪式感(认真脸)。

进度的把控

GitHub 在 issues 里面直接集成了 Markdown 的 TODO 语法,甚至于可以在渲染过后直接拖动某个 item 进行排序,而且前面的勾选项可以直接打勾 ☑️ 标记为完成,而且完成之后这个 issue 还能直接显示完成进度;前面所提到的 Epic 也能直接显示子 issues 的完成情况即 closed 比例,两者结合起来简直不能再美好,😂

比如说拿来作为读书列表的记录就很不错,每本书作为一个 issue 还可以把章节划分为具体的 TODOs,结合估点可以追踪自己看书的进度和速度,顺便在 comments 底下做个笔记也不错啊!

TODOs

专注当下

而且 ZenHub 还提供了一个基于 GitHub Issues 的 Todo List,你可以只用关注 Today 这一个列表,专心于当前要完成的任务。而且更有趣的是这个 list 可以加入 GitHub 的任何 issues,也就是说是全局的,所以你就可以加入很多在 GitHub 上通过 issues 写的 blog,比如徐飞的这篇文章流动的数据——使用 RxJS 构造复杂单页应用的数据逻辑 · Issue #38 · xufei/blog,被我加入到了 Reading 的列表当中。

Things to do

与此同时我还会使用 Toggl 来记录每个 issue 具体实施的时间,以便于在时间花费上能够获得及时的反馈。这样做会让你真切地感受到时间的流逝,而在回顾记录的时候也能够进行总结分析,从而在下一次的计划当中能够更精确地预估时间(点数)。比方说这篇文章我估了 5 个点现在已经写了 4.5 hours 了,不过这是另外一个大话题,可以参考 记录时间这件小事儿 这个 issue。

Toggl

迭代回顾与总结分析

ZenHub 也提供了 Burndown 和 Velocity tracking 图,可以得出这个迭代总体的完成情况,看看跟预期有何不同;也可以跟其他迭代进行对比,看看有何不同的地方,然后进行下一步的具体分析。

Burndown

还可以根据 GitHub 和 Toggl 里面的数据进行汇总和分析,下面这个表格就是我在 11 月这个迭代完成后一部分 issues 的具体 Estimation Points 和 Time Efforts,再结合 issues 里面所记录下的各种笔记和 references,就可以有一个比较直观的总结和复盘了。

NUMBER & DESCRIPTIONESTIMATION POINTSTIME EFFORTS
#85 记录时间这件小事儿304:26:18
#96 如何对时间进行分类?803:00:09
#102 建立个人 Wiki 系统202:53:56
#101 技术雷达宣讲:enzyme 测试框架506:11:19
#90 Working time improvement133:27 min
#97 如何使用 XX 的标签系统?125:21 min

其他辅助工具

  • 看板:as Jira/Trello,可视化当前进度 => GitHub Issues group by @Projects / 日历 in @滴答清单;如果你不想用 ZenHub 可以试试 Gitlo 可以在 GitHub issues 和 Trello 之间进行双向同步。
  • 晨间日记 / 每日回顾:as Stand-Up,只用关注 Timeline/Done/Todo/Blocker 以及当天的心情 / 天气等等,使用 @格志日记的一个特点就是可以通过问答的方式对一天进行回顾。
  • 时间记录:@时间块的优点在于记录非常得简单、快捷,用户评论最省时间的时间记录工具没有之一,推荐新手可以试试。但由于个人需要更加详细的记录细节和报告分析,以及多平台(包括 Chrome Extension)的支持,从而选择了 @Toggl
  • 白噪声:作为一款时间记录工具,@Toggl 本身就支持 Pomodoro 的 25 分钟提示,而作为专注力辅助的白噪声软件我在手机上用的 @潮汐,电脑上则选择了 @Noizio

后话

也许你很喜欢这个解决方案但又不太想公开自己的 issues 列表,那可以试试 GitHub 的 private repo(需要付费),免费的可以试试 GitLab,支持从 GitHub 一键导入,并且已经原生支持了 pipeline 和 kanban 功能。当然咯,不限于工具或软件,这一套方法论其实是可以运用在任何地方的,甚至于我们可以来做一个结合敏捷方法论的个人学习管理软件也不错嘛!

但是于我而言,选择在 GitHub 这样一个公开环境下记录学习的最大一个动机就在于「开源」,很喜欢一句话,大意是「在这个互联网时代,能限制住学习的只有你的求知欲」。当你从互联网这个广阔的知识海洋当中汲取知识的时候,也应当有所输出到即反哺到整个互联网当中去。我会经常写博客 / 笔记来总结分享自己的所学,但是一篇文章诞生的背后往往还有很多其他知识和经验的相互交融与沉淀。Issues · JimmyLv/jimmylv.github.io 这个列表里面的某个 issues 最终能否演变成一篇文章我不知道,但是基于 GitHub 开放式的学习历程都会被这些 issues 如实地记录着,任何一个想法都能追本溯源被找出最开始的缘由。

相比于软件开发这件小事儿,健康快乐地成长显然要重要得多。—— 立青


跳出固有的思维,换个角度去看待 iPad | 征文精选

$
0
0

iPad 是我最喜欢的产品线。它的诞生,硬生生的从电脑与手机之间,创造出一个消费需求,一个崭新的产品线。iPad(以及所有其他的,同样形态以及设计概念的 tablet 产品)更加接近我心目中的未来设备的样子。

移动设备方面,笔记本电脑是在对于过去台式设备的模拟。使用的第一步,永远是翻开屏幕,分离出屏幕以及键盘,从折叠形态「变形」成为一个台式机类似物。

所以无论如何,笔记本电脑使用都是需要一个立方形状空间。

而 iPad 以及其他平板电脑,使用的第一步仅仅是点亮屏幕,然后就可以尽情使用。

相对于笔记本立方形使用空间,平板的使用范围仅仅是一个平面。这一点点的变化让它有更广的适用范围。即使在狭窄空间时的灵机一动,都可以找到一个不大但是足够的空间,来掏出平板电脑。不知不觉当中,平板电脑的使用时间大大增加。因为更多的机会适合用平板来工作,不论是狭窄的地铁,还是走动途中。

而「翻开笔记本电脑」这个动作,变得更加有仪式感。仅仅当找到一张桌子,并且有不短的一整段时间时候,才会用笔记本电脑来进行一大块工作。

我一直对于平板成为下一代电脑充满乐观期待。即使在 iPad 最早诞生时刻,仅仅被介绍为一个,主打移动上网体验的设备,现在人们对它的期待远比浏览网页要高得多。而我认为,重要的是如何改变态度去看待这个产品。

理想的终端设备

将 iPad 看作一个终端,他是合格的。

狭义来讲的终端,最初是指一台大型计算机上许多之一的终端机,可以多台终端机器共享一台计算机的计算能力。

虽然离日常生活常见的个人概念有点远,但是看不见的地方仍然普遍存在。学校以及科研机构里计算机行业,日常使用电脑并不会对单台有多么高的配置要求。一个普遍的方式,是每个学生日常都是打开一个黑框框,敲着命令。而那个黑框框就是一个远程终端,连接到某层实验室机房里面昂贵的 HPC(高性能计算机),由它进行大量的计算。所以看出了终端设备的必要性,因为庞大昂贵的 HPC 根本不需要随身携带,只要可以连接,就是进行复杂的工作。

在 iPad 诞生至现代,让 iPad 作为终端可能是计算机行业最佳的生产力工作方式。

在很多年之前,我刚刚拥有第一代 iPad mini 时候,我就一直对 iPad 上工作方式进行探讨。印象最深刻的是 MacStories 上的一个故事,iPad + Linode, 1 Year Later,讲的是一个程序员放弃了 MacBook,而是买了一台 iPad,租一个 Linode 公司的服务器来继续他日常的工作。正像图中所示那样,根本没有什么 Pro 版本的 iPad,也没有分屏或者文件拖拽,那仅仅是一台,刚刚具备多任务能力的 iPad 2。

MacStories: iPad + Linode, 1 Year Later 作者的工作状态

时过境迁,从那个 iPad 生产力故事那年到现在,iPad 已经变得不昂贵,Linode 以及其他的服务器提供商,在云计算发展大背景下,也早就降低了服务器的价格。学生时代的我就已经可以一直用着 5 美元的简陋服务器,来实现无数的有趣的事。

连接一台电脑,需要一个 SSH 协议终端软件。如果想要图形界面,也有流行的 VNC 协议,官方也有着免费的应用下载。终端软件推荐 Prompt,当然终端软件无法对使用起决定性作用,重要的背后那台电脑。

在学校的几个地方测试学校的网络结构,有了基本了解之后,我就已经决定了 iPad mini 作为日常主要使用的电脑。带着蓝牙键盘,在学校的任意角落连接回宿舍的那部电脑,完成日常的工作。甚至那时候,从出门时候都不会犹豫,直接把 iPad 塞进包里,而电脑只要确保电源不间断,路由器做好配置让我可以连接回宿舍即可。

曾经在图书馆里,拿着 iPad,写着内核模块,装载到虚拟机,做实验查看着结果。如果我带一部电脑来进行工作,仅仅编译以及虚拟机的能耗,就会让我整天四处找电源。而作为终端设备 iPad 不一样,仅仅是轻度的终端工作,电量可以让我使用一整天。

第一次有在外网工作需要时候,比如在外与朋友们聚会间隙惦记着自己的工作的时候,我想到的第一件事并不是去检索「如何远程连接自己的电脑」,装一堆软件买一堆服务。而是去思考,如何让这套工作方式,延伸到外网去,当连接可以保证之后,我的工作也可以保证。于是,在学校周围的麻将房里,我拿着很小的 iPad mini ,对着键盘敲击,而大洋彼岸的服务器将操作又送到了不远处自己宿舍,电脑在辛劳地工作着。

(如果有兴趣,可以搜索下 SSH 的反向连接等相关内容。)

更广义的终端概念下,合格的终端设备

广义上终端的概念更加丰富。安装任何一个类似客户端应用,都可以将平板在广义上看作终端。可以想象,现在不联网的应用已经很少,应用背后无数的服务器提供的强大计算能力来为应用提供计算能力支持。所以日常生活场景都可以将 iPad 看作一个终端。其实在生活中潜移默化,但是普通人并不需要感知。

比如,微信只不过发了几条信息,但是并不是直观上那样端到端发送的。微信服务器每天处理着 PB 级别的数据,十亿与你一样的活跃用户每秒都创造着数十亿对服务器的请求。微信的功能没有多大的改变,而背后的服务器早就应对着

比如,网盘上有着上千 G 的虚拟的存储空间,远超着一个设备上的存储容量。但是其背后的对象存储服务器为这些资料提供了不可能丢失的冗余备份,同时保证用户请求一个文件时候,几毫秒就可以得到的处理能力。

这样来看,同样作为终端设备,上网本、Chromebook 与 iPad 可能设计理念上,有着一致的设计思想,或者使用中也是一致的使用思路。但是正如前文所述,形态上我仍然认为平板电脑产品是更符合我对未来电脑的预期。开合屏幕以及解开折叠形态,本质都是为了对传统电脑的模拟。

而且,此时的终端设备优秀与否,就是依靠于软件厂商的在相应平台上工作的重视程度以及完成度。我会一直强调喜欢广义平板电脑的形态的产品,但是内心中我也明白,目前在这当中做的最成功的其实仅有 iPad 产品线。

我甚至一度建议,如果并没有对计算平台强制要求,普通的人就不要花费一大笔钱去买一部笔记本电脑。根据我的观察,的确有一大部分人的笔记本电脑使用频率很低,或者仅仅被用来做一些,其他终端设备也可以游刃有余的工作。比如,仅仅是上网,购物,看视频。而昂贵的价格购买的笔记本电脑,比如一部顶级 iPad Pro 的价格,可能买到的笔记本电脑是一个用着速度远不如 iPad 上闪存的机械硬盘,实际的体验会糟糕许多。

(关于微信等背后服务器相关的数据,来自于个人整理自 InfoQ 上腾讯公司的分享,有兴趣可以查阅相关文章。)

优秀上网设备,浏览器以及互联网的未来

无法否认 iPad 是优秀的上网产品,正如它诞生时候,乔布斯在发布会上拿着他演示浏览器那样。一度,当我的陈旧电脑因为性能低下,让浏览网页体验体验不好的时候,我甚至就是电脑与 iPad 一起使用,iPad 专门用着一个键盘,用来高效使用浏览器。

几年前,我曾经十分迷恋过浏览器。当我第一次见识到现代浏览器强大的时候,我深深认识到为何 ChromeOS 要设计成浏览器主导的操作系统,即使它并不太成功,我仍然很尊重这背后的推动者。我也一度坚信浏览器会成为。我甚至会,电脑本地打开着网络服务器,通过浏览器,localhost(一个特殊的保留网址,指向本地)去访问那些优秀的网页应用。比如 impress.js 来制作幻灯来作为课程展示。(可以体验下 demo。)

其实,浏览器本身就可以看作一个重要的终端设备。在 iPad 诞生至今,同时发生的其实是浏览器的发展以及网络速度的发展。甚至目前达到了一个程度,native app 与其网页版本甚至没有什么功能的分化。同时还有一个同样可以看作浏览器的发展的是微信小程序(以及其他公司的同类产品),其本质可以理解成为一个可以调用更多功能的浏览器。对于一些应用,其实不同平台的版本做的同质化的工作。native app 或者小程序可能是,优化掉网页跳转过程中那种重复下载资源的消耗,但是最重要的还是向服务器请求数据来展示。甚至现代很多更先进的网络架构中已经不会区分渠道来源,专门有服务器提供数据即可。

例如,大众点评的浏览器、App、小程序版本,其实功能基本趋同。

Web、小程序、App 版本的同一应用,功能的同质化

我们已经经历过一代的浏览器发展,上古时代的浏览器只可以点击,没有拖拽、动态等。而可以预见的未来,当然像是高性能浏览器与微信小程序类似物逐渐同质化的发展。不妨设想一下未来浏览器的发展,例如,必要情况下,当然可以网页直接调用摄像头扫码,书签页的某个网址就来为你解锁膜拜单车。或者,购物网站的付款网页直接调用 Touch ID 来完成付款的授权。

到了这里,不知不觉中,又回想起 iPad 诞生之初,那个主导网页浏览的工具。而未来,作为一个优秀的设备,以及更加先进的网络技术,仅仅依靠先进的浏览器,也可以让它作为一个优秀的终端工具,作为日常使用。

通用图灵设备

经过了计算机专业科班几年的学习,我看待计算机这个概念更加的广泛。报废掉第一部我很满意智能机 iPhone 4 的时候,我很惋惜。虽然旧手机变得很难用,我很可惜的里面仍然可以使用的存储器以及处理器。在我眼里,现代的智能设备,与桌面上那些传统意义的电脑,并没有多大的区别。我甚至不靠谱地意淫过,如果我有机会回收,我希望将所有淘汰的大家不用的手机组成超算,然后虚拟化成云服务器出去给需要的人,继续让其产生价值。那部 iPhone 4 是个让我折腾很多的设备,甚至越狱之后拿着 shell,当作一台 Linux 主机那样玩弄,安装了 vim 和 gcc,艰难地编译一个 Hello World 都让我兴奋很久。

我提到这些,主要想要说明,iPad 与其他平板电脑,其实与传统意义电脑没有多大的区别。理论上他们其实都是一个计算能力等同图灵机的设备。也就是说,他们能做的事情没有多大的区别。区别在于,他们背后产品经理想把他打造成什么样子。打个比方,其实作为一台计算机,iPad 没有任何一点比树莓派差,或者 iPad 有着世界顶尖的移动处理器。而过分高估树莓派或者低估 iPad 都是片面的,他们其实都是一样的计算机设备。

而最终局限的,只是想象力而已。

如果我的 iPad 只能安装一个应用,我会选择 Pythonista(或者同类的产品)。然后再用 Pythonista 去实现其他的应用。Pythonoista 提供了一个编程语言 Python 的平台,并且把标准库的系统调用,尽可能地做成了 iOS 设备的。从自带的 Example 看到作者用它实现的各种玩具,从游戏到工具,到数学计算以及图形可视化。Python 是一个图灵完备的编程语言,也就是说,从理论上的具备了完备的计算能力。

举个实用的例子,Linux 常用软件 wget 可以用来下载网络上文件。我用 Python 之父写在 Python Cook Book 中的一个例子,使用几行 Python 实现 wget 核心功能。这样我们就获得了一个简易的下载软件,下载了网络上一张图片。

使用 Python 实现简易 wget 下载图片

那么创造力可以达到怎么程度?我来举个例子,我最喜欢的一个 Pythonista 上的应用,一个针对 Pythonista 的 ShellStash。基本就是,穷尽了系统调用的各种可能,让这个应用内,完全像是操作一台电脑一样。

比如,基本的文件管理,列出目录、创建文件夹……

比如,挂载一个「文件系统」,来自由地操作文件。这个所谓的「文件系统」,其实可以挂载一个 Dropbox、一个 FTP……

比如,常见的压缩,解压缩……

比如,Python 实现的 SSH 终端……

比如,Python 版本的 git 软件实现编程工作的版本协作……

即使 iOS 严格限制应用的权限,但是拥有了一个完备的平台,就可以在应用内实现无限可能。当 iOS 不允许此类执行代码应用从外界下载代码,不允许 Dropbox 同步,论坛上的极客们就自己用 Python 实现一个 Dropbox 同步工具,在应用内同步文件使用。

拥抱了一个完整的平台,也同时拥抱了工业界宝贵的开源财富。曾经那些工业界常用的 Python 库,一下子大部分在 iOS 上有了施展空间。比如,你可以毫不费力地在你的 iPad 上执行 Python 版本的 ss,让你的 iPad 作为一个专职网络服务的 ss 服务器。

所以,生产力很大部分,还在依靠着创造力。

即使如此,作为计算机专业的科班学生,我当然不会激进直接让这些来代替我生活全部,当然不会满足我所有的工作。但是我还是愿意大部分时间依赖着 iPad。我当然不否认,很多工作是需要电脑来完成。反对我的人当然可以说「有本事你在 iPad 上开发 iOS 应用啊」。我当然是可以说「不可能」。

但是回想起工作本质,到底是什么,然后再去思考 iPad 适不适用。我理解的工作本质,90% 的时间其实是在思考以及试验。iPad 上配合蓝牙键盘,写着算法框架以及试验正确性,这样的工作当然最花时间的,而这一点,我在 iPad 可以完成的很不错。超乎常人意料的是,那种所谓的在电脑上的工作,在头脑清晰之后,只需要很少的时间去实现就可以了。

是否有勇气放弃现有的

作为生产力转换的最大阻碍,就是敢不敢直接放弃已有的技术栈,去努力拥抱新的。

有一个例子其实很恰当。大学学习编程的人,记忆中可能都是要去安装一个 VC6.0。那可是一个一个 1998 年的老旧编译器,但是很惊讶的发现 20 年之后的现在,大部分大学里面还是默认使用其来教学,因为教学的老师是使用这款软件的那一代人。

但是学习编程真的仍旧需要这样么?理论上不需要,交互优良、画面美观的编程教学的 App 有许多许多。但是期末考试还是要求你回去继续使用那个上个世纪的东西。同样的道理,目前仍旧有的许多地方依赖,或者懒惰不愿意改变陈旧的 OA 系统,或者网站还是停留在 IE6 阶段,许多时候不得不妥协于现状。

有些情况下,这种因循守旧是最大的阻碍。并不是新产品不具备生产力,而是旧的事物让人离不开旧的生产力。

偶尔设想一下,在未来,如果一个人,人生中第一台电脑是一台平板电脑类似物。学习电脑第一步不是熟悉鼠标和键盘,而是直观地指点和触碰,我会认为那个人,比我这代人更加幸福。


编注

本文为 Matrix 社区正在举办的 iPad 能胜任你的工作/学习吗? 主题征文活动的精选文章。

从零开始,教你用小米设备搭建 HomeKit 智能家居

$
0
0

系列文章,第一章介绍 Homebridge,下一章介绍能够关联 IFTTT 的 Homeassistant 与 Homebridge 联动

HomeKit 集成在 iOS 系统上,凭借 iOS 的易用美观以及 Siri 操控家居的炫酷感,深得我心,奈何 HomeKit 正版授权的硬件的成本都比较高昂,唯有把目光投向同样把脚踏入智能家居的小米。

Homekit噢
Homekit噢

小米的智能家居物美价廉,基本能覆盖到 HomeKit 硬件能实现的功能(除了车闸门,指纹锁这一类高端产品)。

米家噢
米家噢

但是不得不说,小米的官方 App 比较难用,而且不能用 Siri 来控制自己的家居,感觉还不够智能。我想把米家的智能家居接到 HomeKit 上!

小米产品曾经是集成对 HomeKit 的接口,奈何这个功能只出现在小米某一代路由器上,听说现在还被刨除了,但小米的生态链绿米有开放控制小米智能家居的 API 接口。

而且 Geek 界就有高手,逆向工程了 HomeKit,所以我们今天可以通过这类工具手动把米家智能家居桥接到 HomeKit 上。

0. 开始前说明

0.1.用到的技术:

0.2.需要的材料:

  • 永不关机的系统,建议树莓派 3,你也可以用 Mac 搭建

0.3.支持 HomeKit 的米家智能硬件:

null

  • Gateway(网关)
  • ContactSensor(门磁感应)
  • MotionSensor(人体感应)
  • Button(按钮)
  • TemperatureAndHumiditySensor(温度湿度传感器)
  • SingleSwitch(单按钮墙壁开关)
  • DuplexSwitch(双按钮墙壁开关)
  • SingleSwitchLN(单按钮墙壁开关零火版)
  • DuplexSwitchLN(双按钮墙壁开关零火版)
  • SingleButton86(86型无线单按钮开关)
  • DuplexButton86(86型无线双按钮开关)
  • PlugBase(ZeeBee插座)
  • PlugBase86(86型墙壁插座)
  • MagicSquare(魔方)
  • SmokeDetector(烟雾报警器)
  • NatgasDetector(天然气报警器)

1. 无屏幕连接树莓派

1.1. 准备树莓派的系统

  • 你需要一个树莓派,我是在淘宝买的,规格是树莓派3代Model3B
  • 你需要一张TF卡,容量的话我建议16g够用,京东上[SanDisk-16g]的报价是53元,不算贵。
  • 下载树莓派系统Raspbian的最新版完整映像,[下载地址]
  • 我使用Mac系统,所以使用ETCHER这个免费的刻录软件来完成刻录工作。[ETCHER官方地址]
    使用ETCHER来把映像刻录进TF卡中(注意不是复制噢!)
    null

    首先选择树莓派的系统映像,然后选择你的TF卡,最后点击Flash!。然后等待软件刻录完成,如下图。
    null

如果你是使用Win系统,推荐你使用Win32DiskInager,这个软件网上非常泛滥,但是本人找不到官方网页,推荐读者自己去了解一下。

1.2. 开启SSH协议

我们可以使用SSH协议去连接树莓派。

From now on SSH will be disabled by default on our images. [via]

但树莓派官方如上文所属,在新版本中默认关闭了SSH功能,我们需要想开启SSH协议才能无屏幕连接他。

打开刻录好的TF卡根目录,在目录上创建一个名为ssh的无后缀名文件,如图5,即可开启树莓派的ssh功能。

图5
图5

我这里是用Mac系统,我直接用vim创建的。如果你在Win系统,你可以新建一个txt文件,命名为ssh,然后把.txt后缀去掉。

搞掂之后,把tf卡插到树莓派,给树莓派插上网线。开机就可以了。

1.3. 寻找树莓派地址

2种方法:通过DHCP查找或者手动设置ip地址

  • DHCP:
    大部分路由器默认开启了DHCP,你可以在路由器上面查看名为raspberrypi的主机的ip地址,就可以知道树莓派的地址。如图6,是我的路由器管理页面中的设备管理页面。
    图6
    图6

    如果你是使用Win系统,你可以下载Advanced IP Scanner这个免费软件去搜索你网络中的主机。地址是[这里]。他是我用过的win系统搜索比较全面的工具了,如果你的网段处于192.168.1.xx,那你启动的时候,你搜索192.168.1.1-192.168.1.254,就可以找到树莓派的ip。效果如图7所示。
    图7
    图7
  • 手动设置IP:
    一般你在DHCP服务器中搜索都能找到你的树莓派,实在不行,就尝试手动设置IP。
    把你的sd卡插回到电脑,然后编辑根目录的cmdline.txt文件,在最后加上ip=192.168.1.234(如果你的网段是192.168.0.xx,那就加上ip=192.168.0.234)。
    然后把卡插回去树莓派,插上网线,开机,ssh这个ip地址就可以了。

如果你在DHCP服务器搜索中找不到树莓派,手动设置也不奏效,非常有可能非常有可能非常有可能是这个TF卡有问题,我就是遇到这样的情况,死活接不上树莓派,后来京东买了一张新的卡,同样操作烧录一次,一开机就能找到树莓派的IP地址。

1.4. SSH连接树莓派

在Mac上直接打开终端,输入命令(192.168.1.103替换成你的树莓派实际的IP地址)

ssh pi@192.168.1.103

如图8所示。

图8
图8

意思就是以pi账户名,去SSH登陆192.168.1.103。
树莓派的SSH初始密码是raspberry.
登陆成功后,如图所示。

注意,mac终端上输入密码时,不会按照你输入的字符显示**星号,你直接输入完回车一下就可以提交了。

然后他会提示你,这个默认密码贼不安全,赶紧输入下面的命令重置一下密码。

passwd

至于Win版,默认没有SSH连接客户端,你可以用XShell5这个SSH客户端来连接,点击跳转到[官方页面],面对个人用户永久免费。

2.正文开始

2.1.安装NodeJS

在终端中输入

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs

null

安装完要使用nodejs -v看看版本是不是v6.xx,如果不是的话,再次执行这两条命令。

2.2.安装avahi包

在终端中输入

sudo apt-get install libavahi-compat-libdnssd-dev

null

2.3.安装HomeBridge

在终端中输入

sudo npm install -g --unsafe-perm homebridge

null

2.4.安装homebridge-mi-aqara

在终端输入

sudo npm install -g homebridge-mi-aqara

2.5.记录米家智能家居硬件的相关信息

打开米家APP(小米智能家居官方硬件),选择智能网关设备,点选右上角的···功能符号,进入后点选关于

null

然后你看到的是下图左边的样子,这时候你需要疯狂输出,要不断的点击空白处,片刻后界面就会变成右边的样子,多了局域网通信协议还有网关信息选项。
null

这时候,分别点选他们,记录你的网关的局域网通信协议密码以及网关的MAC地址,请记好噢。
null

2.6.配置HomeBridge

在终端中配置HomeBridge的配置文件

mkdir ~/.homebridge    # 创建文件夹cd ~/.homebridge        # 进入文件夹vi config.json              # 编辑配置文件

在打开的文件中,单击键盘的i键,进入输入状态
复制以下内容到文件中。

{"bridge": {"name":"Homebridge","username":"FC:35:HD:HF:KL:26","port":51826,"pin":"233-78-123"    },"platforms": [{"platform": "MiAqaraPlatform","sid": [""],"password": [""]    }]}

编辑完成后,单击键盘esc退出编辑状态,然后输入:wq对文件进行保存并退出。
解释一下:

  • name:iOS的homekit在添加配件的时候看到的名字
  • username:如果只是用homebridge,这里可以是任意一个类似MAC地址的字符串
  • port:随意,只要不被占用的端口
  • pin:iOS的homekit在添加配件时需要的验证码
  • sid:刚刚你自己记录的智能网关的MAC地址
  • password:刚刚你自己记录的局域网通信协议密码。一定要注意,这里的字符串必须要大写,不然你的Homekit只能看到智能家具的状态,但是不能控制它。
    null

2.7.启动HomeBridge

在终端输入

homebridge -D

这时候,界面也会出现刚刚你自己填写的pin码

null

2.8.iOS的HomeKit配置

进入家庭APP,添加配件,你就可以看到HomeBridge了

null

把里面的配件添加进来,你的homekit就已经具备了他应该有的功能了。
null

2.9.设置长久运行的Homebridge

事实上,你现在如果关闭了SSH链接,那么你的Homekit也会处于失效状态,因为你的Homebridge随着SSH的连接关闭导致被关闭了,如果解决?
使用SCREEN工具,在终端下输入:

sudo apt-get install screen

然后输入

screen -S hb # 开启一个名字叫做hb的窗口,hb这个名字你随意取homebridge -D # 开启一个homebridge进程

在screen里开启的homebridge不会随着SSH关闭而被关闭。那么如何暂时退出这个窗口呢?
先按Ctrl+A然后按完再按一下d就可以跳出来做其他事情了,如何回去?使用screen -x hb即可。

2.10.设置远程化运行的Homekit

苹果规定,homekit一般情况下,只能在同一个wifi下操作,如果你要远程化和自动化操作。请充(yao)值(mai)信(mai)仰(mai)!
远程控制起步是ipad mini2或者 apple tv3
自动化起步是ipad mini2或者 apple tv4

null

[地址戳我]

3.号外-开启可视化VNC

在终端中输入

sudo raspi-config

如图所示,选择5 Interfacing Options->P3 VNC,选择Yes Enable

null

然后输入

sudo reboot

重启树莓派,然后重新SSH连接树莓派。
然后输入命令

sudo vim /etc/init.d/vncserver

回车后,进入一个空白页面,首先按一下键盘i键,表示进入输入状态
然后如图所示,把下面的内容复制进去:

#!/bin/sh### BEGIN INIT INFO# Provides:          vncserver# Required-Start:    $local_fs# Required-Stop:     $local_fs# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: Start/stop vncserver### END INIT INFO# More details see:# http://www.penguintutor.com/linux/vnc### Customize this entry# Set the USER variable to the name of the user to start vncserver underexport USER='pi'### End customization requiredeval cd ~$USERcase "$1" in  start)    # 启动命令行。此处自定义分辨率、控制台号码或其它参数。    su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1024x768 :1'    echo "Starting VNC server for $USER "    ;;  stop)    # 终止命令行。此处控制台号码与启动一致。    su $USER -c '/usr/bin/vncserver -kill :1'    echo "vncserver stopped"    ;;  *)    echo "Usage: /etc/init.d/vncserver {start|stop}"    exit 1    ;;esacexit 0

然后按一下键盘esc键表示退出输入状态,然后输入:wq回车,表示保存并退出

null

在终端中输入以下命令,给脚本加权限

sudo chmod 755 /etc/init.d/vncserver

然后添加开机启动项

sudo update-rc.d vncserver defaults

最后,重启树莓派

sudo reboot

如果按照上面的操作,正确运行,那么树莓派VNC服务现在已经可以正确的运行了。
用一个VNC客户端,我是用google chrome浏览器的扩展应用[VNC® Viewer for Google Chrome™]。
地址写树莓派IP:1,这个:1是默认分配的桌面号。

null

接下来输入树莓派的账号密码(跟你的设置的SSH账号密码一样)。
null

然后等待片刻,就能够看到树莓派的桌面了,就是长下图这样子的。
null

可视化之后,你就可以在顶部边栏右侧,给树莓派进行一个WIFI设置,那么它就可以脱离网线的束缚。

参考与致谢


「我和 App 的故事」征文结束了,这 14 个故事获了奖

$
0
0

在短短一周的征文活动期间,我们从各个投稿渠道一共收到了 60 多篇征文。在这些征文中,我们看到了一段段精彩纷呈的数字往事:是 App,让他们在茫茫人海中彼此相遇;是 App,陪伴他们走过一段刻骨铭心的岁月;是 App,承载他们的一段段很重要、也很特别的回忆……

这次征文的主题是少数派之前从未涉及过的,这些与平时不同的 App 分享,不仅带给我们一份新奇感受,也引发我们对于选题的更多方向性思考。经过审慎的讨论和投票,少数派编辑部依据行文水准、故事的精彩度和综合阅读量,选出了以下这些获奖文章……

我们从 60 多篇征文中选出了 14 篇入围文章,再从 14 篇入围文章中评选出了 4 位首奖、10 位优秀奖,并附上了编辑部的点评,你可以据此重新回顾这些精彩故事。

首奖

🎁 奖品:Nintendo Switch

如果不仔细看,你会以为这真的只是写和小女孩之间发生的琐事。其实葱先生已经在文章中留下了很多隐喻,题图的风车图案、小女孩的名字、小女孩的岁数、被误以为是猩猩的黑人照片,都表明了其实是在讲述他与 Google Photos 之间的温情故事。



那片时空的那番情绪,EverMemo 曾经记得 - 会飞的三羊店长

🎁 奖品:魅蓝

会飞的三羊店长的这篇文章记录了自己作为一个 EverMemo 用户的故事。她将 EverMemo 用作记录自己生活中趣事的「日记本」,也将它用作记录心情的「树洞」。EverMemo 于她而言,不仅仅是一个简单的便签,还是承载回忆的「文字胶片」。她用自己的文字,分享她和 EverMemo 之间的羁绊,和她对生活的热爱。



🎁 奖品:Moleskine

这次征文的虐狗故事很多,但这篇的狗粮味道比较特别。异地恋的男女主角通过笔记应用 Simplenote 来对话,里面记录的不是些非常特别的内容,都是些生活琐事。但正是这些看似稀松平常的事情,拉近他们之前的距离,也让我们也感受到了他们的温暖。



女儿的成长故事,我用 VUE 来记录 - 雪山白鸟

🎁 奖品:Moleskine

当奶爸是一种怎样的体验?初为人父的 @雪山白鸟 用这样的一篇文章写下了自己用 VUE 记录自己女儿出生到成长的这段经历。短视频应用的出现,让我们得以用更生动的方式记录下生命中那些宝贵的,值得珍藏的瞬间。数字产品的出现可能改变了我们的生活方式,但无法改变那些生命中的美好。


优秀奖

🛍 奖品:豌豆荚定制抱枕、移动电源 x 少数派福袋

最后,也欢迎大家继续向「我和 App 的故事」专栏投稿,与更多人分享你和 App 故事。


用 LaunchBar 快速输入 Emoji、特殊字符、甚至微信表情 | LaunchBar 实验室

$
0
0

在日常输入文字的时候,我们经常需输入一些特殊字符,如方引号「」、圆点 、向右键头 、希腊字母 α β γ 等、苹果功能键 、苹果 Logo ,当然还有 Emoji。这些字符的输入方法往往复杂,比如可以按下⌃ ⌘ 空格 打开表情与符号选择窗口,搜索所需要的字符:

或者直接在谷歌上搜索再粘贴:

这样的输入方法极不流畅,很容易打断思路。

而运用 LaunchBar,就可以进行各种特殊字符的输入。下面介绍一些简单的实例。

Emoji

🌚:在 LaunchBar 中输入 MOON

😂:在 LaunchBar 中输入 TEAR

还有一些带有肤色选项的表情,如 👨‍🎤:在 LaunchBar 中输入 SINGER,再按向右键头,就可以选择肤色:

其它特殊字符

LaunchBar 的 Snippets(片断)功能,可以把任意字符串作为一个片断,来实现它的快速输入。

本文开头的各种特殊字符,都可以添加到 LaunchBar 的 Snippets 中。比如我们经常输入 。就可以先从表情与符号选择窗口或网页上(直接谷歌往往比在表情和符号里搜索更容易找到)搜索到这个字符,把它选中,按下 LaunchBar 的快速发送(Instand Send)快捷键(在我的电脑上是 双击 fn),就可以把这个字符发送给 LaunchBar,再输入 SNIP,选择 Add Snippet。再按下空格,输入给这个字符起的名字(比如 cmd),就可以把这个字符加入 Snippets 了。

之后再用 LaunchBar 输入 cmd 就可以输入  字符了。

我们可以 LaunchBar Index(在唤出 LaunchBar 界面后按下 ⌥ ⌘ I 打开)中查看并管理 LauchBar 中的 Snippets:

选择一个 Snippet 可以在右下角查看它的信息,最后一行是这个 Snippet 所存在的路径。每一个 Snippet 都是一个相应的文本文件。我们可以在 Finder 中进入这个路径修改 Snippet 的内容或名称,或是新建 Snippet。

之所以提到这一点,是因为给一个 Snippet 起一个类似上述「cmd」的名字并不是一个好习惯,因为过不了多久自己可能就会忘掉这个名字对应的什么内容。

我为 Snippet 命名采用的规则是:

  • 一般内容,命名为:具体内容 - 内容描述
  • 属于某一类别的字符,如希腊字符,命名为:具体内容 - 内容描述 | 所属类别

例如,我把苹果功能键  和向右键头  分别命名为:

⌘ - Command Key

 → - Right Arrow

再例如,我把希腊字母 α 做成的 Snippet 命名为:

 α - Alpha (Lower) | Greek Alphabet

这样在 LaunchBar 中输入 ALPHA 后,显示的 Snippet 名称可以很清楚地表达出这个 Snippet 是什么内容:

我把希腊字母的大小写形式全都建立了对应的 Snippets,并按上述方法命名,放在了一个文件夹里,放在 LaunchBar 存放 Snippets 的文本文件的路径下(如果需要这个文件夹,请在留言区或通过站内私信留下邮箱索要)。再在 LaunchBar Index 中的 Snippets 项目中选选右上角的 Option,把这个文件夹的路径添加进去,就把一整个文件夹的文本文档作为 Snippets 加入到 LaunchBar 中了:

名称为中文名的 Snippets

由于 LaunchBar 不支持中文,如果建立 Snippet 的名称为中文的话,无法直接调用,如我之前的一篇文章中所述,可以对这个 Snippet 分配一个简称。

例如:我们建立了一个名为 「」- 方引号 的 Snippet,在 LaunchBar 中输入 SNIP 找到 Snippets 分类:

按向右方向键,找到这个 Snippet:

再按下 ⌥ ⌘ A 对这个 Snippet 分配简称,如,输入 FANG。那么下次直接在 LaunchBar 中输入 FANG 就可以找到这个 Snippet 了:

长文本的 Snippets

当然 Snippet 不只包含单个字符串的内容,也可以包含长文本。

比如建立一个内容如下的Snippet:

就可用于在信件最后加上祝语。其中,<full name> 是表示当前用户名字的占位符,比如当前用户名为 Khitan Kid,则此 Snippet 的输入结果为:

Snippets 中可用的占位符如下:

  • 输入日期:<date short><date medium><date long><date full><date yyyy-MM-dd><date MMM dd, yyyy><date MM/dd/yy>。
  • 输入时间:<time short><time medium><time long><time full><time HH:mm><time HH:mm:ss><time h:mm a>。
  • 输入当前用户名字:<first name><last name><full name>。
  • 输入剪切板内容或前切板历史内容:<clipboard><clipboard 1><clipboard 2><clipboard 3>。
  • 文本光标停放位置:<|>。例如可以用在方括号的 Snippet 中,另其内容为 「<|>」,这样,调用这个 Snippet 后会输入一个「」,文本光标用自动定位在左右引号之间。

脑洞

用 Snippets 功能可以建立各种经常输入的内容,做到一劳永逸。它也可以用在一些有趣的地方。

在微信中,人人都喜欢用「捂脸」、「皱眉」这些小黄脸表情。

使用 macOS 版微信时,在微信的输入框输入一个「捂脸」表情,选中它发送至 LaunchBar,可以看到实际上这个表情的内容为 [捂脸],在微信中它直接被替换显示成了「捂脸」表情。我们把这个内容作为 Snippet,命名为 捂脸 | 微信表情,再给它分配简称WULIAN,这样就可以聊微信时直接用 LaunchBar 输入 WULIAN 来发送捂脸表情了。

在少数派阅读更多 LaunchBar 内容:

原来,这些获奖的手机摄影作品,都是「裁」出来的

$
0
0

本文首发于微信公众号「原画册」(oalbum),原作者 KKM,摄影韩松,原标题「什么!这些获奖照片都是裁出来的?」。少数派经授权转载,点此阅读原文


揭秘几张获奖照片的裁图前后

首先祭出几张刚公布的 2017 年全球 iPhone 摄影大赛(IPPA) 获奖照片,展示一下裁图前后来做对比,感受一下。

韩松 / 摄,里斯本,iPhone 7 Plus,2017 年 IPPA 其他类荣誉奖
韩松 / 摄,里斯本,iPhone 7,2017 年 IPPA 旅行类荣誉奖
韩松 / 摄,青海,iPhone 7 Plus,2017 年 IPPA 动物类荣誉奖
韩松 / 摄,伊斯坦布尔,iPhone 5c,2015 年 IPPA 任务类金奖

原来都是套路?原来被骗了?别急,请往下看。

裁图能解决什么问题?

我们想用一篇文章,掰直你对构图的认识》一文罗列了三分法、中心线等江湖构图法则,同时也提出了「关键位置」的观点。这些原理理解起来并不难,但我们需要掌握相应的拍片和后期工艺来实现。

首先我们需要知道一个事实:想要实现令人满意的构图,一定不只靠前期拍摄来达到,还与后期有很大关系,其中最重要的步骤就是裁图。在旅途拍摄、街头摄影、抓拍、抢拍等类型中,拍摄本身是没有太多时间做准备的,能以最快速度掏出手机相机,正确地对焦和曝光已属不易,几乎没有时间去仔细调整相机角度和与被摄场景的距离。且,手机本身也是定焦相机,焦段天生受到局限,电子变焦的调整范围也有限,裁图,就几乎成了必然

裁图能解决如优化构图等很多问题,因此也被称为「二次构图」。有观点称,其实摄影本身就是对现实场景的裁剪,不管前期还是后期。

裁掉影响主题的多余边角

关于这点,相信大多数摄影爱好者都是无师自通的。主体元素是什么?主体元素之外,画面的边缘有没有影响这个主体表达的元素存在?这些都是我们裁图首要考虑的问题。

韩松 / 摄,柏林,iPhone 7 Plus

拍摄时的最初想法是为这个女孩拍一张人像,然而当时在书市人头攒动,画面里经常会很尴尬地出现许多其他人物,只有靠后期裁切了。

 韩松/摄,马耳他,iPhone 7 Plus,2017 年 IPPA 景观类荣誉奖

著名的「蓝窗」,拍摄时很难仔细思考构图,拿到原片后发现左上角露出了一点蓝色的天空,有些抢画面中心洞口主体,因此后期裁掉了左上角的天空,主体更明确。

塑造主题

有些照片甚至可以通过裁图来重塑主题,原片在裁图后几乎脱胎换骨,这是「二次创作」的过程。

韩松 / 摄,奈良,iPhone 7 Plus

拍摄时表现的是一整只鹿,裁图后只剩下上面很小一部分。比起一整只鹿,裁图后传达了「探出头来」的图像故事。

韩松 / 摄,法兰克福,iPhone 7 Plus

拍摄时是建筑的整个山墙面,通过裁图重新归置了主题,只表现了屋顶部分,基座、房屋两侧露出的天空都被裁切,更表达出了几何美和纯粹感。

调整元素比例

更多时候,裁图的作用是调整主体元素占整个画面的比例。由于主体元素在拍摄后就会固化下来,但通过裁图能使整个图幅表现范围有变化,主体元素的比例也就发生了相对变化。

韩松 / 摄,华沙,iPhone 7 Plus

原片中主体人物大概只占画面四分之一的比例,通过裁图,人物所占画面几乎达到了一半以上,更为丰满。

韩松 / 摄,莫斯科,iPhone 7 Plus

调整主体元素的位置和平衡关系

这就要求我们更多关注画面元素的位置关系了。三分点、中心点、水平线等构图位置关系,都可以通过裁图实现。

韩松 / 摄,额尔古纳,一加手机 3T

拍到的原片人物在阴影交界处,处在画面底部中心偏右一点的位置,不太理想。通过裁图,将其置于画面底部中点,并裁掉地面,使画面变得平衡。

 韩松 / 摄,里斯本,iPhone 7 Plus

原片中人物和路灯影子在画面偏右位置,通过裁图使其位于三分线的位置。

裁图应该如何操作?

其实没用什么奇特的 App

作为最基础的后期步骤,几乎每款修图软件都能完成裁图。由于我喜欢用 VSCO 和 Snapseed,所以当我决定用哪款软件修图的时候,便会顺手用这款软件的裁图功能。

善用九宫格

几乎每款软件的裁图功能都会默认带有九宫格参考线,请时刻关注九宫格,用它来对齐水平、垂直等敏感方向。同时,当我们通过裁图实现「三分法」「中心式」等法则,九宫格能够帮助我们快速找到关键位置。

控制好几个图幅比例

常用的裁切比例有 1:1、4:3、16:9 等。一般来说除非是很特殊的情况,我自己也会基于这几个比例进行裁切,很少用自由裁图。这几个比例分别对应着方形、标准屏幕、宽屏等经典图幅,且能囊括大多数我们需要的类型。

关于裁图的一些疑问和释义

裁图就是作假?

才不。

后期裁图和拍摄阶段是一脉相承的,都是对画面主题的提炼和对画面元素的经营。后期裁掉一些东西和前期直接用镜头规避一些东西,并无本质区别。真正摄影的作假应该是欺瞒观众造假决定瞬间,后期通过拼贴期满观众,但裁图是再正常不过的后期步骤。

需要裁图等后期的照片体现不了真实水平?

也不。

反而觉得前期与后期都能驾驭才能体现一位摄影师的真实水平。说回到 2015 年IPPA 获奖照片,通过色卡分析可以很快发现原片中主线的不和谐色彩(桃红色),作为拍摄者其实在前期就已经思考了主体元素和表达主题,只是其画面占比和图幅比例等需要后期处理才能得以实现。看似简单的方形裁切,其实本蕴含着很多思考和分析。这一套完整的呈现过程才是真正的水平。

裁切前后的色卡分析

不妨翻翻自己的原片库,看看还有哪些值得通过裁图拯救的照片。


题图:韩松

iPad Pro:从现状到未来 | 征文精选

$
0
0

入手第二代 12.9 iPad Pro 已经超过 20 天了。这些天我常常在家或星巴克学习、阅读、写作,并非夸张,我就没几乎再碰过我的电脑。这是否是说 iPad Pro 可以取代电脑呢?我的观点是,如果想要覆盖所有生产力的需求,我不认为 iPad Pro 能完全代替电脑。而且我也不是一个 iPad Only 的支持者。但是这并不影响我很喜欢我的 iPad Pro,实际上 iPad Pro 几乎像是手机一样被我随身携带。为什么我会如此喜欢 iPad Pro 这个设备,为什么在它和电脑都可以完成的任务上,我会很大程度上倾向于在 iPad Pro 上完成。这篇文章就是我的思考。

为什么我喜欢 iPad Pro?

硬件和软件

请输入图片标题

续航的优势绝对要第一个提出来说的。尽管在外办公可能不是每个人的习惯,一个充足的电量也绝对是一个人的安全感来源之一。优秀的续航意味着可以摆脱充电器、移动电源的限制。iPad Pro 的续航非常优秀:这几天下午我去咖啡店写文章,一直到晚上 10 点钟才回家。这样长的使用时间 iPad Pro 也可以很轻松地支撑下来,使用 iPad Pro 的这一段时间我真的感受到了「移动」,这是 MacBook Pro 不能带给我的。

接着就是重量。iPad Pro 与 MacBook Pro 相比重量优势是明显的。我使用的 12.9 iPad Pro Wi-Fi 版加上 Smart Keyboard 的重量约是 1 千克,而我的 MacBook Pro 则是 1.83 千克。

数字上的差距很难表达出我感受到的差距。直接用场景来描述的话,MacBook Pro 的重量让我绝对不会在需要长距离行走的时候携带。有一段时间我每天外出背着双肩包带着 MacBook Pro,走路时双肩疼到不得不用手托起双肩包的经历仍然记忆犹新。而 iPad Pro 则是即便我用没有双肩包舒适的单肩布包也可以轻松带出去走一天的重量。还有一个更个人的对比场景,我平时滑滑板通学,MacBook Pro 重量会影响我的平衡。而 iPad Pro 感觉上只是多带了一本书的重量,使我可以每天轻松地滑滑板通学。

之后是软件生态的生机。相比电脑,人们使用更多的是手机。iOS App Store 也焕发着更多的生机,每年给苹果带来巨额盈利。与之相比,Mac App Store 则显得冷清许多。但是另一方面,Mac 的软件方面又很成熟,作为生产力工具的 Mac 并不缺少生产力软件。iOS App Store 虽然 App 数量众多,真正为了 iPad Pro 量身定制的生产力 App 却很少。

尽管这样,我认为我们还是有理由看好 iOS App Store,移动 App 市场的巨大潜力会吸引着越来越多的生产力软件厂商开发 iOS 版 App,或者说为了 iPad Pro 制作的生产力 App。

图形化的界面要求 App 把功能做得方便易用,即便是很复杂的功能,其中就包括 Workflow。要不要把 Workflow 单独列出来作为 iOS 的一个优势让我犹豫了许久,我还是决定把 Workflow 单独列出来。Workflow 是可以对一个人工作流产生很大影响的 App。

最初,我是因为将文章方便地加入稍后读这样一个需求接触了 Workflow。随着对于 Workflow 的不断熟悉,我对于它的理解也在变化。有一些常用的 Workflow 是很方便的,比如说加入稍后读、把图片上传到图床、把截图拼在一起等。常用的 Workflow 可以帮我节省很多精力,但这不是 Workflow 对我最大的吸引力。对我来说 Workflow 最重要的作用是它满足了我一些特殊场景的需求,我可以随手做出一个 Workflow 来解决遇到的问题。

比如说我在写文章之前,想要重新读一遍我之前读过的关于 iPad Pro 的文章,我可以做一个 Workflow 把 Pocket 中和 iPad Pro 有关的文章导入到 Instapaper 里。当我看到一篇文章的时候,我可以做一个 Workflow 把文中提到的文章都加入到我的稍后读而不是一个一个添加。Workflow 给了我方便解决我的需求的可能。我不需要写脚本或程序来做这件事情,而只需要在 iPad Pro 上拖动一下 Workflow 里的动作模块,填几个参数而已。

iPad Pro 与电脑
iPad Pro 与电脑

最后,iPad Pro 也可能会给你带来更专注的体验。使用 iPad Pro 时一般是同时处理一个或两个 App,全屏,没有状态栏,没有像是 Alfred 一样的启动器。这是限制,但有时也可以帮助你更加专注。有篇文章的作者这样说到他在 Mac 上工作的事情:

“the mere absence of any windows in the corner of my screen will prompt my brain to think if I type ⌘-Space "tw", I could have Tweetbot fill that void on the left side of my desktop / soul.”

他可以很轻松地在 Mac 上打开 Tweetbot,而之后时间就过得飞快。Mac 优秀的多任务处理可能会分散我们的注意力。但是这条理由要以个人而论,并不是对于每个人来说更方便的多任务处理都会导致注意力的分散,也不是说 iPad Pro 就一定会给你比 Mac 更好的专注力。选择最适合自己的就好了。

设备属性

请输入图片标题

The New iPad Pro — On Any Given Wednesday

WWDC 2017 熬夜的那个晚上,我看完这个视频后内心只有兴奋。这个视频主要想要展示的是 iOS 11 的新功能,但是视频里人们拿着、带着,使用着 iPad Pro 的样子让我兴奋。视频中有很多移动场景,很多更直观的触控,如果把视频中的 iPad Pro 换成电脑的话只会显得尴尬。未来感,在我看来这是未来感。我对于 iPad Pro 最大的喜爱来源于 iPad Pro 这个设备的属性。

在 iPad Pro 上写文章时,时常会想要重新读一遍我以前读过的某篇文章。找到那篇文章,抓起在键盘上横屏的 iPad Pro,竖过来,开始慢慢读完那篇文章。iPad Pro 在这一瞬间从一个类似笔记本的设备,变成了一个和打印好的 A4 纸几乎一样的阅读设备。

“It agrees with me that up is up.”

在需要打字的时候,iPad Pro 是横屏,宽度可以放下两个 App。而当我想要阅读的时候,陀螺仪和加速感应器会告诉系统我把屏幕竖了起来。平时我坐在电车上读文章,电车开进隧道里时车里光线变暗,得益于环境光传感器和 True Tone Display 技术 iPad Pro 的屏幕颜色也会跟着变暖,让屏幕看起来更自然。

使用 iPad Pro 的时候你会感觉这个设备是亲近的。

会让你感觉亲近的不仅是设备在适应你,还在于你是用触摸来操控这个设备。你可以从包里抓起 iPad Pro,放在腿上开始读文章。你想点一个摁钮的时候是真的去点它而不是让鼠标代替你。你可以双手端着 iPad Pro 阅读,可以一只手拿着 iPad Pro 走路,可以把 iPad Pro 放在桌面上开始写写画画。这些你和 iPad Pro 的交互都会让你感觉它是让人亲近的纸、本或者书,而不是一个在操作上给你距离感的电子设备。

iOS 是更友好的,也是我们更熟悉的系统。在 iOS 上不需要安装防毒软件,不需要看到安装包,也不需要担心从网上下载的资源有病毒。在 iOS 上我遇到一个问题也不会需要去改注册表、在网上找命令行命令、或是和终端打交道。对一些人来说这是一种限制,而这对绝大部分人是一种便利,你终于从那些 Geek 的东西中解脱了。

我仍记得因为学校活动的需要,我第一次使用 PhotoShop 时的经历:我即便对照着工具书,对照着软件的版本,找一个功能仍然找不到在哪里。iOS 里 App 的设计相比电脑上的更为统一。你知道左边可能有一个侧边栏,底部可能有工具栏,你会下意识到左上角找返回键。大部分功能多半可以直接找到。App 也是为了触控操作设计的,这要求它要设计得简单。触控的操作需要让人感觉自然而然,尽管我们也在被设备驯化 — 比如 iPad 上的三指上划。

请输入图片标题

App 在努力向你展示最简洁的一面,iPad Pro 本身也是。iPad Pro 是一个平板,没有实体键盘,没有散热口、你看到的就是一个屏幕,你直接与屏幕交互。但是当你需要的时候,你可以接上键盘来更高效地输入,你可以拿起 Apple Pencil 戳一下屏幕开始写字。根据你的需要,它可以变成一张纸、一个笔记本或是一本书,而 iPad Pro 本身则维持着硬件的简洁。

iPad Pro 这个设备是如此的讨喜,让我不禁有了把 iPad Pro 作为我的主要设备的想法。那么 iPad Pro 是否能满足作为主要设备的功能需求呢?这要从人们对于 iPad Pro 的讨论开始说起。

人们对于 iPad Pro 的讨论

卡车与轿车

最初,iPad 是作为一个娱乐消费设备被推出的,它有着比手机更大的屏幕、更好的续航,同时还有相当的便携性。最开始那几年的销量充分说明了人们对于 iPad 的喜爱。2010 年乔布斯提出了卡车和轿车的比喻,把电脑比做并不是所有人都需要的卡车,而平板则是适合每个人日常使用的轿车。在那时,平板会取代电脑的呼声就开始显现了。

但是后来 iPad 的销量开始走下坡路了。 iPad 真的是太结实了,以至于现在还有很多人在使用 iPad 2。而且对于一个娱乐设备,人们也提不起兴趣升级它,毕竟只要能看电影玩玩游戏就好了。于是平板「已死」的说法也出现了。

不管平板当时处境如何,平板的定位一直都是一个娱乐消费设备。不要说 iPad Only,在那时用 iPad 办公的想法都不流行。

iPad Pro 的现状

几年后的现在,卡车与轿车的比喻也应该变一变了。人们的轿车既不是平板,也不是笔记本,在 Hum 写的一篇讨论 iPad Pro 的文章中写道:「也就是说,如果按销量来看的话,平板并不是汽车,手机才是。」我是赞成这个看法的,现在人人都会有的电子设备是手机,并不是平板和电脑。

苹果在 2015 年 9 月推出 iPad Pro 12.9 后开始大力宣传 iPad Pro 是下一代个人电脑,被大众认为「已死」的平板再一次出现在了人们的视线当中。iPad Pro 可不可以代替个人电脑?iPad Pro 学习办公如何?这期间人们对于 iPad Pro 展开了大量的讨论。有 iPad Pro 的坚定支持者,比如说 MacStoriesFederico ViticciRelay FMMyke HurleyBrooks ReviewBen Brooks等等。他们不仅经常在博客、播客上讲他们使用 iPad Pro 的工作流程,还在亲身实践着 iPad Only。而反对 iPad Only 和认为 iPad Pro 不能作为生产力工具的人更是不在少数。

其实反对者的想法很好理解,作为生产力工具的 iPad 还很年轻。iOS 9 和 iOS 11 为 iPad Pro 有所优化,但仍不能改变 iOS 还是一个为手机设计的系统。想要 iOS 更加有 iPadOS 的味道还需要时间。而且 iPad 作为娱乐设备的想法「根深蒂固」,尽管有了 iPad Pro,有了 iOS 11,人们也还需要时间慢慢把这样一个很适合娱乐消费的设备和生产力挂上钩。

iPad Pro 是一个摩托车?

Watts MartinTrucks, Cars and Vespas一文谈到了卡车和轿车的比喻,他认为笔记本才是轿车,台式机是卡车,而 iPad 只是小型摩托车。先不管对于轿车应该以什么为基准这个问题,毕竟这篇文章是 2013 年写的,而现在人们的电子设备习惯已经改变了很多。文中他对于 iPad 为什么是小型摩托车的描述我认为很有趣,并且放在现在也是很准确的,

“They’re fun and in some circumstances they’re genuinely your best choice, but most people just aren’t going to get by with them as their only vehicle.”

文中认为 iPad 用起来很有趣,有时甚至是最合适的选择。但是大部分人都不会把 iPad 作为唯一的选择。事实的确如此,不管有一部分人如何发声认为 iPad Only 是可行的,那也只是在他们的需求下可行。iPad Pro 肯定不会完全代替电脑,而在我看来正是「不能完全代替电脑」这一点让很多人对于 iPad Pro 望而却步。正如 iMore一篇文章里所说,

“For certain tasks, it's too cumbersome to use an iPad over a Mac. I feel lucky in that I can switch to my iMac or MacBook Pro in those cases ...... but not everyone is going to have the luxury to own multiple devices.

文章中进一步说道,

“In truth, your primary device needs be able to do 99% of the work you need it to, not 50% or 65%. At this point, I find the iPad great for about that percentage of my daily activities, but certain tasks just aren't enjoyable on iOS.”

想要让人们放心的将 iPad Pro 当作自己的主力设备甚至唯一设备,iPad Pro 必须能够完成他们对电子设备绝大部分的需求。诚然,iPad Pro 肯定不能应对所有人的需求。但也不要急于给 iPad Pro 下「不能作为生产力工具」的定论,下面我想讲一讲 iPad Pro 的局限在哪里。

一些「局限」与我的「反驳」

专业生产力的缺失

想要被作为生产力工具的 iPad Pro 被推出以来也只有两年的时间。在专业生产力方面,其成熟度是无法和电脑相比的。各种生产力软件想要做出 iOS 版本也可能面临是否能盈利、如何做得适合 iOS 这个触摸为主的系统等等问题。尽管 iPad Pro 在性能方面已经非常优秀,仍然不足以和性能强劲的电脑甚至工作站相比。这造成了有些生产工作一定不能在 iPad Pro 上完成的情况。

比如 AutoCAD、修图、视频制作等工作,虽然在 iPad Pro 上有对应的 App 但是还不够来完成专业工作。在 iPad Pro 上并非不能编程,但在我看来,这是一个「这种事情在 Mac 上做不好吗」的事情。更何况在 Mac 上可以方便地用 Alfred 查文档,iPad Pro 是怎么也做不到这点的。在涉及到一些专业的生产力软件方面 iPad Pro 是肯定无法和电脑相比的。有很多人写文章都旨在说明 iPad Pro 无法满足他的专业类需求。

但是,我认为不能因为这些局限就说 iPad Pro 不是一个生产力工具。对于这些专业性很高的工作,不仅仅是 iPad Pro 做不到,就算是电脑也不是所有的电脑都能胜任。对于这类工作,大部分人也都会选择性能强劲的电脑。不能因为轿车不适合越野,就说轿车不是交通工具。如果 iPad Pro 可以满足相对非专业一些的生产力工作,我认为 iPad Pro 就仍可以称得上生产力工具。

自动化不如 Mac

iPad Pro 上(至少一段时间内)不会有类似 Mac 上的 Hazel、Keyboard Maetsro 这样的自动化工具。这也正是 Dr.DrangiPad and Mac — the early years这篇文章里说他宁可使用性能更弱的 MacBook Air 也不使用 iPad Pro 的原因。

“Undoubtedly, a big reason I’m more productive on the Air is familiarity. As I use the iPad more, I’ll learn how to use it more efficiently. But David’s point still holds: productivity tools on the iPad just aren’t up to the Mac standard.

而 iPad Pro 上其他的自动化方式,比如说使用 URL Scheme,或者使用 Workflow这个非常棒的自动化 App,也不能达到 macOS 上使用那些自动化软件或者自己写 AppleScript 的自由度。Workflow 也并没有打破 iOS 的边界,只是把 URL Scheme 和 API 等整合到了一起。

我承认这对于 Mac 的 Power Users 来说是一个很大的缺失,当然是。不过这里有一个有些 tricky 的解释:并不是所有人都会使用 Mac 上那些强大的自动化。Mac 上的自动化在自由度上比 Workflow 等远了一大步,然而 Workflow 在用户友好性、易用性、易学性上则比 Mac 上更进了一步。Workflow 的出现对自动化概念普及我认为功不可没。自动化程度的差距让 iPad Pro 不能代替 Power Users 的电脑,但对于大部分人仍然没有影响。

文件系统 & 拖拽

iPad Pro 上没有文件系统,分享文件不够方便。iOS 是以 App 为中心的操作系统,在 App 这个容器里储存文件。而电脑则是以文件为中心,用 App 打开文件。因为这一点 iOS 一直备受批评,这一点也成为了大众眼中 iPad Pro 成为生产力工具最大的阻碍。和同学谈到 iPad Pro 时,常常会被抛过来一句「那东西连文件系统都没有」的反驳。是的,至少 iOS 11 之前 iPad Pro 上是没有文件系统的。但是没有文件系统为什么就不能称为生产力工具?单纯说没有文件系统的指责,在我看来并没有说到点上。

Ben Brooks写了一篇文章对比了 macOS 和 iOS 上文件系统的区别。有一些区别在平时操作的时候我们就可以感受到,iOS 上我们打开一个文件需要使用 Share Sheet,而 macOS 上则只需双击或将那个文件拖到软件的图标上即可。在系统逻辑方面,电脑里是用不同的软件打开一份文件进行处理,在你的允许下所有软件都可以读取该文件。而 iOS 中一个文件只存在于一个 App 中,App 是容器,即便分享到别的 App 也只是发送一个复制文件过去。

macOS 和 iOS 的对比
macOS 和 iOS 的对比

通过 Share Sheet 传递文件的确 stupid。但是这并非一个 iPad Pro 不能作为生产力工具的决定性因素。更何况我们已经习惯了,我们最常用的设备就是跑着 iOS 的手机。iOS 11 中加入了拖拽,以触控为主的 iOS 分享文件的时可以直观地拖拽了。尽管很多时候我还是需要使用 Share Sheet,但是你很难说需要使用 Share Sheet 使 iPad Pro 就不是生产力设备,只是 stupid 一些而已。

而至于最基础的存储文件,即便在 iOS 11 之前也一直都可以做到。比如 iCloud Drives、Dropbox、Document,而 iOS 11 的 Files 只是把这些整合到了一起。这些都是在几年前的系统中就可以做到的事情。

甚至,我想在这里说,我是支持以 App 为中心存储文件的。当然还需要拖拽在 iOS 11 进一步优化得更稳定,支持更广的范围。在一篇讲文件夹历史的文章中提到,文件夹设计之初并非是给用户用来整理文件的。大部分人可能对于如何有条理的整理文件都不是那么了解,所以讲文件存储在 App 里也并不是什么坏事,只要你不需要来回切换多个工具处理一个文件的话。如同 Phil Schiller 在 The Talk Show live from WWDC 2017中讲道,iOS 的以 App 为中心的系统正是苹果对于解决后互联网时代的问题的一种解决的尝试:大多数用户都不能很好地整理他的文件,而对于 Pro 用户,苹果在 iOS 11 中提供了 Files。

所以,很多反对者提出的问题只是看起来麻烦了一些,都不是真正的问题。但是有一个核心的问题一直横在我的使用过程中。iOS 中 App 里的文件是一个个复制品,也就是说复制后是两个文件(但是得益于 APFS,实际上又是同一个文件,只占一份储存空间)。当我修改了一个 App 里的文件的时候,另一个 App 里的相同的文件并不会被修改,这造成了多个文件版本管理的困难。

比如写这篇文章时,我用 Ulysses 收集素材,Outlinely 整理大纲,然后在用 Ulysses 里写出文章。在写完大纲的那一步,我会把大纲发到 Ulysses 里直接对大纲填充内容。但有时候我在 Ulysses 写文章的过程中会想要修改我的大纲:比如改一下段落的顺序。这时候如果要保证在 Outlinely 里的大纲也是 up-to-date 的话,我就不得不想着去 Outlinely 里再改一遍。而如果 Outlinely 和 Ulysses 可以做到都在处理同一份 Markdown 的大纲文件的话,我就不需要这样了。

这个问题并不止于写作,对于需要多个 App 对一份文件进行处理的情况都会遇到这种问题。解决方法也不是没有,让 iOS 可以兼容电脑系统式的文件系统就好了。具体来说就是推进 Document Picker,让更多的 App 适配这个功能。这样一来 App 实际修改的就是储存在 iCloud 或是 Dropbox 等里的文件,文件的版本也可以保持统一。

Give it a decade

在这里我觉得我们不妨也看一下 Surface Pro。Surface Pro 是一个和 iPad Pro 竞争的产品,实际上却和 iPad Pro 相差很大。Surface Pro 是一个电脑,只是可以当作平板使用。Surface Pro 在推出的时候宣传它可以运行 x86 软件,是一个电脑 — 人们心中的生产力工具。Surface Pro 的办公优势有很多,比如 mini-DisplayPort、SD 卡槽、USB-A 接口,而不是代表未来的 USB-C 接口。这一切都像是在高呼:快用我办公!

在一篇比较 iPad Pro 和 Surface Pro 的文章说道,Surface Pro 的这一切优势并不会存在很久。只要可以很好的完成工作,使用的软件是不是 x86 架构是否重要呢?随着云服务、移动系统上生产力 App 的发展,对于很多工作来说,是否使用一个电脑并不重要。

电脑系统不仅会慢慢丧失优势,而且还会慢慢显现出它的劣势。Mobile OS Paradigm一文中指出移动系统才会是未来:ARM 架构以其更低的功耗,可以和各种感应器协作的优势,可以给设备带来更长的续航和更多的功能。更好的权限管理、iOS 的沙盒机制都可以带来更好的安全性。巨大盈利的 App Store 模式会激励开发者开发更多的 App 帮助软件生态发展,App 和系统也会以比电脑上更加自动和无缝的方式更新。全天的续航时长和对于 LTE 网络的支持让办公摆脱了场所的束缚。

移动系统的设备相比于电脑有一些真正的限制,但也有一些优势还没有被人们充分认知。电脑不仅专业范围更广,有更强大的硬件选择,也有着近 30年的专业工作的历史。移动系统相比电脑系统在生产力方面仍然不成熟。

但是与电脑是被硬件限制的设备不同,iPad Pro 是被软件限制的设备。它强劲的性能保证了软件上的可能性,而软件上的问题都可以在后续的更新和软件环境的成长中解决。越来越多的生产力厂商在摸索如何在 iPad Pro 这样一个触控设备上展现更强大的功能。有些看起来现在只能在电脑上完成的工作将来也会在 iPad Pro 上找到解决办法,我们的工作方式也在不断变化。在我们的工作流中,重要的是工作本身而不是工具的系统、架构,随着 iPad Pro 的成长我相信电脑在大部分情况下都会逐渐失去它的必要性,iPad Pro 的一些优势也会逐渐被人们所认知。

沿用卡车和轿车的比喻,iPad Pro 现在是什么呢?我最赞同的一个比喻是 Ben Brooks 在「The Last Mile of iPad Pro」一文中说的:

“The Mac is petrol/diesel powered vehicles— be it trucks, cars, or motorcycles......

iPad are Tesla’s.

Mac 是汽油车,Mac 可以覆盖的范围之广让 Mac 可以是卡车、轿车、摩托车。但是和汽油车不同,iPad 是电力驱动的特斯拉,是新一代的汽车。

iPad Pro 如同苹果所言,是下一代个人电脑,是一个新的种类。它不能和卡车比货运量,不能和法拉利比速度,但这并不意味着它比电脑低一个等级,它只是一个新东西,一个有着不一样的交互、在许多方面有优势,但还不成熟的新东西。

“the iPad isn’t a motorcycle or car, to a Mac truck — it’s a newer, better, version of the same thing.

那对于这样的「特斯拉」,我们需要再等一等。设备和系统需要时间发展,人们需要调整自己的使用习惯。如同 John Gruber对于上文中提到的说 iPad 是摩托车的文章的回应那样:「Give it a decade.」

iPad Pro 的困境与未来

现在,大部分人都不认为 iPad Pro 是一个生产力工具,这需要范式转换慢慢改变人们对于 iPad 是娱乐设备的长期认知。

对于科技不太了解、平时只需要文字处理工作的人可能并不知道 iPad Pro 能不能满足他的需求,对于科技很了解的人群中又有很大一部分是 Power User 或是 Pro User,iPad Pro 满足不了他们的需求。而对于科技的话语权很多都被掌握在后者身上,iPad Pro 在他们眼中可能一直不是一个能满足他们需求的合格生产力设备。

想要让大家意识到 iPad Pro 可以作为生产力工具,需要苹果站出来更大声地说出来。不只是说 iPad Pro 很棒,说 iOS 很棒,还要说更多的可以用来办公的第三方 App 都很棒。的确,苹果一直有在视频或是官网上展示 iPad Pro 使用第三方 App 的样子,但是我觉得现在做的还不够。

展示出 iPad Pro 可以完成很多人的工作之后,还需要更多去强调 iPad Pro 优于电脑的地方。人们并没有理由去新熟悉一套操作、一个对于办公来说新的系统。为了给出人们改变的理由,需要展示出为什么 iPad Pro 可以提供比现在的工作流更方便的解决方案,以及说明为什么 iPad Pro 比现在的电脑会更有吸引力。

iPad Pro 的 App Store 也还需要发展,很多厂商的 App 没有很好或积极地适配 iPad Pro 的特性。原因在于 iPad Pro 的用户基数还不够和人们对于 iPad Pro 认知的主流观点。同时对于一些方面的 App 来说,把功能做得适合触控操作也还需要探索,App 需要在功能和简洁中找到平衡。最后则是 iPad Pro 上已有的 App 也需要发展到可以提供和 Mac 上同等的功能,逐渐减少 iPad Pro 在专业生产力方面的短板。

尽管面临着以上的困境,我对 iPad Pro 的未来仍然充满信心。首先是因为 iPad Pro 本身,iPad Pro 和其触摸操作的系统有着自己的优势。随着 iPad Pro 的发展,在其功能性上可以覆盖很大部分电脑可以做的事情的时候,iPad Pro 的优势会使它成为人们的下一个选择。如 Tablet v. the World一文中所说,破坏式创新的特点之一是:新出现的科技在关键领域大多数情况下都不落后于现有技术,并在某些看起来更重要的方面优于它。

Checked 播客中提到使用电脑和数位板画画是一个不直观的行为,画在板子上却要在电脑屏幕上看结果。但是现在在数位板上画画才是主流,电子化的绘画提供了更多的方便和可能性。一篇关于科技对于写作的影响的文章中也讲到了文字编辑器的登场改变了作者当时的写作方式,尽管当时使用文字编辑器受到了许多质疑:

“Even with so many skeptics, it was clear the word processor improved writing by, allowing for more editing, changes, and improvement.”

曾经我们从命令行转到图形界面时也是相似的故事。这个转换带来了许多困难:图形界面需要鼠标、更强大的运算性能等等。同时也带来了更好的可视化界面、排版方面的优势、用户友好性等优势。在转换的过程中,我们常常太过关注转换带来的不足和直接的好处,而忽视了有些转换带来的潜在好处也会对我们以后的工作流产生长久的影响。我相信等 iPad Pro 在主流办公方面和电脑完全不相上下的时候,iPad Pro 会因为自身的诸多优势成为人们的下一个选择。

上文提到过的软硬件优势之外,我最期待 iPad Pro 在软件方面发展出来的优势是面对大众的系统层面的自动化。触控设备相对现在的电脑的劣势是操作效率,我认为自动化是弥补这一缺陷的最好办法。想象一下苹果想出了一种更人性化、易懂的自动化展示方式,把自动化完全做进了 iPad Pro 的系统中。用户只需要很简单地做一些「配置」,就可以使用平板点一下就完成在电脑上也需要很多步骤才能做到的事情,把一步步复杂或者麻烦的操作从用户眼前藏去。这个时候 iPad Pro 就会以它的轻、续航长,人性化的硬件与软件,最后加上在办公方面的自动化优势成为真正的新一代个人电脑。这是一个理想的愿景,但是并非不可能的事情。

我认为 iPad Pro 是一个会一直走下去的产品。苹果推出 iPad Pro 并不意外,从最开始推出图形界面开始,苹果一直都想把已有的东西做得更简单。iPhone 是一次对老式手机的挑战,Touchbar 是对功能键的挑战。通过把输入方式简化并分离为保护盖样式的 Smart Keyboard 和比手指更精准的 Apple Pencil,iPad Pro 只有一个完整的屏幕被作为工具的核心保留下来。可以触控为什么要用鼠标呢?这是苹果一步步简化一直以来的工具的下一步。

我也相信苹果会慢慢把 iPad Pro 做好,每次看苹果发布一个新产品、新技术后采访时才发现这个东西可能三四年前就开始研发了。苹果应该是清楚 iPad Pro 现在还存在的问题的,而我期待收购了 Workflow 的苹果会在一年后是几年之后突然把自动化做进 iOS,并把自动化做成一个门槛更低的技术。苹果一直擅长「Reinvent」。把一个接受度不高的东西做到人们都接受的程度,一步一步推动社会向前。我相信 iPad Pro 就是这其中的一步。


编注

本文为 Matrix社区正在举办的 iPad 能胜任你的工作/学习吗?主题征文活动的精选文章。

微信团队做了款 Sketch 插件,聚合了 11 个实用功能

$
0
0

7 月 4 日,继推出 WeUI 后,微信团队再一次发力为设计师和开发者带来这一款多功能的良心插件 WeSketch 。这款插件从库,字体,颜色,切片,交互等方面提供了各类很实用的功能,实用程度堪比 invision 的 Craft 插件,虽然从稳定性、美观等方面来说可能不及已经迭代了许多版本的 Craft ,但是这依然是一款优秀的效率插件。

工具栏

在 GUI 里已经很明显的告诉我们这款插件的全部功能,一共 11 个功能在接下来我们会一起来看看,究竟 WeSketch 可以为我们带来些什么。

连线 

在设计 App 的过程中,为了让开发更清楚整体的交互逻辑,我相信你用过各类工具做过原型图,墨刀、Axure 等等。也有一部分人会选择直接在在设计稿里进行连线,这样在设计稿里就可以清晰的表现整个流程了。不只是原型里会用到连线,包括在平时对图片进行标注的是时候,也是可以用到连线的功能。

原来连线的时候都都是自己打着锚点,调整位置,加上圆点,其实这个过程并不简单,但是 WeSketch 的连线的连线你只需要选中要进行连线的元素,点击工具栏或者使用快捷键就可以了,虽然说在美观程度上不及自己细致处理的,但是却大大简化了你的工作流程,在没有太大的视觉要求时这一定是一款利器,或者我们一起期待微信团队对它的进一步美化。


标注

这个功能可能是整个插件里比较「鸡肋」的,我觉得这一块有很大的「上升空间」,它的功能其实就是标记注释的功能,你可以选中页面中的一个元素,点击标注按钮,就会按照选择顺序生成从 1 开始标注序号。和目前几款比较火热的标注插件差距甚远,这个功能几乎可以忽略不记,很好奇微信团队是不是会在未来的版本里扩充一下这个功能。

替换

App 设计里,一个版本的迭代,或者是伟大的产品经理的一个不经意的决定,对于设计师来说可能就是整个篇幅字体或者颜色的修改,这个时候能否批量处理就尤为的关键,在 WeSketch 里给你提供了「文本」、「字体」、「颜色」三种类型元素的替换功能。

你可以选择替换全局的元素,或者是单独某一页的元素,其实这里的文本替换似乎有那么一点 Geek ,了解正则表达式的各位在使用文本替换的时候也可以派上用场了,而且这里的文本,不在单纯是文本元素,还可以替换各个元素的名称。

UI、图标、颜色库

UIKit 库的功能可以说是非常的强大了,尤其是在多人协作的时候,这个库在各类常用元素的复用上显得尤为方便,这里开发者给你提供三种基础库,分别是原来的 WeUI、原生 iOS UIKit、Android UIKit,在你需要使用系统元素的时候可以快速获取,当你你也可以在 Sketch 的 Template 里寻找 UIKit。除了三个基础库,更重要的是你可以用它来创建你自己独有的 UIKit ,你可以选择本地的 UI 文件,也可以使用你上传到云的地址,这里建议你需要建立的 UIKit 尽量使用 Symbol ,这样准确建立的概率会高的多,这里除了 UIKit 还可以用同样的方式设置主题色同步,为多人协同设计开启了一个新的方式。

之前在介绍一款 PPT 插件 iSlide 里,我们已经知道了拥有一个图标库是多么的幸福,当然也有很多优秀的设计会在平时就用素材软件整理好自己需要或者喜欢的图标,以便设计时方便查看或者调用,也有人选择去 iconfont 等类型的网站上寻找自己需要的图标。这些一切,WeSketch 里都有,因为它自带的图标库,并且全部都是矢量图,可以进行二次编辑。但是如果你需要拿来商用,还是慎重,这里并没有明确表明是否是可以作为商业用途的。当然对于我们来说,图标库更应该是一个激活你灵感的地方,然后带着灵感创造属于你自己的东西,而不是盲目的照搬。

补齐高宽

在切片导出的时候,对于一些 icon 我们希望他的背景会保留一定的空余,如果你很擅长用 Symbol ,你一定体验过用 Measure 的 Spec Export 导出这种切片的快感,但是也有人选择 Slice ,这对于一个大工程来说工作量就非常大了。这里的补齐高宽,可以一键帮助你导出各类尺寸的占位 icon ,你只需要选择、设置导出即可,并且和 Sketch 自带的导出一样,可以规范化切片命名和尺寸。

快捷取色、样式获取

快捷取色的作用其实就是「剪贴板」+「拾色器」,选择元素点击取色,颜色就会自动复制到你的剪贴板上。而样式获取,其实是一个生成代码的功能,如果你对接是的是一个前端开发,那他一定会很喜欢这个功能,因为你只需要选中字体或者图形,就可以生成相应的 css 代码,在一定程度上可以减少程序员的工作量,会不会让你和程序之间的合作因为这一点点小小的改变而变得更加的融洽呢!

其实 WeSketch 的这些功能都是一个雏形阶段,在未来的版本里,WeSketch 是否可以给我们带来不一样的体验,能否让我们眼前为之一亮,让我们一起拭目以待!

如果你喜欢这一款 Sketch 插件,你可以在Github 里下载它。

Viewing all 14436 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>