獨立開發者的孤獨——Mou 作者羅晨專訪

評論
評論

mou_logo

Inside 前兩天刊登了 部落格平台 Logdown 團隊專訪的系列文章 ,其中 Logdown 團隊提到多次「Mou」這個 Markdown 編輯器,剛好我也是 Mou 的愛用者,還很幸運地採訪了 Mou 的作者羅晨。

chenluo
Mou 作者羅晨(照片為羅晨本人提供)

在進入採訪正文之前,先簡單地介紹一下 Mou 這個編輯器,這款 Markdown 編輯器介面非常簡潔,沒有文字編輯軟體常見的工具列,但是各種功能的快速鍵一應俱全(這樣設計的原因羅晨在後面會解釋)。使用者要做的就是:啟動軟體,開始打字。

螢幕快照 2013-07-19 下午5.32.34

Mou 的另外一項特色是兩欄式介面,左側為編輯區,右側為即時預覽區域。之前在 Kickstarter 上募資成功的部落格平台 Ghost 也提過他們編輯器的兩欄式設計正是受到 Mou 的啟發 1。使用者也可以選擇兩個欄位同步捲動。此外 Mou 也支援直式編輯。

Mou_Screenshot_4

以我個人而言平常的使用習慣是單欄編輯,只有在完成文章的時候才需要打開預覽做確認,再將文件輸出成 HTML 格式,直接張貼到 Inside 後台,最後配上圖片即可。

除了可以直接將文件輸出成 HTML 檔案(支援 Responsive Design)之外,Mou 也能將文件格式轉換後輸出成 PDF 檔。

IMG_6258
▲ Mou 的文件轉成 HTML 檔在 iPhone 上看起來像這樣。

Mou 的版型自由度很高,內建的編輯區版型有 11 種,預覽區則有 4 種;使用者也可以自己修改參數,調成自己看起來最舒服的樣子(Mou 的預覽區版型其實就是用 CSS 調整)。而且 Mou 還有一個非常方便的功能:如果在文章的開頭打上 H1 標題,按下存檔時,標題會直接成為預設的檔案名稱。

Mou 是 Mac 專用的軟體,目前還是測試版,所以免費(Mou 下載連結),大家如果喜歡的話也可以透過 PayPal 樂捐,屆時推出正式版後羅晨會贈送一份軟體授權給捐獻者。

好了,簡單介紹完 Mou,我們來跟羅晨聊聊開發 Mou 的故事,以及他身為一名獨立開發者這些年來的感受吧。

請先簡單介紹一下自己的背景。

chen-luo

羅晨 ,曾有志成為一名 Web 前端工程師卻半路開發起 Mac 程式的全景攝影師。

2005﹣2009 年就讀於太原科技大學,主修通訊工程,工學學士。2006 年開始自學全景攝影方面的知識,並於 2008 年建立團隊,完成我的第一個完整全景漫專案目﹣「太原科技大學虛擬校園」。

大學畢業後並未找工作,而是回到家自學 Web 前端方面的知識。先後於 2010 年 7 月和 8 月完成了 resizeMyBrowserResize 兩個專案。

2010 年 8 月開始自學 Cocoa 寫程式,自此開發起了 Mac 程式。2010 年 12 月完成 Smaller 1.0;2011 年 9 月末釋出 Mou 的第一個公開測試版(0.6.0);2011 年 11 月釋出 Toau 1.0。此後我的主要精力都放在 Mou 的開發上,直到今天。

翻看 時間線 ,轉眼間我已經畢業三年多,就這麼不知不覺的成為了一名獨立 Mac 程式開發者。

請問您從事獨立開發的時間有多久了?為什麼會選擇開發 Mac 程式?

兩年多。從事 Mac 程式獨立開發是個意外。由於對傳統通訊產業不感興趣,畢業後我原本是這麼打算的——先不找工作,在家學習一下 Web 前端方面的知識,等學得差不多了,找份「Web 前端工程師」的工作。

在學習 Web 前端優化的過程中,我瞭解到可以用 YUI Compressor 對 CSS 及 JS 文件進行壓縮,以提高頁面初次下載速度。但 YUI Compressor 是個命令行工具,實踐中我感覺用起來不太方便,想著如果有個 GUI 就好了。而在當時,Mac 平台上還沒有一款 YUI Compressor 的 GUI,找到的幾個全是 for Windows 的。

