Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Please tweet photos or post
to Instagram with hashtag
#GlobalAzure 

#GlobalAzureBandung
All collected photos: 

http://bit.ly/globalazurebandung
Powered by 

http://jepret.in
SPONSORED BY
ORGANISED BY
Education
AZURE DEVELOPER

I N D O N E S I A
SUPPORTED BY
Andri Yadi
@andri_yadi | a at dycode dot com
http://andriyadi.me
CEO of
7 years in a row
The first & largest iOS & OSX
developer community in Indonesia
ID-Objective-C
President
Wearables +
Azure

Development
Assumed, most of you are all
coders!
Disclaimer
Remember this?
Smart Watches
Smart Wristbands
Smart Glasses
Wearable cameras
Virtual Reality
holographic
computing
Smart CLOTHES
Smart Hats
Pet GPS
Tracker
???
Simply put, wearable is..
Putting computer on your
face, arm, neck, foot, shirt…
Wearable (obviously), invisible*
Targeted (limited) capabilities
Have (limited) computing unit
(Mostly) not standalone
Pro...
Common development
Challenges
Fragmentation
Limited capability

Such as: no direct internet connectivity
Limited API

New ...
Market
$12 billion by 2018
78% annual growth rate
http://www.statista.com/statistics/259372/wearable-device-market-value/
...
http://www.statista.com/chart/3370/wearable-device-forecast/
42% prefer
Smart watch/band
3 MILLION SALES

in 2 weeks
estimated
so, today I only talk about
developing for smartwatch -
Apple Watch
Disclaimer
Intro to WatchKit
Backend service with Azure

Connecting watch app to Azure backend
for 50 mins, we’ll cover…
Apple Watch
Development stuffs
Let’s start with…
Apple Watch
What is Apple Watch app?
iOS app extension running on iOS +
set of UIs running on Watch
Apple Watch App
cannot run standalone
without iPhone
iPad is not supported yet!
http://developer.apple.com/ios
iOS 8.2
we need…
WatchKit
WatchKit App
Storyboard
Resources
iOS App
WatchKit Extension
Code
Resources
Bluetooth
So, you can’t develop for
Apple Watch without
learning iOS development
Required StuffsRequired Stuffs
iOS
in form of Xcode
Latest
Xcode iOS & Watch Simulator iOS Developer Library
iOS
Optional Stuffs
Actual devices
WatchKit development
stuffs
[Obj-C]
Objective-C Swift
Should know
or
Not Taylor Swift..
Note, I’m a fan :)
Model-View-Controller design pattern
Model View
Controller
Should understand
Core

Foundation Extensions WatchKitUIKit
Foundation
Push

Notification
Few iOS frameworks you should know
Handoff
Accelerate
Accounts
AddressBook
AddressBookUI
AdSupport
AssetsLibrary
AudioToolbox
AudioUnit
AVFoundation
AVKitCFNetwork
C...
Backend with 

