Five important tips to boost your SmartWatch 2 app development

We recently published some developer tutorials on how to add SmartWatch 2 (SW2) support to the first SmartWatch (MN2) extensions and how to create a SmartWatch 2 app extension. Now, we’d like to bring you additional information on best practices for your SmartWatch 2 app development, covering topics that range from how much data your app extension sends to recommended resolutions to display considerations. Keeping these five important tips in mind during your development can help minimise potential bugs, make your app extension more compatible with the new SmartWatch 2 features, and ensure overall that your SmartWatch 2 app will work smoothly.

Whether you’re starting from scratch or you’re in mid-development, here are a few tips to keep in mind when working with the new version of the Sony Add-on SDK. This is an add-on for the standard Android SDK that gathers a number of Sony APIs used for app development, including the APIs used for Smart Accessories, called Smart Extension APIs.

#1 – Don’t send too much data to the watch
When developing for a wearable device, like the SmartWatch 2, it is extra important to consider battery consumption and processing power. For example, sending several full screen images per second will likely create an ever-growing queue of data, and the display on the watch will fall further and further behind. In addition, if the SmartWatch gets too frequent screen updates, it will cause the battery to drain unnecessarily fast.

#2 – Use a resolution of 220 x 176 pixels
The screen of the SmartWatch 2 has a resolution of 220 x 176 pixels, and the entire screen is available to an extension that uses the Control API. You can provide crisper graphics if your extension draws its control using the resolution of 220 x 176 pixels. Also, the extension icon used in the home screen of SmartWatch 2 is 48 x 48 pixels. When registering, the extension can provide this icon using the new constant defined by ExtensionColumns.EXTENSION_48PX_ICON_URI. Finally, try not to place buttons or icons too close to the edge of the screen, as the touch isn’t as sensitive closer to the edges.

#3 – Tap touch and swipe motions can control the displayA SmartWatch 2 extension that uses the Control API is in control of the entire display. For a Smart Extension app that uses the Control API, the SmartWatch supports both tap touch (through CONTROL_TOUCH_EVENT_INTENT, CONTROL_OBJECT_CLICK_EVENT_INTENT, CONTROL_LIST_ITEM_CLICK_INTENT or ControlExtension.onTouch()) and swipe motions (through CONTROL_SWIPE_EVENT_INTENT or ControlExtension.onSwipe()).

#4 – Publishing on Google Play™
If you create a SmartWatch 2 extension, you can get a lot of great exposure by making your app show up when end users are searching for compatible apps through Smart Connect (technically from the host application, but in the Smart Connect user interface). From here, users can find all compatible apps filtered from Google Play™.

To make your app show up in the pre-defined Google Play™ search, just make sure the Google Play™ description for your app includes the following string (we recommend at the bottom, on its own line):

Smart Connect extension for SmartWatch 2

#5 – Additional general considerations
Some additional considerations that you should further keep in mind include:

  • An extension using the Control API may only have one simultaneously visible ListView or Gallery.
  • SmartWatch 2 can store and show up to 30 events for an extension.
  • When drawing on SmartWatch 2 using a layout, the maximum number of views that can be shown simultaneously on the screen is 50.
  • The vibrator on SmartWatch 2 has the following specifications: a minimum runtime of approximately 250 ms, a run-down time of 250 ms, and a maximum continuous time of six seconds. After six seconds, the vibrator will automatically turn off to conserve battery.

***

We hope to see your SmartWatch 2 extension on Google Play™ soon. If you have any questions, feel free to drop us a line in the Comments field below, and we’ll get back with an answer as soon as we can.

More information

Comments 10

