break timer: android-wear introduction and application case-study
Post on 28-Nov-2014
440 Views
Preview:
DESCRIPTION
TRANSCRIPT
Android Wearintroduction, concepts and case-study
Agenda • Android Wear Introduction
• Capabilities and User Interface
• How to create Android Wear UX
• Development case study
• Make your application android-wear ready
• Potential Use Cases
Android Wear Concept
• Android extension for wearables
• Automatic, specific, glanceable information, with zero or low interaction!
• Showing users information and functionality just when they need it
Android Wear Basics• Require android >= 4.3 on phone (or tablet)
• Require android-wear companion app on phone
• Phone and wearable communicate with each other via bluetooth.
• Wearable uses handheld device internet connection and GPS.
• Currently available sensors on wearables are Compass, Accelerometer, Gyroscope, Heart Rate Sensor (Samsung only)
Android Wear Capabilities
• Generate notifications from phone and react them on wearables.
• Embed voice capabilities for getting user input.
• Create standalone apps for wearable (like compass, steps counter etc)
• Almost whole android sdk is available for development!
Android Wear UX
Android Wear UX Considerations
Android Wear UX Considerations
• Glanceable
• Can user see it in split second?
Android Wear UX Considerations
• Big Gestures
• Use it without focusing on watch!
Android Wear UX Considerations
• Launched Automatically
• Right information at right time
Android Wear UX Considerations
• Do one thing, do it fast
• Show absolute minimum, actionable information
Android Wear UX Considerations
• Is it time to disturb?
• It is on wrist, its always visible, its difficult to avoid!
• Buzz the watch fewer times that you would do on phone!
Android UX Applied
Lets see some examples
http://time.com/2964389/android-wear-watch-review/
Development Case-Study
Android Wear case study
Why we did this
• Keep ourselves updated, so we can help our clients better.
• Wearable has a lot of potential to grow.
• Android Wear is the first disciplined approach from Google to bring Android to wearables
• Explore Android Wear; discover use-cases and create a good example app that cannot be done without Watch!
Problem: If you use computer for 3-4 hours a day and sit continuously in a similar posture, you are at risk of RSI (Repetitive Strain Injury).
What is RSI: Repetitive strain injury (RSI) is a condition where pain and other symptoms occur in an area of the body which has done repetitive tasks (often the arms or hands).
Android Wear case study
Break Timer
How to avoid RSI: There can be several techniques, the most basic one is to take regular breaks!
The Solution: Break Timer sits silently on your wrist and remind you to take break if you have been typing for long intervals.
Uses the accelerometer available on watch to see if you are continuously typing.
Break Timer - case study
Break Timer - case study
Break Timer - case study
Typing indicator
How to make your app wear-ready
How to make your app wear-ready
• Integration Method
• Potential issues during development
• Coding Tips
Enhanced Notifications• Single Notification
• Can have multiple actions
• Appears by default, with only action “Open on phone”.
Single Notification
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_event)
.setLargeIcon(BitmapFactory.decodeResource(
getResources(), R.drawable.notif_background))
.setContentTitle(eventTitle)
.setContentText(eventLocation)
.setContentIntent(viewPendingIntent)
.addAction(R.drawable.ic_reply,
getString(R.string.map), replyPendingIntent)
.setStyle(bigStyle);
Enhanced Notifications• Stacking Notification
• Instead of displaying multiple notifications, stack them together in one group
Stacking Notification
final static String GROUP_KEY_EMAILS = "group_key_emails";
!
// Build the notification, setting the group appropriately
Notification notif = new NotificationCompat.Builder(mContext)
.setContentTitle("New mail from " + sender1)
.setContentText(subject1)
.setSmallIcon(R.drawable.new_mail);
.setGroup(GROUP_KEY_EMAILS)
.build();
Enhanced Notifications• Add Pages to Notification
• To provide more information without requiring users to open your app on their phone, you can add pages to the notification.
Add Pages to Notification// Create builder for the main notification NotificationCompat.Builder mainPage = new NotificationCompat.Builder(this) …………
// Create a big text style for the second page BigTextStyle secondPageStyle = new NotificationCompat.BigTextStyle(); secondPageStyle.setBigContentTitle("Page 2") .bigText("A lot of text...");
// Create second page notification Notification secondPageNotification = new NotificationCompat.Builder(this) .setStyle(secondPageStyle).build();
// Add second page with wearable extender and extend the main notification Notification twoPageNotification = new WearableExtender() .addPage(secondPageNotification) .extend(notificationBuilder) .build();
// Issue the notification notificationManager.notify(notificationId, twoPageNotification);
Enhanced Notifications
Notification mNotification = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.appicon) ….. .setCustomSizePreset(NotificationCompat.WearableExtender.SIZE_FULL_SCREEN) .setDisplayIntent(displayPendingIntent).build()
Full Screen Notification with embedded Activity
Enhanced Notifications
• Custom Button • Default Open Button
Communication
private GoogleApiClient mGoogleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Wearable.API) .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { Log.d(TAG, "Google Api Client connected"); } ! @Override public void onConnectionSuspended(int i) { } }).build(); mGoogleApiClient.connect(); }
• Sending and Syncing Data
How to make your app wear-ready
• Integration Method
• Potential issues during development
• Coding Tips
Potential Issues• Redundant Permissions
• Cached APK
• Problems with emulators
• No accelerometer
• Round emulator is not as good as square counter part.
Potential Issues
• Redundant Permissions
• Include all permissions in your handheld device that you need to use in watch.
• Otherwise, it will not auto install the embedded apk
Problems faced
• APK cache
• After lot of try and error, we found that the handheld device was somehow caching and pushing old APK to watch
Problems faced• Round emulator is not as good as the
square counter part.
Round emulator being displayed as square
How to make your app wear-ready
• Integration Method
• Potential issues during development
• Coding Tips
Coding Tips
• Use common module for keeping models and constants.
Coding Tips• Should implement some logic on both mobile
and watch to handle disconnect issues
Coding Tips
Notification mNotification = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.appicon) ….. .setCustomSizePreset(NotificationCompat.WearableExtender.SIZE_FULL_SCREEN) .setDisplayIntent(displayPendingIntent).build()
• Embedded Activity in notification with different sizes
Potential Use Cases
Potential Use CasesHealth Industry
• Wearables makes it easy to measure body movements and other aspects!
• Patient data can be embedded on wearable.
• Continuous monitoring of patient is possible including,
• Their heart-beat
• Intensity of activity
• Fall detection
Potential Use CasesWorkspace
• Help your employees being healthy.
• Research towards working patterns.
• Other automations like attendance, secure entrance.
Potential Use Cases
Gaming
• Use your wearable as Game controller.
• Can ask user to perform some physical activity.
Recap• Android Wear is an android extension for wearables, maintained by Google.
• The major concept is to avoid distractions and keep the interaction with gadgets to minimum
• Android-wear is only meant to work with its companion device.
• Since wearables are attached to body, they can provide additional useful context related to user’s current physical state or health.
• Its easier to integrate Android Wear functionality in your app, though you need to think wisely.
• The additional data and positioning creates many potential use cases in several industries for example health, employment and gaming.
Thank you
https://play.google.com/store/apps/details?id=com.media2359.breaktimer
Case Study Blog http://2359media.com/android-for-wearables-opportunities-and-limitations-of-watch-apps/
top related