SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Wearables development with Xamarin
Who are we?
Jonah Hulselmans
@jonahhulselmans
Gert Cominotto
@GertCominotto
gert-cominotto.be
• Xamarin
• Microsoft Band
• Apple Watch
• Android Wear
• Wearable Overview
• Code reuse
• Lessons learned / Heads up / Conclusion
• Q&A
Overview
Xamarin FormsXamarin
Microsoft Band
• Fitness Band, not a watch
• Compatible with WP, Android & iOS
• TILES TILES TILES!!!
• Microsoft Health App (Important!)
Microsoft Band
• Sensors
• Accelerometer
• Gyroscope
• Distance
• Heart Rate
• Pedometer
• Skin Temperature
• UV
• Band Contact (worn / not worn)
• Calories
• Galvanic Skin Response (Band2)
• Ambient Light (Band2)
• Barometer (Band2)
• Altimeter (Band2)
Microsoft Band
• Tools
• SDK
• Native SDK
• Xamarin Components
• Web Tile SDK
• Cloud API (Health Data API)
• Emulator?
• No code runs on the band
Developing for the Microsoft Band
What can you do with it?
Access sensors Tiles Personalization
• Pair it with your phone / pc via Bluetooth
Connecting to the device
Connection Demo
Accessing Sensors
DEMOSensors Demo
• Create & Manage Custom Tiles
• Tile notifications
• Dialogs
• Messages
• Custom layouts
Tiles
Tiles Demo
• You can change your band’s colors and theme …
Personalization
NO Demo!
• Background Tasks
• Only on Windows Phone (8.1 & 10)
• Custom Tile Events
• Requires Microsoft Health App
What else can you do?
Custom Tile Event Demo
Apple Watch
Apple Watch
• 38mm and 42mm
• Apple Pay
• Fitness / Health
• Notifications
• Apps
Apple Watch sensors
• Heart rate sensor
• Accelerometer
• Gyroscope
• Ambient light sensor
• …
Developing for the Apple Watch
• xCode / Xamarin Studio / Visual Studio
• Simulator
• Xamarin.iOS
• Watch OS 1 apps run on iPhone
• (Watch OS 2 apps run on the watch)
What can you do with it?
Notifications Glances App
Notifications
Short looks Long looks
Notifications demo
Deploy apps to the Apple Watch
• xCode and Xamarin Studio or Visual Studio
• Apple Watch is paired to your iPhone
• Provisioning profiles are setup correctly
• Deploy the app to your iPhone
Communication
• Call a method against the parent app
• WKInterfaceController.OpenParentApplication (from watch extensions)
• HandleWatchKitExtensionRequest (parent app)
• Share a storage location with the parent iPhone app
• NSUserDefaults
• WormHoleSharp
• https://github.com/Clancey/WormHoleSharp
Android Wear
• Stock Android!
• Works with Android & iOS
• Round or Square design
• Focus on
• Telling Time (Watch Faces)
• Notifications
• Google Now
• Apps
Android Wear
Android Wear Sensors (Varies per device)
• Tools
• Emulator?
• SDK
• Native SDK Android
• Xamarin.Android
• Code runs on the device
• Communicate with phone via API’s
Developing for Android Wear
What can you do with it?
Notifications Companion Apps Watch Faces
• Install Android Wear App on your device
• Follow the steps on the device to Pair it
Connecting to the device
Connection Demo
• Create Notifications
• Add Actions
• Wearable Specific Notifications / Actions
Notifications
Notifications Demo
• Main differences:
• Wearable apps are relatively small in size and functionality compared to
phone apps.
• Users don't download apps directly onto the wearable.
• 2 Modes -> Interactive and Ambient
Companion Apps
Companion App Demo
• MessageApi
• Send messages to other nodes. (Small payloads)
• DataApi
• Send data to other nodes (Bigger payloads like assets)
Communication Demo
Communication Demo
Wearable Overview
Microsoft Band Apple Watch Android Wear
Runs on Device No No Yes
User Input No Yes (Touch & Voice) Yes (Touch & Voice)
Sensors Yes Yes (Depending on Device)
Phone Requirements Bluetooth LE
(Windows, iOS & Android)
iOS 8.2 Bluetooth LE
(Android 4.3)
Publishing No separate store
WebTiles via Health App
No separate store
Deployed with Phone app
No separate store
Deployed with Phone app
• Not a great idea
• Too different architecture and capabilities
• Different way of connecting to devices
• Very custom experience per wearable
• But I deem it possible
Code Reuse
• The Xamarin Nuget packages didn’t support UWP 10 at first
• UWP App is coming in the next couple of weeks
• By far the easiest to develop for
• Excellent for when using sensors
• With more background tasks capabilities, good future
Lessons learned / Heads up / Conclusion
Microsoft Band
• Feels sluggish (Watch OS 1)
• Xamarin does not yet support watch OS 2
• (only on alpha channel)
• Certificates + provisioning profiles
• Disable “Enable device-specific builds” in the watchKitExtensions
project
Lessons learned / Heads up / Conclusion
Apple Watch
• Android wearable emulator = utter crap!
• If the Android emulator isn’t starting:
• emulator -avd ExampleVDName -debug-all -noaudio -nocache -wipe-data -dns-server 8.8.8.8
• Real device debugging isn’t much better… (long deploy times)
Lessons learned / Heads up / Conclusion
Android
Q & A
IS HIRING AN ANDROID DEV!

