February 7, 2017

Apple Watch产品设计经验 FROM 去哪网

在参与2016WWDC过程中,听取了【去哪网】某位从业人员的关于Apple Watch产品设计技术相关的分享,将要点整理如下,作为学习提纲之用,供参考

文中Apple WatchOS应该是基于WatchOS 2.0版本,但某些设计和产品经验同样适用于Apple WatchOS 3.0.

初识 & 迷惘
  • Watch OS Glance?问题:状态展示?如何更新?有无用户交互?
    • 只适合进行时间相关的内容展现
    • 运营相关的内容意义不大,手表是效率工具
    • 使用类似健身记录的圆环展示方式并不适用于第三方App,最大的Lower也只有XXX像素
  • 色彩略单调,watch lib;
  • 人们不会一直使用某个App;
  • 操作要简单,10-30s完成;
  • 推送展现,只有watch在手上才会推送到watch上;
  • app group是什么鬼?现在常用于进行非实时简单数据通讯!
产品层面
  • 明亮色彩提升产品感受;
  • 尽量减少滚动,一屏展示所表现的内容;
技术层面
  • Phone & Watch代码复用
  • URL Schema做跳转协议,使用Extension和App的交互接口相统一;
  • 与iPhone App同步,使用MMWormhole触发,如退出登录等;
Apple Watch OS 2.0 Changes
  • App无法与Watch Extension共享Framework;
  • 不在要求运行Watch App时必须与手机处于联通状态;
  • MMWormhole仍然可用,但也可以使用WatchConnectivity替换(WatchConnectivity更推荐使用);
性能 & 优化

Network优化点

  • 使用压缩协议优化减少Request & Response
  • 隐藏不必要的JSON,需要什么给什么,不多不少
  • 发送对应的Watch大小的图片,38" or 42"
  • 对于List,针对Watch设定每一页的大小(经验值:5)
  • 对于UI团队提供的图片资源,图片尺寸要恰好适配Watch
    • App中使用setImageNamed
    • Watch中使用setImageData 性能考虑

UI性能

  • 减少UI复杂度,大简至美
  • WKInterfaceTable第一次加载的行数不要太多
  • 在RowController的willActivate方法中使用dispatch来请求图片

WatchOS 2.0 New Features

  • Digital Crown
  • ClockKit
  • Animation (还有很多局限)

WatchOS 3.0 New Features

  • The Dock
  • Stickiness
  • Gesture support
  • Direct access to the Digital Crown
  • Improved notification support
  • Extra large complications
  • Workout app improvements
  • Background App Refresh
  • Faster interactions
WatchOS开发中遇到的坑
  • 证书签名: WatchApp没有Build Setting
    • 解决办法: 手动修改project文件
  • WKInterfaceMap在1.0版本中内存泄露
    • 最终在第一版本中暂时去掉了Map
  • XCode 6.2 中的CI(xcodebuild)不支持导出带有Watch的archive
    • XCode7解决了这个问题

建议使用XCode自动去管理证书

Watch OS开发的优势
  • 了解新技术,Watch会逼着你用StoryBoard
  • Share Framework使用;
  • Watch的一些新技术和架构,可以看出苹果对新技术的一些态度及思考
    • 如WKInterfaceTable vs UITableView
参考链接

ENJOY~