链接

    做好人机交互界面是一项社会科技工程 - 图1

    人机交互界面是用户体验的重要组成部分,但其被广泛认为是一种缺乏「技术含量」的东西,因此,在实施数字化的过程中,很多人忽视了界面的重要性。

    人们会讲:「Excel 有什么好学的」,转而去学 C++。

    人们这么讲是因为 Excel 太简单了,简单到小学生都能用,没有一个成年人愿意自己的技能水平和小学生一致。

    但等他们长大后便会发现,小时候不屑一顾的 Excel 居然是办公过程中最离不开的产品。

    计算机是很笨的,是程序设计者赋予了计算机的灵活,有多少人工就有多少智能。

    很多人没想到,你所使用的程序有多灵活,背后的程序设计者就花费了多大的力气,还有可能是 10 倍以上的力气。

    Excel 是人机交互的顶峰,它定义了新的图灵完备,这种图灵完备不仅是编程语言级别的,更是界面级别的,这种界面级别的图灵完备表现在:

    1. 用户可以用 Excel 处理各类数据和图表

    做好人机交互界面是一项社会科技工程 - 图2

    1. 用户可以用 Excel 打游戏

    做好人机交互界面是一项社会科技工程 - 图3
    做好人机交互界面是一项社会科技工程 - 图4

    1. 用户可以用 Excel 作为 CRM

    做好人机交互界面是一项社会科技工程 - 图5

    1. …等等

    只有你想不到,没有 Excel 做不到。

    我可以大胆的说,操作系统都没有 Excel 的灵活性强,操作系统的灵活性是针对工程师的,Excel 的灵活性是针对普通用户的。普通用户使用 Excel 本身,可以不依赖专业用户开发的应用程序而实现需求,两者的差异是能用和好用之间的差异。

    Excel 第一次让普通用户控制了机器,而非被机器所困。

    Excel 第一次让普通用户能把心中所想转换为可交互的计算机界面。

    满足非专业性客户数以亿计的需求自然要比满足专业用户特定的需求要难得多。当然,这里还有另外一个视角,操作系统提供的 API 加上编程语言使得专业用户可以开发出形形色色的各类软件要比 Excel 更高一层。

    人机交互界面是一个非常重要的发明,它直接决定了如今社会的数字化程度。如果没有人机交互界面,计算机就不会得到普及,计算机得不到普及,就没有现在的 Web,没有现在的 Web,就没有现在的互联网,没有现在的互联网,很多新鲜的事物就不会发生。

    人们天生崇拜看不懂的事物,比如数据和数据之间的转换与同步、高可用的架构、复杂精妙的算法。对于一眼就能看穿的事物,则不会有心理上的敬畏。

    人机交互界面做的越简单,越说明设计者对「对应产物」想的越清楚

    人们看到的是做出界面很简单,看不到的是设计界面并不简单。

    界面不仅是界面本身,更是人类与机器进行交互的桥梁,还是对业务、数据结构和流程的抽象。

    人机交互界面是面向人的,也是面向机器的。

    人机交互界面是面向业务的,也是面向技术的。

    人机交互界面是面向人性的,也是面向流程的。

    这就是为什么,当销售去演示一个 ToB 产品的时候,客户最想看的是界面,因为看到界面,就相当于看到了背后的思考。

    人机交互界面是一项研究人的社会科学,也是研究机器的计算机科学。

    做好人机交互界面是一项社会科技工程。

    几乎所有人机交互界面的主要目标都是更好的为用户提供「增删改查」的能力。

    经验丰富的产品经理、研发、架构师或者 CIO,他们会发现一个底层原理,所有的信息化软件最终沉淀下来数据之后,用户想要的都是更复杂、更高阶、更自由的查询能力,是之谓数据可观测性

    不信你去看,不论是多维表格,还是的用户列表、审计日志,提供的都是和 Excel 表格一样的筛查能力。

    做好人机交互界面是一项社会科技工程 - 图6

    做好人机交互界面是一项社会科技工程 - 图7
    做好人机交互界面是一项社会科技工程 - 图8

    做好人机交互界面是一项社会科技工程 - 图9

    说到底,其实每一家软件公司做到最后,都在做表格以及表格的筛选,毕竟,大多数软件的数据也都是存储在和 Excel 一样的关系型数据库里的。

    但是没有任何一家公司把表格以及表格的筛选查询能力做的像 Excel 一样强大,因此软件的用户往往被困在了特定的软件中,条条框框,无法伸展。也因此无数特定软件的用户产生了导出数据的需求,他们都想将这些数据拿到 Excel 中重新梳理、重新计算、重新分析。

    很多软件的设计者一开始也没料到这个问题,他们在软件设计的开始往往会重视「流程与功能」,而忽视后续对于数据的「运营」。这不能责怪任何人,只是阶段性需求导致的。但是我认为成熟的软件设计者应该在设计之初就考虑到数据后续的查询能力,这种复杂查询能力存在极大的研发成本,但是可以被解决的。

    我大胆的畅想一下,Excel 如果提供表格的 Component 能力,这种 Component 能将不同数据库的数据融到一起,既在底层提供与机器交互的能力,又在前端提供与人交互的能力,软件开发者只需利用这个 Component 然后在两者之间做一个数据的连接就可以为用户提供用户体验良好的人机交互界面,也可以通过简单的参数为用户提供满足不同需求的复杂查询能力。在底层的数据库上,不再是存储在某个数据库集群的数据库,而是一个巨大的互联网数据库,每一个 Component 都能从这个浩瀚的互联网数据库中 CRUD 信息,如下所示:

    做好人机交互界面是一项社会科技工程 - 图10

    (基于计算哲学的 Event-Driven Shared-Component)

    此外,这些 Component 还存在图灵完备的能力,在将不同的 Component 组合起来变成一个产品后,这些 Component 还具备自适应的学习能力,它们可以依据事先定义好的元数据或者已经写好的 CSS,学习其他 Component 的风格并自动变化,这些 Component 将像变色虫一样融入各个环境。

    计算机的生命不再止步于数据、API,而是像「脱碳入硅」一样,从数据变成「活」的 Component,这些 Component 提供了一种全新的开发范式,可以在各个应用间自由由用户移动并且在数据变更时始终保持数据同步,并且让所有软件设计者/用户可以在权限范围内共享所有数据,整个信息世界变成了一个实时可协作的信息世界。

    我把这种人机交互界面称作「语义控制面板」,所谓「语义」,就是机器与机器之间无缝交互、人与机器之间无缝交互,机器懂人想干什么,人控制机器而非机器控制人。语义控制面板提供的是一个 Canvas,允许用户在 Canvas 上任意作画,并且作的画是可以交互的人机交互界面。

    做好人机交互界面是一项社会科技工程 - 图11

    总而言之,做好界面,就是将人性与机器逻辑做了恰到好处的融合,做好人机交互界面是一项社会科技工程。

    2022.06.01

    庆祝上海解封日