说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

《近匠》第04期:移动开发技术访谈,多看科技CTO王毅——阅读未来

HTML文档下载 WORD文档下载 PDF文档下载
12000本图书、2200万用户、超过200家合作出版社,这是多看科技创建至今的积累。但数字背后,他们也在数字化阅读的路上解决了很多问题,代码管理的迁移、盗版的预防、阅读体验的革新、垂直社交与电子杂志平台的试水。

CSDN移动频道推出移动开发系列访谈《近匠》。新一年起,我们将走近更多移动开发者与移动开发服务商,从深植与软件及硬件领域的“工匠”们的口述中,窥探移动互联网趋势与走向。本期CSDN移动对话移动阅读平台——多看科技。

自2010年多看阅读成立以来,已经经历了3个年头。它从最初人们口中的“Kindle必刷的系统”,逐渐蜕变为现在跨Kindle、iOS、Android多系统的数字阅读平台。目前,多看的图书已达12000本,但每本从获得版权到最终上架并非全都一帆风顺。做数字化出版不得不面对哪些问题?自从2012年小米并购多看后,多看与小米的技术团队又有怎样的协作?多看作为中小团队的技术经验有哪些?在多看眼中,实体书数字化在国内正遭遇哪些难题?不妨让多看科技副总裁兼CTO王毅与我们聊一聊。


多看科技副总裁王毅

CSDN:请您介绍一下个人的经历,以及多看阅读团队。

王毅:我的工作经历比较简单。我从北大毕业后,就一直在北大方正,当时王选老师还在任。我在方正主要负责的是排版软件的相关工作,然后从2000年起转向了数字出版领域。自从那时起,就在数字出版领域,工作了很多年,主要是做与数字相关的基础的技术研究工作,在方正最开始从方正电子,到最后方正技术研究院从事数字出版相关的工作。大概在2011年8月,我加入了多看,当时多看成立的时间也比较短,算起来,到现在为止,在多看工作也有两年多的时间了。

整个多看阅读团队大概有160人左右,分为内容、产品研发和运营等几个团队。现在多看阅读的技术团队大约有30多人,很多技术骨干都是以前与我一同工作至今的,其中也不少曾在方正研究院共事过的同事。

CSDN:多看阅读的技术团队都采用哪些技术服务?

王毅:技术主要是自主研发,实际上多看整个平台,不管是云端,还是客户端都是自己搭建的,这是一套比较完整的包含数字出版发行、销售等环节的一个平台。我们的客户端也已经覆盖了从Kindle到iOS、Android,再到Web等几个主流的平台。

实际上,多看在2010年创立之初是从开发Kindle的中文系统出发的。因为当时Kindle没有中文系统,而且Kindle也还未入华,在国内能买到的都是水货,我们基于它做了一套完整的中文系统。这也使得Kindle可为大多数中国人所使用,方便更多用户操作和阅读。当然,Kindle入华则是后来的事情了。

CSDN:从多看阅读发布第一个版本至今,技术团队做过哪些改进,遇到并解决了哪些问题?

王毅:我们发布过很多版本,以Kindle版为例,从发布第一个版本开始,我们每周都更新一个新版本,一直坚持至今。同时,其他平台版本的更新频率也非常高。在2010年到2011年的起步阶段,我们主要是以开发Kindle的中文系统为主。

随后,在2011年下半年,我们开始尝试向Android和iOS平台拓展。当时,我们发布至两个平台的产品形式有所不同,在Android上我们开发了一个阅读器,而在iOS平台,我们所遵循的是“精品阅读”的理念,所以最开始从单行本入手。在此期间,我们也在多个平台发布了客户端。

从2012年起,我们开始准备发布“多看书城”,这是一个正版电子书的销售平台。它在2012年的5月31日率先在iOS版本上正式发布,随后Kindle、Android和Web版客户端也逐一接入了这个平台,逐渐形成现在大家所看到一个全平台的正版电子书发布和销售渠道。

还记得,在最开始时我们的电子图书加工、制作进度很慢,资源也比较匮乏,所以上线时书城中只有100本书,其中免费书籍和付费书籍各占50%。但是现在,书城已经拥有超过12000本正版图书,而且每一本都是经过我们精心加工制作的。除此之外,与去年发布第一版本时相较,各个平台的终端数和用户数也得到了很大的提升。

CSDN:就像每一家实体书店都有自己的特色一样,作为一个移动阅读应用,多看的特色是什么?

王毅:我们认为多看最大的特色其实就是极致的阅读体验。所有用户在我们的平台上都能够享受到最好的数字版图书,以及最好的数据阅读服务,这就是我们最大的特色。我们应该是在国内唯一一个跨越了从Kindle到Web、iOS,再到Android,几乎所有的移动系统的电子书平台。我们在每本书上付出了很大成本去进行制作。我们的客户端具备跨平台特性,阅读体验保持着一致性,比如阅读进度、阅读笔记,甚至将来书架里所有的内容,都会云同步。

我们在最近推出了一些社交化服务,比如说书友圈,它能够有效地拉近读者和读者之间的距离,甚至作者与读者之间也能进行互动。我们平台上有些书的作者会直接在书友圈中和读者去互动交流,这在实体书店中是很难做到的,但借助移动互联网,我们可以轻松拉近他们之间的距离,方便他们相互交流,这是完全不同的体验。

CSDN:电子图书与纸质图书的制作流程是不同的,多看阅读在这方面是怎么做的?

王毅:我曾在知乎写过一篇贴子,简单介绍了多看对每本电子书的制作流程。我们的每一本书都和其他平台完全不同,多看书城中的书籍很多都是图文混排的,我们深谙此道。而且我们对排版的字体,以及许多排版细节要求都很高。我们制作每本书之前,首先需要出版社提供数据源,然后我们再根据数据源进行加工制作。从排版设计的角度讲,我们的理念是“千书千面”,希望每一本书都有它独特的风格和阅读体验,包括封面设计、版面设计,甚至文案编辑都会有所不同,有些书会加入视频(如,柴静的《看见》试读版),有些会加入交互。我们不完全是追求与实体书的一致,我们希望电子书的体验完全超越实体书。

在多看中,不同类型的书,会被赋予完全不一样的阅读体验。以计算机类图书为例,这也是多看最具特色的图书之一。与其他平台不同,书中所有代码不是用图片形式显示,而是以真正的代码块形式显示的,我们为此专门扩展了交互代码块的定义,所有计算机类的图书都不能直接使用代码图片,而必须全部是等宽字体排的代码文本,代码是可以交互的。


技术类图书

手机屏幕对文字的缩进、排版存在很大的限制,但代码往往比较长,如果它不符合手机屏幕对缩进、排版的要求,代码段看起来会非常乱,不利于阅读。但通过一些交互的操作,用户可以阅读到原版的格式规范的代码。

完成排版后,我们的开发工程师会利用业余时间对所有的代码进行审校,这也让图书中的代码比实际纸质图书更准确、更规范。不过,加工成本很高,而且周期都很长。

CSDN:制作一本书的周期是多久?

王毅:现在计算机类图书的制作周期一般在两周以上,因为它的流程很长,其中包括审核、校对、制作等,而且计算机类图书的加工成本是最高的。

CSDN:就像之前所提到的,一些图书会加入视频,我们发现也有一些图书会加入轮播图形式的插图(如,《转一转希腊》)。

王毅:这是专门使用了我们的“画廊”技术。在很多摄影类图书中,我们大量地使用“画廊”,因为摄影类的图书,经常会拿不同曝光、不同光圈下的图像进行对比,但你会发现其实图片大小是一样的,所以采用“画廊”的交互形式,能让用户滑动浏览图片,非常便于对比在相同环境下使用不同参数的照片,它阅读体验比纸质书籍会更好。

CSDN:在电子书制作方面,多看有哪些独特之处呢?

王毅:交互式代码是多看独有的,其他平台都不具备这样的特性。当然还有很多细节也非常与众不同,比如说多看的图文混排、多字体排版、独特的样式和字体,这在别的应用中是没有的。

另一个独特之处就是多看的纠错和更新系统。每本书就像一个应用一样,它会有自己的版本号,会根据用户反馈进行定期更新。如果读者在读书时发现了错别字,他可以点击选中它,并发送纠错报告。多看的后台有一个数据整理系统,每天定时收集这些用户的反馈报告,系统会自动生成相应的错误报告,然后发送到我们的工作流系统里。我们的编辑团队会根据这些反馈做出相应处理,然后更新图书版本。这时用户就会在客户端就会看到一个温馨提示,告诉用户图书更新了,用户甚至可以查看更新记录,在图书的详细信息页里面也可以浏览它的更新历史。用户只需点击下载更新,就可以继续阅读了。

我认为这种更新机制完全颠覆了传统纸质图书的出版流程,因为实体书的出版无法做到快速更新,再版最短也需要6个月。但是我们基本上在一个月之内,就可以把用户提交的Bug全部修改完,然后更新上线。用户也能很快的得到反馈效果,他看到的电子书的内容精准程度,通常比实体书更高。同时,我们与出版社保持沟通,获取刊物的最新信息,这使电子书臻于完美。频繁的更新使得数据越来越准确,电子书的质量会变得越来越高。

CSDN:在电子书中加入视频、图片等多媒体元素,无疑会让文件体积增大。你们会如何处理?

