随着移动互联网的快速发展,智能手表越来越被大众所认识和接受。这些产品不仅提供了贴身的健康管理功能,如健康状态记录,还增加了移动支付和公交地铁刷卡等实用功能,极大地提升了用户的便捷性和时尚感。此外,它们通过时尚的外观彰显个人身份和品味。然而,除了硬件特性外,智能手表的时尚也体现在其每天可见的表盘上。与传统手表相比,智能手表的表盘具备以下特点:

- **可随时更换**,以适应不同场合和搭配需求。

- **信息丰富且快捷展示**,包括步数、心率、时间、天气、日历提醒等功能。

因此,对于用户来说,表盘的丰富度和美观程度是选择智能手表时非常重要的因素。

本文将介绍一款名为PACEWEAR的时尚智能手表在表盘快速开发过程中面临的挑战以及解决策略。这款手表在市场上已有上百款表盘,满足不同节日活动和用户需求。产品经理Sendy提出一个问题:是否可以设计一个工具,直接生成App,而不需要传统的设计和开发过程?

持续的开发和维护过程充满挑战,尤其是在智能手表领域。由于整个表盘是一个复杂的应用(简称App),它需要经历从产品策划到上线的多个阶段,每个阶段都需要投入大量的人力、时间和成本。例如,一款新推出的数字时间带背景动画的卡通风格表盘可能需要7个工作日来完成开发并实现上线。

核心问题是,尽管市场上有众多表盘供用户选择,但为了满足个性化需求,大量表盘的设计和开发工作仍然是必须的。这导致研发人员面临巨大的工作压力。在这种情况下,产品经理Sendy提出了一个关键问题:是否可以开发一个工具或API,让设计师可以一键生成符合特定要求的表盘,从而简化开发过程,节省时间成本。

为了解决这个问题,项目团队采用了一种基于模式化元素的工具,该工具能够自动生成包含基本元素(如背景、指针、图层和动画)的通用表盘样式。这样,设计师只需选择合适的模式并根据需要进行微调和优化,即可快速创建出各种风格的表盘。这种模式化的工具极大地提高了工作效率,减少了重复劳动,并允许设计师探索更多创新和独特的表盘设计。

根据提供的文本内容,我们可以将信息重构如下:

1. 选择方案

- 基于PC的方案:跨平台门槛高。

- 基于Web的方案:容易跨平台,但难点在于将Web代码转化为可定制安卓表盘。

- 基于安卓手机app的方案:屏幕小,个性化定制能力有限。

2. 市场调研结果

- 市面上的工具如Garmin和Ticwatch的编辑工具,仅提供简单的换背景功能,无法实现多样化需求。

- 用户希望在特定场合(如情人节)通过表盘上的玫瑰表达情感。

- 发现一些不错的编辑工具,如直接在手机上制作的Watchmaker或三星GearWatchDesigner,但它们不支持更多的手表系统功能,且预览和调试过程复杂。

3. 行业现状分析

- 行业内没有功能强大且实用的表盘制作工具。

- 做出一个能让用户快速实现个性化表盘的神器具有挑战性,需采用统一的技术框架以简化流程。

4. 团队选择与学习路径

- 团队中的OS渲染引擎专家符乐安号召成员业余时间自学Web技术以完成创新研究。

- Pacewear软件团队(由腾讯TOS团队演变而来)的前身是腾讯移动互联网事业群的佼佼者,他们曾成功挑战安卓系统锁屏的渲染性能极限。团队成员黄石柱带领下实现了英雄联盟游戏中角色形象的生动呈现,并优化了骨骼动画与解锁过程交互。

- 团队成员白天忙于产品进度,晚上则投身于Web技术及WebGL的学习,旨在找到性价比高的技术方案。

通过上述内容重构,我们不仅保持了原有的段落结构,还对信息进行了重新整合,使得整个故事更加连贯、清晰。

产品经理Sendy和设计师阿达组织团队进行脑爆,以激发新思路。在深入研究多款编辑工具后,他们识别出关键组件:图层、动画、事件触发器、系统组件等。这些组件是当前行业里手表编辑工具的薄弱环节。

符乐安找到了将Java代码转换成Web代码与安卓代码的方法,为产品的快速实现铺平了道路。尽管没有增加人力编制,也未具备Web开发技能,但团队成员选择在非工作时间进行研究与开发,初期项目立项并不明确,只是为了释放开发和测试人员。他们的共同目标在于打造一款无需安装,功能多样且能迅速在手表上展示效果的表盘制作工具。

张罗和晏楚男开始学习Web与后台技术,逐渐转变为全栈工程师。姚聪作为安卓底层多媒体专家,他的技术日益精进,在表盘工具的研发中解决了一个又一个渲染引擎问题。

图2展示了产品团队探索智能穿戴设备跨平台技术的产品设计研发。部分成员已经成长为全栈工程师,最近他们又在尝试新的领域——运动AI算法。

