羅晨:夢想照進現(xiàn)實,一個獨立開發(fā)者的田園詩
他種有機蔬菜、他搞全景攝影、他自己設(shè)計制作硬件產(chǎn)品,他還是個程序員,并以此為生。羅晨,他是Markdown編輯器Mou的作者,他就是一 位生活在農(nóng)場上的獨立開發(fā)者。提起我們這個時代的碼農(nóng)們,人們聯(lián)想到最多的是“加班”、”趕進度“、“不健康的生活方式”……好像這些是和編程密不可分的 衍生品。然而,在羅晨身上我們看到另外一種可能性,我們可以,活出自己想要的現(xiàn)實。
MouStand——讓夢想變成現(xiàn)實
我十分喜歡 Mou 的 logo,這個形狀是想象出來的,之前它在現(xiàn)實中并不存在。但是我把它變成了現(xiàn)實。
為什么要自己做一個 Markdown 編輯器?
我剛開始知道 Markdown 這個語言,就覺得挺有意思,想找一個 Markdown 的編輯器。當(dāng)時有兩個收費的編輯器。其中一個中文支持不太好,老跳,一打中文的時候那個鍵上下跳。另外一個預(yù)覽界面和編輯界面是分開的。要想預(yù)覽就得點一 下預(yù)覽的命令,不能同時顯示。我想要左邊編輯右邊預(yù)覽,這樣就可以實時預(yù)覽,一邊編輯,一邊顯示的,可是沒有。那沒辦法,市面上沒有只能自己做。然后我就 做了。
Mou 的同步滾動還不精確。因為我這個是按照左右兩個窗口的長度,百分比來算。同步比較難做。如果要精確匹配只能按元素。比如左邊是二級標題,第一個二級標題對右邊的二級標題,這樣來算定位才準。但是我現(xiàn)在還不知道怎么做。
你很喜歡這個 Mou 的這個 logo?
是的,Mou 現(xiàn)在的 logo 是方遲設(shè)計的,我非常喜歡。第一個版本的 logo 是我畫的,但畫的不好。后來在丁一的 介紹下能夠有幸請到方遲為 Mou 重新設(shè)計 logo。我當(dāng)時的要求就是簡潔,突出 M。我覺得他設(shè)計的非常棒,這種造型是方遲想象出來的,之前現(xiàn)實中并沒有這種形狀的物體。我非常喜歡這個造型,以至于我想把它變成實物。但設(shè)計 logo 和把它變成實物是兩碼事。當(dāng)初設(shè)計 logo 的時候并沒有考慮到要做成實物。
Mou 最初(第一個公開測試版 Mou 0.6.0)的 logo,2011 年 9 月,羅晨設(shè)計:
Mou 0.6.4 的 logo,2011 年 10 月,方遲設(shè)計:
Mou 0.7.2 的 logo,2012 年 8 月,方遲設(shè)計改進,沿用至今:
既然關(guān)于 MouStand 這個實物所有的一切都是你自己設(shè)計的,那就從包裝講起吧。
包裝我考慮過紙盒,但是不太結(jié)實。瓦楞紙是柔性的,柔性的一壓就壓壞了,怎么辦?現(xiàn)在快遞都比較暴力,所以我們需要剛性的包裝。這個木制包裝盒是指 接結(jié)構(gòu)。它有一個優(yōu)點就是穩(wěn)固、特別結(jié)實,可以保證長途的運輸當(dāng)中里面的東西不受損害。材料當(dāng)然是越輕越好,輕點可以省郵費,但是不能太輕,因為還要考慮 到強度。當(dāng)時我就考慮兩種材料,一種是桐木,非常輕。第二種是松木。但是桐木要是這個厚度不結(jié)實。一踩上去就碎了。松木的踩上去沒什么問題。
發(fā)貨的時候木盒的外面還要套一個瓦楞紙箱的,剛?cè)岵?,多一層保護。
#p#
你看上蓋只采用這兩根木條,而這邊沒有。這是為什么呢?這個剛好可以扣住,如果這邊再加兩根木條,就扣不住了,會頂住 MouStand 上邊這兩個腿,就需要把這個盒子再高一點,那樣就浪費材料了??紤]到強度、也考慮到節(jié)省材料。尺寸都是匹配的,為的是最大限度的節(jié)省材料。
包裝上的標簽也是我自己設(shè)計。我的風(fēng)格是屬于簡潔素雅的風(fēng)格。大面積留白,上面一條是黑底白字,其余是白底黑字。蓋子里面的標簽注明它的詳細規(guī)格。 每個 MouStand 重 36 克(一個 Color Packs 套裝包含 4 個 MouStand,木盒重 200 克。但是有誤差,誤差我故意寫的大一些。比如木頭里面有水分,水干了之后會變輕,濕度大還有可能變重。
這些東西加起來,再加外面套一個紙箱超不過 500 克。為什么 500 克?因為發(fā)貨我采用郵政,EMS 是按 500 克來算,500 克以內(nèi)是一個價格,501 克又加錢就不劃算了,所以保證 500 克以內(nèi)。
再說說產(chǎn)品本身。
我去年用銀子,錘子鑿出來一個比這個小的形狀。用銀子敲成銀絲。再折一下。也是用錘子敲一下,折三次成這樣,比這個小。
去年(2012 年 7 月)用銀子鑿出來的 Mou 的 logo:
再回到 MouStand,開始時,我想做 logo 那種顏色,但是調(diào)不出來。這個加工步驟是這樣的,先把一塊平面的鋁板切割成平面形狀,切割好以后,再把邊角進行手工打磨,因為機器打磨好之后有毛刺。打磨 好之后,第二步進行折彎,把平面的圖形折三次,然后就成形了。變成一個基本的形狀之后,在進行噴砂處理,使表面形成一種噴砂的效果。說白了這個噴砂就是用 噴槍噴細砂。用細砂粒撞擊它的表面,撞出無數(shù)的小坑,就形成了噴砂效果。噴砂的功效一個是美觀。另外,折彎了之會有壓痕(折彎痕),噴砂可以把痕跡減弱。 這還有第四步,陽極氧化處理。噴完砂之后表面都是鋁,進行陽極氧化,使表面生成一層三氧化二鋁。三氧化二鋁很硬,莫氏硬度達到8。像藍寶石、紅寶石、磨刀 石主要成分都是三氧化二鋁。氧化成三氧化二鋁是對它表面進行一種保護?,F(xiàn)在的效果就很硬,不容易劃傷。也比較光滑。
然后再進行染色。你看到的這個顏色實際上不是油漆,而是墨水。氧化后,三氧化二鋁的結(jié)構(gòu)是透明的孔狀結(jié)構(gòu),用墨水一染的話就滲透進去。最后一步進行 封孔,用開水煮,把顏料封在里面。(顏料)已經(jīng)滲透進去了,比油漆要好用。MacBook 表面也是這種工藝,只不過那種噴砂噴得比較細。我們這個噴砂顆粒大一些。顆粒大是因為受到加工工藝的限制,工藝達不到那么高。另外,折彎的時候,痕跡很明 顯,如果用細砂噴痕跡非常明顯,掩蓋不掉,所以只能用中等顆粒的,剛好把折痕掩蓋掉。折的時候機器有兩個尖一壓,每個折彎處都有一條道,現(xiàn)在不容易看出 來,是用噴砂給處理掉了。這一塊還有腳墊(絨布貼),對下面進行保護。
剛才問到后面的孔是干什么的?最后的陽極氧化要把工件作為電極浸到溶液里。這個是導(dǎo)電的,必須有個觸點,所以在這開了個孔,讓這個地方一直導(dǎo)電。進到溶液里氧化,一通電,表面生成氧化膜。
剛開始做樣品的時候沒有開這個孔,是在這兩個位置(M上面的兩個尖)夾著的。夾著的時候表面出現(xiàn)夾痕,夾痕非常難看。所以正式生產(chǎn)的時候就在后面開了個孔,讓它把夾痕隱藏到里面,更美觀一點。
#p#
MouStand 尺寸為什么這么定?
尺寸還有角度,要兼顧(iPhone 和 iPad)水平模式和垂直模式,都能放。這個水平放置沒問題,豎著放也沒問題。兩種模式都支持的情況下,保證它體積最小,就找到這么一個平衡,再大了浪 費。這個造型可以兩邊放。這邊放一個,比如兩個人,你在這邊玩手機,我在這邊玩這個。兩個腿之間的間距也是考慮過的,如果間距再大點兒手機豎著放就拖不住 了,漏下去了。
原型設(shè)計的時候,我是用紙做的,用的是一百五十克卡紙。承重沒法測,只是測角度,用 iPad 比劃這把角度估計出來,看什么角度倒不了。前面腳的長度,參考一下 iPhone、iPad 的厚度,長一點,這樣就翻不過去。
MouStand 的原型是用紙做的:
具體加工是怎么完成的?
我是把設(shè)計圖紙做好,然后加工工藝確定,再聯(lián)系代工廠。這個木盒是山東曹縣代工。做了兩百個,還是好說歹說人家才給做。這個屬于限量生產(chǎn),不像人家 大工廠批量生產(chǎn),那樣成本非常低。鋁合金加工是在廣州。標簽還有木頭玩具的紙盒是我自己買的打印紙,打印機、切紙機,完全是自己做。
木頭玩具紙盒上的圖形和圖解是我用 Silo 建模軟件建出模型,截圖后再導(dǎo)入 Illustrator 里描出來線框圖,包裝也是我自己做的。這個是三根木條。這是附贈的玩具。這個玩具是現(xiàn)有的,我只不過弄了一個包裝。這個玩具叫孔明鎖,據(jù)說在孔明的時候就有了。
木頭玩具包裝盒上的圖形是先用 Silo 建模,再用 Illustrator 描出來的:
這個貼紙也是我自己做的。想貼哪就貼在哪。你把后面的那層紙撕下來。這個像 GitHub 學(xué)習(xí),GitHub 不是也是有一個 shop,也賣貼紙的、賣杯子,它也是以它的 logo 發(fā)展的周邊產(chǎn)品,我這也是以 logo 發(fā)展的周邊產(chǎn)品。
你的網(wǎng)站做的挺好看的,簡潔漂亮。
就是幾張截圖往上一堆。剛開始學(xué)攝影的時候?qū)W過 Photoshop,這都是之前積累的基礎(chǔ),這些知識全用上。做 MouStand 網(wǎng)店,要攝影,把產(chǎn)品拍下來,怎么拍好看,弄個攝影小棚子,布好燈光、角度、支架弄好,拍好,再調(diào)調(diào)亮度。把照片弄的好一點。拍照片大概弄了兩天。
你定價是怎么定的?賣了多少了?
價格就是成本加上跑腿的路費,從我住的農(nóng)場到郵局來回騎自行車要 20 公里。這個我定的是每一個二十九刀。按這個價格來算。參考了一下國外市場 iPad 支架的價格。一般三十刀,我的是二十九刀。只不過我們是四個一起賣,兩個一起賣,就顯得比較貴。其實一個拿出來,二十九刀,在國外來說是很正常的一個價 格。但是木盒只有兩百個,太多了木盒太占地方,家里也放不下。
彩色一百套,黑白的一百套,一共兩百套?,F(xiàn)在賣了二三十套。都賣了也掙不了多少錢。主要是自己做著玩,有這個樂趣。我面向的客戶主要是國外的,國內(nèi)的少。要是弄個淘寶店鋪,我感覺有點麻煩。國內(nèi)目前賣了八套。
以后還想繼續(xù)做實物硬件嗎?
不想再做實物的東西,麻煩。因為做一套東西考慮的東西太多了,方方面面都要考慮。還要存貨還要發(fā)貨。做軟件多省事。玩過去就過了。玩過就不好玩了。
#p#
誤入歧途才能發(fā)現(xiàn)桃花源
我想做點工具,為我以后前端工程師的職業(yè)做好鋪墊,但是寫到最后發(fā)現(xiàn)寫軟件已經(jīng)有收入了,可以不找工作了。
你在哪上的大學(xué)?
我大學(xué)上的太原科技大學(xué)。我是 2005 開始, 2009 年畢業(yè)的。當(dāng)時學(xué)的是通信工程,我以為自己會感興趣,其實沒有?,F(xiàn)在這個專業(yè)畢業(yè)的有一半都不是做本專業(yè)工作的。有的人做通信搞信號基站,要不就是樓道里面安個無線網(wǎng)。我覺得不好玩,所以后來就玩起了全景攝影。
我在你的網(wǎng)站上能看見一個叫 86vt 的網(wǎng)頁,里面有你們大學(xué)的地圖和很多地點的全景照片,感覺就像自己在校園里面行走一樣。
86vt 是我做的我們學(xué)校的(全景攝影)虛擬校園網(wǎng)站。我考大學(xué)之前,看這個學(xué)校網(wǎng)站挺爛的,只有兩三張圖片,覺得很破。入了學(xué)以后覺得還挺漂亮的,是學(xué)校網(wǎng)站沒有體現(xiàn)出來,后來我就想用一種方法把學(xué)校風(fēng)格體現(xiàn)出來。我們學(xué)校虛擬校園 86vt 是上學(xué)的時候完成的一個項目。
這個項目實際上一個月就做完了。但是前期準備學(xué)知識學(xué)的時間比較長。我 2007 年開始學(xué)全景攝影方面的知識,學(xué)完之后 2008 年 4 月份才開始做這個項目。這里面有三十多個場景。拍的時候都要選人少的時候,人多了圖片拼接的比較難處理,全景不是拍一張就完了,是拍很多張拼起來才能形成 一張。如果你是走動的,在這拍了一張,又跑到那了,那張拍上你了,那就半截半截的。
這個全景攝影具體怎么拍?
我用的 8 毫米魚眼鏡頭,云臺、三腳架。云臺就是保證旋轉(zhuǎn)的節(jié)點精確,沒有視差,才好拼接。云臺上面有刻度?,F(xiàn)在好一點兒的云臺都是帶鎖的。比如 90 度一個鎖,這么一轉(zhuǎn)響一下,九十度到了,非常方便?,F(xiàn)在我要拍那樣一幅照片的話只要半分鐘左右。需要拍四張,九十度拍一張就行。拍完之后回去拼接。比較細 的處理一個拼接照片要一個小時。要是做個大概,幾分鐘就好了。
你從什么時候開始寫代碼的?
在學(xué)校的時候搞攝影,要把照片放在網(wǎng)上,然后開始研究網(wǎng)絡(luò)相關(guān)的知識。網(wǎng)頁、空間、域名。因為剛開始想把照片放到網(wǎng)上,才接觸到互聯(lián)網(wǎng)知識(技術(shù)方面)。如果我不攝影,可能我就接觸不到互聯(lián)網(wǎng)(技術(shù)方面)。
有個學(xué)長(舒文亮),比我大一級,還沒畢業(yè)就在雅虎上班了。我們覺得他很厲害。我做這個 86vt 網(wǎng)站的時候,也向他請教了不少問題,那個時候他就是我的偶像。他當(dāng)時已經(jīng)是前端工程師了,也是轉(zhuǎn)了好幾圈,然后又回到前端,他現(xiàn)在在阿里巴巴帶團隊。我當(dāng)時就想,我也想像他那樣厲害,我也要學(xué)這個,我也要當(dāng)前端工程師!實際上在大學(xué)我對互聯(lián)網(wǎng)還不怎么了解,畢業(yè)以后想找這么一個工作怎么辦?那就學(xué)唄。學(xué)只 能在家學(xué),等什么時候把前端工程師相關(guān)的知識學(xué)完之后,再找個前端的工作做。所以畢了業(yè)之后要選擇找工作還是回家待著,我就想回家待著,家里也支持,在家 就在家吧,也不指著我工作。
然后你就在家學(xué)習(xí)前端知識?
畢業(yè)后回到家先開始學(xué)的 HTML,CSS 和 JavaScript。學(xué)了幾個月后做出了 resizeMyBrowser,接著又在 resizeMyBrowser 的基礎(chǔ)上做了個 Safari 瀏覽器插件 Resize。
之后又了解到前端優(yōu)化方面的知識,通過壓縮 CSS,JavaScript 等文件能夠提高頁面初次下載速度,我就想找個好用的壓縮工具,當(dāng)時都是命令行的,就是在 Mac 平臺都是命令行的工具。我覺得太麻煩,想要一個圖形界面,但是市面上沒有。沒辦法只能選擇自己做。從那個時候開始學(xué) Objective-C,想著做一個 YUI Compressor 的圖形界面,方便批壓縮 CSS、JS 文件。于是做了我的第一個 Mac 應(yīng)用 Smaller。
再后來了解到 Markdown,又寫了 Mou。
其實我做的這些個工具基本上都是跟前端工程師這個職業(yè)相關(guān)的。實際上作為一個前端工程師需要做這些工作,用這些工具可以提高我的工作效率,我想做點這些工具,為我以后前端工程師的職業(yè)做好鋪墊。工作的時候效率會高一點。
可是寫到最后發(fā)現(xiàn)寫軟件已經(jīng)有收入了,找前端工程師的工作不是必要的了。我是從攝影轉(zhuǎn)到學(xué) Web 的知識,想成為 Web 前端工程師,卻在學(xué)習(xí) Web 前端方面知識的過程中不知不覺的轉(zhuǎn)成了開發(fā)軟件。上次在 QCon 認識個一淘的朋友(葛燦輝),他說我更像一個產(chǎn)品經(jīng)理,不像程序員。
#p#
你現(xiàn)在應(yīng)該可以找到前端的工作了吧。
其實已經(jīng)有很多公司找過我了,Mac 軟件開發(fā)方面的居多,Web 前端也有。有一個德國的公司 Wunderlist,邀我去做 Objective-C 開發(fā)。但是我家人都在這,出國太麻煩了。阿里的 Mac 開發(fā)團隊邀請過我兩次,只是第一次的時候還沒有去工作的打算,第二次的時候我正打算做硬件,做這個支架,也抽不開身?,F(xiàn)在也暫時還沒有去公司工作的打算, 在家自由慣了,去公司會不太習(xí)慣吧。還有騰訊也邀請過,做前端工程師。他們說我網(wǎng)站設(shè)計的好,其實我覺得做的很簡單,就是幾張截圖而已。
你能有這樣的思路,做出現(xiàn)在這些產(chǎn)品和你有充足的閑暇時間有關(guān)系吧?
肯定有關(guān)系。我在軟件開發(fā)前期的時候非??鄲?。有時候一個問題連著一兩個星期沒有思路,就整天在那想,睡覺的時候還想,一天到晚不停地想,那才能想出來??赡茉诠緵]有那么多的時間想了。
我做的很多東西都是以玩為主??赡芨r候經(jīng)常拆東西有關(guān)。我父母給我比較大的自由。上學(xué)學(xué)習(xí)方面不會逼著我。但是我自己知道學(xué)??几咧小⒋髮W(xué),報志愿的時候他們也不會干涉,都是我自己決定。他們相信我。
你現(xiàn)在生活在農(nóng)場上嗎?在家都干些什么?
在家比較閑,閑著沒事。軟件開發(fā)前期比較忙,后期就是維護了。維護每天回回郵件,客戶支持。實在閑著沒事了做做新功能,不像前期那么緊。
我家在天津漢沽區(qū)附近的漢沽農(nóng)場,那個地方屬于河北,是河北省在天津的飛地。說是農(nóng)場,實際上就是很多農(nóng)村連在一塊。這塊地是在天津市境內(nèi),但是屬于河北省管。
我現(xiàn)在每天早上就在園子后面澆澆地,種種菜。就在我家房后面那么一塊。我種了十顆人參就活了五顆。還種了一顆藍莓樹,藍莓屬于灌木,很矮,就像周圍馬路邊的灌木,上面結(jié)小小的藍莓果。我都是在淘寶上買的種子。我經(jīng)常會給蔥們,還有藍莓噴點兒水,不打藥,純天然綠色食品。
閑的沒事兒我會打打沙袋,鍛煉身體。郵局離我家10公里,每次騎車去郵局發(fā)貨(Moustand)往返就要兩個小時。途中,會經(jīng)過鄉(xiāng)間小路,天氣好的時候,景色還是不錯的。
你以后有什么打算?
在家待著膩了,再去工作,找份工作,體驗一下上班的感覺,我還沒上過班呢,不知道上班什么感覺。