Weitere ähnliche Inhalte

Was ist angesagt?

Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application FrameworkYong Heui Cho
 
Modern_CPP-Range-Based For Loop.pptx
Modern_CPP-Range-Based For Loop.pptxModern_CPP-Range-Based For Loop.pptx
Modern_CPP-Range-Based For Loop.pptxMohammed Sikander
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)Nehemiah Tan
 
Flutter Road Map.pptx
Flutter Road Map.pptxFlutter Road Map.pptx
Flutter Road Map.pptxabdullahwale
 

Was ist angesagt? (6)

Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
 
Solr formation Sparna
Solr formation SparnaSolr formation Sparna
Solr formation Sparna
 
Modern_CPP-Range-Based For Loop.pptx
Modern_CPP-Range-Based For Loop.pptxModern_CPP-Range-Based For Loop.pptx
Modern_CPP-Range-Based For Loop.pptx
 
FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)FYPJ - Cerebral Android App Development (Report)
FYPJ - Cerebral Android App Development (Report)
 
Flutter Road Map.pptx
Flutter Road Map.pptxFlutter Road Map.pptx
Flutter Road Map.pptx
 
Kinect
KinectKinect
Kinect
 

Ähnlich wie Developing for Wearables with Xamarin

Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
 
Workshop: AR Glasses and their Peculiarities
Workshop: AR Glasses and their PeculiaritiesWorkshop: AR Glasses and their Peculiarities
Workshop: AR Glasses and their PeculiaritiesMartin Lechner
 
Digital Apps Development & Debugging
Digital Apps Development & DebuggingDigital Apps Development & Debugging
Digital Apps Development & DebuggingExperitest
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile DevelopmentTina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...James Montemagno
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)davidepiccardi
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android WearTroy Miles
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptxAhmedDarre
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
Android introduction
Android introductionAndroid introduction
Android introductionperpetrotech
 

Ähnlich wie Developing for Wearables with Xamarin (20)

Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
Workshop: AR Glasses and their Peculiarities
Workshop: AR Glasses and their PeculiaritiesWorkshop: AR Glasses and their Peculiarities
Workshop: AR Glasses and their Peculiarities
 
Digital Apps Development & Debugging
Digital Apps Development & DebuggingDigital Apps Development & Debugging
Digital Apps Development & Debugging
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile Development
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
Google android os
Google android osGoogle android os
Google android os
 
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
TechEd Europ 2014 DEV-B306 Building Multi-Device Applications with Xamarin an...
 
Google android os
Google android osGoogle android os
Google android os
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Wearables
WearablesWearables
Wearables
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Apple Watch Intro
Apple Watch IntroApple Watch Intro
Apple Watch Intro
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android Wear
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android introduction
Android introductionAndroid introduction
Android introduction
 