Microsoft Azure
Clientlayer
(on-premises)
Tablet Phone
Games
consolePC
On-premises
databaseBrowserOffice Add-in
On-premises
service
AD
Mul...
So, what’s the options?
Deploy your backend
code on a Virtual Machine
Deploy your backend
code on a Cloud Service
Create A...
API APPS
Easily build and consume APIs in
the cloud
WEB APPS
Web apps that scale with your
business
LOGIC APPS
Automate bu...
Storage
Authentication
Logic
Push
Scheduler
Azure App Service - Mobile App
Try App Service: https://tryappservice.azure.com
Free
No Signup or
Account Required
60
+
as easy as…
adding
WindowsAzureMobileServices.framework
to your project
App Service Mobile app
with ios Demo
WatchKit + Azure App Service?
???
Internet
WatchKit App
Storyboard
Resources
iOS App
WatchKit Extension
Code
Resources
Internet
Bluetooth
Azure App Service
iOS App
WatchKit Extension
Code
Resources
Internet
Bluetooth
Azure App Service
application(applica
tion:
UIApplication,
handleWatchKitExten
sionRequest
userInfo: [NSObject
: AnyObject]?,
reply:
(([NSOb...
WatchKit Extension & iOS app communication - loading tasks
WKInterfaceController.openParentApplication(["ac
tion": "loadTa...
What about Android Wear?
Not that different!
WatchKit app
Accessing Azure Demo
What Next?
Slide + Source code: http://andriyadi.me
Get started with Azure
Visit azure.com
Free trial! worth $200
Or create temporary service:
https://trywebsites.azurewebsit...
https://github.com/Azure-Readiness/DevCamp
https://developer.apple.com/watchkit/
Deep dive training?
http://edu.dycode.co.id | edu@dycode.com
+ + [Obj-C]
+
Education
a leading mobile & web apps
developer, an educator, an early
adopter, an award-winning
company
DyCode
www.dycode.com
office at dycode dot com | @dycode
Thanks
Wearables + Azure development
Wearables + Azure development
Wearables + Azure development
Wearables + Azure development
Wearables + Azure development
Wearables + Azure development
Wearables + Azure development
Upcoming SlideShare
Loading in …5
×

Wearables + Azure development

1,713 views

Published on

Slide I used to deliver a talk in Global Azure Bootcamp 2015. I talked about developing app for wearables (e.g. Apple Watch and Android Wear) and leverage Azure App Service - Mobile App as the backend.

Global Azure Bootcamp is a yearly community-driven worldwide Azure-related talks.

Published in: Technology
  • Be the first to comment

Wearables + Azure development

  1. 1. Please tweet photos or post to Instagram with hashtag #GlobalAzure 
 #GlobalAzureBandung
  2. 2. All collected photos: 
 http://bit.ly/globalazurebandung Powered by 
 http://jepret.in
  3. 3. SPONSORED BY ORGANISED BY Education AZURE DEVELOPER
 I N D O N E S I A SUPPORTED BY
  4. 4. Andri Yadi @andri_yadi | a at dycode dot com http://andriyadi.me
  5. 5. CEO of
  6. 6. 7 years in a row
  7. 7. The first & largest iOS & OSX developer community in Indonesia ID-Objective-C President
  8. 8. Wearables + Azure
 Development
  9. 9. Assumed, most of you are all coders! Disclaimer
  10. 10. Remember this?
  11. 11. Smart Watches
  12. 12. Smart Wristbands
  13. 13. Smart Glasses
  14. 14. Wearable cameras
  15. 15. Virtual Reality
  16. 16. holographic computing
  17. 17. Smart CLOTHES
  18. 18. Smart Hats
  19. 19. Pet GPS Tracker
  20. 20. ???
  21. 21. Simply put, wearable is.. Putting computer on your face, arm, neck, foot, shirt…
  22. 22. Wearable (obviously), invisible* Targeted (limited) capabilities Have (limited) computing unit (Mostly) not standalone Programmable, yay! What they have in common
  23. 23. Common development Challenges Fragmentation Limited capability
 Such as: no direct internet connectivity Limited API
 New technology, most APIs are in development Too much relies on “host” machine
  24. 24. Market $12 billion by 2018 78% annual growth rate http://www.statista.com/statistics/259372/wearable-device-market-value/ http://sproutsocial.com/insights/wearables-technology-social-media/
  25. 25. http://www.statista.com/chart/3370/wearable-device-forecast/
  26. 26. 42% prefer Smart watch/band
  27. 27. 3 MILLION SALES
 in 2 weeks estimated
  28. 28. so, today I only talk about developing for smartwatch - Apple Watch Disclaimer
  29. 29. Intro to WatchKit Backend service with Azure
 Connecting watch app to Azure backend for 50 mins, we’ll cover…
  30. 30. Apple Watch Development stuffs Let’s start with…
  31. 31. Apple Watch
  32. 32. What is Apple Watch app? iOS app extension running on iOS + set of UIs running on Watch
  33. 33. Apple Watch App cannot run standalone without iPhone iPad is not supported yet!
  34. 34. http://developer.apple.com/ios iOS 8.2 we need… WatchKit
  35. 35. WatchKit App Storyboard Resources iOS App WatchKit Extension Code Resources Bluetooth
  36. 36. So, you can’t develop for Apple Watch without learning iOS development
  37. 37. Required StuffsRequired Stuffs
  38. 38. iOS in form of Xcode Latest
  39. 39. Xcode iOS & Watch Simulator iOS Developer Library iOS
  40. 40. Optional Stuffs
  41. 41. Actual devices
  42. 42. WatchKit development stuffs
  43. 43. [Obj-C] Objective-C Swift Should know or
  44. 44. Not Taylor Swift.. Note, I’m a fan :)
  45. 45. Model-View-Controller design pattern Model View Controller Should understand
  46. 46. Core
 Foundation Extensions WatchKitUIKit Foundation Push
 Notification Few iOS frameworks you should know Handoff
  47. 47. Accelerate Accounts AddressBook AddressBookUI AdSupport AssetsLibrary AudioToolbox AudioUnit AVFoundation AVKitCFNetwork CloudKit CoreAudio CoreAudioKit CoreBluetooth CoreData CoreFoundation CoreGraphics CoreImage CoreLocation CoreMedia CoreMIDI CoreMotion CoreTelephony CoreText CoreVideo EventKit EventKitUI ExternalAccessory Foundation GameController GameKit GLKit GSS HealthKit HomeKit iAd ImageIO IOKit JavaScriptCore LocalAuthentication MapKit MediaAccessibility MediaPlayer MediaToolbox MessageUI Metal MobileCoreServices MultipeerConnectivity NetworkExtension NewsstandKit NotificationCenter OpenAL OpenGLES PassKit Photos PhotosUI PushKit QuartzCore QuickLook SafariServices SceneKit Security Social SpriteKit StoreKit SystemConfiguration Twitter UIKitVideoToolbox WebKit
  48. 48. Backend with 
 Microsoft Azure
  49. 49. Clientlayer (on-premises) Tablet Phone Games consolePC On-premises databaseBrowserOffice Add-in On-premises service AD Multifactor Authentication AccessControl Layer Integration layer Service Bus CDN BizTalk Services Traffic Manager Virtual Networks Express Route Application layer API Mgmt Web Apps Cloud ServicesVMMobile Apps Media Services Notification Hubs Scheduler Automation DataLayer Storage Blobs Tables Queues Data Machine Learning HD Insight Backup and RecoverySQL Database Caching StorSimple API Apps Logic Apps Microsoft Azure Services
  50. 50. So, what’s the options? Deploy your backend code on a Virtual Machine Deploy your backend code on a Cloud Service Create App Service instance, e.g. using Mobile App type
  51. 51. API APPS Easily build and consume APIs in the cloud WEB APPS Web apps that scale with your business LOGIC APPS Automate business process across SaaS and on-premises MOBILE APPS Build Mobile apps for any device Azure App Service
  52. 52. Storage Authentication Logic Push Scheduler Azure App Service - Mobile App
  53. 53. Try App Service: https://tryappservice.azure.com Free No Signup or Account Required
  54. 54. 60 + as easy as… adding WindowsAzureMobileServices.framework to your project
  55. 55. App Service Mobile app with ios Demo
  56. 56. WatchKit + Azure App Service?
  57. 57. ??? Internet
  58. 58. WatchKit App Storyboard Resources iOS App WatchKit Extension Code Resources Internet Bluetooth Azure App Service
  59. 59. iOS App WatchKit Extension Code Resources Internet Bluetooth Azure App Service
  60. 60. application(applica tion: UIApplication, handleWatchKitExten sionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) WKInterfaceCo ntroller.open ParentApplica tion() Internet Azure App Service or any backend 
 service [“action": “loadTasks"] [“data": task 
 dictionary array,
 “error”: “error string”] WatchKit Extension & iOS app communication WatchKit Extension iOS App Calling “openParentApplication” on WatchKit extension side will be handled by “handleWatchKitExtensionRequest” on iOS app side.
  61. 61. WatchKit Extension & iOS app communication - loading tasks WKInterfaceController.openParentApplication(["ac tion": "loadTasks"], reply: { (replyInfo, error) -> Void in if error != nil {
 //do something about error } let replyDict = replyInfo as [NSObject : AnyObject] if let errorMsg = replyDict["error"] as? String { if !errorMsg.isEmpty { //do something about error return } } self.records = replyDict["data"] as! [Dictionary<String, AnyObject>] self.configureTable() //reload table }) func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) { if let userInfo = userInfo { if let action = userInfo["action"] as? String { if action == "loadTasks" { println("userInfo: (userInfo)") //do load tasks from Azure loadTasks (reply) } else if action == "completeTask" { if let data = userInfo["data"] as? Dictionary<String, AnyObject> { //update data to Azure completeTask(data, reply: reply) } } } } } WatchKit Extension side - InterfaceController.swift iOS app side - AppDelegate.swift
  62. 62. What about Android Wear?
  63. 63. Not that different!
  64. 64. WatchKit app Accessing Azure Demo
  65. 65. What Next?
  66. 66. Slide + Source code: http://andriyadi.me
  67. 67. Get started with Azure Visit azure.com Free trial! worth $200 Or create temporary service: https://trywebsites.azurewebsites.net
  68. 68. https://github.com/Azure-Readiness/DevCamp
  69. 69. https://developer.apple.com/watchkit/
  70. 70. Deep dive training? http://edu.dycode.co.id | edu@dycode.com + + [Obj-C] + Education
  71. 71. a leading mobile & web apps developer, an educator, an early adopter, an award-winning company
  72. 72. DyCode www.dycode.com office at dycode dot com | @dycode Thanks

×