原文链接:https://mp.weixin.qq.com/s/urGVE29GuYO5Mubfuz4CLw
中国企业的数字化转型正如火如荼的开展,市场需要一种更灵活、成本更低、效率更高的开发解决方案。低代码被推到了风口上。有幸担任云开发低码 LowCode 项目团队的交互设计师,借此机会将我对低码的理解和“如何降低低码门槛?如何封装技术概念为用户提供简单易懂的操作流程?”的设计过程分享给大家。
企业数字化转型的痛点
随着企业数字化的浪潮展开,企业内部积累了大量的IT问题亟待解决,基础的SaaS服务已无法满足需求。
a. 企业数据孤岛
一个软件解决不了所有问题,那就多堆几个软件,导致一个企业可能用了五六个软件,但都互相独立,无论是功能还是数据,都不能互通,形成数据孤岛,提高了IT运维的成本。本想通过信息化提高效率、解决数据难题的,却使得数据壁垒越来越厚,事情越做越多。
b. 企业数字化转型,定制化需求日益增加
对于很多企业来说,SaaS都是固定功能的软件,对于个性化的需求难以满足,虽然软件开发能灵活满足自己的需求,但是无论是自研还是托管,开发和运维费用都极其高昂。
c.人才缺口
2020年,传统企业上云将超过50%,产业规模不断扩大,但是 IT 人才严重不足,年缺口达百万。
d. 业务侧和研发侧沟通成本高。
一般的 Web 系统需求变更所涉及的协作环节可能有:
● DBA
● 后端
● 运维
● 前端
● 设计师
● 产品经理
● 测试
从业务侧到研发侧,涉及的环节非常多,一个需求的变更需要多个环节长时间的配合才能完成,而研发侧不懂业务,业务侧不懂技术,导致整个过程中沟通成本特别大,研发周期和人力成本也大大增加。
云开发低码
2.1 什么是云开发低码 LowCode?
云开发低码 LowCode 是高效高性能的拖拽式低代码开发平台,向上连接前端的行业业务,向下连接云计算的海量能力,助力企业垂直上云。云开发低代码将繁琐的底层架构和基础设施抽象为图形界面,通过行业化模版、拖放式组件和可视化配置快速为底层支撑,云原生能力将应用搭建的全链路打通,提供高度开放的开发环境。
面向全民开发者,从技术人员到运营、产品策划、设计师等非技术人员,都可以在低码平台上根据自己的需求创建应用。
面向应用全生命周期管理,从应用的前期的构建开发测试,到应用部署上线之后的运维等,都可以在低码平台上完成,助理业务直通上云。
2.2 低码开发如何提升效率?
效率方面:
第一,通过图形化拖拉拽的方式,替代原本编写代码的方式,能够降低大量工作量。
第二,编写代码的方式,往往会花很多时间在寻找代码bug和解决bug上,低代码因为很少需要直接写代码,从而有效的规避了代码本身的bug问题。
第三,支持将开发完的应用一键部署到多种环境,包括PC客户端、web端、H5、小程序等。
第四,通过云化的开发全流程协同、版本管理,大大提高协同效率。
成本方面:
软件应用开发的成本主要是人力成本,通常按“人天”或“人月”来衡量,可以按照这个公式来核算:开发成本=人员日均工资人数开发天数。效率的提升会直接成比例降低“人数、开发天数”的值,同时,低代码开发模式降低了对开发者水平的要求,很多开发工作不需要那么贵的高端开发人才来做了,这样也降低了“人员日均工资”值,从而整体降低成本。
质量方面:
云开发低码提供专业的组件库和行业模版库,确保非设计人员在创造应用时界面的专业度和一致性。
低码平台的搭建
3.1 平台信息架构
云开发低码以云开发作为底层支撑,云原生能力将应用搭建的全链路打通,将繁琐的底层架构和基础设施抽象化为图形界面,用户无需关注底层资源的部署情况,平台将底层技术概念高度封装,通过应用的管理端和应用编辑器即可完成应用全生命周期的管理。
用户将在应用编辑器管理自己的应用,包括管理应用的基础信息、数据源、模版、组件库、云资源等,所有的运维工作都在这里完成。
编辑器即aPaaS平台提效的关键工具:用户在这里通过拖拽组件拼装成界面,设置变量和实现逻辑,形成应用。
用户在低码平台上只需三步即可完成应用的开发,后续可继续在平台上进行运维工作。
3.2 设计目标
上文提到,低码平台的目标用户是非技术人员,一个好的aPaaS 平台是可以让非技术背景的用户在极短的时间内通过少量代码就可完成应用的设计、开发、测试、分发。对于平台的挑战是,如何降低平台的门槛,让非技术人员能高效的完成应用的开发。
同时,云开发低码面向企业应用、后台管理、行业场景解决方案,提供包括企业OA搭建、知识管理平台、企业门户等企业级应用系统,内容素材的可视化管理和运营分析,支持政务、工业、教育、金融等多行业场景,同时各类行业还在持续不断拓展中。
在这样业务多,业务共性低的背景下,如何快速提供高质量的组件和模版是设计的另一个挑战。
3.2.1 如何降低门槛,升级体验?
低码于2020年12月中旬开放内测,内测触达用户 60 余人,针对这60位内测用户我们进行了电话回访,回访数据显示,用户在创建应用之后无法顺利使用其他功能。主要原因有两点:
1.低码包含部分开发技术概念,用户不容易理解
2. 低码平台功能点分散,任务分支多,用户无法自发完成任务
首先,来分析一下,低码平台中有哪些部分门槛比较高,为什么高。
一个应用的组成部分简单概括,由两部分组成:前端静态界面和让应用动起来。
前端界面可以通过拖拽编辑器中内置的组件拼装而成,这部分的概念理解起来没什么难度。
让界面动起来,也就是让界面实现动态的数据调用、页面之间的跳转和交互等,需要涉及到:数据源的编辑和绑定、变量的编辑和绑定、函数和事件的编辑和绑定等。这些概念对于非技术人员来说理解起来是非常困难的。
其次,需要明确的是,低码平台面向的用户是谁?这些用户有什么特征?我们需要把门槛降到什么程度?
产品定位——低码,而非零码,也就是说,在低码平台上还是会涉及到小部分的代码,所面向的用户并非完全不懂互联网的小白,而是IT行业有一定互联网信息技术基础的人员。他们知道在应用中需要有数据库,需要通过函数来实现事件的调用等基础概念,但是,如何配置数据库,如何编写函数事件,是他们的知识盲区。因此,我们确定了一个主要的门槛降低的标准:基础概念可以外显,隐藏复杂技术概念。
降低门槛的设计
结合低码的实际情况,通过以下两个方法详细讲解低码在设计过程中的如何降低产品的使用门槛。
封装技术概念
上文提到,低码的高门槛体现在技术概念的理解上。因此,解决如何引导用户使用产品之前,低码有一个更重要的任务要做,那就是封装技术概念:将技术概念隐藏,呈现给用户的是通俗易懂的配置流程。
以数据源的配置为例:数据源提供了数据集合本身的存储以及操纵数据的各种方法。低码平台的数据源管理功能, 可以管理多个数据源,其中每个数据源均需要描述。
一个完整的数据源配置包含以下内容:
举个简单的例子,下图是前端同学发来的一串字段配置的代码,希望能将其转化为可视化配置。
具体方法流程如下:
1)翻译代码
从代码片段可知:
一个数据表里包含:从第 1 页开始,一共有10页,共有39个人的数据,每个人信息内容包含:用户id, 用户名,用户年龄,住址,性别等。
2)拆解
单独将上述每个字段拆出来,则每个字段需要描述的信息如下:
用户包含两种名字:用户英文名和中文名
用户年龄描述,数据类型是数字,是否会有默认值,是否必填
用户住址描述,数据类型是字符串,是否会有默认值,是否必填,是否枚举
用户性别描述,数据类型是字符串,是否必填
…
3)抽象提取
将拆解后的代码字段中的共性提取出来,作为配置项:
1.字段英文名
2.字段中文名
3.字段描述
4.字段数据类型, 可选值有 数字、字符串、布尔、数组、对象
5.字段数据类型, 可选值有 数字、字符串、布尔、数组、对象
6.字段的示例值, 用于提示用户该值结构, 也可用作模拟数据
7.字段是否必填, 可选值为 是/否
8.是否为枚举值, 若为枚举则要填写所有的枚举值
4)结构化
最后字段的配置效果如图:
点击“添加”字段,在浮层中配置对应的字段属性,字段配置输入框中将配置好的字段以列表结构展示数据库字段,把数据结构打平,用户在绑定的时候直接绑定字段即可,不需要关注数据结构。
帮助指引
2021年1月中旬,云开发低码开放公测,公测参与人数 60 人,我们针对这部分用户进行了电话回访。
在设计优化之后,用户可以比较轻松地使用数据源,但是本次回访得到最一致的一个回答就是:应用构建成功之后进入编辑器,然后不知道下一步该做什么了。
编辑器功能点较分散,任务容易被打断,同时,界面缺少指引,唯一的教程则需要用户点击进入文档中心才能查看。
因此,我们需要一个完整的帮助体系,确保新用户能顺利完成一个应用从构建到编辑到发布的全流程,以及在之后每次使用编辑器时能够根据需求找到对应的帮助。
通过对回访数据的分析,我们发现不同类型的用户在使用过程中均存在一定的使用问题,其中百分之八十属于核心流程不明确问题,可以通过一定的提示有效解决。
对于新手用户,我们的目标是帮助他们了解产品功能和核心流程,确保用户可以顺利地将应用的整个生产过程走通,快速建立用户的成就感;对于普通用户,我们的目标是提升用户的使用效率,在发现问题的时候能够快速找到有效的学习资料。
基于以上分析,我们做了以下几种帮助指引:
1)产品功能的介绍指引:
气泡引导:适用于重要操作说明、新功能操作引导,对用户干扰小,无强迫性。
蒙层引导:适用于复杂产品的首次使用、上线/改版,需要强制用户关注时,相较于气泡引导强制性更大,内容更聚焦。
帮助文档:用户需要主动学习、了解更多操作。
对于任务流程有断点、主任务流程清晰步骤多的产品,在用户使用前、使用中给予即时有效的流程引导,降低使用门槛。
2)任务流程指引:
使用说明:适用于主任务流程清晰步骤多的产品。
流程引导:适用于主任务有多步骤,多步骤在不同页面完成。
互动式引导:适用于需要在控制台进行复杂配置的产品,用户初次使用。
区别于平台帮助的多而全,我们希望底码的帮助体系基于场景、少而精,在恰当的时机为用户提供有效的帮助。结合底码平台的特性和以上几种引导方式,针对新用户,以气泡互动式引导为主,帮助用户完成首次使用的主线流程。对于普通用户,由于底码的技术门槛较高,功能点分散且任务复杂,我们无法准确预测用户的行为和需求,文档形式的指引在用研数据中反响比较一般,因此,计划以视频教程的形式,更加直观快速的为用户提供帮助服务。
3.2.2 如何快速提供高质量模版?
最后,来讲讲如何快速为平台提供高质量的个性化业务模版?
提供普适性高的组件
腾讯云经过多年的积累沉淀,已有seal UI和 tea UI 等成熟的组件库可供低码平台接入,丰富的移动端和pc端组件能满足基础业务的界面设计。
在项目初期,生产通用性较强的组件,争取以20%的组件模版覆盖80%的业务场景。如:针对表单引擎,在移动端原子组件的基础上稍作修改,整理出一套专门针对表单的组件库。
行业定制,形成生态
针对行业定制化模版,初期慢慢积累形成行业通用模版库,上架到低码模版中心供用户复用,后期开放自定义组件和应用生成模版功能,经审核之后纳入低码模版市场,形成自生长生态。
结语
低代码建立在一个大趋势之上,国内外大厂纷纷试水。为了教育市场,努力活下去,各家低代码厂商都在尝试各种服务方式,不断调整策略和打法。这是一条务实之路,但是也面临着很高的技术门槛。国内企业太多,业务和 IT 环境都很复杂,一个产品很难做到普适性。每当低代码开发平台开发一个新功能模块时,都要提前设计好框架和逻辑,以应对高可配置需要的各种可能性。这也是低代码开发平台作为一个大而全的 PaaS 引擎所必须面对的挑战。
从最早的技术驱动,到数据驱动,再到真正的业务驱动,我们期待着,在古老的软件开发领域,能产生一次生产力大变革。
低码的体验优化之路还在持续进行中,欢迎有相关项目经验的小伙伴一起交流哇~