Kürzlich hochgeladen

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Developing for Wearables with Xamarin

  • 2. Who are we? Jonah Hulselmans @jonahhulselmans Gert Cominotto @GertCominotto gert-cominotto.be
  • 3. • Xamarin • Microsoft Band • Apple Watch • Android Wear • Wearable Overview • Code reuse • Lessons learned / Heads up / Conclusion • Q&A Overview
  • 6. • Fitness Band, not a watch • Compatible with WP, Android & iOS • TILES TILES TILES!!! • Microsoft Health App (Important!) Microsoft Band
  • 7. • Sensors • Accelerometer • Gyroscope • Distance • Heart Rate • Pedometer • Skin Temperature • UV • Band Contact (worn / not worn) • Calories • Galvanic Skin Response (Band2) • Ambient Light (Band2) • Barometer (Band2) • Altimeter (Band2) Microsoft Band
  • 8. • Tools • SDK • Native SDK • Xamarin Components • Web Tile SDK • Cloud API (Health Data API) • Emulator? • No code runs on the band Developing for the Microsoft Band
  • 9. What can you do with it? Access sensors Tiles Personalization
  • 10. • Pair it with your phone / pc via Bluetooth Connecting to the device
  • 14. • Create & Manage Custom Tiles • Tile notifications • Dialogs • Messages • Custom layouts Tiles
  • 16. • You can change your band’s colors and theme … Personalization
  • 18. • Background Tasks • Only on Windows Phone (8.1 & 10) • Custom Tile Events • Requires Microsoft Health App What else can you do?
  • 21. Apple Watch • 38mm and 42mm • Apple Pay • Fitness / Health • Notifications • Apps
  • 22. Apple Watch sensors • Heart rate sensor • Accelerometer • Gyroscope • Ambient light sensor • …
  • 23. Developing for the Apple Watch • xCode / Xamarin Studio / Visual Studio • Simulator • Xamarin.iOS • Watch OS 1 apps run on iPhone • (Watch OS 2 apps run on the watch)
  • 24. What can you do with it? Notifications Glances App
  • 27. Deploy apps to the Apple Watch • xCode and Xamarin Studio or Visual Studio • Apple Watch is paired to your iPhone • Provisioning profiles are setup correctly • Deploy the app to your iPhone
  • 28. Communication • Call a method against the parent app • WKInterfaceController.OpenParentApplication (from watch extensions) • HandleWatchKitExtensionRequest (parent app) • Share a storage location with the parent iPhone app • NSUserDefaults • WormHoleSharp • https://github.com/Clancey/WormHoleSharp
  • 30. • Stock Android! • Works with Android & iOS • Round or Square design • Focus on • Telling Time (Watch Faces) • Notifications • Google Now • Apps Android Wear
  • 31. Android Wear Sensors (Varies per device)
  • 32. • Tools • Emulator? • SDK • Native SDK Android • Xamarin.Android • Code runs on the device • Communicate with phone via API’s Developing for Android Wear
  • 33. What can you do with it? Notifications Companion Apps Watch Faces
  • 34. • Install Android Wear App on your device • Follow the steps on the device to Pair it Connecting to the device
  • 36. • Create Notifications • Add Actions • Wearable Specific Notifications / Actions Notifications
  • 38. • Main differences: • Wearable apps are relatively small in size and functionality compared to phone apps. • Users don't download apps directly onto the wearable. • 2 Modes -> Interactive and Ambient Companion Apps
  • 40. • MessageApi • Send messages to other nodes. (Small payloads) • DataApi • Send data to other nodes (Bigger payloads like assets) Communication Demo
  • 42. Wearable Overview Microsoft Band Apple Watch Android Wear Runs on Device No No Yes User Input No Yes (Touch & Voice) Yes (Touch & Voice) Sensors Yes Yes (Depending on Device) Phone Requirements Bluetooth LE (Windows, iOS & Android) iOS 8.2 Bluetooth LE (Android 4.3) Publishing No separate store WebTiles via Health App No separate store Deployed with Phone app No separate store Deployed with Phone app
  • 43. • Not a great idea • Too different architecture and capabilities • Different way of connecting to devices • Very custom experience per wearable • But I deem it possible Code Reuse
  • 44. • The Xamarin Nuget packages didn’t support UWP 10 at first • UWP App is coming in the next couple of weeks • By far the easiest to develop for • Excellent for when using sensors • With more background tasks capabilities, good future Lessons learned / Heads up / Conclusion Microsoft Band
  • 45. • Feels sluggish (Watch OS 1) • Xamarin does not yet support watch OS 2 • (only on alpha channel) • Certificates + provisioning profiles • Disable “Enable device-specific builds” in the watchKitExtensions project Lessons learned / Heads up / Conclusion Apple Watch
  • 46. • Android wearable emulator = utter crap! • If the Android emulator isn’t starting: • emulator -avd ExampleVDName -debug-all -noaudio -nocache -wipe-data -dns-server 8.8.8.8 • Real device debugging isn’t much better… (long deploy times) Lessons learned / Heads up / Conclusion Android
  • 47. Q & A
  • 48. IS HIRING AN ANDROID DEV!

