电子书阅读软件的功能

作者:马健
邮箱: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当年脑后垂着的那条“金钱鼠尾”一样。

posted @ 2015-10-27 10:34  strnghrs  阅读(12115)  评论(10编辑  收藏  举报