程式人與電子書


iThome 網站首載:程式人與電子書

程式人多半來說,對於實體書籍出版的過程是較不熟悉的,即使手中已有大量累積之文件,或者是懷抱雄心大志想將一己之經驗整理成書,卻往往不得其門而入,或因種種市場因素而望之卻步,拜科技進步所賜,現今電子書的發行降低了不少門檻,程式人本身又擁有理解電子書技術內涵的優勢,只要掌握幾個關鍵概念,就可不假他人之手發行電子書,也更能掌握自己心中書籍該有的樣貌。

電子書內容結構與樣式

無論你是手中已擁有大量文件,或者打算開始撰寫一本書,最重要的,請先想清楚書籍的結構,而不是外觀或樣式,因為程式人不喜歡做重複的事,要你將同一本書重複地手動轉換為不同檔案格式,就足以令你打退堂鼓了。重複這種事最好交給程式來做,只要書籍的結構定義清楚,程式就多半能輕鬆地轉換為不同格式,書籍結構最基本的就是內容層次與編排,我在先前專欄〈實現程式人心中的小說家〉已經談過一些技巧。

擬定書籍內容結構之後,接下來是決定撰寫的媒介,目前來說,各種格式間互轉的最大交集是HTML,只要你有一份結構定義良好的HTML,各種格式幾乎都能轉換。不過若沒有搭配所視即所得編輯器的話,HTML語法本身並不適合書寫,就文字書寫來說,可以選擇一個輕量標記語言,像是Markdown,再透過程式轉換為HTML,之後也能達到在各個格式間轉換之目的。

侯捷在《Word排版藝術》自序中談到,自己是個「十分重視文字呈現的人-不僅在內容上,也在表現形貌上」,他也說到「文字欲以悅目的形象出現,就需要良好的編排」,有些程式人可能不擅於美感這種東西,不過實際上技術書籍不用花悄,只要留意讓內容結構在視覺上有清楚的區隔,像是標題、程式碼等具有不同視覺效果即可,透過輕量標記語言編寫,轉換為HTML後,就可透過CSS來定義視覺等樣式,讓書籍畫面呈現出你想要的結果,有些輕量標記語言編輯器在轉換為HTML時,也可以自動為你結合事先定義好的樣式,省去你手動為HTML加上樣式的手續。

電子書格式之爭

有了定義電子書內容結構與樣式的中繼資料之後,就可以開始轉換為想要的電子書格式。早期電子書話題興起之時,各家廠商都想要擁有最大的利基,因而推出各自的載具與格式,這就像是早期瀏覽器大戰與HTML相容性的問題一樣,不同載具可接受的格式各不相同,有時同一份文件在可接受相同格式的不同載具上,也會有不同的呈現,不僅造成開發商困擾,也造成出版商、作者與讀者的困擾,所幸的是,格式戰爭目前略為平緩,大致來說可考慮的電子書格式有PDF、ePub、mobi等格式,並可透過Calibre來進行轉換。

在各種格式中,PDF(Portable Document Format)無疑最為人所熟悉,目前各方面綜合來說,也還是最受歡迎的格式,可攜式(Portable)表明了PDF最大的優點,檔案本身包括了書籍必要的素材,在不同平台上閱讀時版面外觀都是一致的,不少電子書平台或載具支援PDF是其優點,不過PDF無法自動重新編排內容,因而在小螢幕裝置中,就會經常需要縮放來取得適合的閱讀大小,是以PDF作為電子書格式時的最大缺點。

就適應各種螢幕大小來說,ePub(Electronic Publication)格式亦有不少載具與平台支援,這是由國際數位出版論壇(International Digital Publishing Forum, IDPF)提出的電子書標準,本質上來說,ePub檔案就是一個zip檔案,因而透過工具轉換後程式人若不滿意,只要瞭解ePub檔案的組成,仍可以進行修改調整,缺點就是載具可能不照標準走,易令ePub格式在載具上呈現出異常的結果。不少程式人亦擁有Kindle,然而Kindle不支援ePub,因而也存在轉換為Kindle支援的mobi格式之需求。

