Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Agenda - What is Wear OS? - LINE app on Wear OS - Challenges - Key takeaways

Slide 3

Slide 3 text

What is Wear OS?

Slide 4

Slide 4 text

LINE App History 2021 ? 2014 iPad FirefoxOS Chrome Browser 2012 BlackBerry 2015 Watch OS Windows Mac 2013 Windows Phone Nokia Asha Firefox OS 2011 Android iOS

Slide 5

Slide 5 text

- Wear OS 3.0 - Standalone app - Has basic features of LINE app - Ensure the security of LINE app - Login by QR Code LINE app on Wear OS

Slide 6

Slide 6 text

Development process Focus on one or two needs of the target users Share business logic with Android project Make sure to meet Google's standard Use the Multi-APK delivery method because we already have LINE Android app on Play Store Implement Test Publish Design

Slide 7

Slide 7 text

New Device Specs Optimized for the wrist ~1.5 inch Screen Small ~400mAh Battery Low ~16GB ~1.5GB RAM Memory Low

Slide 8

Slide 8 text

- New UI/UX - Notifications - Sync data with Android app - Battery usage - Network usage Challenges

Slide 9

Slide 9 text

New UI/UX

Slide 10

Slide 10 text

UI/UX - Use Wear OS UI Library from Android Jetpack. - Must test Wear OS app against emulators: Wear OS Square 1.65” and Wear OS Round 1.84”.

Slide 11

Slide 11 text

BoxInsetLayout - A screen shape-aware ViewGroup

Slide 12

Slide 12 text

Swipe-to-dismiss gesture - Activities automatically support swipe-to-dismiss. - SwipeDismissFrameLayout.

Slide 13

Slide 13 text

WearableRecyclerView - WearableRecyclerView RecyclerView WearableRecyclerView

Slide 14

Slide 14 text

Notifications

Slide 15

Slide 15 text

Notifications Notifications are bridged Notifications from Android app Notifications of Wear OS app

Slide 16

Slide 16 text

Notifications on LINE app Installed LINE Android app No LINE notifications on Wear OS Logged in same account No Show LINE notifications on Wear OS Yes Disable bridged notifications from LINE Android app No Connected to Phone via BLE Yes Yes No

Slide 17

Slide 17 text

Disable bridged notifications

Slide 18

Slide 18 text

Disable bridged notifications

Slide 19

Slide 19 text

Sync data with Android app

Slide 20

Slide 20 text

Need data from LINE Android? - Get quick replies from LINE Android settings. - To check if LINE Android and Wear OS apps are logged in using same account.

Slide 21

Slide 21 text

Sync data between Android and Wear OS Data Client Message Client Channel Client Data size >= 10KB < 10KB < 10KB Connection type Network Bluetooth Bluetooth Send data from one device to another device No, from the cloud to all the nodes Yes Yes, for both one way requests and bi- directional requests

Slide 22

Slide 22 text

Get data from Android App WearableListenerService Android Wear OS Bluetooth

Slide 23

Slide 23 text

Battery usage

Slide 24

Slide 24 text

Data update on LINE Android time Foreground Background FirebaseMessagingService Fetch new data Fetch new data interval Decrypt data Save data to DB Update UI … onMessageReceived() Show notifications … Fetch new data Decrypt data Save data to DB Update UI …

Slide 25

Slide 25 text

Data update on LINE Wear OS time Foreground Background Fetch new data Fetch new data interval Decrypt data Save data to DB Update UI … No background services

Slide 26

Slide 26 text

Battery usage comparison Using Battery Historian Wear OS ~361mAh Android ~4000mAh Used 1.444mAh Used 60.0mAh

Slide 27

Slide 27 text

Network usage

Slide 28

Slide 28 text

Network on Smartwatch Mobile data/Wifi Bluetooth Mobile data/Wifi

Slide 29

Slide 29 text

Reduce network usage - Only show the thumbnail of image, don’t download the original image. - Disable fancy features like animated sticker, gif images. - Limit supported message types.

Slide 30

Slide 30 text

Network usages Only support some basic types and disable some features Android Wear OS Text Yes Yes Sticker Yes Yes Disabled animated or popup/sound effects Image Yes Yes Only show thumbnail Audio Yes Yes 30 seconds recording duration limit Video Yes No

Slide 31

Slide 31 text

Network usage comparison When receive same image message Android Wear OS

Slide 32

Slide 32 text

Memory allocation Memory allocation on the chat screen Android Wear OS

Slide 33

Slide 33 text

Key takeaways - Content fits within the physical display area: Circle and Square. - Give users the content they need every time they raise their wrist. Optimize for the wrist Pay attention to optimizations - Take full advantage of Android app version: data, Bridged Notifications. - Our users cares much about battery, network, and memory usage. Enough is good as a feast - Focus on one or two needs of the target users.

Slide 34

Slide 34 text

Thank you