产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

​Joshua Porter 谈优秀的 UI 设计原则

  • 2012-08-16
  • 本文字数:2188 字

    阅读完需:约 7 分钟

Joshua Porter 是 HubSpot 公司的 UI 工程师,他在“ Principles of User Interface Design ”一文中总结了若干优秀的 UI 设计原则。

界面清晰最重要

界面清晰是 UI 设计过程的第一步,也是最重要的工作。要想你设计的 UI 被人喜欢,首先必须让用户能够认可它,让用户知道为什么使用它。比如当用户使用时,能够预期发生什么,并方便地与它交互。

界面是为促进交互而存在的

界面的存在,促进了用户和世界之间的互动。优秀的界面不但能够让我们做事有效率,还能够激发、唤起和加强我们与这个世界的联系。

全力维护用户的注意力

我们生活在被打扰的时代,比如阅读的时候,总是会有事物分散我们的注意力。因此,在进行界面设计的时候,能够吸引用户的注意力是很关键的,所以千万不要将应用的周围设计得乱七八糟,谨记屏幕整洁能够吸引注意力的重要性。如果你非要显示广告,那么请在用户阅读完毕之后再显示。​​​

让界面处于用户的掌控之中

人类往往对能够掌控自己和周围的环境感到很舒服心。不考虑用户感受的软件往往会让这种舒适感消失,迫使用户不得不进行额外的交互,这会让用户很不舒服。保证界面处于用户的掌控之中,让用户自己感受系统状态。

直接操作的感觉最好

当能够直接操作物体时,用户的感觉是最棒的,但这并不太容易实现,因为在界面设计时,我们增加的图标往往并不是必需的,比如我们过多的使用按钮、选项等等其他繁琐的东西以便我们最终操纵 UI 元素而不是重要的事情。理想情况下,界面设计要简洁,让用户有一个直接操作的感觉。

每个屏幕只提供一个操作主题

我们设计的每一个画面都应该有单一的主题,这样不仅能够让用户使用到它真正的价值,也使得上手容易,使用起来也更方便,在必要的时候更容易进行修改。如果一个屏幕支持两个或两个以上的主题,立马会让整个界面看起来混乱不堪。正如文章应该有一个单一的主题以及强有力的论点,我们的界面设计也应该如此,这也是界面存在的理由。

过渡自然

界面的交互都是关联的,所以要认真地考虑到下一步的交互是怎样的,并且通过设计将其实现。这就好比我们的日常谈话,要为进一步交谈提供途径。当用户已经完成该做的步骤,不要让他们不知所措,给他们自然而然继续下去的方法,以达成目标。

表里如一

人总是对符合期望的行为最感舒适。当其他人、动物、事物或者软件的行为始终符合我们的期望时,我们会感到与之关系良好。这也是与人打交道的设计应该做到的。在实践中,这意味着用户只要看一眼就可以知道接下来将会有什么的动作发生,如果它看上去像个按钮,那么它就应该具备按钮的功能。设计师不应该在基本的交互问题上耍小聪明,要在更高层次的问题上发挥创造力。

区别对待一致性

如果屏幕元素各自的功能不同,那么它们的外观也理应不同。反之,如果功能相同或相近,那么它们看起来就应该是一样的。为了保持一致性,菜鸟设计师往往对应该加以区分的元素采用相同的视觉处理效果,其实采用不同的视觉效果才是合适的。

强烈的视觉层次感

强烈的视觉层次感是通过屏幕上视觉元素提供的清晰浏览顺序来实现的。也就是说,用户每次都能按照同一个顺序浏览同一些元素。弱化的视觉层次没有给用户提供如何浏览的线索,用户会感到困惑和混乱。在变化巨大的视觉环境中,难以维护强烈的视觉层次,因为视觉权重是相对的:当一切都是粗体时,就显示不出粗体的效果了。​ ​

恰当的组织 UI 能够降低认知难度

正如 John Maeda 在他的书中所说,对屏幕元素的恰当组织能够使页面显得简洁。这能够帮助大家更容易并且更快地理解你的界面。把元素组织起来,通过位置和方向来展示自然的关系。

颜色可以起到提醒的作用,但不是决定性因素

物体的颜色会随着光线的变化而变化。在现实世界中,颜色是一个变化的性质,不应该在界面上起决定性作用。它可以用于提醒,但是不应该是唯一的区别成分。​

渐进展示​

在每个屏幕上只显示必要的内容。如果用户在做选择,那么给他们显示足够的选项信息,然后在各自的页面上展示详情。避免过度解释或者一次显示所有细节。

适当的帮助信息

在理想情况下,帮助信息是不必要的,因为界面能够让用户理解和使用。但现实情况下,很难做到这一点,所以帮助信息应该是上下文相关的,只有在它需要出现的时间和位置才应该出现,在其他位置就应该隐藏在幕后。要求用户打开帮助文档寻找答案是在推卸设计师的责任。