Sort by: Newest | Oldest | Most popular

  1. By Balaji Nadupuru

    #1

    Hi, Is there any way to perform the bi-directional communication between the smart watch and mobile app.

  2. By milad alizadeh

    #2

    hi im from iran i a buy sw2 but i cant see farsi text on sw2 please help me

  3. By Dan McCarthy

    #3

    Please add ‘shake wrist to brighten screen’ functionality. Please allow developers to create standard watchfaces that work along side the Sony ones; Not watchface apps that drain the battery faster.

    • By Joe Padre

      #4

      Hi Dan,
      Thanks for your feedback. We will forward your suggestion to our internal teams for further consideration.
      Best regards,
      Joe from Developer World

  4. By Eir Apps

    #5

    I’m sorry to say that the current APIs are quite buggy, and Sony’s team is does not seem to be on the haste to solve the problems. Let me amend your advices

    On your #3: as opposed to the API for the previous SmartWatch, the SmartWatch 2 API has no consistent way of handling touch input. More precisely: TOUCH_ACTION_PRESS events are not followed by TOUCH_ACTION_RELEASE events, as it used to be a case. Contrary, on the new SmartWatch 2 a TOUCH_ACTION_PRESS can be followed by a SWIPE gesture, for example. This inconsistency and illogical behaviour of the API makes life more difficult for developers, as it is required that the apps for SmartWatch 2 follow a different logic than the apps for the older SmartWatch.

    On your #5: there are number of serious bugs related to the use of ListView and Gallery, I’ll mention just a few:
    A) If you switch from the ListView to drawing using the showBitmap() method, then some List items remain on the screen, regardless of what you draw using showBitmap() afterwards! And those items are not only visible, but they also react to user input – they can be touched, dragged etc.
    B) If you’re using the show Bitmap() method, you can forget about providing menu options, they will just either not work at times, or not work at all.
    C) If you get the menu to show, the app screen will not remain in background, but the background would turn to black…

    The most sad thing about all these problems is that I’ve reported them to Sony’s SW dev team TWO MONTHS ago, and I don’t see they’ve done anything about it. On the contrary, I see that Sony’s support team is just trying to put the problems under the carpet, by closing the issues without even examining them.

    The ones who suffer are the users, and I’ve received many complaints from them, as they feel they’ve purchased a crippled product. Until now, I’ve always replied in an optimistic manner, that Sony will issue a fix in the next update, but my optimism begins to cool down, I must say.

    • By Joe Padre

      #6

      Hi Eir,
      Thanks very much for providing this valuable feedback. I have forwarded these points to the SW Engineering team to address and take care of.
      Best regards,
      Joe from Developer World

      • By Eir Apps

        #7

        Thanks Joe, I would be very grateful if you did that! I think those are minor issues to fix, but with a great impact on the user experience.

  5. By JOACHIM VON MEYER

    #8

    Hi,
    it seem the ROM on the first watches was more advanced. For example the old rom had more watch faces than the ROM on the SW2 shipped now. On my watch the function to activate the backlight by shaking is missing. Please see this video. The Sony product manager is actually saying “it takes movements” and she shakes the watch to activate the backlight.
    http://www.youtube.com/watch?v=hUi1Ai7rPj0
    Can you post the old ROM please?
    Thanks
    Joacim

    • By Dan McCarthy

      #9

      I’d really like an answer to this. If it’s an issue with battery life, why not then give us an option in the settings?

  6. By Ryota Murohoshi

    #10

    When smartwatch2 does not connect to Android phone, smartwatch2 can’t send data to Android.
    So I want to store some data or event like sensor data or tapped event temporarily.
    When smartwatch2 and Android re connect, smartwatch2 send data to Android.
    Is it possible?

    I tried SharedPreferences with emulator.
    I stored data with SharedPreferences at smartwatch2 in Accessory Emulator.
    I could store data.
    But, is it possible to store data in real device while disconecting too?

    And I worry the sentence in this article,
    #5 – Additional general considerations
    ・SmartWatch 2 can store and show up to 30 events for an extension.

    It seems that Smart Extension App can use Android API in How to use_the_Smart_Extension_APIs.pdf at Figure.4.

1-10 of 10 comments.