SlideShare a Scribd company logo
Tom Soderling
Senior Mobile Developer
Zebra Technologies
@tomsoderling
1. Reasons for Apple Watch
2. Day to Day Experience
3. Cool Features
4. New Types of User Interactions
5. Overview of UI Elements
6. Anatomy of a Watch Kit Solution
7. Application Lifecycle
8. Your First Watch App
9. Working with the Parent App
10. Cautionary Tales
11. Answers to Common Questions
12. Resources & Links
O U T L I N E
W H Y ?
F I R S T T H I N G S F I R S T
W H A T C A N A P P L E WA T C H D O
T H A T M Y P H O N E C A N ' T ?
W H A T C A N A P P L E WA T C H D O
T H A T M Y P H O N E C A N ' T ?
• Monitor heart rate
1 . R E A S O N S F O R A P P L E WA T C H
1 . R E A S O N S F O R A P P L E WA T C H
1. Smartphone as a brain or hub for connected devices
1 . R E A S O N S F O R A P P L E WA T C H
1. Smartphone as a brain or hub for connected devices
2. Some interactions are way better/easier on the watch
• The temperature outside, next calendar event, prioritization
• General principle. ex: Laptop vs. iPad vs. Phone
1 . R E A S O N S F O R A P P L E WA T C H
1. Smartphone as a brain or hub for connected devices
2. Some interactions are way better/easier on the watch
• The temperature outside, next calendar event, prioritization
• General principle. ex: Laptop vs. iPad vs. Phone
3. Apple’s Reason
“Your phone is ruining your life. Many of us are subject to the
tyranny of the buzz—the constant checking, the long list of
nagging notification. People want that level of engagement, but
how do we provide it in a way that’s a little more human, a little
more in the moment when you’re with somebody?”
http://www.wired.com/2015/04/the-apple-watch/
• Great for texting using Siri
• Not usually brave enough to use when other people are around
• Handsfree Siri is great for creating reminders, setting
timer & conversions when cooking, simple questions
• Great for when I’m working on the car, or want my phone
to be safe/dry
• Handy for controlling music playing through phone or
connected speakers
• Extremely waterproof
• More than sufficient battery life for a day
• Dick Tracy-style phone calls! Speakerphone is especially
good for boring phone conference calls
• Listening to voicemails
2 . D A Y T O D A Y E X P E R I E N C E
Activity
Remote Viewfinder
Quick Contacts
Apple Pay
3 . C O O L F E A T U R E S
Demo
• Suggesting how long someone should use your app
• Lightweight, quick, brief interactions; a few seconds
• 3 New User Interactions
1. Normal interaction (watch app)
2. Glance
3. Notification
4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
1. Normal Interaction
• Don’t simply port phone app over to watch
• We’ll look at the controls available
4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
2. Glance
• Non-actionable, single view of information
• Swipe up from bottom of watch face to view collection
3. Notification
• Actionable
• 2 views: based on interaction, will transition from
Short Look to Long Look
4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
Short Look Long Look
Short Look Short Look
Demo
WatchKitCatalog sample app by Xamarin
5 . O V E R V I E W O F U I E L E M E N T S
• Important note: Currently, Apple Watch is just an external
display for a program running on a connected iPhone
• The ability for apps to run on the Apple Watch itself will be
possible in WatchOS 2, released in fall of 2015
• Also, ability to access sensor data (heart rate,
accelerometer), use the taptic engine, digital crown,
speaker, mic. 3rd party watch complications
• Watch apps are made possible through use of the new iOS
8 Extensions
6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N
• Extension Points
6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N
Today Share Edit Photo Watch App
6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N
• How they all work together
6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N
• App Communication
1.
7 . A P P L I C A T I O N L I F E C Y C L E
The lifecycle of a
WKInterfaceController object
1. Awake()
2. WillActivate()
3. DidDeactivate()
1
2
3
• Don’t forget to add new device to member center!
• Think about Provisioning ahead of time
• 3 different App/Bundle IDs (same prefix)
1. com.something.MyPhoneApp
2. com.something.WatchKitApp
3. com.something.WatchKitExtension
• 2 Provisioning options:
1. Single Wildcard App ID - “com.something.*”
• Fewer Application Services: no App Groups, Push Notifications, HomeKit
2. Three Explicit App IDs
8 . Y O U R F I R S T WA T C H A P P
• Time for Add > New Project!
8 . Y O U R F I R S T WA T C H A P P
• Choose project and UI Interactions (scenes)
8 . Y O U R F I R S T WA T C H A P P
• This will add 2 new projects to your solution
8 . Y O U R F I R S T WA T C H A P P
• Project Reference Chain
8 . Y O U R F I R S T WA T C H A P P
iOS App
WatchKit App
Extension
• Bundle/App ID Linking
8 . Y O U R F I R S T WA T C H A P P
iOS App
WatchKit App
Extension
• Bundle/App ID Linking
8 . Y O U R F I R S T WA T C H A P P
iOS App
WatchKit App
Extension
• Bundle/App ID Linking
8 . Y O U R F I R S T WA T C H A P P
iOS App
WatchKit App
Extension
• The main storyboard is in the WatchKit App project
8 . Y O U R F I R S T WA T C H A P P
• Interfaces in the Watch App storyboard
1. Normal Interaction (App)
2. Glance
3. Notification
8 . Y O U R F I R S T WA T C H A P P
1
2
3
Short Look Long Look
• Interface Controllers
1. Normal Interaction (App)
2. Glance
3. Notification
8 . Y O U R F I R S T WA T C H A P P
Short Look Long Look
1
2
3
Long Look
9 . W O R K I N G W I T H T H E PA R E N T A P P
Demo
How Deep Is It?
Long Look
9 . W O R K I N G W I T H T H E PA R E N T A P P
• 3 Options
1. Run Code on iPhone
• Call WKInterfaceController.OpenParentApplication()
in the watch app extension
• Implement the HandleWatchKitExtensionRequest()
method in the iOS AppDelegate
• Opens the iPhone app in the background
9 . W O R K I N G W I T H T H E PA R E N T A P P
Short Look Long Look
• 3 Options
2. Shared Storage with App Groups
• Allows iOS 8 extensions to share data with parent app.
• App Groups are set up in the Apple Developer
Member Center, under the IDs section
• You can stash you watch app settings values, or files
• Doesn’t open iPhone app in the background
9 . W O R K I N G W I T H T H E PA R E N T A P P
• 3 Options
3. Message Passing
• Darwin Notification Center allows for communication
between iOS apps and extensions
• API of the Core Foundation framework
• WormHoleSharp supports these notifications
• C# port of open source project MMWormHole
• Allows you to listen for and subscribe to these
messages
wormHole.PassMessage("ButtonMessage",	
  new	
  ButtonMessage{	
  Id	
  =	
  	
  1	
  });	
  
