【完全随笔】用户体验和设计

简介: 这一篇是和具体技术没什么关系的帖子(我尽量少发和技术无关的贴),是2008年在做项目验收时期,心里想到什么就随便在一篇文档里记些什么,很随意,没有什么规范。长期以来,我一直在考虑的主题是:用户最需要什么?用户的需求是什么?所谓的“技术”应该怎么样去影响和帮助别人,也就是怎么样把我所掌握和研究的单纯的“技术”去转换为最终对人们有益的价值。

            这一篇是和具体技术没什么关系的帖子(我尽量少发和技术无关的贴),是2008年在做项目验收时期,心里想到什么就随便在一篇文档里记些什么,很随意,没有什么规范。长期以来,我一直在考虑的主题是:用户最需要什么?用户的需求是什么?所谓的“技术”应该怎么样去影响和帮助别人,也就是怎么样把我所掌握和研究的单纯的“技术”去转换为最终对人们有益的价值。因此长期以来,我也一直非常关注用户体验。同时因为我见过太多有理想有朝气有勇气有理想的“技术人员”,对他们从事的职业或项目拥有非常乐观的期待和希望,所以相对而言从用户角度考虑,我也有非常“现实”,非常“冷静”,非常“苛刻”的观点。我写过一些小工具,给自己玩的居多,也设计和编写过一些较大规模的模块,在这些过程中也使我越来越得到更深的认识,包括如何保持设计质量,如何让项目可维护而避免陷入维护成本急剧增长的深渊。

                                                                                         ——hoodlum1980

 

1. 如果一个参数或者选项,在70%的情况下能够确定或者计算出来,则应该提供默认值。而不是让用户手工录入。

2. 不要对因为对输入内容的过于严格的校验而设计界面,这样可能导致影响用户操作。

      给用户尽可能最大的自由度。开发人员往往从技术实现和程序逻辑角度考虑,而有此出发的一些限制例如UI上的一些展示和控制,可能在某些程度上限制了用户的操作习惯和方便(可能这两者也是具有矛盾性的)。例如:IP输入框,某些序列号输入由多个TextBox组合而成,但它们对“复制粘贴”的支持不友好,从而使用户必须多次重复复制粘贴操作才能完成,这时还不如用一个完整的TextBox取代,然后在程序中在对输入做检验。虽然UI上的严密缜密对接收输入的技术人员来说达到了目的,但是却对用户造成不便。

3. 关于鼠标和键盘,不同用户有很不同的习惯和需求。对于大多数用户来说,尽可能提供鼠标操作代替键盘操作。对于一个规模比较大,比较复杂,用户较多,使用量很大的软件来说,快捷键的使用是大于鼠标的。

4. 缓存必要的参数。

5. 能针对不同用户(例如根据用户ip推断用户所在地区),为用户提供个性化的默认参数。

6. 一个网页需要给用户提供尽可能多的超链接,而一个windows程序则不应该提供太多的控件,注意这两者的本质区别。前者代表信息量丰富。后者表示用户使用难度增加。。。

7. 权限操作时,不应该仅仅吧权限放在界面的enable和disable上,在所有执行权限动作的代码之前,比如检验一次用户权限。即不仅相应界面是disable的,还要在代码中加权限判断。这样即使界面Enable,没有权限的用户也不能执行操作。并给出无权限的反馈。

8. 多语言:提示信息:变量在字符串中。

      *s1=".....Hello,%s....";

      printf(s1,name);

 

9. 关于多语言的问题:

      我认为这个问题的出现是在BS架构流行后产生的需求,在cs架构下属于为用户定制,不存在这个矛盾。但bs架构是使用统一的服务器发布服务,用户群体使用浏览器访问服务。这样用户群体是不可控制和预知的,因此这要求在一个统一服务上为不同语言的客户分类服务,从而导致多语言需求的产生。换句话说,我们开发多语言实际上对开发过程造成了很大的负担和烦琐,实现起来也不是那么容易,因为多语言是分散平均散步在系统的各个角落,控件属性,内部数据,等等,是分散的,所以不易控制。但如果是为特定用户开发我们根本不需要考虑这个问题。只需要提供几种集中语言的版本就可以了,例如qq的中文版,繁体版,英文版,这是集中性质的资源。对于一个vc程序来说,程序中固化存储了字符串资源,应该就是为多语言考虑而设计,我们需要修改程序中的资源,但要注意区域文化和编码页的问题。

