后面几天曾凡专心在住处闭门写程序,先把打地鼠做完,提交到几个手机应用市场审核,针对邹鹏他们公司的情况,曾凡专门写了一个通讯功能模块,如果以后合作,他们的程序导入这个模块就可以很轻松的使用模块的通讯能力,也可以在此基础上开发完善,增加些特色功能。
刚开始开发的时候,曾凡没想到这个通讯功能会这么受重视,于是他决定写出一款专门的通讯小程序,不需要带太多复杂功能,只需要基本的用户搜索,好友列表功能,以及文字、图片、语音信息功能就够了。
视频和语音直连功能涉及到的带宽和时延要求太高,没有服务器的支撑,暂时还没法做到,基本的信息功能对通讯延时没那么敏感,对大部分人来说也够用了。
用户之间的通讯不经过服务器,个人通讯内容当然也无法监管,他不知道这软件能不能通过审核,想来国外应该容易点吧,或许能比小游戏更受欢迎。
曾凡把这个小程序定位成一个单纯的沟通工具,没有不必要的附加功能,因此做的尽量精简,节省内存和带宽占用,包括信息传递的数据包,也采用了极致精简的压缩算法,最后程序完成后,安装包只有不足一兆大小。
这款极简的通讯小程序比格斗小游戏的安装包还小,其中主要的代码都是分布式网络、算力以及存储共享部分,还有最重要的登录验证部分,用户看到的交互界面代码量反而最少,因为实现的功能太简单了,只有对话框和输入框,可以发送接收语音、文本、和图片信息。
没有保存用户信息的实体服务器,用户的登录验证就成了难点,不换手机的时候保存在本地还问题不大,可是换手机登录就成问题,这些是必须要考虑到的难点。
直接复制程序文件到新手机肯定不行,要考虑到用户账号的安全性,没有服务器进行验证,单凭账号密码如何让别人相信是本人登录?
这些都是以往的通讯软件不需要考虑的难题,为此曾凡设计了一种语音加人脸识别的登录验证方式。
不需要输入用户名和密码,只需要对着手机摄像头做出几个自己设定的动作,说出几句相当于密码的语音,程序会根据识别到的用户特征按照固定算法生成一组独一无二的用户识别码,方便通讯软件进行识别。
新用户注册信息当然只会保存在本地,用户搜索添加其他好友前,需要设置自己的网名和搜索码,网名不能更改,搜索码可以随时更改,方便其他人更快搜索到,同时网名也是其他人通讯录默认显示的名字,别人也可以在自己的通讯录改为备注名。
当用户添加别人为好友,与其他人进行通讯时,用户识别码加密后的信息也会被其他人的程序保存,开始存在于网络上。
换手机登录的时候,通过初始注册的方法登录,程序会重新生成与原先高度相似的用户识别码,程序根据这个识别码,可以在网上搜索在线的原先通讯录好友,建立临时通讯录,这时候对方的通讯录该用户名字后面会有问号标记,双方通讯确认身份后,对方可以重新添加为好友。
想恢复原先的通讯录,必须一个个通讯确认身份,对方重新添加好友才行。
至于好友聊天记录,只存在于聊天时候的双方手机临时内存,通讯断开聊天记录自动清除,重要聊天记录需要用户自己手动保存。
代码写完不代表程序完成,还需要经过一定的测试和修改过程,确认没有严重的漏洞才算完成,这时候才可以提交应用市场,供用户下载使用。
两个游戏小程序测试比较简单,那上面的通讯只是附加功能,不需要太复杂的测试,游戏部分测试他自己就能完成,后来这块单独的通讯小程序就不行了,必须有一定数量的人参与测试才能看出实际的效果。
对曾凡来说,联系人帮忙测试,比让他写个程序还为难。