关于出版平台的设计与搭建
2017-03-28常瑜烁刘琳琦
程 垚 常瑜烁 刘琳琦 姚 顺
关于出版平台的设计与搭建
程 垚 常瑜烁 刘琳琦 姚 顺
随着移动设备的普及以及互联网技术的发展,手机已经成为生活中必不可少的一部分,而传统的出版方式——个人通过电话、邮件或上门访问等方式联系出版社,已然不能满足同学老师们想要出版书籍的需求。在这样的背景下,搭建一个更及时有效的出版平台很有必要。本项目是从出版社和出版者两端的需求出发,通过需求分析、系统设计、系统搭建等工作完成出版平台初步的设计与搭建,项目成果APP“iPublish”是出版行业“+互联网”的又一创新性步伐。
出版;APP;Android;产品设计;创新
一、引言
智能手机的普及,带来了移动软件APP的爆发,APP以其满足精准需求、访问便捷、互动性强等优势获得了很高的用户黏度。本项目组了解到目前北京邮电大学出版社缺乏一个专属的APP平台,出版社客户不能在移动端进行对出版社更深入的了解和更及时有效的联系,某种程度上阻碍了出版社业务的更好发展。我们发现当某个老师想要出版书籍,往往找不到合适的编辑,一般情况下都是通过上门咨询或者电话沟通,效率较低的同时也不能够深入了解出版社的出版情况,尤其是未出版过图书更是一头雾水。因此,希望通过搭建出版平台来方便大家,同时进行一定程度的出版知识普及。
二、需求分析
确定了项目目标后,要想进行更深一步的设计就必须先做好产品定位和需求分析。主要从以下几步进行。
(一)产品定位
在项目的执行过程中,经常陷入一种情景:一堆人在一块讨论,氛围热烈,大家情绪高涨,A说这个地方的功能不行,B说按钮和链接应该像别人的某APP那样做,C又说你们都不对应该是这个模块。经常参加这种讨论,会无比耗费时间和体力,动辄好几个小时过去无实际成果。多数情况下,一定是产品定位出了问题。所以在前期的有效的产品定位十分重要。我们的项目产品针对出版行业的北京邮电大学出版社,适用于有出版需求的北邮师生(尤以老师为主),主要功能是为用户提供联系出版社、提交样稿、查看出版进度反馈、了解出版知识及出版社的平台。
(二)用户调研
明确了产品定位后,紧接着做了用户调研,一方面是对需求进行一定的验证,另一方面也是直接接触用户的一个机会,看用户实际需求与我们的设想存在哪些出入。调研从线上和线下两方面进行。线上,拟出一份共有8道题的问卷,投放在网络,投放问卷的对象主要是以在校大学生为主,也吸引了许多老师以及其他社会人士前来参与答卷,总样本数达到了115人。线下,打印共有5道小题的纸质问卷30份,采用抽样调查的方式,亲自分发给自己的授课老师和其他院老师填写,调查APP主要受众群——北邮老师们,在出版方面的情况及对APP的看法和建议,回收了有效问卷26份。
在对线上和线下的调查数据进行整理和分析之后,得到了以下几点启发:
(1)在出书经历和对出版流程的了解方面,调查对象约40%的人有过出书经历,但大部分人(约80%)对出版流程其实是不太了解,就算了解也是比较模糊的。因此,小组成员一致决定针对这个问题在APP中适当增添一些内容来丰富主页,比如出版社的介绍和出版流程的科普,拉近用户与出版社之间的距离。
(2)在对出版社专属APP的功能看法方面,必要功能中个人信息管理、在线投稿、出版进度反馈三项功能占比最多,附加功能中出版图书业务分类和已出版图书展示两项功能占比最多,根据这些信息我们设计APP功能将更具目标性。
(3)在对APP界面风格的偏好选择方面,相比功能多样化、界面新颖时尚,线上65.22%的人选择了简单易操作实用性强的风格,线下共有22位老师选择了简单易操作实用性强的风格。那么作为一款功能性大于娱乐性的APP,我们确定了自己的风格定位是简单易操作实用性强。
通过整个的需求调研与分析,掌握了大众对APP的态度和老师们在出版方面的实际情况,并且明确了APP开发目标:做出一个简单易操作实用性强的能够普及出版流程知识、方便老师联系出版社、功能明确的APP。
三、业务流程设计
根据老师给出的出版流程,我们初步确定了采用流水线模式:用户打开APP之后,首先是注册登录界面,当用户选择注册时,便进入注册流程,同时将生成的用户信息保存在后台数据库中。用户返回上一级,选择登录后,可以浏览出版社信息,并上传自己书籍的部分章节,等待出版社联系。当出版社老师登录后,便可以看到需要出版的书籍、作者信息,或按时间排序,或按关键字检索排序,此时可以联系作者进入出版流程。
出版流程里,当双方线上交流商讨后,出版社老师同意出版,在用户个人中心可以看到待出版书籍当前的状态,随着出版流程的进行,对书籍状态进行同步更新。而当涉及样本书、合同等重要信息时,我们选择通过邮箱存根、线下交流的方式。在合同签订完成后,由老师后台更改用户书籍状态,直至出版完成。
四、界面原型设计
明确了业务流程后,项目组开始进行基本的界面原型设计,包括基础功能模块的排版、不同功能界面的衔接设计。我们主要使用了线上移动应用原型设计工具——墨刀,这对经验不够丰富的界面原型设计初学者来说是一款效率较高的工具。一方面,通过墨刀来设计APP的界面十分自由,在控件、素材、控制等方面充分实践你的想法,丰富产品原型。另一方面,墨刀的系统控件都是基于APP以及系统平台IOS和安卓,因此在里面可以首先选择相应的设备布局,减少了不少工作环节。我们的界面主要包括注册和登录、首页(含出版社介绍)、我要出书和个人中心(消息中心、出版进度、历史记录、联系出版社、修改个人信息、注销)。
五、Android开发
有了产品原型和思路,怎样实现就是当务之急。在查阅资料后,我们对怎样开发一个Android APP有了初步的了解。在编写代码方面,用Java语言实现。Java是一门面向对象编程语言,具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,适合编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
首先在Eclipse环境下学习了Java语言,随后开始学习Android应用的开发。Android的开发工具有两种,分别为之前学习Java用到的Eclipse和近几年比较流行的开发环境Android Studio。由于软件原因,本项目选择使用Android Studio。
在编写代码的过程中,通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解,也为将来更深入了解android打下了基础。例如:在设计界面时,通过Layout文件夹下的配置文件,可以快速形成界面,在配置文件可以进行属性颜色边框等设计。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样可以通过java代码直接创建View进行添加。
除此之外,Android四大组件也有了初步了解。Activity是用户唯一可以看到的东西,几乎所有的activity都与用户进行交互,Activity主要实现交互式界面,通过在这些窗口里使用setContentView(View)方法来显示设计的UI。在我们的APP中,activity会使用Context.startService()来启动一个service,从而可以在后台保证数据更新,直到这个service运行结束。另外,还可以通过Context.bindService()方法,连接到一个service上。当连接到一个service之后,还可以根据service提供的接口与它进行通讯。Content Provider能用来将数据可以存储在SQLite数据库或文件中,由于时间紧促,我们只实现了在自己APP中的数据交互,并没有考虑跨应用数据共享。broadcast receiver主要用于接收系统或者APP发送的广播事件、程序间互通消息,在我们的APP中没有使用到。
六、结语
这次的项目成果呈现为APP“iPublish”,它能够实现基础的界面交互和登录注册功能。本研究还存在一些局限性,比如一开始只是简单听从客户的需求,没有站在用户角度设计构思APP的框架,导致后期又重新进行软件定位和需求分析。由于有类似的开发经验,导致学习过程也异常困难,经常是写完代码后又删除重新修改。学习到的新知识使用也并不熟悉,开发速度慢。但此次项目的实践不再是校园内编写一个简单的大作业的流程,而与实际的软件开发行业的流程基本相似,为我们将来走上工作岗位打下了基础。(本课题受“北京邮电大学大学生研究创新基金;北京市共建项目专项”资助)
[作 者]程 垚、常瑜烁、刘琳琦,北京邮电大学;
姚 顺,北京邮电大学出版社。