$30 off During Our Annual Pro Sale. View Details »

On the Wear OS, How We developed LINE Application

On the Wear OS, How We developed LINE Application

LINE DEVDAY 2021

November 11, 2021
Tweet

More Decks by LINE DEVDAY 2021

Other Decks in Technology

Transcript

  1. View Slide

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

    View Slide

  3. What is Wear OS?

    View Slide

  4. 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

    View Slide

  5. - 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

    View Slide

  6. 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

    View Slide

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

    View Slide

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

    View Slide

  9. New UI/UX

    View Slide

  10. 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”.

    View Slide

  11. BoxInsetLayout
    - A screen shape-aware ViewGroup

    View Slide

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

    View Slide

  13. WearableRecyclerView
    - WearableRecyclerView
    RecyclerView WearableRecyclerView

    View Slide

  14. Notifications

    View Slide

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

    View Slide

  16. 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

    View Slide

  17. Disable bridged notifications

    View Slide

  18. Disable bridged notifications

    View Slide

  19. Sync data with Android app

    View Slide

  20. 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.

    View Slide

  21. 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

    View Slide

  22. Get data from Android App
    WearableListenerService
    Android Wear OS
    Bluetooth

    View Slide

  23. Battery usage

    View Slide

  24. 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

    View Slide

  25. 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

    View Slide

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

    View Slide

  27. Network usage

    View Slide

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

    View Slide

  29. 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.

    View Slide

  30. 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

    View Slide

  31. Network usage comparison
    When receive same image message
    Android
    Wear OS

    View Slide

  32. Memory allocation
    Memory allocation on the chat screen
    Android Wear OS

    View Slide

  33. 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.

    View Slide

  34. Thank you

    View Slide