無奈,只好下決心自己寫一個。不懂 Cocoa 怎麼辦?學吧!只要能提高自己將來 Web 前端工作的效率,豁出去了。(編按:Cocoa 蘋果電腦作業系統 OS X 的 framework。)

於是我開始學習 Cocoa,四個月後,我居然成功了。2010 年 12 月 22 日,Smaller 1.0,Mac OS X 系統上第一個 YUI Compressor 的 GUI 誕生!

為什麼會想開發 Markdown 編輯器?

偶然在 Twitter 上看到有人提到 Markdown 語言,看了一下語法感覺很簡潔,用它來寫文件會方便不少。雖然當時在家沒有很多寫文件的需求,但想到以後開始工作後,作為一名 Web 前端工程師,應該經常需要寫文件吧。

既然對我以後工作有幫助,於是我開始學習 Markdown 語法,但是,只花了半個小時就全記住了,出乎意料的簡單,我想這正是 Markdown 的魅力所在。

熟悉了語法,接著就要開始選擇編輯器了,我當時的需求很簡單:

  • 簡潔的介面。
  • 支援對中文字與符號。
  • 即時預覽。
  • 提供一系列快速鍵快速輸入 Markdown 既定語法元素。
  • Markdown 語法 highlight。

然而,這麼簡單的需求,在當時卻沒有一個編輯器完全符合。只好自己動手,打造符合自己需求的 Markdown 編輯器了。

為什麼要叫做「Mou」?

在取名的時候,我想把第一個字母設為「M」,與 Markdown 的第一個字母一致。

然後我想這個名字要盡量簡潔,容易記住。然而單一字母不太像一個 app 的名字,兩個字母太單薄,三個字母感覺最合適。羅列 M 加兩個字母的組合,最終選定「Mou」。因為這種組合看起來比較美觀,且恰巧是漢語拼音,容易記憶。

如果以我的讀法為準,給「Mou」指定一個官方發音,我會告訴你我是按照漢語拼音來讀的,即發「某」的音,但是要發成四聲「mòu」。這樣讀起來會與英語中的「more」發音有一點點接近。Mou = more,有著 Mou 將來會有 更多 功能的寓意。

我們從您的部落格得知 Mou 第一個公開測試版在去年 9 月 30 日釋出,那麼 Mou 開發至今花了多少時間呢?

總共花了多少時間難以估計。這一年來我的主要精力都放在 Mou 的開發上了,長長的 Release Notes 能夠告訴你我付出了多少努力。

在開發的過程中有遇到哪些困難嗎?最困難的是什麼?

遇到問題不要緊,只要知道自己哪裡不會,現用現學就可以了。最困難的是有時候遇到問題,卻不知道從哪裡入手,去查哪方面的資料。這種情況最苦惱了。

可以跟我們聊聊 Mou 在設計上的取捨嗎?

Mou 在設計上採取的是簡潔風格。不會考慮加入工具列(Toolbar),我認為能用快速鍵完成的事情沒有必要再增加一個做同樣事情,而且還佔用螢幕空間的工具列。

您為 Mou 設計的產品網頁很早就開始支援 Retina Display,這點連許多專業軟體網站也未必有做到,怎麼會這麼快就支援?

可能是我比較勤快吧。讓網頁支援 Retina Display 其實很簡單。只是對一張圖片,現在需要準備兩個尺寸,小的在普通螢幕上顯示,大的在 Retina Display 上顯示。

Mou_Screenshot_1-1

Mou 網站的第一張截圖來說,在普通螢幕上顯示的是 1014×726 的圖,在 Retina Display 顯示的則是兩倍大小 2028×1452 的圖:

mou_ui_2x
▲ 後面的是 2028×1452,前面的則是 1014×726 的圖

當然,為了獲得這兩個尺寸的截圖,你需要截兩次,一次在普通螢幕上,另一次在 Retina Display 上或在普通螢幕上開啟 HiDPI 模式。

準備好兩個尺寸的圖片後,再交給 Retina.js 就可以了。

您都用 Markdown 做什麼?

寫文件,答採訪稿 XD

