WindowsLive提供的本地地图服务看起来挺简单的,但其实非常难用:

跟其他人一样,每当我接触到一个新的地图服务,我做的第一件事总是拿当前的地址去试一试。我在上面输入的是我工作的地方。但是,当我敲下回车键的时候,我看到了下面的这个错误:“找不到这个地址。请重新搜索,或者如果输入的是一个地址,请在Where文本框里输入。点击Help以了解更多详情。”

这显然是一个很小的例子。但在我认识的人当中,所有人在第一次使用WindowsLive的这个服务时都犯了同样的错误。没错,那两个文本框是有标签的。算是吧。但用户不会去读你放在屏幕上的文字,即使像我们这样的专业级电脑用户也不会去读。问题很简单,在那个表单上就是多了一个文本框。(多一个也是太多了!)

“任何同样的东西只要出现两个就是太多了”——这种主张可能看起来并不合理,但我们看看下面的这些秒表:

这个秒表只有一个按钮。因此,计时的开始、停止、复位用的肯定都是这个按钮。这个按钮有点超负荷了,但就像苹果公司的鼠标一样,至少从理论上来说,没有人为此而感到困惑。

让我们增加一个按钮。也许一个按钮控制计时的开始和停止,另一个按钮是复位?或者一个按钮控制开始,另一个控制停止?到底怎样呢?必须试过几次之后才能知道。

让我们再增加一个按钮。还加了一个长秒针。现在,我感觉无从下手了!使用的复杂性呈指数级上升了。

最后这个秒表为三个按钮配了不同的颜色,并且去掉了长秒针。用颜色来区分肯定是有帮助的:红色代表停止,绿色代表开始。我猜黑色应该是复位吧。

我们从最后一个秒表的设计可以认识到,增加界面元素但同时不引入困惑是可能的。但是,你必须非常小心。如果你想再加一个什么UI元素,请确信,你所加的那个UI元素不是压倒骆驼的最后一根稻草。

UI设计——最后一根稻草的更多相关文章

  1. 你学会UI设计了吗?

    你学会UI设计了吗? UI设计师如何前驱? 关于产品 作为一个UI设计师,我们还在干巴巴的等着产品经理甚至交互提供的需求和原型再开始动手吗?这样被动的工作是永远无法提升自己的,当然你也永远只能拿到几千 ...

  2. UI设计初学者如何避免走弯路?

    对于初学UI设计的人而言,可能对UI具体是做什么,或者自己是否能顺利转行胜任这样的岗位存在一定的顾虑,今天我们就来重点说说UI是做什么的,以及想学UI到底要如何避免走弯路,快速的学成. 问题一:UI设 ...

  3. 不得不存!UI设计新手不可错过的7条实用法则

    http://www.gameres.com/316761.html 本文编译自 Medium,作者是一位UX(User Experience, 用户体验)设计师,他通过自己学习UI设计的过程,总结出 ...

  4. IOS UI 设计 技术

    AutoLayout AutoLayout是一种基于约束的,描述性的布局系统. 程序员—-(cgrect)—>frame(center+bounds)    =====>   程序员—(N ...

  5. android 自己定义标签的使用,实现扁平化UI设计

    2014年8月6日11:06:44 android对自己定义标签的使用.实现扁平化UI设计: 1.attrs.xml文件里自己定义标签 如: <?xml version="1.0&qu ...

  6. 移动开发-UI设计

        UI:手机的用户界面 UI物理版:手机实际的屏幕像素 UI设计版:我们截屏的手机界面在ps中去量,发现的尺寸 UI放大版:手机的尺寸等比放大1.5倍得出的分辨率   响应式布局 原由:窗体缩小 ...

  7. 缩放因子和UI设计

    一.PPI 1.像素密度PPI:PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目. 根据勾股定理(直角三角形两边为a和b,斜边为c, ...

  8. Android 腾讯入门教程( 智能手表UI设计 和 MVC模式 )

    *****注意到mvc 在android 中是如何进行分层分域执行各自的功能.**** 官方推荐的按钮尺寸是48像素 前端之Android入门(1):环境配置 前端之Android入门(2):程序目录 ...

  9. eclipse里打开SWT项目找不到source/design的图形UI设计界面

    因为前天重新装了个新版的eclipse, 结果今天打开一个SWT的项目,突然找不到source/design的图形UI设计的两个切换按钮 我把SWT组件重新装了还是找不到.结果后来发现是因为重装ecl ...

随机推荐

  1. node之querystring模块

    前言 querystring 模块提供了一些实用工具,用于解析与格式化 URL 查询字符串. 一.querystring.parse() 用于将一个查询字符串解析为JS 对象. const query ...

  2. 2. struct A 和 typedef struct A

    2. struct A 和 typedef struct A 2.1 struct A struct A{}定义一个名为struct A的结构体. 下例定义了struct A同时,声明了两个变量(注意 ...

  3. gcc创建静态库和共享库

    静态库和动态(共享)库静态库:编译程序在编译使用库提供的功能代码的程序时将代码复制到该程序然后编译成可执行程序,这种库成为静态库共享库:共享库比静态库的处理方式更加灵活,因而其产生的可执行文件更小,其 ...

  4. vuex存储和本地存储(localstorage、sessionstorage)的区别

    1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地 2.应用场景:vuex用于组件之间的传值,localstorage则主要用于不同页面之间的传值. 3.永久性:当 ...

  5. exp和imp的工作原理

    --1.exp和imp的输入都是名字和值对: 如:exp parameter_name=value 或exp parameter_name=(value1,value2,value3..) --2.e ...

  6. git > 2.3 实现同步盘的功能

    话不多说,简单粗暴 http://stackoverflow.com/questions/35643201/how-to-set-up-a-sychronous-directory-in-remote ...

  7. Scikit-learn:分类classification

    http://blog.csdn.net/pipisorry/article/details/53034340 支持向量机SVM分类 svm分类有多种不同的算法.SVM是非常流行的机器学习算法,主要用 ...

  8. Scala:函数式编程之下划线underscore

    http://blog.csdn.net/pipisorry/article/details/52913548 python参考[python函数式编程:apply, map, lambda和偏函数] ...

  9. Scala:函数和闭包

    http://blog.csdn.net/pipisorry/article/details/52902271 Scala函数 Scala 有函数和方法,二者在语义上的区别很小.Scala 方法是类的 ...

  10. PGM:部分有向模型之条件随机场与链图模型

    http://blog.csdn.net/pipisorry/article/details/52529287 贝叶斯网与马尔可夫网 [PGM:无向图模型:马尔可夫网]中例3.8和例4.8显示,贝叶斯 ...