Hinweis der Redaktion

  1. Visual Studio / Xamarin Studio No Emulator SDK Native SDK for iOS, Android and Windows Xamarin Components for iOS and Android Web Tile SDK: for quickly delivering information to the Band from any Web source in just a few easy steps (bit.ly/1h94CjZ) Cloud API (Microsoft) for accessing RESTful APIs with comprehensive fitness and health data in an easy-to- consume JSON format (bit.ly/1MIBOL7) You have 2 ways to create an app for the Band: - You can create a WebTile, this is a tile that you can submit to the ‘tile store’ which can be accessed through the Microsoft Health App. These Tiles are small applications that don’t need a separate app on your phone because they run through the Microsoft Health App. - You can create an iOS, Android or Windows app and inside your app, you can create a tile on the Band. Your app is in charge of adding data / notifications to the band app, so all the logic from the band app is inside your phone app.
  2. Dialogs: => Popups with content that can be dismissed. => Content of the popup is not saved to the wearable Messages: => These are notifications that are sent and stored in a specific tile, and a tile can keep up to 8 messages at a time. Messages can display a dialog, too. See this as a queue with a fixed size of 8. First in, first out when more than 8 messages are sent.
  3. Background Task (Only Windows Phone 8.1 at the moment) Custom Tile Events (Requires Microsoft Health App)
  4. Watch OS 1: With the original Apple Watch, apps were installed on the iPhone. From there, the Watch extension would remain on the phone, and an interface would be moved over to the watch. Then, the extension on the phone would connect to networks, process information, and transmit it back and forth to the interface on the Watch. It worked but it was limited, and it was slow. Watch OS 2: The extension moves over to join the interface, and to run natively on the Watch. Speed improvements because basic processing no longer requires a round trip to the phone. It increases functionality because apps can now access the Watch’s hardware.
  5. Notifications Are a major use-case for the Apple Watch. Both local and remote notifications are supported. Interaction with notifications occurs in two stages, called Short- and Long-Look. Short looks appear briefly, giving the user just enough time to see what the notification is about and which app sent it. Long looks provide more detail about an incoming notification. The long look appears when the user’s wrist remains raised or when the user taps the short look. Glances Glances are non-interactive, single-page UIs that are intended to provide summary or crucial data. When a glance is tapped it will open the main Watch app App
  6. Android Wear experience will be the same no matter what smartwatch you decide to slap on your wrist and, great news, it means your chosen tech-timepiece will work with any Android handset. You'll get notified for incoming texts, WhatsApp messages, tweets you're mentioned in, Facebook updates, emails and more. The whole shebang. Google Now powers a great deal of what you'll see popping up on your Android Wear smartwatch, but just like Google Now on your smartphone, it's still a work in progress. At times the intuitive notifications are genius – traffic concerns for your journey home, updated football scores for a team you search for a lot, the weather for the day ahead when you wake up ­– but you'll also see some right old random nonsense cropping up too. Google Now updates, like notifications about incoming messages, are presented in card style, with updates from the same app or regarding the same subject nicely stacked. Apps are installed through your phone (and the regular Google Play store). Apps that have Wear compatibility will either link up with your smartwatch and offer you control options (such as navigating your Spotify tracks or getting turn by turn directions from Google Maps) The apps, and default actions, are managed using the smartphone Android Wear app
  7. Visual Studio / Xamarin Studio Emulator available
  8. NOTIFICATIONS: Lazy, but very effective! Uses Notification.WearableExtender Custom Backgrounds Actions specific for Wear Remote Input Voice Input Predefined actions Pages, Stacking, and More! COMPANION APPS Companion App Android app that runs on a wearable New Themes New UI Widgets -> Wearable UI Library BoxInsetLayout CircledImageView WearableListView • More…
  9. Connect via USB cable Adjust USB Options on Mobile Phone to PTP Start Android Wear Emulator in Visual Studio adb -d forward tcp:5601 tcp:5601 Real Device: adb forward tcp:4444 localabstract:/adb-hub adb connect localhost:4444
  10. https://developer.android.com/training/wearables/notifications/creating.html
  11. Wearable apps are relatively small in size and functionality compared to handheld apps. They contain only what makes sense on the wearable, which is usually a small subset of the corresponding handheld app. In general, you should carry out operations on the handheld when possible and send the results to the wearable. Users don't download apps directly onto the wearable. Instead, you bundle the wearable app inside the handheld app. When users install the handheld app, the system automatically installs the wearable app. However, for development purposes, you can still install the wearable app directly to the wearable. To conserve power on a wearable device, you can enable ambient mode for your Wear app. Devices transition from interactive to ambient mode when the user is idle on an activity or when the user covers the screen with their palm. Wearable apps that can transition into ambient mode are called always-on apps. The following describes the two modes of operation for always-on apps: Interactive Use full color with fluid animation in this mode. The app is also responsive to input. Ambient Render the screen with grayscale graphics and do not present any input cues in this mode. This display mode is only supported on devices running Android 5.1 or higher.
  12. https://developer.android.com/training/wearables/apps/index.html
  13. DataApi exposes an API for components to read or write data items and assets. A DataItem provides data storage with automatic syncing between the handheld and wearable. Asset is used for sending blobs of data such as images. You attach assets to DataItems and the system automatically takes care of the transfer for you. MessageApi exposes an API for components to send messages to other nodes. Messages should generally contain small payloads. You should use Assests with DataApi to store larger data.