“咖啡厅”设计有感

“咖啡厅”设计有感

咖啡厅是我参加Cloud Foundry应用大赛的一个参赛项目,现在已在CF上线近一周的时间了。从决定参赛到开始设计、再到项目上线,耗费了大半个月的时间,在这大半个月的时间里我收获颇丰,现在就和大家简单的分享下我的这些收获,有产品设计上的,也有用户体验上的。这个博客,亦是兑现先前给大家的一个承诺。

清楚的记得那是去年年尾的早上(2012-12-31,说得恍如隔世~),我正在大巴上一边听音乐一边登OSC客户端,向往常一样浏览博客和灌水,翻页的时候看到一些关于参加Cloud Foundry比赛的应用,应用虽不大但是很富有创意,这就激发了我也动手试一试的想法。那一天也是报名截止时间,我就索性在手机上报名参赛,但参赛页面是网页形式,而且还有弹出框,弹窗口获得焦点后界面又变化了……总之用了好长时间才报上名。报名后不久就收到管理员的回复,希望准时参加比赛云云~~得,看来自己已没有退路,必须在比赛截止前弄出个所以然来~~有时候必须给自己适当的压力,这样才不能偷懒做观众而最后碌碌无为。给自己个压力,结果可能大不相同。

真正开始动手设计是在一月三号,从那时开始我就用下班时间和双休日做这个项目,虽然很小、看似很简单,但想真正的做好真的不是很容易。就比如对连接方式的选择上,据我目前所知的技术有:Ajax轮询、Http长连接、Html5的WebSocket。其中Ajax轮询是机械化的客户端定时请求,如果用户多了的话,无疑是DDOS攻击式的;Http长连接是利用同一个tcp连接处理多个http请求和相应,但服务器需要维护这个连接,同样需要耗费资源;WebSocket无疑目前是最好,基于Html5,实现了浏览器与服务器的全双工通信。在通信方式的选择上,我仅仅采用了Ajax轮询的方式,最大的原因是这样设计开发时间快,但这样隐藏着缺憾:服务器负载与用户状态的无法确定等。

这是个简单的小项目,我想有过编程基础的不需要二天都能做出来,快点的半天都能搭建起来。但有时候我们不是为了编码而去编码,就像我们不是为了吃饭而去吃饭一样的道理,我们应该从自己做过的一件事情上有所收获,哪怕很微小。在开发技术的选择上,我选择使用众多优秀开源框架,前端使用jQuery,后端使用JFinal,FastJSON,Druid,把这些新技术通过一个小例子熟练一遍,比只看不动手练习要好很多!这些开源技术,我之前在工作中使用的也不多,仅使用过jQuery和Druid,JFinal一直想学却没有动手练习过,FastJSON完全没有接触。但在这个项目中,我对他们有了更深的理解了!

在这个项目中,我感觉前端JS的设计值得和大家分享,因为在JS上我也是新手,平时用到了JS也是去百度谷歌,这次实践也算是对自己的一个突破吧。上文说过,在连接方式上我采用的是Ajax定时轮询,此时就需要考虑在会话双方建立连接后就应该定时轮询已获取对方状态和对方信息,断开会话时应该关闭轮询,尽最大程度避免服务器过载;在数据载体的选择上,我选择了JSON,后台使用FastJSON准备数据,前端使用纯JS解析结果;此外,在会话请求结果的控件控制上也应符合会话状态的结果,比如正在请求状态,请求成功状态,请求失败状态等。

项目完成后经过坎坷的部署,终于可以部署在CF上,得以和大家见面。但经过近几天的观察发现,用户几乎没有忍耐力,这也应了一本书上说的:Don’t make me wait! 可能在宣传时主要针对OSC的技术人员吧,工作都比较繁忙,所以当进入请求会话页面后,发现找不到聊天用户,很快就退出了,这也使我明白了自己设计上的不足——没有给用户等待的希望!如果明确告诉用户还需耐心等待多久,结果可能会好点。

做为设计者必须要考虑用户的使用感受及心理变化,这也就是常说的用户体验。通过这个小项目,让我学到了很多,在以后的工作和学习中也会更有方向。

以此共勉!

你可能感兴趣的:(“咖啡厅”设计有感)