Jeff Atwood 先前寫了一篇 〈 The Future of Markdown 〉,對於他倡議為 Markdown 定下一個標準的計畫,不知道您有什麼看法?

標準 Markdown 語法功能有限,比如缺少表格。而對附加語法的定義實現各家都略有不同,造成了當前 Markdown 版本眾多的局面。如果能有一個新的標準,解除目前這種混亂的局面,當然再好不過啦。

只是,這事兒能不能成功,關鍵還得看 John Gruber 吧。(編按:John Gruber 即是 Markdown 的創造者)

可不可以跟大家分享一下您常用的軟體,以及開發環境?

Mac 開發:Xcode

Web 開發:EspressoMouForkLiftSmallerImageOptimPochadeResizeTextExpander

全景攝影:PTGuiPano2VRPhotoshop

有沒有特別欣賞的 Mac 程式?為什麼?

Espresso 我最愛的文件編輯器,主要用它來編輯 HTML/CSS/JavaScript。用起來非常舒服,它的 X-ray 模式,在編輯 CSS 時很實用。

請跟我們聊聊獨立開發者的甘苦。

每個人的經歷不同,體會也不一樣。我的體會是,開發前期很枯燥,釋出成品後很有成就感,後期維護就比較悠閒。

近年 Apple 開始將 iOS 裡的某些概念導入 OS X,請問您有什麼看法?

只要它不把「只能透過 App Store 安裝軟體」這個限制引進 OS X,就可以容忍。
(編按:其實目前的 Mac 預設不能安裝「來路不明」的程式,不過可以在系統偏好設定中改掉這項設定。)

將來有什麼宣傳、行銷的計畫嗎?

沒有。好的軟體,使用者覺得好用,自然會推薦給別人,一傳十、十傳百,不需要進行刻意宣傳吧。

未來會踏入行動版 app(iOS app)開發嗎?

有可能。只是目前還是專注在 OS X 上,畢竟 Mou 還沒有完成。

Mou 預計何時會推出正式版呢?會在 Mac App Store 上銷售嗎?

我也不知道,一步一個腳印的來吧。我現在就可以把 Mou 的版本號直接改成 1.0,但那樣做沒有任何意義。

我看重的是功能上的完善和性能上的改進,而這都需要時間去一點點的改進,所以我並不急於把它「變成」正式版。

有在 Mac App Store 上線的計畫,不過那也只能是在正式版以後了。

Mou 將來會支援 iCloud 嗎?您對 Apple 的 iCloud「單層式」檔案系統設計有沒有什麼看法?

如果要支援,也只能是在正式版發表之後。

因為 Apple 限制 iCloud API 只有在 Mac App Store 內發表的軟體才能使用。所以 Mou 如果想支援 iCloud,必須要在 Mac App Store 內發表才行。但 Apple 又限制測試版軟體不得在 Mac App Store 上架,而 Mou 目前還是測試版。

由於還用不到,還沒有對 iCloud 進行深入的瞭解。

您有沒有什麼話想對有志投入獨立軟體開發的人說呢?

我從來就沒有想成為一名獨立軟體開發者的志向,只是在學習 Web 前端知識的過程中,想寫一些軟體自己用,提高以後的工作效率,卻在不知不覺中讓重心偏移,成為了一名獨立軟體開發者。

這幾年在家很自由,但同時也會很寂寞。如果你想成為一名獨立軟體開發者,你首先要問自己:能不能耐得住寂寞?

我都有些耐不住了。回想這幾年,除了寫程式就是寫程式,在家裡,自然不像在學校或者公司,周圍沒有同學或同事可以交流,生活很枯燥,也很寂寞。

我在重新思考今後的計畫:

關於是繼續在家進行獨立軟體開發,還是出去工作的問題,現在我更傾向於後者。因為在家實在是太寂寞了,在公司,周圍有同事們,那多好。

關於做什麼樣的工作,三年前我是想成為一名 Web 前端工程師的,但現在不一樣了。經過這幾年白天晚上寫程式枯燥的生活之後,如果要找工作,我更希望找一份與寫程式無關的工作,換下思維。白天忙工作的事情,晚上倒可以寫寫自己的程式作為消遣。

城外的人想進來,城裡的人想出去。如何抉擇,我在思考,你呢?

相關文章

評論