开发者也是用户 - 简介:易用性 - 学于 UI,用于 API

题图:Virgina Poltrack

当谈起易用性时,我们通常会将其与地图、短信或照片分享之类的 app 的用户界面联系起来。我们希望它们有着各自的优质特性,例如一个地图 app 应该要有:

  • 直观性 —— 能够轻松让用户知道如何从 A 导航至 B。
  • 高效性 —— 能够快速地获得导航方向。
  • 正确性 —— 能够获得从 A 至 B 正确的、无障碍的路线。
  • 提供适当的功能 —— 能够让用户探索地图,比如放大、缩小和导航。
  • 为以上功能提供适当的使用方式 —— 例如通过手指的缩放来操作地图。

同样的,我们也希望自己所使用的 API 也能有与此相同的特性。如果说 UI 是用户与功能之间的界面,那么 API 就是使用这个 API 的开发者和能实现相应功能代码之间的界面。因此,API 与 UI 一样需要易用性。

库、框架、SDK - API 无处不在。每当你把代码分离为模块,那么模块暴露的类与方法就成为了 API。其他的开发者(和未来的你)都将会要使用它。

易用性与如何学习使用某个事物花的时间可以说是成反比。无论是新手开发者还是专家都需要用许多的时间学习如何使用新的 API,一个低易用性的 API 可能会导致它被错误的调用,从而造成 bug 和安全问题。这些问题最终不仅会影响使用这些 API 的开发者,还会影响使用 app 的用户。因此,提供高易用性的 API 至关重要。

Nielsen 与 Molich 编写了一套广为人知的手册:UI 易用性的启示,它可以简单地套用于任何产品中(包括 API),你可以结合 Bloch 所著的 指南 了解如何设计优秀的 API。

  1. 系统状态的可见性
  2. 让系统符合真实世界
  3. 为用户提供自由的操作方式
  4. 一致性与标准
  5. 预防错误的发生
  6. 让用户认知,而不是回忆
  7. 弹性、高效的使用方式
  8. 优雅、极简的设计
  9. 帮助用户认识、判断、改正错误
  10. 提供帮助与文档

在下篇文章中,我们将一同深入探讨这些原则,并了解如何将它们应用于 API 设计。敬请关注!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

敏捷实践Showcase的七宗罪|TW洞见

今日洞见 文章作者/图片来自ThoughtWorks:林冰玉,部分图片来源于网络。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公...

2956
来自专栏FreeBuf

数据告诉你:两周时间,你的GPS位置信息被发送了5398次

微信号:freebuf 你知不知道你的手机把你的位置信息发送给各种公司的频率如何?答案是:2周时间,超过5000次。虽然有点吓人,但这却是真的。 卡内基梅隆大...

19710
来自专栏韩伟的专栏

如何提高程序员的生产率(下)

目录 3. 开发过程... 12 4. 架构设计... 20 5. 管理激励... 23 三、 开发过程 沟通 软件通常都需要经过很多人和很多次的沟通才能生产出...

3354
来自专栏ThoughtWorks

微服务 | Martin Fowler

“微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计。尽管这种架构风格尚无明确的定...

4176
来自专栏企鹅号快讯

新手如何学习java?一位十年开发经验的资深大牛给Java新手一些建议

这一部分其实也算是今天的重点,这一部分用来回答很多朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学...

2279
来自专栏后端技术探索

从既有系统到微服务架构

微服务近年来可谓炙手可热,合理的使用微服务架构可以解耦系统、提供更好的软件伸缩性以及提高组织的敏捷性。然而现实中较少有项目一开始就会选择使用微服务架构,绝大多数...

1192
来自专栏钱塘大数据

大数据处理过程之核心技术ETL详解

核心技术架构挑战: 1、对现有数据库管理技术的挑战。 2、经典数据库技术并没有考虑数据的多类别(variety)、SQL(结构化数据查询语言),在设计的一开...

5356
来自专栏CSDN技术头条

总结非结构化数据分析「十步走」

作者 | Kimberly Powell 翻译 | Nora 注:诚然,本文中所提到的内容并使非结构化数据结构化的唯一步骤,但该步骤的可行性,以及在创造可持续模...

20910
来自专栏云计算D1net

还在当冤大头?揭秘云计算部署的隐性成本

企业在部署云计算平台的时候往往考虑最多的就是成本控制问题,的确,对于云计算服务供应商来说,能够玩儿得起“云”的企业都不会太缺钱,但是熟悉云计算的朋友们可能都知道...

2898
来自专栏纯洁的微笑

从既有系统到微服务架构

微服务近年来可谓炙手可热,合理的使用微服务架构可以解耦系统、提供更好的软件伸缩性以及提高组织的敏捷性。然而现实中较少有项目一开始就会选择使用微服务架构,绝大多数...

913

扫码关注云+社区