wormHole.ListenForMessage<ButtonMessage>("ButtonMessage",	
  (message)	
  =>	
  {	
  …	
  }	
  
9 . W O R K I N G W I T H T H E PA R E N T A P P
Some Errors I Tripped Over
Error: AMDeviceSecureInstallApplicationBundle returned: 0xe8003ffe
Answer: TBD
Error: "Failed to install" "Invalid Bundle - No Apple Watch Binary”
Answer: Just reboot the watch!
Error: The Watch App 'WatchApp' does not have a valid
UIDeviceFamily value. Expected 'Watch (4)' found 'IPhone, Watch (5)'.
Answer: Clean and re-build solution
1 0 . C A U T I O N A RY TA L E S
Q: I want make sure that notifications for my current iOS app
appear on the Apple Watch, what do I have to do?
A: Nothing - provided your app supports notifications. If your
phone is set to receive that notification, you can choose to
mirror it on your Watch via its notification settings.
Q: Can I build a stand alone Watch App?
A: No. A WatchKit app requires an existing iOS app
1 1 . A N S W E R S T O C O M M O N Q U E S T I O N S
Great Article on Apple Watch
http://www.wired.com/2015/04/the-apple-watch/
Watch Kit: Getting Started
http://developer.xamarin.com/guides/ios/watch/
Xamarin Sample Watch Kit Apps
https://developer.xamarin.com/samples/ios/Watch/
WatchOS 2 video:
https://developer.apple.com/videos/wwdc/2015/?id=105
Passing messages w/ WormHoleSharp
https://github.com/Clancey/WormHoleSharp
Apple Watch HIG
https://developer.apple.com/watch/human-interface-guidelines/
Bezel
http://infinitapps.com/bezel/
1 2 . R E S O U R C E S & L I N K S

More Related Content

What's hot

Withings activity pop
Withings activity popWithings activity pop
Withings activity pop
GEEKYWIK
 
I Watch Presentation
I Watch PresentationI Watch Presentation
I Watch Presentation
bharat rawal
 
Apple Watch - Getting Started
Apple Watch - Getting StartedApple Watch - Getting Started
Apple Watch - Getting Started
intive
 
Why Apple Watch Matters
Why Apple Watch MattersWhy Apple Watch Matters
Why Apple Watch Matters
Doug Robinson
 
I WATCH DOCUMENTATION
I WATCH DOCUMENTATIONI WATCH DOCUMENTATION
I WATCH DOCUMENTATION
Anurag Reddy
 
How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015
IsobarUS
 
Apple i watch
Apple i watch Apple i watch
Apple i watch
yks123antm
 
Control
Control Control
Control
prwl_nght
 
Smart Watches - Changes in User Behaviour and Popular Use Cases
Smart Watches - Changes in User Behaviour and Popular Use CasesSmart Watches - Changes in User Behaviour and Popular Use Cases
Smart Watches - Changes in User Behaviour and Popular Use Cases
Luke Szkudlarek
 
Apple Watch
Apple WatchApple Watch
Apple Watch
Anay Mishra
 
Smart watch
Smart watchSmart watch
Smart watchSHEEMA90
 
Apple watch a latest technology
Apple watch  a latest technologyApple watch  a latest technology
Apple watch a latest technology
Sikander Nazir
 
Introducing Apple Watch
Introducing Apple WatchIntroducing Apple Watch
Introducing Apple WatchJJ Wu
 

What's hot (13)

Withings activity pop
Withings activity popWithings activity pop
Withings activity pop
 
I Watch Presentation
I Watch PresentationI Watch Presentation
I Watch Presentation
 
Apple Watch - Getting Started
Apple Watch - Getting StartedApple Watch - Getting Started
Apple Watch - Getting Started
 
Why Apple Watch Matters
Why Apple Watch MattersWhy Apple Watch Matters
Why Apple Watch Matters
 
I WATCH DOCUMENTATION
I WATCH DOCUMENTATIONI WATCH DOCUMENTATION
I WATCH DOCUMENTATION
 
How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015
 
Apple i watch
Apple i watch Apple i watch
Apple i watch
 
Control
Control Control
Control
 
Smart Watches - Changes in User Behaviour and Popular Use Cases
Smart Watches - Changes in User Behaviour and Popular Use CasesSmart Watches - Changes in User Behaviour and Popular Use Cases
Smart Watches - Changes in User Behaviour and Popular Use Cases
 
Apple Watch
Apple WatchApple Watch
Apple Watch
 
Smart watch
Smart watchSmart watch
Smart watch
 
Apple watch a latest technology
Apple watch  a latest technologyApple watch  a latest technology
Apple watch a latest technology
 
Introducing Apple Watch
Introducing Apple WatchIntroducing Apple Watch
Introducing Apple Watch
 

Similar to Apple Watch Development with Xamarin Watch Kit

Why Apple Watch Matters
Why Apple Watch MattersWhy Apple Watch Matters
Why Apple Watch Matters
Fresh Digital Group
 
Mobile App PPT_Updated
Mobile App PPT_UpdatedMobile App PPT_Updated
Mobile App PPT_UpdatedAmy Reed
 
72 hours usage of the apple watch
72 hours usage of the apple watch72 hours usage of the apple watch
72 hours usage of the apple watch
Andreas E. Neuhold
 
Apple iwatches
Apple iwatchesApple iwatches
Are You Ready for iOS 8?
Are You Ready for iOS 8?Are You Ready for iOS 8?
Are You Ready for iOS 8?
Keynote Mobile Testing
 
Webinar Series - Customer Facing Devices: Putting the Pieces Together
Webinar Series - Customer Facing Devices: Putting the Pieces TogetherWebinar Series - Customer Facing Devices: Putting the Pieces Together
Webinar Series - Customer Facing Devices: Putting the Pieces Together
Moki
 
I-watch Mindbowser
I-watch MindbowserI-watch Mindbowser
I-watch Mindbowser
Mindbowser Inc
 
Intro to Microinteractions: Foundation of Details that Delight
Intro to Microinteractions: Foundation of Details that DelightIntro to Microinteractions: Foundation of Details that Delight
Intro to Microinteractions: Foundation of Details that Delight
Purple, Rock, Scissors
 
Apple Watch Technology & WatchOS 2
Apple Watch Technology & WatchOS 2Apple Watch Technology & WatchOS 2
Apple Watch Technology & WatchOS 2
Saransh Viswari
 
Developing for Wearables with Xamarin
Developing for Wearables with XamarinDeveloping for Wearables with Xamarin
Developing for Wearables with Xamarin
Gert Cominotto
 
Ambient computing at Lehigh University
Ambient computing at Lehigh UniversityAmbient computing at Lehigh University
Ambient computing at Lehigh University
Somesh Rahul
 
Effective feedback design
Effective feedback designEffective feedback design
Effective feedback design
Harshal Patil
 
Creating Mobile Applications
Creating Mobile ApplicationsCreating Mobile Applications
Creating Mobile ApplicationsKathy Gill
 
Apple watch
Apple watchApple watch
Wearable technology
Wearable technologyWearable technology
Wearable technology
Malvika Banerji
 
Everything you need to know about Apple WatchOS 3
Everything you need to know about Apple WatchOS 3Everything you need to know about Apple WatchOS 3
Everything you need to know about Apple WatchOS 3
techugo
 
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend uponFitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
ThinkRacePakistan
 

Similar to Apple Watch Development with Xamarin Watch Kit (20)

Why Apple Watch Matters
Why Apple Watch MattersWhy Apple Watch Matters
Why Apple Watch Matters
 
Mobile App PPT_Updated
Mobile App PPT_UpdatedMobile App PPT_Updated
Mobile App PPT_Updated
 
72 hours usage of the apple watch
72 hours usage of the apple watch72 hours usage of the apple watch
72 hours usage of the apple watch
 
Apple iwatches
Apple iwatchesApple iwatches
Apple iwatches
 
Are You Ready for iOS 8?
Are You Ready for iOS 8?Are You Ready for iOS 8?
Are You Ready for iOS 8?
 
Webinar Series - Customer Facing Devices: Putting the Pieces Together
Webinar Series - Customer Facing Devices: Putting the Pieces TogetherWebinar Series - Customer Facing Devices: Putting the Pieces Together
Webinar Series - Customer Facing Devices: Putting the Pieces Together
 
I-watch Mindbowser
I-watch MindbowserI-watch Mindbowser
I-watch Mindbowser
 
Intro to Microinteractions: Foundation of Details that Delight
Intro to Microinteractions: Foundation of Details that DelightIntro to Microinteractions: Foundation of Details that Delight
Intro to Microinteractions: Foundation of Details that Delight
 
Apple Watch Technology & WatchOS 2
Apple Watch Technology & WatchOS 2Apple Watch Technology & WatchOS 2
Apple Watch Technology & WatchOS 2
 
Developing for Wearables with Xamarin
Developing for Wearables with XamarinDeveloping for Wearables with Xamarin
Developing for Wearables with Xamarin
 
Context is King
Context is KingContext is King
Context is King
 
Ambient computing at Lehigh University
Ambient computing at Lehigh UniversityAmbient computing at Lehigh University
Ambient computing at Lehigh University
 
Effective feedback design
Effective feedback designEffective feedback design
Effective feedback design
 
Wearables
WearablesWearables
Wearables
 
Creating Mobile Applications
Creating Mobile ApplicationsCreating Mobile Applications
Creating Mobile Applications
 
Apple watch
Apple watchApple watch
Apple watch
 
Wearable technology
Wearable technologyWearable technology
Wearable technology
 
Everything you need to know about Apple WatchOS 3
Everything you need to know about Apple WatchOS 3Everything you need to know about Apple WatchOS 3
Everything you need to know about Apple WatchOS 3
 
Campaign designed for Apple Watch
Campaign designed for Apple WatchCampaign designed for Apple Watch
Campaign designed for Apple Watch
 
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend uponFitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
Fitness Tracker Bracelet H11 – A Personal Workout Partner you can depend upon
 

Recently uploaded

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 

Apple Watch Development with Xamarin Watch Kit

  • 1. Tom Soderling Senior Mobile Developer Zebra Technologies @tomsoderling
  • 2. 1. Reasons for Apple Watch 2. Day to Day Experience 3. Cool Features 4. New Types of User Interactions 5. Overview of UI Elements 6. Anatomy of a Watch Kit Solution 7. Application Lifecycle 8. Your First Watch App 9. Working with the Parent App 10. Cautionary Tales 11. Answers to Common Questions 12. Resources & Links O U T L I N E
  • 3. W H Y ? F I R S T T H I N G S F I R S T
  • 4. W H A T C A N A P P L E WA T C H D O T H A T M Y P H O N E C A N ' T ?
  • 5. W H A T C A N A P P L E WA T C H D O T H A T M Y P H O N E C A N ' T ? • Monitor heart rate
  • 6. 1 . R E A S O N S F O R A P P L E WA T C H
  • 7. 1 . R E A S O N S F O R A P P L E WA T C H 1. Smartphone as a brain or hub for connected devices
  • 8. 1 . R E A S O N S F O R A P P L E WA T C H 1. Smartphone as a brain or hub for connected devices 2. Some interactions are way better/easier on the watch • The temperature outside, next calendar event, prioritization • General principle. ex: Laptop vs. iPad vs. Phone
  • 9. 1 . R E A S O N S F O R A P P L E WA T C H 1. Smartphone as a brain or hub for connected devices 2. Some interactions are way better/easier on the watch • The temperature outside, next calendar event, prioritization • General principle. ex: Laptop vs. iPad vs. Phone 3. Apple’s Reason “Your phone is ruining your life. Many of us are subject to the tyranny of the buzz—the constant checking, the long list of nagging notification. People want that level of engagement, but how do we provide it in a way that’s a little more human, a little more in the moment when you’re with somebody?” http://www.wired.com/2015/04/the-apple-watch/
  • 10. • Great for texting using Siri • Not usually brave enough to use when other people are around • Handsfree Siri is great for creating reminders, setting timer & conversions when cooking, simple questions • Great for when I’m working on the car, or want my phone to be safe/dry • Handy for controlling music playing through phone or connected speakers • Extremely waterproof • More than sufficient battery life for a day • Dick Tracy-style phone calls! Speakerphone is especially good for boring phone conference calls • Listening to voicemails 2 . D A Y T O D A Y E X P E R I E N C E
  • 11. Activity Remote Viewfinder Quick Contacts Apple Pay 3 . C O O L F E A T U R E S Demo
  • 12. • Suggesting how long someone should use your app • Lightweight, quick, brief interactions; a few seconds • 3 New User Interactions 1. Normal interaction (watch app) 2. Glance 3. Notification 4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
  • 13. 1. Normal Interaction • Don’t simply port phone app over to watch • We’ll look at the controls available 4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S
  • 14. 4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S 2. Glance • Non-actionable, single view of information • Swipe up from bottom of watch face to view collection
  • 15. 3. Notification • Actionable • 2 views: based on interaction, will transition from Short Look to Long Look 4 . N E W T Y P E S O F U S E R I N T E R A C T I O N S Short Look Long Look Short Look Short Look
  • 16. Demo WatchKitCatalog sample app by Xamarin 5 . O V E R V I E W O F U I E L E M E N T S
  • 17. • Important note: Currently, Apple Watch is just an external display for a program running on a connected iPhone • The ability for apps to run on the Apple Watch itself will be possible in WatchOS 2, released in fall of 2015 • Also, ability to access sensor data (heart rate, accelerometer), use the taptic engine, digital crown, speaker, mic. 3rd party watch complications • Watch apps are made possible through use of the new iOS 8 Extensions 6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N
  • 18. • Extension Points 6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N Today Share Edit Photo Watch App
  • 19. 6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N • How they all work together
  • 20. 6 . A N A T O M Y O F A WA T C H K I T S O L U T I O N • App Communication
  • 21. 1. 7 . A P P L I C A T I O N L I F E C Y C L E The lifecycle of a WKInterfaceController object 1. Awake() 2. WillActivate() 3. DidDeactivate() 1 2 3
  • 22. • Don’t forget to add new device to member center! • Think about Provisioning ahead of time • 3 different App/Bundle IDs (same prefix) 1. com.something.MyPhoneApp 2. com.something.WatchKitApp 3. com.something.WatchKitExtension • 2 Provisioning options: 1. Single Wildcard App ID - “com.something.*” • Fewer Application Services: no App Groups, Push Notifications, HomeKit 2. Three Explicit App IDs 8 . Y O U R F I R S T WA T C H A P P
  • 23. • Time for Add > New Project! 8 . Y O U R F I R S T WA T C H A P P
  • 24. • Choose project and UI Interactions (scenes) 8 . Y O U R F I R S T WA T C H A P P
  • 25. • This will add 2 new projects to your solution 8 . Y O U R F I R S T WA T C H A P P
  • 26. • Project Reference Chain 8 . Y O U R F I R S T WA T C H A P P iOS App WatchKit App Extension
  • 27. • Bundle/App ID Linking 8 . Y O U R F I R S T WA T C H A P P iOS App WatchKit App Extension
  • 28. • Bundle/App ID Linking 8 . Y O U R F I R S T WA T C H A P P iOS App WatchKit App Extension
  • 29. • Bundle/App ID Linking 8 . Y O U R F I R S T WA T C H A P P iOS App WatchKit App Extension
  • 30. • The main storyboard is in the WatchKit App project 8 . Y O U R F I R S T WA T C H A P P
  • 31. • Interfaces in the Watch App storyboard 1. Normal Interaction (App) 2. Glance 3. Notification 8 . Y O U R F I R S T WA T C H A P P 1 2 3 Short Look Long Look
  • 32. • Interface Controllers 1. Normal Interaction (App) 2. Glance 3. Notification 8 . Y O U R F I R S T WA T C H A P P Short Look Long Look 1 2 3
  • 33. Long Look 9 . W O R K I N G W I T H T H E PA R E N T A P P
  • 34. Demo How Deep Is It? Long Look 9 . W O R K I N G W I T H T H E PA R E N T A P P
  • 35. • 3 Options 1. Run Code on iPhone • Call WKInterfaceController.OpenParentApplication() in the watch app extension • Implement the HandleWatchKitExtensionRequest() method in the iOS AppDelegate • Opens the iPhone app in the background 9 . W O R K I N G W I T H T H E PA R E N T A P P Short Look Long Look
  • 36. • 3 Options 2. Shared Storage with App Groups • Allows iOS 8 extensions to share data with parent app. • App Groups are set up in the Apple Developer Member Center, under the IDs section • You can stash you watch app settings values, or files • Doesn’t open iPhone app in the background 9 . W O R K I N G W I T H T H E PA R E N T A P P
  • 37. • 3 Options 3. Message Passing • Darwin Notification Center allows for communication between iOS apps and extensions • API of the Core Foundation framework • WormHoleSharp supports these notifications • C# port of open source project MMWormHole • Allows you to listen for and subscribe to these messages wormHole.PassMessage("ButtonMessage",  new  ButtonMessage{  Id  =    1  });   wormHole.ListenForMessage<ButtonMessage>("ButtonMessage",  (message)  =>  {  …  }   9 . W O R K I N G W I T H T H E PA R E N T A P P
  • 38. Some Errors I Tripped Over Error: AMDeviceSecureInstallApplicationBundle returned: 0xe8003ffe Answer: TBD Error: "Failed to install" "Invalid Bundle - No Apple Watch Binary” Answer: Just reboot the watch! Error: The Watch App 'WatchApp' does not have a valid UIDeviceFamily value. Expected 'Watch (4)' found 'IPhone, Watch (5)'. Answer: Clean and re-build solution 1 0 . C A U T I O N A RY TA L E S
  • 39. Q: I want make sure that notifications for my current iOS app appear on the Apple Watch, what do I have to do? A: Nothing - provided your app supports notifications. If your phone is set to receive that notification, you can choose to mirror it on your Watch via its notification settings. Q: Can I build a stand alone Watch App? A: No. A WatchKit app requires an existing iOS app 1 1 . A N S W E R S T O C O M M O N Q U E S T I O N S
  • 40. Great Article on Apple Watch http://www.wired.com/2015/04/the-apple-watch/ Watch Kit: Getting Started http://developer.xamarin.com/guides/ios/watch/ Xamarin Sample Watch Kit Apps https://developer.xamarin.com/samples/ios/Watch/ WatchOS 2 video: https://developer.apple.com/videos/wwdc/2015/?id=105 Passing messages w/ WormHoleSharp https://github.com/Clancey/WormHoleSharp Apple Watch HIG https://developer.apple.com/watch/human-interface-guidelines/ Bezel http://infinitapps.com/bezel/ 1 2 . R E S O U R C E S & L I N K S