关于「幕后」

我们每天会接触大量的软件、硬件,但是多数时间下,都只是以固有的「使用者」视觉去体验和评判,快节奏的模式让我们没时间体会太多背后的理念。「幕后」栏目 因此而生,我们会不定期邀请一些制作者,讲述他们在产品开发 / 制作过程中的点滴。


Markdown 编辑器总是能和国内开发者牵扯上关系。最早让人为之赞叹又因跳票事件跌下神坛的 Mou,操作逻辑向 Mou 看齐的 Macdown,在各个平台表现优秀的 Typora,以及集文档管理和静态网页生成多功能为一体的 MWeb,皆出自国人开发者之手。

MWeb 凭借着优秀的性能、不错的操作体验和强大的功能,在问世两年里饱受各路好评,去年也入选了 少数派 2015 年度 Mac App。前不久 MWeb 推出了 iOS 版本,继承了 macOS 版本许多强大的功能,在保证流畅的书写体验的基础上,针对记笔记,更新博客等场景进行了深度的优化。我们也借此机会,采访到了 MWeb 的开发者区禄海,请他来谈一下开发 MWeb 背后的故事。 

π:介绍一下你自己。

大家好,我叫区禄海,目前是 Mac/iOS 是独立开发者,现在的主要工作是开发和维护 MWeb,另外也花了不少时间在插画、3D CG、游戏制作上。去年主要是各方面都了解一下,今年可能会尝试做 3D CG 中的人物建模及静帧。在做独立开发者之前,我做了大概七年的网站外包,前端后端什么的都知道一点。

π:当初是怎么想起来做 MWeb 这个 Markdown 编辑器的?

其实是学 Mac 开发用 Mou 来作笔记时,发现各种不方便。其它还能忍,主要还是贴图太麻烦,麻烦到直接不想记笔记的程度,所以就想自己做一个。当时的想法是,除了方便加图片外还可以选个分类,就直接生成博客发布出来。

MWeb 的优势

MWeb 用的是 GFM 语法,所以对代码块、LaTeX、表格支持非常好,Ulysses 不支持 GFM 的代码块语法,LaTeX 和表格也不支持。

π:你觉得 MWeb 和其他 Markdown 编辑器(比如 Ulysses)相比,有哪些不同?MWeb 的优势是哪些?

MWeb 和 Ulysses 最根本上的不同其实是在 Markdown 语法支持上。

Ulysses 不是纯的 Markdown 编辑器,它会隐藏 Markdown 的具体语法,然后有些还会增加另外的东西,比如说代码块会在前面加 '',以至于用了之后会不知道有些 Markdown 到底怎么写(或者写错)。当然,仅用 Ulysses 是极好的,但是我认为,明确知道具体的语法是什么,然后学会一种普遍通用的语法才是最好最有效率的。

MWeb 是显示原始语法的,因为我始终觉得,显示原始语法是必须的,这样写久了的话,自然就学会了,到时候预览呀什么的,都不是必须的了,真正达到边写边排版。另外 MWeb 用的是 Github Flavored Markdown(GFM) 语法,所以对代码块、LaTeX、表格支持非常好,Ulysses 不支持 GFM 的代码块语法,LaTeX 和表格也不支持。

还有就是,MWeb 在编辑器内可以直接显示插入的图片,而 Ulysses 要双击才能查看。

最后,Ulysses 的外部模式打开现有文档时,有时候会改动现有文档的语法。MWeb 的外部模式不会,而且 MWeb 的外部模式贴图很方便,Ulysses 则不支持。

π:你最喜欢 MWeb 哪几个功能或细节?就是那种你会拿出来特别向人强调介绍的点。

  1. 支持 Github Flavored Markdown(GFM)语法,显示文档原文本,不做任何修改。
  2. 贴图非常方便,LaTeX 公式的编辑器内预览,可视化插入和编辑 GFM 表格。
  3. 功能丰富,比如说文档库,发布至 Wordpress、Evernote图床 功能等。

关于问题和优化

需要说的是,最近我觉得增加插入就上传图片这个选择也是有必要的。

π:许多用户反映不是很明白「外部模式」和「文档库模式」之间区别到底在哪,你能为大家讲一下两种模式的区别以及分别对应的使用场景吗?

文档库的特点是保存在一个地方,新增文档不用取名字。写完文档后,要生成静态网站,仅需要勾选属于静态网站的分类。文档库主要用于记笔记、个人知识管理和发布为网站,文档库不可能协作,主要是个人使用。

外部模式是用引入文件夹的形式,新增文档必须有文件名,上传 github 或网盘可以协作。MWeb 外部模式对 Gitbook, Hexo, Jekyll 等都有很好支持,用来编辑其中的 Markdown 文档,可以享受方便贴图、LaTeX、表格等功能。外部模式是通用的 Markdown 的编辑器的使用场景。

π:在许多用户的使用反馈中我了解到,很多人在即时书写和发布(打开) md 文档时更倾向于去使用类似 Typora 这种编辑器,而着重于文档管理或资料编写时更倾向于去使用 MWeb,原因是切换模式很不方便。你如何看待这种现象?未来在 MWeb 的更新中会不会优化这一问题?

我觉得是主要看使用习惯,我喜欢原文本显示,喜欢直接看到 Markdown 语法,所以可以确认 MWeb 不会做像 Typora 的模式。

π:在使用自己的图床时,最后总是要点击「上传本地图片」才会将图片逐个上传至图床,之后会不会加入像 Typora 和 iPic 配合下那样将图片插入后就自动上传的选项?

MWeb 的图床是本地优先,优点是断网可用、文档不依赖图床,图床挂了直接传另一个。其实在我看来,MWeb 的使用流程还方便不少,等待时间可能也少一点。因为写文章时,不会因为图片上传可能出现的网络问题或者图床服务不稳定问题而打断思路。而写完后,仅点一下 「上传本地图片」,传完后再点 「复制 Markdown」即可得到写作时一张张上传的结果。

MWeb 中需要点击「把本地图片传至图床」才会上传图片
 

需要说的是,最近我觉得增加插入就上传图片这个选择也是有必要的。因为在 iOS 打开非 MWeb 中的文档时,因为权限问题不能插入本地图片,但是如果可以插入图片时直接上传至图床就会很好了,所以会先在 iOS 版加上这个功能,Mac 版之后也会加上。

 开发 MWeb 和独立开发

我觉得这个功能对 「专业的 Markdown 写作、记笔记、静态博客生成软件」这个定义很重要或者符合的都会做。

π:MWeb 这么多的功能,这些里面有多少是你自己本身的需求,多少是别人(用户)提的?你如何权衡一个他人提出的功能是否应该做?

MWeb 的文档库,静态博客生成这两个是我本身需求的,MWeb 的第一个版本就是仅有这两个功能。其他如外部模式,如此多的发布服务,图床功能,把 HTML 粘贴为 Markdown,LaTeX 和表格的优化等等,都是用户建议,或者是用户建议后我加以改进而做的。

某个功能做与不做,没有严格的权衡标准,我觉得这个功能对 「专业的 Markdown 写作、记笔记、静态博客生成软件」这个定义很重要或者符合的都会做。但是如果是我没信心做好的,或者超级麻烦的,就会优先级排很低。

π:在这两个平台的开发中你认为哪个难度更大?跨平台开发给你带来了哪些困难?

Mac 版比较难弄!说实在的,我做完 iOS 版后第一感觉就是:好简单!

其实也是我没用到什么高级功能啦,但是做 Mac 版时遇到的问题真是太多了!做 iOS 版的时候基本没遇到什么困难,除了 iCloud 这个让我觉得麻烦一点。

π:讲讲自己是怎么踏上独立开发这条道路的?

这个应该是做网站外包太久了,是对台湾外包,所以是长期自由职业状态。那时感觉是得了抑郁症,必须做出改变了。抑郁症的具体我也不大想细说了。计划离职时我对 Apple 各方面都感觉兴趣,想学 iOS 开发,所以就计划学上一些时间。当时的计划是花两三年时间,然后顺便做些产品出来,主要是有作品比较好找工作。当然,也希望能赚点零花钱。

