冰浪

哥已不再年轻 - 坚定梦想,毕生追求!
posts - 85, comments - 90, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
    本来此文应该跟一调换过来的,不过没所谓了,来个倒叙吧。

    先来简单说说技术“架构”吧。前篇文章已经提到过,考拉公交的数据来源于网络,而这数据我并没有“下载”过来,因为这个数据不是那么容易能抓取过来的,不仅是公交站点数据,更复杂的是在于站点与地点的关系数据,这个是相当庞大的。而且就算抓过来,更新也是一件麻烦事。所以没必要这么做。那数据具体怎么来呢?其实很简单,自己做一个服务端程序,负责与网络数据端进行通信,即实现查询请求,查询结果接收并返回给手机客户端。

    服务端具体是怎么实现的呢?(对技术非常熟悉的产品人员可以跳过此段)首先要说明的是,这个公交数据网络提供商提供的其它是一个网站,实现给用户提供公交查询功能。因此,考拉公交的服务端程序就是模拟用户查询动作,实现查询数据的获取。服务端程序实现的功能包括三部分:一是与手机客户端的交互工作,即接收客户端数据请求和数据反馈。二是与网络数据端的交互,即将查询工作转换后提到到网络数据端并接收查询结果。三是数据处理工作,此部分又包括两部分,1是解析网络数据端返回的数据,这此数据格式是HTML文本,所以需要进行净数据提取;2是组装成自有格式数据,这里采用XML。值得一提的是,返回给客户端的XML数据都经压缩后的,这样可以进一步减少数据包大小,提高查询的响应速度。

    这样一来,客户端的工作就简单多了,只是UI与数据解析显现,没有太多的运算逻辑。算是一个瘦客户端的C/S结构程序模型。

    想清楚了技术实现问题后,便可以进入产品设计阶段。互联网产品与传统软件产品不一样的地方是,传统软件基本上要把绝大部分的功能都实现完善后才推出面世。而互联网产品,一般都是快速推出,快速迭代开发,快速更新,实现产品的优质运营。周鸿祎也说过,小版本成就大产品。产品是不断运营,打磨出来的,而不是开发出来的。基于这种产品理念,我将以小版本方式实现产品的快速推进。第一个版本定为1.0。实现基本的功能:城市切换,公交查询。而界面也非常简单,闪屏,查询,查询结果。

    1.0版本是最精简的功能,实现了最基本的公交查询功能。辅助功能有意见反馈,自动更新等。接下来的小版本中,会逐步实现线路查询,查询结果短信发送,地点输入自动完成,查询历史记录,查询结果收藏等,还有产品官方微博查看。微博内容显示主要是用于与用户做交互的。总得的来说,就是首先将主体功能快速完善,然后将周边的友好性、体验性的功能逐步完善,让用户觉得这软件好用,没有太多抱怨,这就达到目的了。最后建立起良好的用户沟通渠道,与用户一同改善产品,共同推动产品发展和产品价值延伸。

    产品的设计,除了面向用户的使用功能外,还有基于产品运营侧的功能需求,像之前提到的用户意见反馈就是一个。当然,对于运营,这个还远远不够。我们知道,对于产品运营需要最基本的是产品和用户的使用数据,通过对这种元数据的记录收集,统计分析才能对一个互联网产品运营情况有一个较为清晰的认知。实现产品运营相关数据的自动记录与收集,这种方式的实施成本也是较低的,也是最基本的。而另一种人工收集式如用户问卷调查,访谈等,都是形成较高成本的投入,而且实施起来存在一定的困难,也无法实现密切监测。

    因此,需要一个方便的统计分析工具来实现产品运营数据的收集和统计。通过调研发现,友盟的统计分析是比较合适的,它是一个较为专业的手机应用端的统计分析工具,有方便的SDK直接调用。免去了自己实现数据收集的繁琐与不专业,也同时免去了对收集到的原始数据进行统计分析的工作,这是比较理想,可以专注于产品本身核心功能的开发与完善。在上一篇中所分享的数据便是来自于友盟统计。

    下面分享一下产品运营中的点点滴滴。

    完成1.0版本的设计开发测试工作后,由于条件有限,没有太多的机型可以进行覆盖性平台兼容测试,所以产品就快速上线了。将安装包分渠道打好,然后上提交到各大应用市场中去。经常几天的时间,从统计数据来看,下载用户量还是比较满意的。但在友盟开发工具中查看到了一个考拉公交客户端在Android2.1平台上发生了空指针的异常,这个异常会导致程序即时崩溃中止并退出。这是个问题是很严重的,需要尽快解决。因为当时也没有这个平台版本的手机可供测试,所以发生这个问题也比较正常。为了解决这个问题,我将一台手机刷机回了2.1版本,安装应用后测试发现,确实出现这个问题。经过真机联调很快找到异常发生的代码点,但因为要同时兼容2.2以上的平台版本,解决这个问题却花了不少时间,最后还是完成了。接着把比较实用的公交换乘查询结果短信发送这个功能实现了,再解决了一个分辨率适配的问题后,赶紧打包发布了1.1版本。

     因为这个改动升级对于非2.1平台用户是可以忽略的,所以就没有开启升级提示。主要是友盟提供的更新提示功能不能给用户设置“不再提示”这样的操作,如果用户不想升级,则会对这个每次启动的更新提示产生厌恶感。所以最后我选择了不提示更新。只在各渠道提交了新版本的安装包。但之后仍会有不少用户下载到了旧的1.0版本,所以这个问题还是会发生并被记录到。说到这个,不得不再提到友盟做得不完善,更新提示不能关闭,意见反馈无法回复,这都使得我无法与用户建立起一个畅通的沟通渠道。也因为这个问题,流失了不少用户,这个是很遗憾的。

    上面这个问题,使我再一次认识到了建立用户顺畅的沟通渠道的重要性。虽然我也建立了产品官方微博,但对于一个新推出的软件,在没有特别大的使用需求的时候,微博这个沟通渠道基本上是可以被无视的。因为不会有多少用户有兴趣特定打开网页,去看你的微博的。因此,考拉公交迫切地需要一个很便捷的用户沟通渠道。而之前提到的客户端内“产品官方微博查看”功能便是应对这个需求的解决方案。通过这个内置的官方微博内容查看功能,可以很方便地让用户了解到产品相关的最新动态,通知,公告等等信息。对于凝聚用户、粘住用户会有不可忽视的作用。通过与用户间的沟通,会让用户对产品产生信心和持续的关注,帮助和促进产品进入良性发展轨道。因此,微博功能会是下一版本的必须实现的功能。

    但是,后面的时间都紧张,没有太多的精力做到快速的版本更新,这点来说,非常无奈,也因此用户增长走了下坡路。持续、有节奏地进行版本更新对于产品用户的发展至关重要。当然,考拉公交仍然会继续完善更新,不过时间周期可能会长些。

只有注册用户登录后才能发表评论。


网站导航: