February 2013 SmartWatch Specification *All implied warranties, including without limitation the implied warranties of merchantability or fitness for a particular purpose, are excluded. In no event shall Sony Mobile or its licensors be liable for incidental or consequential damages of any nature, including but not limited to lost profits or commercial loss, arising out of the use of the information in this document.
Copyright 2013 Sony Mobile Communications AB. All rights reserved. Xperia is a trademark of Sony Mobile Communications AB. Other brands, company or product names mentioned herein are trademarks of their respective owners. You are hereby granted a limited license to download and/or print a copy of this document for personal use. Any rights not expressly granted herein are reserved. First edition (February 2013) This document is published by Sony Mobile Communications AB, without any warranty*. Improvements and changes to this text necessitated by typographical errors, inaccuracies of current information or improvements to programs and/or equipment, may be made by Sony Mobile Communications AB at any time and without notice. Such changes will, however, be incorporated into new editions of this document. Printed versions are to be regarded as temporary reference copies only.
Preface Developer World For the latest technical news, tutorials and development tools go to. About this document This document contains hardware and software specifications for SmartWatch, describing its capabilities and characteristics. It is intended for developers who want to develop Smart Extension apps for SmartWatch. To make the best of this document, you should be familiar with the concepts described in the Specification for Smart Extension APIs document. We also recommended you to look at the code examples described in the Tutorial for Smart Extension code examples document. User interface guidelines can be found in UI guidelines for use of the Smart Extension APIs document. All these documents are included in this documentation kit. Document conventions Typographical conventions Code is written in Courier New font: <action android:name="com.sonyericsson.intent.action " /> Entity references to applications and their components are written in italics: TheApplication, TheBroadcastReceiver, AndroidManifest.xml Placeholders to be replaced with real values are written in italics within angle brackets: <your class> 3
Document history Change history 2013-02-01 Version 1.1.0 New template 2012-01-01 Version 1.0.0 First version 4
Contents SmartWatch... 6 API compatibility... 6 Display... 7 Battery... 8 Accelerometer... 8 Background process... 8 Market description... 9 Trademarks and acknowledgements... 10 5
SmartWatch SmartWatch is a touch screen accessory that uses Bluetooth to communicate with the phone. It is equipped with: Vibrator Accelerometer Button (not accessible to applications) Figure 1. SmartWatch. API compatibility The SmartWatch is compatible with the following Smart Extension APIs: Registration and capabilities API Notification API Control API Sensor API Widget API 6
These features are not accessible when developing Smart Extension appsfor SmartWatch. These features are only accessible from the smartphone: LED Keypad Text to speech The SmartWatch has two user interface levels with Smart Extension apps; the application level and the widget level. The application level (see Figure 1) shows all Smart Extension apps that use the Control API or Notification API. We do not recommend that you use both the Control and the Notification API in an Smart Extension app, because then it will not be possible to specify what happens when a user taps the application icon. The widget level shows Smart Extension apps that use the Widget API. For Smart Extension apps that use the Notification API, but not the Widget API, the host application automatically generates a widget. Widgets for notification Smart Extensions apps are disabled by default, but can easily be enabled in the host application settings. Display The SmartWatch display is 128 pixels wide, 128 pixels high and has 65536 colours. A control Smart Extension app is in control of the entire display. The images are sent as RGB565 (no alpha) to the accessory, so it is recommended that you use Bitmap.Config.RGB_565 for the bitmaps drawn by the Smart Extension app. Images from other sources should not have a transparent background. When showing a widget, the accessory renders the status bar whereby the area controlled by the Smart Extension app is 128 pixels wide and 110 pixels high. To be able to cache widget images, the host application reduces the colour depth of widget images to 1024 colours. This Smart Extension app sends its images to the host application that converts the images to a format supported by the accessory. Images sent to the host application should be in.png format. For a control Smart Extension app, the SmartWatch supports both tap touch (through CONTROL_TOUCH_EVENT_INTENT or ControlExtension.onTouch()) and swipe motions (through CONTROL_SWIPE_EVENT_INTENT or ControlExtension.onSwipe()). For a widget Smart Extension app, only tap touch is available (through WIDGET_ONTOUCH_INTENT or WidgetExtension.onTouch()). A swipe motion that is too short can be interpreted by the accessory as a tap event. To avoid that a widget reacts on that type of event, we recommend that a widget only reacts to touch events that are inside the 80 by 80 pixels square in the display centre. You achieve this by checking that a touch point is inside the rectangle defined in SmartWatchConst.ACTIVE_WIDGET_TOUCH_AREA. 7
If the widget has a dedicated button outside the active touch area, like the WALKMAN music player where the play pause state can be toggled by tapping the play pause icon, taps on that button should of course be handled even though they are outside the active touch area. Battery SmartWatch is a high performance smart accessory, and it is therefore important to use the battery power wisely. The host application and the Sony Add-on SDK include some functionality to preserve the battery. It is also important that the Smart Extension app follows these recommendations: Don t use too much white colour in your images. Control Extension: avoid sending full screen images when it is not necessary (send partial screen-updates instead). Control Extension: avoid using Control.SCREEN_STATE_ON. Control Extension: When using a sensor; use SensorInterruptMode.SENSOR_INTERRUPT_ENABLED to only receive sensor data when the sensor has changed. Accelerometer The accelerometer in SmartWatch is available to the control extension that is currently started. If the control is paused, for example due to that the screen timeout is reached, the power button is pressed or another control extension is started, the sensor will also be stopped. If the control extension wants to continue receiving sensor information it should use SCREEN_STATE_ON, SCREEN_STATE_OFF or SCREEN_STATE_DIM. Background process All Smart Extension apps are run in a service. Android treats services as background processes. Android has a limitation on the number of background processes that can be run simultaneously. When this limit is exceeded, the Android system stops the least recent used process. This can happen even if the Smart Extension app is currently showing on the display, since the Android system is not aware of this. Normally this is not a problem for Smart Extension apps that are only shown for a short while and that the user is directly interacting with. The helper classes in SmartExtensionUtils also contain some functionality to help an Smart Extension app recover if it was stopped when the user was interacting with an event. 8
For Smart Extension apps running for a longer time and which should not be interrupted, you can use Service.startForeground() to make the system consider it to be something the user is actively aware of. The side effect is that a notification is shown in the status bar as long as the service is in foreground state. Google Play description The Sony Add-on SDK does not only mean you can create new exciting use cases that might give you the extra edge on competition. It will also give you extra visibility as SmartWatch users will be able to filter out your apps on Google Play through Smart Connect. Smart Connect can be installed by all phones (including other brands) running Android, which gives you as a developer a huge potential user base Users can search for compatible Smart Extension apps via the host application. Your Google Play description should end with \n\nliveware extension for SmartWatch to ensure that your Smart Extension apps are found. 9
Trademarks and acknowledgements Sony, "make.believe" is a trademark or registered trademark of Sony Corporation. Ericsson is a trademark or registered trademark of Telefonaktiebolaget LM Ericsson. Android and Google Play, are trademarks or registered trademarks of Google Inc. Bluetooth is a trademark or registered trademark of Bluetooth SIG, Inc. All other trademarks and copyrights are the property of their respective owners. 10