程序与软件的易用性
易用性实际上是软件的相当重要的属性, 体现的是这个程序是否好使。如果程序不好使,人们就会趋于不使用它,无论它的设计与实现是多么精致优雅。
仔细想想,当人面对一个陌生的命令行程序会怎样?他之前没有任何关于这个程序的信息;那么,按照 linux 工具的约定,或许他会使用 --help, -h, man 等命令查看一下是否有该程序的使用说明;或者直接敲入程序名称看看出来什么。如果是前者,那么用户可能希望看到具体的示例,能够立即用到他所需要的场景里;如果是后者,他可能希望通过以往的经验来判断这个程序能做什么、该怎么使用。无论哪种情况,都应该提示该程序的具体说明、用法与选项。
再想想,当人面对一个陌生的软件会怎样?或许他了解过这个软件能拿来做什么,只是不知道具体该怎么使用,怎样发挥其真正的威力。或许他会试探性地看看软件的界面元素,点击若干个选项来尝试了解如何使用(对于软件而言,一般人不会有耐心看说明书的)。最好能将最重要的菜单和选项突出出来,告诉人们如何组合这些菜单和选项来完成需要的操作。
程序或软件,其实都是一种高智力活动的产物,而普通大众要使用这种产物,其实也是需要一定理解能力的,并不像程序员心里想的:不就是那样么,有什么困难的或不明显的呢!
提高易用性的途径如下:
(1) 用户不知道如何使用时,提供容易找到的帮助文档,并展示具体的使用示例,能够让用户快速地 Get Started ;
(2) 用户使用不当产生错误时,及时给予友好实用的提示,让用户能迅速理解和转向正确方法;
(3) 提供默认选项,让用户以最少的知识就能在常规场景下很好地使用;
(4) 尽可能与人们认知和操作习惯保持一致, 避免因为认知误解导致挫败感;
(5) 处理好细节魔鬼, 避免部分用户因为不同平台导致的细节问题而受挫,进而放弃使用;
(6) 通过界面设计提供流畅的美感,也可以潜在提升软件的易用性;
(7) 提供灵活的选项,让用户可以组合出更强大的功能。
以上是我作为一个软件用户所体会到的经验。然而,我是一名软件工程师, 是不能作为参考用户的。要提升软件对于普通大众的易用性,那么观察大众是如何使用软件的,在哪些地方受挫,分析为什么受挫,这些将对理解和提高软件易用性有莫大的帮助,可能远远比单纯地从书中获取产品设计知识与经验要更为重要。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了