作者:馬健
郵箱:stronghorse_mj@hotmail.com
發布:2015.01.03
從ComicsViewer(CV)、MyReader(MR)、PageByPage(PBP)到UnicornViewer(UV),幾年間我已經發布了幾款電子書閱讀軟件,分別針對掃描版電子書籍 包括漫畫/連環畫/PDG(CV、UV)、HTML書籍(MR)、純文本書籍(MR、PBP)、PDG/PDF/DjVu/TIFF(UV)等。有心人可能已經注意到,這些軟件都有一些共同的功能,這些功能也是我認為一款電子書閱讀軟件所應該具有的功能。下面總結一下,供各位有志於開發電子書閱讀軟件的人參考 ,也給讀者一些選擇閱讀軟件的建議。
一、必不可少的功能
所謂“必不可少”的功能,意思就是這些功能只要少了一項,就算閱讀軟件的界面做得再花哨,在我看來也只是一個玩具而已,沒啥實際的價值。
1、記憶功能
身為上班族的一員,閱讀這種事情真的只能用所謂的“碎片時間”來完成,所以一本書看一段就放下是常態,一氣呵成全部看完只能是偶然。普通書籍都是這樣,就更別提一套幾十本的漫畫、連環畫了。
因此能夠記憶上次退出時的閱讀進度,下次進來后還能“斷點恢復”就顯得非常必要。這就是為什么我非常討厭某些人用CHM分章節搞長篇小說的原因:親,現在支持“斷點恢復”的CHM閱讀軟件 有木有?一本小說今天看到某章的一半,明天再打開還要想一下上次看到哪一章、哪一段,這有多痛苦、多坑爹親你知道嗎?所以我拿到這樣的 小說,要么是直接扔掉去找純文本的,要么就是反編譯沒商量。
而在漫畫、連環畫界,為了保證所謂“辛苦掃描而產生的‘版權’”,專門的打包、閱讀軟件更是層出不窮,在沒有記憶功能的情況下,每次都要在一套幾十本書中回憶上次看到了哪里,已經不是用區區“坑爹”就能形容的,完全是把祖宗十八代都坑完、坑盡了。
而在我的軟件中,一般是用以下兩個辦法解決“斷點恢復”的問題:
- 用“自動恢復”功能。即軟件退出的時候,自動記憶現在正在看的文件(CV、UV),及當前內容在文件中的位置(MR、PBP),下次啟動軟件的時候,自動恢復上次退出時打開的文件,並移動到相應的位置。當然如果嫌煩,這個功能也能隨時取消、恢復。
- 用書簽功能。即用戶可以隨時點“加入書簽”按鈕,將當前文件(CV、UV)、當前位置(MR、PBP)、當前的圖像處理參數(CV、UV)保存到書簽,在需要的時候再點“書簽管理”,恢復到保存時的狀態。
2、壓縮文件支持功能
對於掃描版、HTML版書籍來說,散頁存儲無疑太占地方,管理起來也不方便,所以一般都是打包存儲。也正因為這種需求比較旺盛,所以各種“專有”格式層出不窮,如超星的PDZ,及一些網站自己推出的打包格式。
我個人一貫是“標准”的信徒,所以總對這些非標的東東心存疑慮:我就沒見過哪家大發善心針對這些專有打包格式推出過文件校驗、修復工具的, 我怎么知道我下載到的文件是否完好無損?一旦文件損壞怎么辦?就算文件沒損壞,如果由於啥不幸的天災人禍造成專用閱讀器失效了,我想換一個軟件看, 或者說就是在PC上看煩了想轉到平板上看,解包軟件有木有?
所以在我看來,大家沒有必要挖空心思去發明啥格式了,就用標准的壓縮文件格式就好。而在常見的zip與rar格式中,我認為zip更適合存儲需要非順序讀取文件的閱讀場景,原因我已經在《亂談zip、rar文件格式》中說過了:zip文件有目錄表 (TOC),想找哪個文件從目錄表里一查就知道該從哪里讀取,很方便。至於某些人鼓吹的7-zip,由於缺省采用的是固實(solid)壓縮,讀取中間或尾部某個文件的時候,需要把這個文件之前的所有文件全部順序解壓一遍才行,所以我認為不適合於存儲經常需要跳到中間某個文件的電子書。 與我持相同看法的人應該不少,所以epub、apk、jar其實也都是zip文件,把擴展名改成zip就可以直接解壓。
WinRAR提供zip文件修復、校驗功能,所以zip文件的數據完整性應該是有保障的。以前的zip標准限制了zip文件最大只能到4GB,現在的zip64標准已經突破了這個限制 ,用起來就更沒問題了。
為了與其他普通的壓縮文件相區別,雖然采用的是zip、rar這樣的標准壓縮格式,但為特定目的專門取一個擴展名也是很有必要的,這樣容易把某一類特定的文件擴展名與專門的閱讀器相關聯,如漫畫界一般把zip、rar改名成cbz、cbr,我個人猜測是comics book + zip/rar,UV也有樣學樣搞了個UVZ,即UV + ZIP,這樣把整本書的PDG文件全部打包成一個zip文件,然后改名為UVZ,即可與UV相關聯,雙擊就能打開。CV、UV、Zip2Dir均支持UVZ,用批處理批量將zip更名為uvz或反之也很簡單 。而且因為zip標准的開放性,在手持設備上支持uvz也沒啥門檻,readfree也曾推出過支持uvz的安卓軟件,所以皆大歡喜。
3、連續閱讀功能
這里說的“連續閱讀”,是指用戶在閱讀的時候能夠順暢地閱讀,不會被某些不必要的停頓所干擾。當然不同類型的電子書,存在不同類型的干擾。
對於掃描類電子書,如掃描版漫畫、連環畫,“連續閱讀”指的是一部漫畫或連環畫如果分成若干集,那么閱讀的時候就希望能夠一集接一集順序讀下去,即使不同的集放在不同的子文件夾或打包文件里,也不希望每看完一集就必須手工選擇下一集的文件或文件夾才能看下去。這就像現在的媒體播放器都支持自動連續播放:一部電影即使被切成了幾片,只要主文件名相同,播放器就會自動連續播放,不至於播放到一半就停住,等人手工選擇下一個片段的文件名。
這種分集存放的情況在漫畫領域真的很常見,所以在CV中也最早支持,包括:
- 如果文件是散頁存放的,每集一個子文件夾,則用CV的“打開文件夾”功能打開上級文件夾,即可一路翻頁,CV自動周游所有子文件夾中的文件。
- 如果每集一個zip文件,整部書放在一個文件夾下,則用CV打開第一集,然后一路下翻,到每一集的結尾再下翻則自動打開下一集,在每一集的開頭往前翻則自動打開前一集。
- 如果把所有集按子文件夾散頁存放,然后整本書打包成一個zip文件,用CV打開后,也可以自動周游zip文件中的所有文件夾,實現連續閱讀。
UV因為主要針對的是PDG書籍,這種書基本上不存在一本書分成幾個ZIP包或幾個文件夾的問題,所以就沒有這種功能。
在基於HTML文件的電子書中,頁面跳轉是靠點擊鏈接實現的,所以自動連續閱讀不大靠譜,反而是在頁面切換時,每一頁最后的那一下停頓比較令人心煩——在瀏覽HTML文件時,按空格鍵即可順序往下翻頁,可在翻到靠近頁面底部時,如果剩下的內容不足一屏,則剩下多少翻多少,因此經常把人搞得一愣:按下空格鍵后,可能上一屏的結尾跑到了屏幕的中間,還得找一下才知道在哪里。
這種情況我在《多模式電子書,還是多模式閱讀器?》 一文中也說過,所以現在我看小說已經不看HTML格式的了,還是直接下載TXT格式的用PBP看更爽——可以一直按空格鍵從頭翻到尾。
當然對於掃描版電子書、HTML電子書、純文本電子書來說,還有一個共同的、影響連續閱讀體驗的干擾是翻頁動畫,這個在后面專門說。
4、圖像處理功能
只有掃描版電子書有這個需求,純文本、HTML等無此需求。
雖然自從ComicEnhancer Pro(CEP)大升級后,我就一直在鼓吹用它處理掃描版電子書,還花力氣寫了《ComicEnhancerPro 系列教程》 ,但我也知道指望所有人都把自己掃描的圖像處理好了再發上來顯然是很不現實的,所以對於網上充斥着各種掃描或處理得不盡如人意的電子書,包括發白PDG等,我也頗能理解。而且在我看來,如果掃描者自己的圖像處理技術不過關, 那還真的不如不處理,直接裁邊后發上來就好,總比胡亂處理后缺筆少划的強。
在這種情況下,圖像處理功能對於掃描版電子書閱讀軟件就成了最基本也是最必備的功能,少了它根本就沒有意義。畢竟很多書看一遍就扔,不處理吧實在看不下去,但指望每一本書 都下載下來先用CEP或PS處理一遍再看也不現實,所以還是在看的時候點幾下鼠標簡單處理一下,更能在人的惰性與耐性之間取得平衡。
圖像處理技術也是分檔次的,最簡單的“點處理”功能,包括亮度、對比度、Gamma校正、曲線等,實現的軟件會多一些,如DjVu格式的專用閱讀器WinDjView就提供亮度、對比度 、Gamma校正等功能。而CV、UV的圖像處理引擎用的是CEP的,所以還提供照度修正、自動糾斜、自動居中等專門為掃描版電子書開發的功能。
5、老板來了
對於一個上班族來說,還有比這個更加必要、必須、必不可少的功能嗎?所以只要是我開發的閱讀軟件,這個功能一定會 用最快的速度實現:按一下ESC鍵,然后整個窗口就隱藏、縮小到右下角去,老板走后再點一下即可恢復。
理論上說,在Windows下按Win+M組合鍵也可以起到類似的效果,不過那個殺傷力太大:所有窗口都會最小化,包括用來打掩護的Office、IE窗口。而且最小化后在下方任務欄上還能看到窗口標題,不是很保險。
二、錦上添花的功能
所謂“錦上添花”,指的是能有當然好,沒有的話忍一忍也能過去的那些功能。
1、書架管理功能
在iphone等手持設備里,書架功能很好理解:把收藏的書的封面貼到書架背景圖上,順序排開,想看哪本點哪本。所以書架管理的核心思想,是讓用戶能夠更方便地找到自己想看的書籍。
不論有沒有書架管理功能,書籍都是按照文件夾存放的,只不過手持設備上存放的文件夾相對集中,可能就是一個固定的文件夾,而電腦上存放得相對分散,可能是用戶自己按照某種分類方法創建的多級文件夾,甚至可能把不同類型的書籍放到不同的磁盤分區。所以在電腦上搞書架管理,就必須考慮 各種情況。
最終在我的閱讀軟件里實現的書架管理功能,都是“集中”與“分散”的結合:可以指定一個缺省文件夾,通常是存放最常用的書籍的文件夾,或分級文件夾的根,點一下按鈕就能跳到該文件夾;也可以再添加一些常用文件夾,多點兩下鼠標才能打開,但總比在資源管理器中一級、一級點開省點力氣。
2、可選背景
對於背景圖案、背景顏色的作用,我在《ComicEnhancerPro 系列教程》的《教程十三:背景圖案的作用》 中已經詳細說過了,簡單轉述一下就是:
- 改善閱讀體驗。白底黑字的東西看多了眼睛會累,加點背景混淆一下視線可以緩解疲勞。這個對掃描版、文字版電子書都有效。
- 掩飾圖像的小瑕疵,使主題更突出。這個主要針對掃描版電子書。
所以在閱讀的時候能夠自己設置背景甚至前景,會是一件很爽的事。有些PDF把背景給限制死了,如果有必要我也會把它清除掉,我在readfree論壇發布的PdfToy教程里有好幾篇就是專門講這個的。
3、自定義快捷鍵
一般的軟件都會有自己的快捷鍵,問題的關鍵就是軟件自身定義的快捷鍵與用戶平時養成的習慣是否一致,如果一致當然沒啥問題,如果不一致,就總是會有人在那里窮嚷嚷。
所以有一個自定義快捷鍵功能,至少可以避免一點噪音。
三、畫蛇添足的功能
所謂“畫蛇添足”,就是在我看來實在是有害無益,但不知道為什么就是有人喜歡的一些功能。
1、橫排並排顯示
某些以圖像為主的書籍,可能會出現一幅畫橫跨兩頁的情況,在這種情況下,雙頁並排顯示的功能對於閱讀軟件來說是必不可少的。但除此之外的並排顯示,就是對眼睛的折磨了。
在閱讀的時候,人眼一次能關注的范圍是很窄的,所以在看一屏內容的時候,需要從左到右、從上到下的順序掃描。尤其是在目前廣為流行的寬屏上全屏顯示,眼睛先在屏幕的左半部分掃一遍,然后脖子轉轉,再掃描右半部分,翻頁后又脖子轉轉,繼續掃描左半部分——是不是比只看中央相對較窄的區域更累?
所以雖然CV、PBP都有雙頁並排顯示功能,但那是給某些偏執狂用的,我自己除非碰到非要並排顯示不可的跨頁畫面,否則從來都只用單頁顯示。我也一直不能理解某些人在寬屏上看帶框的連環畫都要雙頁並排顯示,難道他們從來就不覺得累嗎?
2、翻頁動畫
終於說到我最切齒痛恨的一個功能了。這個功能最狂熱的fans們對DeskTopAuthor(DA)之類的軟件總是頂禮膜拜,而我最看不上的就是這個,所以當年在52ebook上就和他們大吵過一次。當然我對DA的不滿還不止這一點,所以我早就說過這個東東沒有前途,當時很多人不信,你看現在除了沒見過啥市面的新鮮人,還有誰在用DA?
所以雖然PBP里有幾種翻頁動畫可供選擇,但那只是用來堵某些人的嘴,我自己從來不用。就連某些人推崇備至的e-ink屏,也因為每次翻頁時都會眼前那么一黑,而令我深惡痛絕。 順便說一句,很多人認為液晶屏比e-ink更費眼睛,在我看來其實原因很簡單:他們的液晶屏從買來到報廢就根本沒有調整過任何參數。其實只要花10秒把亮度、對比度調暗一點,再設置一下窗口背景色,看起來就會順眼得多。當然像我的EIZO顯示器那樣支持多種模式,平時用調整過的Custom模式,看電影、照片的時候再切換到Movie、Picture模式就更爽了。
言歸正傳,在我看來,翻頁動畫至少有如下壞處:
- 打斷閱讀 。讀得正是來勁的時候,卻要等待翻頁動畫完成,眼睛也不由自主地跟着翻頁動畫而動,和在辦某些事情辦得正爽的時候旁邊卻傳來一聲狗叫是不是差不多?
- 浪費生命 。對於一個上班族來說,一天24小時,去掉8小時上班、8小時睡眠,剩下的8小時里再去掉3小時的三餐加午休、2小時的上下班路途奔波,在不加班、不干太多家務活的情況下,一天能夠完全自由支配的時間不過剩下區區3小時而已,這基本上就是吃完晚飯到睡前的時間,要再想延長就只能壓縮睡眠時間,相當於燃燒生命。而我見過的翻頁動畫,快的1、2秒,慢的3、4秒,慢到5、6秒的翻頁動畫我也不是沒有見過,這不是謀財害命還能是什么?
至於啥所謂的“讀紙書的感覺”,我覺得根本就是扯淡:竹簡比紙書更古老,怎么不見有人復古到去讀竹簡,甚至是更古老的龜甲?所以有自行車騎就不會有人想走路,有車開就不會去騎自行車,技術的進步總是在影響着人們的傳統習慣,跟不上的自然會淘汰, 就像阿Q當年腦后垂着的那條“金錢鼠尾”一樣。