关键时刻:零状态

第一次访问见面是最重要的时刻,但经常被设计者忽视。为了帮助用户适应,最好从零状态开始设计,也就是在一切都没发生的情况下。这种状态不应该是空白界面…应该提供启动的方向和指导。​

现有问题最值得重视

用户总是为已有的问题寻找答案,而不是潜在的问题或者未来的问题。因此,坚持为已知问题创建界面,观察现有行为。

出色的设计是无形的​

出色设计的关键特质是它经常无形的施加于用户上。如果设计是成功的,那么用户可以只关注自己的目的,而不是界面…当他们完成目标之后,不会在依赖于界面。这对设计师来说是困难的,因为设计出色时,没有多少掌声。

依赖其他的设计规则

视觉设计、排版等都是界面设计的一部分。不要看不起这些规则,根据自己的情况来使用这些规则,同时从其他领域,如编程、印刷等领域寻找可以借鉴的经验。

界面是被人使用的

在这么多设计规则中,请记住只有用户使用你设计的界面时,你才是成功的。如果一把椅子很漂亮,但是做起来不舒服,那么设计是失败的。​

更多有关的内容请查看原文,也欢迎读者朋友发表自己对设计方面的意见。

2012-08-16 08:473087
用户头像

发布了 501 篇内容, 共 256.0 次阅读, 收获喜欢 60 次。

关注

评论

发布
暂无评论
发现更多内容

FastJSON2他来了,性能显著提升,还能再战十年

共饮一杯无

Java Fastjson 11月月更

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

亚马逊云科技 (Amazon Web Services)

量子计算 Hero 专栏

降本增效的背后,谈谈阿里云存储数据湖3.0

云布道师

数据湖 云存储 云栖大会

“鸿蒙开发套件”焕新升级 端到端赋能助力开发运维事半功倍

最新动态

DNS中有哪些值得学习的优秀设计

小小怪下士

Java 程序员 DNS

2022中国区Cyber Monday限时优惠来袭,Linux基金会开源软件学园带来优惠

kk-OSC

k8s Linux基金会 CKA CKS

观察者模式在spring中的应用

京东科技开发者

Java spring 编程 观察者模式

四项发明专利布局国际市场 申威睿思层级化数据库操作加速系统和方法获肯定

科技热闻

JVM 核心知识体系

钟奕礼

Java java面试 java编程 程序员‘

软件测试自动化“领导者”SmartBear举办首场中国线上研讨会:洞悉全球自动化测试走向,探讨降本增效之策

龙智—DevSecOps解决方案

自动化测试 API测试 UI测试 软件测试自动化

ITSM | 对话——从业务场景、中国市场策略角度解读Atlassian ITSM解决方案

龙智—DevSecOps解决方案

ITSM ITIL

深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

Serverless Devs

阿里云 Serverless

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

软件测试 自动化测试 测试发开 测试比赛

String、StringBuffer、StringBuilder 有什么区别

共饮一杯无

Java string 11月月更

从零开始学习Java系列之Java运行机制与跨平台特性

千锋IT教育

车间工厂看板还搞不定,数据可视化包教包会

葡萄城技术团队

数据可视化 看板 智能工厂

即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]

JackJiang

网络编程 IM 即时通讯IM

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

PGL图学习之项目实践(UniMP算法实现论文节点分类、新冠疫苗项目实战,助力疫情)[系列九]

汀丶人工智能

图神经网络 图学习 11月月更 论文节点分类任务 新冠疫苗任务

Java中的拆箱与装箱

共饮一杯无

Java 11月月更 装箱与拆箱

Java中的StringBuilder类

共饮一杯无

Java StringBuilder 11月月更

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与敏捷规划工具Hansoft

龙智—DevSecOps解决方案

敏捷 版本管理

代码质量与安全 | 使用Incredibuild加速Klocwork静态代码分析

龙智—DevSecOps解决方案

代码静态分析 SAST工具 SAST 编译器 加速器 编程语言

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

一次MTU问题导致的RDS访问故障

京东科技开发者

数据库 Linux MTU RDS vpn

Spring6正式发布!重磅更新,是否可以拯救Java

宋小生

A/B测试有哪些常见应用场景?——火山引擎DataTester科普

字节跳动数据平台

大数据 AB testing实战

异常的基本概念和Java中的体系

共饮一杯无

Java 异常 11月月更

这可能是最全的SpringBoot3新版本变化了!

艾小仙

Java spring could spring-boot

单体分层应用架构剖析

京东科技开发者

架构 模块 应用架构 服务层 业务层

DHorse系列文章之操作手册

tiandizhiguai

微服务 云原生 k8s管理 微服务治理 Serverless Kubernetes

​Joshua Porter谈优秀的UI设计原则_语言 & 开发_崔康_InfoQ精选文章