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

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

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


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

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

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

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

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


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

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

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

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

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

羅晨 ,曾有志成為一名 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 網站的第一張截圖來說,在普通螢幕上顯示的是 1014×726 的圖,在 Retina Display 顯示的則是兩倍大小 2028×1452 的圖:


▲ 後面的是 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 前端工程師的,但現在不一樣了。經過這幾年白天晚上寫程式枯燥的生活之後,如果要找工作,我更希望找一份與寫程式無關的工作,換下思維。白天忙工作的事情,晚上倒可以寫寫自己的程式作為消遣。

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


上雲猶如太空探險之旅,iKala Cloud AIOps Services協助企業輕鬆穿梭多雲環境

人類從上個世紀積極探索外太空,為了將太空人送上天際必須克服各式挑戰,而現代企業要從「地端」飛向「雲端」,困難程度有過之而無不及。iKala Cloud AIOps Services 提供多項關鍵服務,幫助 IT 團隊輕鬆悠遊多雲環境。
評論
評論

探索外太空,曾經是國際間的科技競賽,近年 Tesla 創辦人馬斯克更準備把太空旅行當成商業服務,預計 2026 年要帶著人類登陸火星。完成一趟星際旅行,需仰賴嶄新的科技及跨科學精密計算,但你知道嗎?現代企業要從「地端」飛上「雲端」,其實挑戰程度不亞於飛向太空。

對企業資訊管理者來說,有限的 IT 資源無法應付繁重的維運項目,加上同時管理公私有雲架構更顯困難、資安管理複雜,例如需要人工執行過濾警示,各種大大小小挑戰不勝枚舉。換言之,企業想航行雲端,就像打造火箭需要龐大資源及人力。不過,現在有更輕鬆穿梭雲端的方式,就是使用雲端技術服務商 iKala 所提供的 AIOps Services(自動化雲端託管服務)

火箭升空前的全盤規劃:iKala AIOps 擬定系統架構規劃、教育訓練

完成一趟太空之旅,必須做足各種研究,例如精準計算飛行軌道、降落定位點、燃料耗用數、與地球通訊設定…等。

對沒有雲端架構經驗的企業來說,就如同當時的科學家,必須用土法煉鋼的方式檢查數據是否有誤。換言之,企業 IT 在升級之前,就需要有經驗的「雲端顧問」來釐清需求、協助規劃「升雲」之旅。而 iKala 就是企業的最佳雲端顧問,旗下 iKala Cloud AIOps Services 會搭配一位專責的技術客戶經理,協助企業提供即時的技術服務與專業建議。

究竟 IT 升級之前,iKala Cloud AIOps Services 有哪些服務?首先是「系統設計規劃」,涵蓋系統架構規劃書、系統上線/遷移計畫書,可因應客戶產業需求,提供對應的解決方案以及顧問服務。而越來越多企業會使用到 Google 的雲端資源,iKala 也有提供 Google 雲端平台訓練服務。

GCP 教育訓練課程多元,包含 GCP 基礎架構(網路設定規劃、權限控管、計算資源等)、大數據與機器學習(大數據分析 Pipeline、BigQuery、ML 模型訓練與應用)、軟體開發技術與流程(容器化、CI/CD、DevOps)等。因為 iKala 團隊取得 10 多項 Google 專業技術證照,才能在企業規劃雲端轉型的前期就一步到位,規劃出整體藍圖,提供更全面的解決方案建議。

火箭升空中的精密操作:iKala AIOps 輔助即時技術維運、資安管理

當火箭準備就緒、升空倒數之際便是決定這趟太空之旅能否成功的關鍵時刻。從太空人的行前訓練與身體檢查,到火箭的引擎測試完成,如果有靜電或一點火花都可能引發爆炸事故。光是在升空階段,太空總部就要有結構、熱控、姿態控制、資料處理、電能、遙傳指令、推進以及飛行軟體等龐大的系統工程師在旁待命。

換言之,企業 IT 移轉雲端過程就像火箭發射的當下,需要有專業、經驗足夠的工程師,才能即時協助企業順利上雲,甚至快速排除緊急的狀況。對此,iKala Cloud AIOps Services 提供兩大關鍵的幫助:技術維運、資訊安全管理。

iKala Cloud AIOps Services 的技術維運服務內容,提供 7 x 24 的 Help Desk,像是緊急 GCP 問題報修、產品使用技術諮詢;或是事故管理,如搭建監控系統、設定規劃告警政策、規劃日誌收集與留存。每月也會提供企業維運報告,報告書有營運效率檢討、流程優化、新服務項目、營運系統建議等。

至於資訊安全管理方面,除了基本的 GCP 專案權限控管掃描、應用程式 OWASP(Open Web Application Security Project)前 10 大項目資安弱點掃描,同時也針對近年相當受重視的 DDoS 防護,iKala 可協助企業導入 GCP 平台的 DDOS 防禦機制。iKala 掌握多年軟體開發和雲端管理經驗,可分享給客戶 DevOps、AI 第一手實務的作法與經驗。

火箭升空後啟動自動導航:iKala AIOps 提供 AI 自動化監控、帳務管理

當火箭成功升空後,太空人為了執行下一階段任務,這時候火箭就需要轉換成自動駕駛模式,或在探索其他星球時,出動機器人來協助執行人力無法負荷的任務,讓太空人專心處理更關鍵的工作。換言之,上雲後的 IT 架構就像升空後的火箭,應該減少 IT 人員的負擔,甚至不需浪費例行時間,就能夠快速掌握整體資訊系統的運作狀況。

不過要讓 IT 架構像火箭具備自動駕駛功能,勢必需要相當高的技術門檻,而 iKala Cloud AIOps Services 正好有相對應的服務。如此一來,IT 人員的生產力就能投入在更具商業價值的研發專案,讓 IT 部門轉型成可創造產值的單位,而非單純的後勤支援角色。

盤點 iKala Cloud AIOps Services 在此環節共有三大類服務。其中一項是 AI 自動化監控與通報服務,幫助 IT 成員主動監控系統,掌握是否有異常操作狀況。其二是帳務方面的管理,幫助企業產出雲端服務月用量帳務分析報告,針對軟體授權需求,整合出帳至  Marketplace 與第三方服務商,自動化做到 License 採購管理。

第三項則是針對服務級別協定(SLA)iKala Cloud AIOps Services 提供 24 x 7、5 x 8 兩種模式,在重大 GCP 服務異常中斷服務時,提供電話、e-mail 聯繫。而且每月會舉辦 1 次月會(以 on-site 或遠端視訊會議方式)提交書面報告。目前 iKala 的企業客戶服務超過 400 多家、涵蓋數 10 種產業,可說是企業成功上雲,最能安心託付的合作夥伴。 

事實上,雲端託管服務(CMS)是目前最夯的新趨勢,根據市調公司 MarketsandMarkets Research 報告指出,全球雲端託管服務的市場規模,預計從 2020 年的 624 億美元,到 2025 年成長至 1,162 億美元,複合年增長率(CAGR)為 13.3%。代表未來有大量企業採用 CMS,以降低 IT 基礎設施的投資成本及風險,藉此提升企業營運的競爭力。

由此看來,企業的數位轉型,就像上個世紀的太空軍備競賽一樣。「時間就是決勝點」,越晚起步的公司與其他數位能力領先群的企業相比,差距只會越來越大。現在就攜手 iKala 嘗試 iKala Cloud AIOps Services,打造穩定的 IT 系統、邁向數據驅動的商業模式,讓企業在數位世代站穩腳步,輕鬆穿梭多雲之間。

了解更多 iKala Cloud AIOps Services