10. 字段级可见性(数据库)。

11. 测试页面的功能也要做的尽可能完整和完善,不要过于简陋。

12. 错误提示信息,针对技术人员,普通用户的水平,提供准确的信息提示,必须能够直接帮助用户确定发生问题的环节所在。而不仅仅说错误,或者无法帮助对方查找原因。对技术人员提供更详细的技术细节和errormsg.

13.

关于枚举定义,为了可维护性考虑,应该尽可能手工指定值而不是让编译器去做。对于值的大小和逻辑有关的,例如依此去把枚举值分组,则设计值时不应该使它们连续,以保留将来有“插入”新值的“空隙”。

14. 界面美化是依据个人风格和感觉,有时简约就是美。一个程序的美化通常是在基本功能已经经过足够测试,运行稳定以后的事情。应该记住逻辑的正确性,可靠性,稳定性,效率是比外观重要的,好比一个人的内在。但如果一个人过渡不修边幅,例如凌乱无序的UI无论如何都令人不悦的,在于对度的把握。

============================================

下面是一些其他方面的笔记:

      C语言笔记

--------------------------

1. 一个语句的值:语句1,语句2,语句3;

上述的取值是语句3(最后一个语句)的值。

 

2. “-=”,“+=”是一个操作符(operator),所以

  表达式 x+=x-=x*x;

  求值过程是:x -= x*x;   即x = (x-x*x);

              x += x;  即x = 2x =2*(x-x*x);

 

      (TO BE CONTINUED)

目录
相关文章
|
4月前
|
搜索推荐 语音技术 UED
【专栏:交互与用户体验篇】网页可访问性设计与无障碍阅读
【4月更文挑战第30天】在数字化时代,网页可访问性设计至关重要,旨在确保所有用户,包括残障人士,都能平等使用互联网。通过遵循法律法规、提升用户体验和社会责任感,可实现无障碍阅读。关键原则包括文本可读性、图像可感知性、音频视频可访问性和交互性设计。实现方法包括遵循无障碍标准、使用语义化HTML、支持辅助技术、进行无障碍测试及提供帮助。这既是法律责任,也是提升用户满意度和社会包容性的必要举措。
83 5
|
4月前
|
搜索推荐 vr&ar UED
【专栏:交互与用户体验篇】网页排版与可读性优化
【4月更文挑战第30天】网页排版与可读性关乎用户体验和信息传递效率。良好排版能提升用户体验,增强信息传达,树立专业形象,促进用户参与。原则包括简洁明了、一致性、层级分明和适应性。优化方法涉及字体选择、字号、行距、颜色搭配、留白、标题使用等。案例分析展示了新闻、电商、博客网站的不同排版策略。未来,响应式、动态排版及VR/AR技术将带来新机遇。重视排版与可读性,以适应用户需求和市场变化,打造优质网站。
55 1
|
4月前
|
Web App开发 前端开发 UED
谈谈你是如何做移动端适配的?
对于移动端适配,一种常用的方法是响应式布局(Responsive Layout)和媒体查询(Media Queries)。以下是一些常见的移动端适配策略:
30 0
|
4月前
|
移动开发 监控 前端开发
前端如何做好用户体验?
前端如何做好用户体验?
286 0
|
4月前
|
前端开发 测试技术 UED
前端知识笔记(三十三)———浅谈用户体验测试的主要功能
前端知识笔记(三十三)———浅谈用户体验测试的主要功能
85 0
|
4月前
|
前端开发 测试技术 UED
前端知识(十四)——浅谈用户体验测试的主要功能
前端知识(十四)——浅谈用户体验测试的主要功能
112 0
|
存储 JavaScript UED
注重vue中项目细节,功能的使用,用户的体验感
注重vue中项目细节,功能的使用,用户的体验感
注重vue中项目细节,功能的使用,用户的体验感
|
缓存 边缘计算 JavaScript
小说源码系统,页面性能优化的两个入手点
小说源码系统,页面性能优化的两个入手点
|
JSON 前端开发 程序员
提升前端效率的十款工具(上篇)
推荐十款体验极好的十款前端工具, 善用它们, 让你偷懒的同时, 快速把活儿赶完, 早点下班~ 快速开启一个http服务 可以通过npm全局安装一个http-server,当需要开启服务的时候, 通过命令行,跳转到需要开启服务的文件夹下, 开启服务即...
1481 0