标签: usability

用户界面 - 颜色和布局

虽然我对Web应用程序信息特别感兴趣,但我也对桌面应用程序开发有些好奇.这个问题是由我在我的个人网站上的工作以及我的工作所驱动的,我在那里开发了一些功能,但是将其留给其他人以融入网站的外观和感觉.

对于颜色方案,布局,格式等等,是否有任何指南或经验法则?我希望确保访问者的可读性和清晰度,但不要同时保持平淡和沉闷.

至于我在这方面的知识 - 如果你给我一张照片,我有足够的知识在屏幕上重现它,但如果你让我设计一个新的界面或重新设计现有的界面,我不知道从哪里开始.

usability user-interface

10
推荐指数
1
解决办法
751
查看次数

什么事件触发Javascript表单字段验证和格式化?

首先我要说的是,我们验证了服务器端的每个字段,因此这是一个关于客户端可用性的问题.

关于何时使用javascript验证和格式化html表单输入字段的传统智慧是什么

例如,我们有一个电话号码字段.我们允许数字,空格,括号和连字符.我们希望该字段有十位数.此外,我们希望该字段看起来像(123)456-7890,即使用户没有这样输入.

好像我们可以

  • 用户退出字段时验证并格式化.
  • 对输入的每个字符进行验证和格式化.
  • 拦截击键并防止用户输入错误的字符.
  • 以上的一些组合(例如,输入格式和退出时验证,防止输入和退出格式等)
  • [已添加 ]等待并在用户点击提交时进行所有验证和格式化.

我已经看到它完成了所有这些方法,但我无法从可用性的角度找到最佳(甚至普遍接受)的信息,更重要的是,为什么.

[ 编辑:一些澄清]

我们绝对不执行任何格式标准.当我说格式时,我的意思是我们将使用javascript重写事物,使它们看起来很好.如果用户键入1234567890,我们将其更改为(123)456-7890.没有可能失败的"格式化规则".

我将此与验证区分开来,因为如果它们没有输入足够的数字,我们必须让它们修复它.

我想我应该将这个问题重新解释为"什么是关于何时验证以及何时格式化......的传统智慧?

到目前为止答案中的好消息!

编辑:我接受我自己的答案,希望其他人会发现这个链接和我一样有用.

javascript validation usability

10
推荐指数
1
解决办法
3825
查看次数

当命令列表增长时,如何简化工具栏界面?

我正在写一个内部工具webapp; 该工具的一个中心页面有一大堆相关命令,用户可以通过单击页面上的多个按钮之一来执行这些命令,如下所示:

工具栏http://img709.imageshack.us/img709/1928/commands.png

理想情况下,所有按钮都适合一行.通常我会通过将每个小部件从带有(有时长)文本标签的按钮更改为简单紧凑的图标来实现此目的 - 例如

标有"保存"的按钮http://img337.imageshack.us/img337/773/saver.png

可以用熟悉的磁盘图标替换:

磁盘图标http://p.yusukekamiyamane.com/icons/search/fugue/icons-24/disk-black.png

不幸的是,我不认为我可以为这个特定页面上的每个按钮执行此操作.某些命令按钮没有良好的视觉模拟 - "VDS列表".或者,如果我需要在将来为其他类型的列表添加另一个按钮,我需要两个图标来传达"list-ness"和哪个列表.所以,我还在考虑这个选项,但我不喜欢它.

所以现在是时候为我添加另一个按钮了(你不喜欢内部工具吗?).该单行上没有足够的空间来容纳新按钮.除了我已经提到的图标解决方案之外,什么是简化/整理/减少或改进此UI的好方法?


*根据Jakob Nielsen的文章,我想认为下拉菜单不是解决方案.


编辑:我不是在寻找关于图标理念的输入.我正在寻找其他解决方案.对不起,我的示例磁盘图标很小; 这只是一个例子.我现在正在展示一个更大的一个,希望更清楚.

usability user-interface

10
推荐指数
2
解决办法
530
查看次数

自动完成与下拉.什么时候用?

我读过一篇关于Web可用性的文章(不记得/找不到哪里),描述了何时使用下拉菜单以及何时使用自动填充字段.

基本上,文章说人类大脑不能存储超过最后五个选项供选择.

例如,在一个配置文件表单中,当前的职业存在,系统为您提供了一系列选项,当您阅读第六个选项时,您的大脑将不再记住第一个选项.这个例子是一个使用自动填充字段的好地方,用户输入他认为是他职业的东西,然后从过滤的几个选项中选择更好的东西.

我想听听你对这个问题的看法.

我应该何时使用下拉列表以及何时使用自动填充字段?

usability user-interface combobox autocomplete

10
推荐指数
1
解决办法
8243
查看次数

将x-webkit-speech与textarea一起使用

我的webapp中有一个字段,用户输入大量文本.我想实现x-webkit-speech元素.它适用于所有的

<input>
Run Code Online (Sandbox Code Playgroud)

盒子,但我无法让它呈现在

<textarea name="uxMyInput" rows="30" cols="20" id="uxMyInput" onblur="convert();" style="width:100%;" x-webkit-speech=""></textarea>
Run Code Online (Sandbox Code Playgroud)

