基于科轻站的能力拓展,我们可以将服务以微页卡的形式嵌入到流转信息中,使用户在多个平台下获得统一的产品体验。因此,科轻站诞生了新兴的“微应用”形态。
此后,我们不断优化科轻站的开发能力。
期望基于科轻站建立一个开放的场景化“微应用”平台,探索未来多样的互联网服务形式。
“微应用”简介:
“微应用”目前尚无正式名称。
团队内部根据习惯将这种嵌入在科轻站中的应用称为“微应用”,意指其轻巧且便捷。
有时,我们也将“微应用”简称为“微pp”或“kx应用”。
与科轻站中承载的大量全屏体验的Web应用不同,“微应用”多以内嵌的形式存在于科轻站中。
支撑“微应用”的是kx(开发代号)框架,我们自研而成。
基于脚本语言开发的优势,使得“微应用”可像Web应用一样动态更新,无需随着科轻站版本发布。
并且具备多平台(iOS、Android、Windows)的体验一致性,一次开发,多平台运行(WriteOnce,RunAnyWhere)。
“微应用”的技术特点:
- 动态更新:动态更新是“微应用”最基本的技术功能。
“微应用”既可以基于app包进行整体更新,也可基于视图局部更新。
尽管以Web技术为代表的方案也可以使应用获得动态运营能力,但主要应用于全屏场景,而“微应用”将这一能力拓展到了流信息等嵌入式场景。
- 轻量化:相对于其他技术方案(Web、ReactNative等),“微应用”在加载速度和内存占用方面有明显优势。
所以,“微应用”可以在不影响基础体验的前提下内嵌在流信息中使用,同时可以打开数十个甚至上百个视图实例。
在达成上述轻量化的目标过程中,我们在技术选型和实现上都倾向于“轻量化”。
首先,我们选择Lua作为第一个支持的开发语言。
Lua的VM非常小,充分保证了初始化时间和内存开销的可控。
此外,其基于寄存器的VM实现也使得脚本程序在性能方面表现优异。
在UI部分,kx中没有提供控件库,只提供了构建UI的原子能力。
开发者可以在上层通过模板装配出可复用的UI(控件),使kx核心的UI部分非常简约。
另外在工程实现部分,我们在开发kx时尽可能的复用了各个操作系统提供的差异化的原生能力。
虽然这导致了框架的工程实现部分会更繁琐(如增加一些中间层的设计,同样的基础模块实现多份等),但在体积控制上具备明显的优势。
可交互流信息中的图文消息主要用于呈现静态的文字和图片内容。
集成kx后,内容具备了更丰富的互动性,从而使流信息从服务入口的容器升级为了服务本身的容器,嵌入在流信息中的服务可以更短路径被用户使用。
- 场景化应用:
为达成上述能力升级,kx提供了丰富的基础功能供开发者使用,同时也将部分科轻站的平台能力进行了封装,使得“微应用”能更好地融入科轻站中。
界面文本、图像、画布、输入框、布局器、控制器、模板、网络Http、WebSocket、SSO、多媒体音频播放、视频播放、动图(GIF、PNG)、设备罗盘、加速度、位置、科轻站登录(OpenID)、获取用户信息、分享、打开网页、应用、扫码等。
随着应用开发能力的逐步完善,部分团队已经开始尝试基于kx开发更复杂的全屏“微应用”。
以全屏方式打开的腾讯地图“微应用”。
- “微应用”场景化升级:
移动互联网时代,手机携带的便利性促进了场景化应用的出现和普及。
用户在饮食、娱乐、休闲等诸多场景中都能非常方便地使用相关的互联网服务。
基于场景化应用的价值和潜力,我们期望能基于“微应用”构建场景化应用的平台来充分发挥其价值。
因此关于科轻站如何建设场景化应用平台需要我们选择与微信不同的切入点和发展思路。
目前选定的产品方向是根据用户行为(窄义来说就是对话语义)和用户属性行识别场景,匹配场景化的服务嵌入流信息使用。这种选择的考虑主要基于以下两个方面:
首先是对用户价值的考量。
流信息是人与人沟通的核心载体。
如果服务能自然的融合到流信息中,所有以沟通为起点的服务都能最短路径获取和使用。
其次是技术实现上的考虑。
流信息中的对话内容很多时候也正是当前用户所处场景相关的语言表达,有助于平台识别用户所处场景。
科轻站现有的场景化应用主要通过两种被动方式触发:识别用户输入内容触发应用入口,点击后在键盘区展示;识别聊天内容在流信息中插入应用入口,点击后在流信息中展示。
地图音乐、自选股、动漫、天气
作为切入点被动触发的两个原因:
一是客观上现有的语义分析技术能力不足(出于对用户隐私的尊重无法使用更成熟的服务器方案,手机设备的资源有限使得技术选择有较大局限性),被动方式触发对召回率的要求没有主动搜索那么高。
二是主观上策略选择,基于流信息内容的被动触发可以为服务提供方带来增量的流量。
为了获得被动触发的机会,需要“微应用”主动的标注所具备的能力。
而主动标注再结合模式识别、自然语言理解等技术手段,用户行为、用户画像、服务三者均转化为可计算的数据。基于计算使用户行为动态关联到个性化的服务,这正是我们建设场景化“微应用”平台的基础。
注意:过度的导流量会把双刃剑,过度的导流必然会伤害用户体验。
因此这需要平台团队有更强的自控能力。
除了用户行为被动触发的“微应用”所需的应用能力标注以外,我们也期望所有“微应用”的输出都能是统一的标准化语义化的元数据。
结合知识图谱,所有的“微应用”能聚合成一个有机的整体,使用户从任意场景切入使用“微应用”,都能伴随着使用“微应用”的行为自然的切换到下一个场景继续使用其他“微应用”。
场景化应用并不局限于单个用户到服务的单向连接,基于IM平台自身的分享能力,可以实现多人和服务的连接关系。群投票、聚餐时点菜、买单、KTV点歌等等都是生活中经常发生的多人共同使用服务场景。
而基于流信息内嵌“微应用”来实现,沟通、服务交互、信息反馈都直接在流信息中完成,使用服务的整体体验更流畅更直观。
- “微应用”的未来:
数年前,使用互联网还是局限在特定地点(家、公司、网吧)使用特定设备(PC)上网。
在移动互联网时代智能手机的普及打破了时空的限制,使人们可以随时随地的使用互联网,淡化了“上网”概念。
未来随着物联网等基础设施的完善,穿戴式设备(R眼镜)、汽车、家用电器(电视、冰箱)、家居设备等都会成为接入互联网的节点。现实世界和虚拟网络世界之间的边界会逐渐模糊。
而场景化应用正是促进现实生活和互联网服务融合的重要桥梁。
基于上述判断,“微应用”未来发展的大方向也可以基本确定。
首先在表现层面,我们期望基于“微应用”能构建标准化的容器,可在手机之外的其他设备中展示,帮助服务以碎片化的方式更方便的嵌入到各种场景中使用。
其次是数据层面,我们期望能把“微应用”标准化语义化的元数据标注拓展到设备层面,使设备能力融合到“微应用”的服务网络中,构成完整的服务闭环提供使用。
除此之外,与人工智能技术的结合同样也是“微应用”未来需要努力的方向。
人工智能可以充当现实世界和互联网服务之间的翻译,提升用户使用服务的效率。同时人工智能也可以承担数据过滤器的角色,解决信息过载问题。
对场景化“微应用”平台来说,人工智能技术可以进一步推动其发展和完善。
随着技术手段的不断进步,“微应用”将会在更多领域得到应用和发展,为用户提供更加便捷和高效的服务。
Comments are closed.