开发人员角度看UE/UCD
(以下文字若无标明引自何处,均为个人撰写,见解和看法恐有欠妥或不全面之处,下文多以开发者角度来认知UE与开发的结合)
参考:
² http://uicom.net/blog/?p=575
² http://ued.koubei.com/?p=435
Ø UE概述
用户体验(user experience)也就是UE是指用户访问一个网站或者使用一个产品时的全部体验。他们的印象和感觉,是否成功,是否享受,是否还想再来/使用。他们能够忍受的问题,疑惑和BUG的程度。
一个产品的设计流程大致能用上面这幅图表示:概念设计——交互设计——视觉设计——用户测试;当然,它不完全是一个流水线的状态,很多时候这几项工作是并行的,团队中负责不同工作的成员需要经常交流。同时,整个流程又是个迭代的状态,要不断的设计——测试——再设计……而改善用户体验应该是贯穿这整个过程的。
用户体验设计师所要具备的是一个全局把握的能力,需要了解产品所针对的用户群体,清楚他们需要怎样的服务,什么样的功能可以满足他们的需求,提出创新的设计方案,告诉设计团队怎样根据这些需求去做具体的设计。
(以上引自互联网)
Ø UE与产品设计
用户需求对于用户而言,最终反应在交互操作和前台界面上。需求分析,设计过程则应是由前至后,再至前端的迭代。
Ø UE与底层架构
用户对于UE的需求将最终决定底层架构的复杂性。在用户描述其需要一个怎样的系统的时候,总是倾向于从界面上操作上来表述,需求分析则是从这些表象上抽象出系统的程序类型,进而分析应选择或构建怎么样的底层架构,需要为前端应用提供哪些底层接口,要为日后可能的交互/操作/界面需求预留哪些设置,设计何种方式的扩展。
一个系统底层选择何种存储方式和持久化方式,是否适合选用ORM产品等,从来自用户描述的页面和交互要求便可作出一个大致的评估。用户希望以什么样的操作和交互方式来使用一个系统,您便可以依此评估系统应该设计到何种程度,定制度要有多高,进而权衡其他各方面资源以决定最终的复杂性。
作为web前端开发人员应熟知自己所开发模块的用户体验需求,以便根据相应规范设计UI层结构和与业务层等中下层系统的通信方式和接口暴露方式。同时和底层开发人员进行沟通,做好性能和体验的权衡,设计最佳的应用接口。
往往用户对于前台的需求和各种数据呈现方式是多变而且易变的,如何在应对这种频繁变更的同时也能够保证程序可读性和良好性能,则是开发者最应考虑的问题,并且也应带有一定的预见性来进行需求分析(挖掘未提及而可能在日后连带出现的需求)和程序架构。
Ø 前台架构与复用
当前普遍前台技术不外乎html,css,javascript,以及RIA技术等,对于前台架构即应如何组织这些开发资源,梳理页面和资源等的组织架构,复用组件,UI等开发资源。
前台可进行的架构点:
ü 页面以及模板组织;
ü Css组织;
ü Js编写:对于可编写为可复用的UI或类库等,分析其定制需求和耦合情况,封装为合适易用的jsUI(附加css等外部定义资源),jsLib;特定会话的脚本以页面为单位做处理。
ü 前端代码要做到简洁易读、高效,还要考虑后端嵌套的方便性。
进行某一复用型组件开发前,对其定制和交互结构有一个清晰的分解,会有助于开发出复用度的高的组件。比如:分解哪些是属于前端呈现,哪些部件需要和后台服务交互,哪些是可变更样式,哪些是固有功能,分析清开发这个组件的目的以及其核心功能,该如何去扩展以成为一个应用范例。
Ø 结合UE开始构建web系统 FAQ(有待回答)
1. 后台至前台还是前台至后台的开发方式?
2. UE在开发过程的什么环节进行?
3. 一个前台改动对于整个程序的修改有多大?
4. 开发人员如何结合UE构建web程序