javascript usability html5 speech-recognition google-chrome

10
推荐指数
1
解决办法
6034
查看次数

如何向用户报告标准例外?

考虑一个C#GUI应用程序,它使用a FileStream来读取用户通过"打开文件"对话框选择的文件.

如果读取因其中一个例外而失败,那么以用户友好的方式向用户报告失败的正确方法是什么?

我应该为每个例外发明我自己的消息,还是有办法获得一个我可以逐字呈现给用户的本地化,用户友好的消息?

编辑

我问的是.NET本身是否能够为我提供一个我可以呈现的描述性字符串(这与其他.NET程序一致).我知道我可以卷起自己的,但如果有标准的选择,我想避免这种情况.

c# usability localization exception

10
推荐指数
1
解决办法
671
查看次数

如何组织Python API模块使其整洁?

我正在写一个表示某些Web API的Python库。现在,我的库目录看起来与此相似:

  • __init__.py
  • Account.py
  • Order.py
  • Category.py
  • requests.py

在中__init__.py,我有类似以下内容:

from .Account import Account
from .Order import Order
from .Category import Category
from . import requests
Run Code Online (Sandbox Code Playgroud)

这允许先使用import cool_site然后再cool_site.Account(…)进行诸如此类的操作,但是存在以下问题:当我在IDLE中处理代码时,该对象随后被称为cool_site.Account.Account,这感觉很不好。

1.有什么方法可以避免类名重复,并且每个类仍然有单独的文件?

接下来我感到不满意的是我的代码组织。现在,我的Account班级接受初始化凭证,创建一个requests.Session对象,然后处理与服务器的所有通信,即搜索订单等。Account然后,此类实例将自身传递给所有其他实例,例如传递给Order-,因此订单的实例将具有.account保存Account创建它的实例的属性。当另一个类实例本身必须执行某项操作时(例如,更改订单的注释)(通过调用o.comment = 'new comment',由类中的@comment.setter装饰器进行更改Order),它将其转发给一个Account对象,该对象在初始化时传递给该对象,然后使用example self.account.set_order_comment(new_comment)。然后,此方法将使用所有Web请求来实现该目标。

2.最好将服务器通信逻辑放在一个类中,或者将它的不同方面传播到受它们影响的类中?

我想问的最后一件事是如何以及在哪里保留低级请求模板。现在我在cool_site.requests子模块中有它,针对不同的请求有不同的功能,例如SetOrderComment上述情况(这是一个功能,因此应该小写,但是在这种情况下,我认为它在某种程度上类似于类-是可以吗?)。该Account.set_order_comment会使用这样的:

r = cool_site.requests.SetOrderComment(order.id, new_comment)
response = self._session.request(**r)
Run Code Online (Sandbox Code Playgroud)

因为此函数会返回一个带有参数的字典,以Session.requestrequests库中获取函数。身份验证标头已在类实例的_session …

python usability readability api-design code-organization

10
推荐指数
1
解决办法
215
查看次数

如何让用户注意问题?

我们偶尔需要通知用户有关警告或问题的信息.但通常情况下,特别是如果这是一个常见问题,用户只会忽略警告并继续.通常用户甚至不会记得看到警告,但我们检查他们的日志并看到有几个显示.那么,当你试图告诉他们重要的事情时,你如何让用户注意?

这并不像在允许用户保存之前强制用户解决所有问题一样简单.由于各种原因(通常是针对无法立即解决或根本无法解决的问题),他们经常需要保存我们的业务规则并不严格的数据.

我们有一个更好的警告/错误处理系统,我认为会有很多帮助,但我想看看别人做了什么.

usability notifications warnings

9
推荐指数
4
解决办法
520
查看次数

我该怎么做才能防止在wiki风格的网站上发生写写冲突?

在wiki风格的网站上,我还能做些什么来防止或缓解写 - 写冲突,同时仍允许网站快速运行并保持网站易于使用?

我预见到的问题是:

  1. 用户A开始编辑文件
  2. 用户B开始编辑文件
  3. 用户A完成编辑文件
  4. 用户B完成编辑文件,意外覆盖用户A的所有编辑

以下是我提出的一些方法:

  • 有一些退房/登记/锁定系统(虽然我不知道如何防止人们保持文件签出"太长",我不希望用户因不被允许而感到沮丧进行编辑)
  • 有某种差异系统,显示当用户提交更改并允许某种合并时所做的其他更改(但我担心这很难创建并会使网站"太难"使用)
  • 用户在进行更改会通知并发编辑(某种AJAX?)

还有其他方法吗?任何实现这一点的网站的例子?

usability wiki

9
推荐指数
2
解决办法
3622
查看次数

我们应该排序国家名单吗?

我刚刚从维基百科ISO 3166-1中写了一份国家列表

我的目标是在我的xhtml中选择使用它,但它是一个巨大的列表.你有多少人来自阿鲁巴?但是你有多少来自英国,法国甚至是美国?

有时,我可以看到最常见的国家列在列表的顶部.

这是一个好习惯吗?为什么不呢?

html usability

9
推荐指数
3
解决办法
797
查看次数