考虑到用户对工具安装、下载和使用时的便捷性,团队最终选择了Web作为开发方式,使得用户可以在任何系统平台上轻松使用,用完即走。Pacewear的产品开发团队致力于解决以下难题:如何实现跨Web与Android平台?需要支持哪些表盘元素?如何在工具中准确表达状态?如何高效地制作、展示效果并完美还原到手表上?产出的是什么?能否直接用于真机测试?

为了实现跨平台运行,团队进行了多项预研,最终决定以轻量级、跨平台的开源项目Libgdx为基础架构应用,整体框架如图3所示。

内容重构及段落结构:

LibGDX层是整个应用的基石,它实现了libgdx各平台的标准接口,确保了多平台之间的兼容性。WatchEditorModel作为表盘编辑器的核心业务逻辑层,基于LibGDX和LibGDXAdapter构建,并针对编辑器需求进行了功能封装。这一层同时适用于Web和Android端。Application应用层则通过调用WatchEditorModel来管理和展现最终效果,实现跨平台的统一体验。

1. LibGDX:

- 核心职责包括渲染显示表盘内容和资源管理,在原生基础上对3D渲染性能进行了优化。开发者针对手表系统进行了多项优化,旨在降低功耗并提升性能。

2. LibGDXAdapter:

- 该层是实现框架跨平台的关键环节。针对不同运行平台,它提供了相应的基础接口,并利用相应平台的编译工具生成可执行文件。原理图展示如4所示。

图4 跨平台原理

WEB平台:

- 使用GWT编译器编译HTML+JavaScript代码,实现代码在Web服务器上的部署,并通过浏览器访问。

ANDROID平台:

- 依托Android SDK提供的API,以及ANT等工具将Java源代码编译成Android平台识别的dex文件,再打包为apk文件,可直接安装到Android设备上运行。

3. WatchEditorModel:

- 负责表盘编辑器的主要业务逻辑,包括控制图层、管理动画、处理事件等。

4. Application:

- 终端应用层,涉及网页端与手表端的运行逻辑及其与平台的紧密耦合。

表盘元素分析:

通过收集市场上的智能表盘数据,我们总结了常见的元素类型,如时间(数字时间、模拟时间)、日期(年、月、日、星期)、天气(温度、状态)、步数、电量等系统数据、背景图片等。与传统表盘相比,智能手表的复杂度有了显著变化,对比两种表盘的元素类型差异如表2所示。

他们的状态如何?

- 观察元素状态后,我们归纳出以下分类:

- 绑定了系统状态信息和功能的组件

- 完全静止的图层

- 包含动画的元素或在某些条件下会活动的图层

工具的制作和展示效果的过程,以及如何在网页上实现所见即所得的实时预览功能,是整个项目的核心所在。然而,如何将网页上的设计效果精确无误地复现到手表上,成为了一个技术上的难题。为了解决这个问题,团队决定采用一种名为“表盘数据压缩包”的方法,通过这个压缩包来连接网页端与手表端的交互桥梁,确保设计的效果能够完美地在手表上展现。

图5展示了这一设计的流程,从表盘描述xml文件、图片资源到Shader脚本,每一个元素都承载着不同的信息和功能,共同构成了完整的设计内容。特别是Model(模型)的使用,它主要是四边形的平面模型,而Material1与Material2则关联到了同一Shader对象,这是由于它们共享了相同的材质属性。

接下来,讨论了表盘数据压缩包中各类资源的具体作用和客户端(网页和手表)如何使用这些资源。例如,表中的描述xml文件记录了图层结构、事件类型和动画属性等关键信息;图片文件则包含了各图层显示对应的图片资源,使得设计效果得以直观地呈现;而Shader脚本则是通过Opengl或Webgl来实现基本绘制和特效的编写,确保了设计的动态性和交互性。

特别值得一提的是,图中提到的Model主要是四边形的平面模型,而这种模型的创建和编辑过程需要一定的技术知识。Material1与Material2因为具有相同的材质属性(Attribute),所以在处理时会直接关联到相同的Shader对象,从而保证了设计的一致性和连贯性。

最终,团队的目标是实现一种彻底解放开发、可以直接投入使用的工具形态。为此,他们将制作的表盘打包成对应的Apk格式,并通过生成二维码的方式让用户在手机上直接安装到手表上,实现了无缝的跨平台体验。

在这个过程中,Pacewear CEO文博和PaceOS技术负责人黄石柱提出了使用二维码的方式来发布和分享自己的表盘的想法。这个想法得到了Sendy的认可和支持,并在深夜实现了这项功能,展现了团队在紧急时刻迅速响应、创新解决问题的能力。

然而,尽管团队取得了一系列进展,但要使工具完全成型并投入实际应用,还有不少挑战等待着他们去克服。这包括进一步优化用户界面和交互设计、提高应用的稳定性和性能、以及确保安全性和隐私保护等方面。

