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. spark on yarn 运行问题记录

    问题一: 18/03/15 07:59:23 INFO yarn.Client: client token: N/A diagnostics: Application application_1521 ...

  2. range和xrange的区别详解

    两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选 ...

  3. 最小费用最大流(luogu P3381 【模板】最小费用最大流)

    题目链接 题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S. ...

  4. Jmeter(十七)_驱动浏览器做GUI测试

    jmeter不光可以完成性能测试.接口测试,现在也可以依靠WebDriver来完成GUI的功能自动化测试了,是不是很神奇? 1:下载JMeterPlugins-WebDriver-1.3.1.zip, ...

  5. matplotlib画散点图,并在散点处打上相应标签

    运行环境: py3.6 matplotlib 2.1.2 x = [2,4,6,7,8,5,4,3] y = [3,6,5,8,4,3,2,4] txt = ['我','今','晚','上','吃', ...

  6. Java web文件上传下载

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...

  7. Scala:集合类型Collection和迭代器

    http://blog.csdn.net/pipisorry/article/details/52902549 Scala Collection Scala 集合分为可变的和不可变的集合. 可变集合可 ...

  8. Angular2入坑指南

    序 对后端开发来说,前端是神秘的,眼花缭乱的技术,繁多的框架,出名的不出名的好几百种,看是"繁荣",其实显得杂乱无章,但是我们在做开发的时候,技术选型还是主流的那么几个:浅析ang ...

  9. How Do I Declare A Block in Objective-C? [备忘]

    How Do I Declare A Block in Objective-C? As a local variable: returnType (^blockName)(parameterTypes ...

  10. activiti 配置节点 连线信息获取

    1.1.1. 前言 当使用eclipse插件进行流程设计的时候,部署流程之后,我们如何获取我们定义的所有的节点.连线.关口等配置信息呢?有的人看到这个需求,不免窃喜,这不很简单嘛,重新打来bmpn中定 ...