王毅:我们会做一些处理,会对其体积进行控制,因为数据量太大也会影响用户的下载体验。但是文件体积变大是不可避免的,尤其对图文混排的书,多媒体图书体积相对较大。不过现在的网络带宽在不断提升,下载速度也在不断的加快,我们认为这已经不再是什么太大的问题了。

CSDNPDF智能重排和切边功能是如何实现的?

王毅:这个功能也是一个特色,因为多看阅读除了是多看书城的终端之外,在各个平台也是很好的一个阅读工具,它支持主流格式,比如TXT、ePub、PDF等。同时,每一种格式在多看中都会有自己的特点,比如ePub,我们很好地支持了ePub标准和它的CSS解析。在很多的阅读器中,ePub仅被简单当作了一种的文本格式,这一种误解,其实不利于ePub标准的推广。实际上,ePub标准主要的核心优势是采用了HTML5和CSS技术,可以做出非常精美的电子书,包括多看书城上的很多书都是ePub格式的,所以我们在ePub的兼容性方面应该比绝大多数的应用更完美。

我们有很多用户,甚至会自己制作ePub图书放到多看里面阅读。前一段时间,我们基于ePub做了一些扩展的开放标准,开放了一些多看的扩展规范,比如说我们的交互式的文内注,这个扩展规范已经开放给了用户。我们有一些用户专门针对我们的扩展规范,做了一些电子书。这些开放的规范都可以在我们论坛找到。

关于PDF格式,我们对PDF投入较大的就是重排功能,现在不论是文字版还是扫描版的PDF都可以实现重排。PDF是作为一个版式的文档,它其实在小屏幕上的阅读体验并不好,所以为了能让它适应小屏幕的阅读,就需要借助重排的功能,目前这方面我们也在努力,包括切边,包括重排扫描版的处理。

然而PDF重排是个很复杂的过程,因为PDF主要是面向印刷,很多PDF本身丢失了文档的结构信息。它不像重排一个TXT或者Word文档,这些文件都是有段落结构的,而PDF则不同,它是一种基于矢量的文件格式,最终印刷效果是否高保真,是否与原始版面完全一致才是它的重点,但它的文档却缺失了逻辑结构。所以PDF重排过程会涉及到一些对版面理解的算法。你可以将PDF理解为一张图像,你用算法去理解这张图像,其中哪些是段落,哪些是标题,哪些是图,以及哪里是段落的起始和结束的位置,这些信息都需要以算法来进行处理。

CSDN:在多看在线书店中搜索书籍时,输入法国,搜索结果中不仅仅有书名包含法国一词的书籍,还有法国作家的著作,以及中国作家写的相关图书。多看的搜索基于什么?

王毅:现在我们并没有在搜索方面投入很多人力,但是我们做了一些管理性的工作。多看不仅仅针对书名、作者进行搜索,还包括标签。我们编辑会对每本书加上标签,这是加工制作流程的一环。编辑会根据他的理解,为每本书打上相关的标签。这些标签用户也可以在图书详细信息页中看到,如果用户点击标签就可以进入相关的标签书单。另外,我们对标签有多个维度,比如地理的纬度、人名的纬度等,都有比较严格的限定。

CSDN:小米并购多看为你们带来了什么样的变化?从技术层面讲,有哪些协作呢?

王毅:最明显的就是基础技术的互通,现在我们所有的应用,包括多看阅读,全部迁移到了小米帐号的体系下,多看现在也使用小米帐号,作为一个身份认证系统,小米帐号打通了整个小米的业务系统。用户可以基于小米账户做很多事情,比如访问云空间,以前的多看帐号是没有这项服务,但是随着无缝迁移至小米帐号后,用户可以通过小米账号登录,同步账号中的图书、笔记等信息到小米云空间。

与此同时,米币支付系统也是一大重点。支付系统是小米生态中非常重要的一环,现在游戏、主题和阅读都以统一的支付系统贯穿起来。同时支持各种各样的充值的方式,这样我们的用户不管是在移动端,还是在Web端都可以很方便地使用米币来支付,这也是合并之后的一大变化。

CSDN:多看目前有100多名员工,算是一个中等大小的团队。从技术层面看,您认为对于中小开发者来说,什么样的开发工具或服务是必需的?

王毅:我觉得从开发团队管理上讲,采用适合自己的开发工具是很重要的,因为这有利于大幅提升他们的开发效率。就好像我们的代码管理方式已经历了好几次的改变,最初我们使用的是微软一套代码管理系统TFS,后来开始使用SVN,由于SVN在分布式处理方面存在一些缺陷,所以最终采用了Git。

我认为选择工具的目的是尽量杜绝以往手工作坊式的开发方式,使开发更有条理和规范。与我们现在采用Git做代码管理的道理一样,因为Git的特点是分布式开发,它很便于分支,同时它也很轻量级,跨平台性能好,现在也是主流的代码管理工具。