電子書的銷售平台

選擇電子書的銷售平台有幾個考量,平台支援格式是其中之一,舉例來說,Google Play的圖書平台支援PDF與ePub,對ePub的要求是可通過EpubCheck的驗證,IDPF有提供線上EPUB Validator;Amazon.com的Kindle Direct Publishing支援epub、word、mobi等格式,Apple的iBooks只支援ePub。國內也有一些電子書平台,像是Pubu、Readmoo等,申請上架的手續相對來說較為容易。除了透過專門電子書平台外,也可以選擇數位內容銷售平台,像是gumroad,這類平台提供數位創作者直接販售軟體、音樂、電子書的管道。

除了格式支援之外,你可以有一些平台提供的服務考量,像是拆帳比例,多數電子書銷售平台多半採七三拆帳,也就是販售價格70%屬於作者,30%支付給服務平台,各平台可能還會有其他費用;有的平台要求必須為書籍申請ISBN,有的則否;有的平台會要求獨家銷售權;多數平台都會提供DRM(Digital rights management)來避免電子書被非法散佈;還有個實用考量是,平台是否提供線上書籍管理與閱讀器服務,方便讀者在沒有攜帶載具時,仍可以透過瀏覽器線上閱讀電子書。

有些程式人有很高的知名度,本身亦擁有眾多讀者的網站,發行電子書後比較不用擔心宣傳管道問題,如果不是這類外顯的程式人,那麼銷售平台是否有好的可尋性(Discoverability)就也是個考量,因為基本上只能在資料庫中等著讀者搜尋,而有多少讀者會使用這個資料庫呢?這跟考慮出版社會在哪些實體書店上架,或者有無業務推廣至學校等是類似的,如果出版社只能在小書店的一角上架,大概接觸不到什麼讀者,在不要求獨家銷售的多個平台上架是個方法,只是會增加管理上的麻煩,根據書籍屬性與想接觸的讀者習慣,選擇一兩個平台上架會比較好。

電子書的好處是沒有紙本更新時的種種成本問題,因而像一些求新求變的技術,很適合以電子書發行介紹,如果想在書籍編寫過程中,隨時發佈、隨時聽取讀者意見、隨時更新書籍內容與售價,可以考慮Leanpub平台,這樣的方式可以讓你在書籍編寫過程中就培養出讀者群,相對來說,較不用擔心書籍完成後叫好不叫座的問題。

實際的效益?

出版電子書?有什麼實際效益嗎?如果你還沒有技術寫作的習慣,應該會發出這類疑問,這類問題我在先前專欄〈切入技術書籍的三個角度〉中探討過,編寫電子書的過程中,應該就可以讓你獲得不少收獲,後續版稅等收入或許已是其次;如果已經有技術寫作的習慣,累積大量文件且在網路上開放閱覽,應已從中獲得不少成長,那麼可以進一步思考一下《The Dark Knight》電影中小丑的一句話「If you are good at something, never do it for free」。

內容有價的道理應該很容易懂,只是一直想著內容有價,難免因為太過特意而患得患失,甚至失去原有創作的初衷,畢竟小丑話中是以「If you are good at something」為前題,如果你的東西確實很好,為了獲利而將原本開放的東西封閉起來,只以電子書形式發行,可能不是個好的方式,畢竟這個世界不會因為你封閉其他地方可取得的知識,而讓你的知識更有價,只會因為你開放,才會讓你的知識更有價。

如果你現存的東西確實很好,後續就有可能被要求一些額外服務,就技術寫作內容來說,提供離線檔案、產生適合閱讀格式或者提供更進階文件等是經常遇到的需求,而且難免會有心中滴咕「為何要do it for free」的時候,實體書籍某些時候可解決這類問題,若時效性、成本等考量下不適合以實體書來解決時,從電子書的形式與管道下手,就會是個不錯的方案。