我是在 14 年中离职的,所以我做独立开发者的计划,其实到现在差不多结束了的。现在感觉我再努力一点,还是可以继续做独立开发者。一是我对现在独立开发者的生活还算满意,这是实实在在的做出了产品,并有了小小的用户群。再有就是收入,去年 MWeb 的收入基本够生活支出了(主要是我目前在五线小城市生活)。今年如果完善 iOS 版,再多出一个 App,基本能慢慢发展下去。

所以如无意外,肯定是继续做独立开发者了。

π:独立开发和在团队中开发分别是怎样的体验?你更喜欢那种?

我之前做网站外包,其实是做前端切版和后端程序(有时候仅做后端程序),然后合作的设计都非常优秀。我做这么多年了,当然也尝试过学一下设计,然后发现完全不会呀!

所以我的体验是:个人是非常难做出各方面都优质的产品,必须团队才能产出。做个人项目,遇到短处的地方做个大概就好了,有机会再优化。如果要纠结质量,那是完全跟自己过不去,产品甚至会做不下去。

就偏好来说我更喜欢独立开发,因为团队的话,做什么不做什么就不是我说了算 :D

 新图标的故事

在 MWeb 2.0 版本中更换了一套新的 Toolbar 图标,我们找到了这套图标的设计师 @Qoli,她也谈了一下设计这套图标的原因和故事。

π:你为 MWeb 做了一套全新的 Toolbar 图标,当初是怎么想到做这件事情的?

Qoli:之前我买 MWeb 的主要功能是看中了他可以自动生成静态 Blog,这样很有利于我在公司编写产品文章。那段时间,我一直把工具栏隐藏起来用,因为工具栏太丑了。后来我自己的官网也用 MWeb 的静态 Blog 功能搭建,但这样就要用上了 Toolbar 的一些功能。

我看着太丑就检查了了一下资源目录,发现是可以修改的,我就做了一套 Toolbar 替换过来了。

π:你设计的 Toolbar 图标和之前相比有哪些优化和改进呢?

Qoli:在这个 Toolbar 替换的时候,我把一些难以理解的图形,替换为意思更加明确的图形。
例如,图中切换左边两栏目的图标。在新版中,是一个矩形加左侧高亮。

其他

π:为什么在 MWeb 1.9.8 版本时加入非 MAS 购买渠道,这是基于怎样的考虑?

主要是有用户反馈说 MAS 很麻烦,有没有非 MAS 渠道。然后最主要是我发现如果用 devmate 这家公司的服务后,增加非 MAS 购买渠道非常简单方便。

π:在 Markdown 兴起后的一段时间里,Mou 一直是 macOS 上受人关注的编辑器,对于这款编辑器和作者后面的跳票事件你怎么看?

Mou 我用起来不大顺手,不过当时来说就它最好用了,而且还是免费的。

我没有买 Mou 1.0,所以我对 Mou 跳票,仅是觉得可惜了。跳票的原因,我觉得有可能是作者对 Mou 1.0 的功能并没有什么想法或者是用户建议下有想法了,但是作者兴趣转别的没有做下去的动力了。

我记得众筹时,作者对于 1.0 的功能并没有说明(不知道我有没有记错),所以改善一下当前版本的稳定性,加个图床功能就出 1.0 版本应该非常简单的事(就我开发的经验来说),也值这个价格了。之后一边销售一边慢慢改进,完全是没问题的。

为了兴趣(或者其他)拼上了人品,也只有自己知道是否值得。

了解 Mou 跳票事件:《一年了,那个闻名遐迩的 Mou 你还记得吗?》

MWeb for Mac 特约优惠

少数派联合数码荔枝为大家带来了 MWeb for Mac 的半价优惠,原价 99 元,现仅需 49 元,活动从今天开始,持续到本月 26 号晚上 12 点,需要的读者可以前往 数码荔枝 购买。

(文末栏目图来自 Business vector designed by Akdesign


阅读更多「幕后」故事 >