我们的Bug管理现在采用的是JIRA,这也是目前整个小米体系下大多数团队所采用的平台。这个平台可以通过多种方式扩展,可定制接口和模块,轻量、灵活也是它的重要特性,能够有效地帮助中小团队解决项目管理问题。

断开所有的数据连接 -VB资料 访问VB外来数据库 非access数据库在vb中的编程及应用 关闭程序中所有创建的数据库连接。 -VB资料 关闭所有的数据连接 -VB资料 关于数据报表的打印设置-VB资料 VB建立、改变及重构Access数据库-VB资料 结构化查询语言(SQL)详解之一-VB资料 利用VB使ACCESS数据库在网络使用中保持同步 返回 连接Data到多个表单-VB资料 列出 SQL Server 数据库中所有的存储过程-VB资料 列出MDB档当中所有table的名称-VB资料 您想知道有谁正在使用您的 Access 文件吗?(多人环境中)-VB资料 主题:浅谈Excel 的VB编程 巧用VB6的DataGrid实现通用电子表格 VB取得正确的 RecordCount 值 主題:如何动态新增、移除 ODBC DSN? -VB资料 VB如何将表中的数据导出到电子表格中 VB如何将文本文件转换为ACCESS数据库 VB如何將 Excel 的文件导入 Access文件? VB如何判断数据中是否存在某一表或查询 VB如何删除FoxPro数据库的数据? VB如何设置对VB数据库连接的动态路径 VB如何使用 ADO 來压缩或修复 Microsoft Access 文件 VB如何修改Foxpro数据库(不是用VB实现的,不过也可以看看) VB如何在 SQL 语句中使用日期? 返回 VB如何在表中保存单引号? VB如何抓出 Access 的 Table 欄位中的【敘述】部份呢? 实现Access数据库的Web查询-VB资料 使用Visual Basic访问数据库几个注意的问题 数据库查询-VB资料 请问如何来截获DLL 的函数接口? win 2000 pro 中的direct的问题!请指教! 请问wingate客户端应该如何配置才能使用OICQ? 21fuck(咚咚)进来看 关于表单"type"的判断 关于OnOpenDocument()的一个问题。(先上100分,解决后再给100!在线等!) 在DOS年代有个小程序(什么名称忘记了)能把一部分内存映射为磁盘,不知在WIN2000/9X是否有内似工具或有办法做到吗? win 2000 pro 中的direct的问题!请指教! 来这儿去高分!!!! 各位前辈有谁用MS SQL SERVER 2000的请进! 谁有"我家我设计"(圆方的系统)的注册码? 残啊?都要计算机专业毕业的。。。。。 怎样求得两时间相差10天? 各位高手们 关于ATL COM 在98和2000下的区别 关于CEvent 如何判断commondialog.showsave ,用户是按了确定,还是取消按钮? 我最近编写一个DLL,用来实现ftp功能,使用了delphi中的nmftp控件,结束调用后总出现莫名其妙的内存错误。请高手指教! 请问哪里有win2000 server的软件下呀?迫切需要,恳请各位能帮忙!谢谢! 面试时问主考官什么样的问题算有水平? 我枚举一个外部程序的子窗体,可是却只看到了TDXDraw,我怎么样才能得到TDXDraw中更多的信息呢? 帶一個checkbox的list應該怎麼做? 扫描程序如何循环处理一段IP地址? 数据库中图片如何调用? 如下错误是什么意思,如果解决 一个关于SQL的问题 残啊?都要计算机专业毕业的。。。。。 Miscrosoft Scrioting Library是何东东?Scrrun.dll上那去弄? 如何让softice支持usb鼠标,键盘 多线程程序中使用采用单线程编译参数编译的DLL,会有什么后果? 很多on error goto ... 很简单,有NT4.0或XP的朋友一看就知道。在线等待 手工配置Grub:希望能对大家有所帮助 新显卡驱动For Linux Where download? ADO问题?????????????/ 请问c++的handle class是什么东东呀 怎么textBox控件不可以使用 \n,\r等语句?????? CEdit疑问 急切在线等:打包时出现的问题! 今天我生日,放分!!! 网络财务系统管理信息系统源代码销售 pb8的序列号问题!............................在线等待!!! 在javscript里面怎么判断一个变量(var定义的)是数字? 在线!!!哪位知道好的关于DSP的论坛? 请教高手,如何编程实现一台计算机通过拨号(modem)连接到对方计算机,并实现文件传输? ■■■有没有右键菜单也像VS.NET风格的???■■■ 有没有现成控件,实现EXCELL式的编辑功能 关于BCB中开发DirectDraw的问题 诚聘高手开发电子辞典? 请问一下了dbeng7 -Q的有关事项了? 高手请拉兄弟一把:TField 有一个OnValidate事件,可用它来校验,能否利用它来替换?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