在研发同学们开发出第一版工具Demo的过程中,他们遇到了一些之前没有考虑到的问题,这些问题直接决定了最终产出的表盘是否能够上线使用,是否能够和正常开发流程产出的表盘达到一样的效果,甚至更强。为了解决这些问题,同学们开始组织Pacewear内部的表盘设计比赛,目的是通过大家对工具的反复使用,发现并解决问题。这里将列举三个典型问题进行简单阐述,从这些问题中,同学们逐渐找到了让工具更成熟更易用的办法。

问题一:动态阴影

在使用第一版工具做出第一个指针表盘的时候,大家发现它和真实的传统表盘有很大的差距。经过对比,同学们发现传统表盘自身和环境光的反射造成了非常真实而又强烈的立体透视感和层次感。这是平面表盘所达不到的效果。针对这个问题,同学们主动加上了解决方案:为指针增加动态阴影,通过模拟传统表盘指针在固定光源照射下的阴影效果,让指针类型的表盘获得更真实更生动的效果。如图8所示。

图8 星球表盘指针动态阴影效果

问题二:字体问题

表盘当中为了不同的视觉效果,往往在数字和英文表达上,设计师会采用很多漂亮的字体。一个字体包的大小有2-3M,更大的甚至有5-6M。除了数字和英文外,表盘上出现的文字如汉字等较少,因此如果能将完整的字体包仅保留数字和英文包就会小很多。而设计师希望使用的特殊字体,则可以通过加载的方式加入到工具中,也可以投入使用了。这样研发同学们又主动加上了两个解决方案:1、内置并支持上传字体;2、自动裁剪字体包。让字体在表盘上得到广泛使用的同时,又保证了包的大小不会增长。

问题三:安装包大小的问题

尽管裁剪了字体的大小,但是最终导出的App,要比正常开发出来的表盘大了3-4倍。经过分析,为了让表盘能够正常运行,研发同学们在包体中加入很多的基础引擎代码。而这些代码每个表盘都会使用。于是大家开始思考,抽离公共代码,让表盘包变成可被加载的资源包存在。经过试验,最终导出的表盘由2M可以缩小到500K以内。这个问题的解决,使得工具制作的表盘,在用户真正下载使用时,下载安装的速度和开发者开发并优化后的表盘体验一致。

在历经一系列挑战,并成功解决之前未料想到的用户反馈问题后,工具的成熟度显著提升。这一转变不仅改善了其外观设计和性能指标,同时也促进了研发团队的技术成长和对相关技术的深入理解。尽管过程中充满艰辛,但研发团队通过明确的目标设定、试错过程的持续进行以及后期的功耗与性能优化,最终使工具得以承担起开发任务。

整个工具的开发周期被压缩为:设计2小时,制作5分钟。这一高效率的开发流程得益于前期清晰的功能定义、中期的不断试验与修正,以及后期对功耗与性能的精细调优。同时,由于编辑器App采用公共代码,其在性能上得到了良好的保障,进一步减轻了测试团队的工作负担。

在实际使用中,一旦设计师提出需求,工具能够在极短的时间内完成表盘的设计与制作。从设计构思到自测上线,整个过程仅需1至2天(主要花费在设计和素材的准备上)。因此,这款“2小时设计,5分钟制作”的工具堪称开发神器。

表盘工具体验链接:http://watcheditor.pace.qq.com (复制链接在浏览器中打开)

图9展示了表盘工具中的我的表盘列表。

项目能够顺利实施的原因总结如下:

- 渲染绘制技术功底扎实

- Pacewear的研发团队在移动客户端的渲染与绘制技术方面具备扎实的基础与深厚的经验,追求技术精进的氛围使得项目少走了许多弯路。

- 学习新技术的意愿强烈

- 团队成员对于学习新技术的热情极高,将表盘编辑器的开发视为一个共同的追求。

- 产品经理与研发团队的密切合作

- 产品研发过程初期就深度互动,共同研究竞品和讨论技术架构方案,而非传统的产品先行、研发后继的模式。

- 架构设计上的平衡策略应用得当

- 在众多竞品和方案中权衡选择,优先发展跨平台能力和个性化定制能力,确保了架构设计的合理性。

展望未来,表盘工具已经大幅提高了精品表盘的生产效率。然而,目前工具的使用门槛仍然较高,高质量设计稿是基础,且学习成本存在。因此,未来计划提供更加丰富的基础素材库,降低用户的DIY门槛;并通过利用跨平台架构的优势,快速部署到移动端,实现预览和传播。同时,将增加脚本语言绑定,支持更灵活细致的设计还原。

只需轻轻点击微信中的扫一扫功能,即刻就能在您的朋友圈中看到一款款精心制作且效果逼真的表盘h5仿真。这款仿真表盘不仅忠实地再现了传统手表上运行的真实状态,更提供了一种简单而直观的方式,让每个人都可以动手DIY出独一无二的专属表盘。若想体验更为全面和强大的定制功能,推荐您使用电脑端的专业工具亲自进行操作。毫不夸张地说,只要您敢想,就没有它做不到的效果。

如果您觉得我们的内容有价值,不妨将它分享至朋友圈,邀请好友一起探索这一趣味无穷的创意世界吧~