SlideShare a Scribd company logo
1 of 42
HomeKit
Inside And Out
Rolf Rando

HomeKit (Apple)
Weave / Brillo (Google / Nest)

SmartThings (Samsung)

Wink
WeMo (Belkin)
Launched in iOS8 (2014)



Little device support until iOS9


Home App, video & doorbell support
in iOS10
HomeKit Protocol
3rd Party
Apps
HomeKit API
Home App Siri
iCloud
Ways To Interact With HomeKit
3rd Party Apps through the HomeKit API
iPhone, iPad, WatchOS and AppleTV
Bluetooth Low Energy
Bluetooth Smart
Bluetooth LE
BLE
Frequency Modulation (FM)

Generic Attributes
GATT
Common operations framework
for data transport
Thermometer service
Lock Service
Temperature
Characteristic
Lock State
Characteristic
Angle
Characteristic
Bluetooth Advertising
•An accessory (‘peripheral’)
‘advertises’ by broadcasting basic
device info regular intervals. It can
also provide available services.
•Master devices (‘centrals’) must see
advertising data to discover devices
nearby as well as to connect to a
known device.
Communication Protocol
•40 specific frequency channels
around 2.4 GHZ.
•Host device (‘central’) learns of
interference and marks bad channels
as busy.
• 4 channels are reserved for the
advertising and initiating the
connection. Remainder are used for
data communication.
HomeKit Accessory Protocol
(HAP)
BLE
Proprietary Apple-defined
services and characteristics

Encryption / Pairing mechanism
iCloud
HomeKit Protocol
3rd Party
Apps
HomeKit API
Home App Siri
Pairing
HomeKit accessories generate their own Ed25519 key pair
for use in communicating with iOS devices. If the accessory
is restored to factory settings, a new key pair is generated.
Ed25519 = Edwards-curve Digital Signature Algorithm
(EdDSA)
https://www.apple.com/business/docs/iOS_Security_Guide.pdf
- Add HomeKit Framework
- Enable Capabilities
Getting Started With HomeKit
HMHomeManager
..
self.homeManager = [[HMHomeManager alloc] init];
self.homeManager.delegate = self;
…
-(void) didUpdateHomes:(HMHomeManager *) manager {
[self.tableView reloadData]
}
HMHome
HMRoom
HMZone
HMAccessory
HMService
HMCharacteristic
HMServiceTypeLockMechanism


HMCharacteristicTypeCurrentLockMechanismState
HMHome isPrimaryHome
NSArray *lightServices = [self.homeKitManager.primaryHome
servicesWithTypes:@[HMServiceTypeLightbulb]];
#define kHomeKitStateUnlocked
HMCharacteristicValueLockMechanismStateUnsecured


#define kHomeKitStateLocked
HMCharacteristicValueLockMechanismStateSecured
HMAccessory *homeKitLock;
. . .
// Lock a door
if (homeKitLock.isReachable == false) {
return;
}
for (HMService *service in homeKitLock.services) {
if ([service.serviceType isEqualToString: HMServiceTypeLockMechanism]) {
for (HMCharacteristic *characteristic in service.characteristics){
if ([characteristic.characteristicType isEqualToString:
HMCharacteristicTypeTargetLockMechanismState]) {
[characteristic writeValue:[NSNumber
numberWithInt:kHomeKitStateUnlocked] completionHandler:^(NSError * _Nullable
error) {
if (error==nil) {
NSLog(@“Door was locked”);

}
}];
. . .
HMAction

HMActionSet
HMScene
HMTrigger
HMTimerTrigger *newTrigger = [[HMTimerTrigger alloc] initWithName:@"Wake Up Time"
fireDate:self.wakeUpTime
timeZone:nil
recurrence:nil
recurrenceCalendar:nil];
[primaryHome addActionSetWithName:@"Wake Action" completionHandler:^(HMActionSet *actionSet,
NSError *error) {
if (error == nil) {
HMCharacteristicWriteAction *writeAction = [[HMCharacteristicWriteAction alloc]
initWithCharacteristic:lightCharacteristic targetValue:[NSNumber numberWithFloat:30.0]];
[actionSet addAction:writeAction completionHandler:^(NSError * _Nullable error) {
}];
}
}];
[newTrigger addActionSet:actionSet completionHandler:^(NSError * _Nullable error) {
if (error !=nil) {
[primaryHome addTrigger:newTrigger completionHandler:^(NSError * _Nullable error)
{
if (error != nil) {
[newTrigger enable:true completionHandler:^(NSError * _Nullable error) {
. . .
}];
}
}];
}
}];
HMEvent
HMCharacteristicEvent
HMLocationEvent
Triggers a HMScene when a combination of characteristic and location events
occur.
+ (NSPredicate
*)predicateForEvaluatingTriggerOccurringAfterSignificantEvent
:(NSString *)significantEvent
applyingOffset:(NSDateComponents *)offset;
+ (NSPredicate
*)predicateForEvaluatingTriggerOccurringBeforeSignificantEven
t:(NSString *)significantEvent
applyingOffset:(NSDateComponents *)offset;
HMEventTrigger
Development Tips
Allocating 

HMHomeManager initiates permission request to user
Surface HomeKit error messages to user.
error.localizedDescription
HMCatalogApp Source Code
Service name = Siri name
Often HomeKit header files have more details than
documentation.
Application Ideas
-Augment existing app
-Automation designer
Making a HomeKit
Accessory
Making a HomeKit
Accessory
• Apply to Apple’s Mfi program
• Most major hardware vendors have chips solutions
that come with a HomeKit SDK, and encryption
built in.
• Accessory must be certified by Apple to ship
• Some devices are not exclusively for HomeKit
platform.
Personal electronics
projects
• Piggy-back off of an existing HomeKit device.
• HomeControl HomeKit implementation in (GO)
• Open HABHomeKit bridge (node.js)
Questions?
Thanks!

Rolf Rando
@rolfro
rolf (at) august.com

More Related Content

What's hot

Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptŁukasz Kużyński
 
Callbacks and control flow in Node js
Callbacks and control flow in Node jsCallbacks and control flow in Node js
Callbacks and control flow in Node jsThomas Roch
 
Understanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptUnderstanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptjnewmanux
 
Talk KVO with rac by Philippe Converset
Talk KVO with rac by Philippe ConversetTalk KVO with rac by Philippe Converset
Talk KVO with rac by Philippe ConversetCocoaHeads France
 
React native-firebase startup-mtup
React native-firebase startup-mtupReact native-firebase startup-mtup
React native-firebase startup-mtupt k
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsPiotr Pelczar
 
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jscacois
 
Perl: Coro asynchronous
Perl: Coro asynchronous Perl: Coro asynchronous
Perl: Coro asynchronous Shmuel Fomberg
 
Angular server-side communication
Angular server-side communicationAngular server-side communication
Angular server-side communicationAlexe Bogdan
 
Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)xSawyer
 
Rntb20200805
Rntb20200805Rntb20200805
Rntb20200805t k
 
Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Rainer Stropek
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)Domenic Denicola
 
Realm.io par Clement Sauvage
Realm.io par Clement SauvageRealm.io par Clement Sauvage
Realm.io par Clement SauvageCocoaHeads France
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello Worldi-love-flamingo
 
Containers & Dependency in Ember.js
Containers & Dependency in Ember.jsContainers & Dependency in Ember.js
Containers & Dependency in Ember.jsMatthew Beale
 

What's hot (20)

Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascript
 
Callbacks and control flow in Node js
Callbacks and control flow in Node jsCallbacks and control flow in Node js
Callbacks and control flow in Node js
 
Understanding Asynchronous JavaScript
Understanding Asynchronous JavaScriptUnderstanding Asynchronous JavaScript
Understanding Asynchronous JavaScript
 
Talk KVO with rac by Philippe Converset
Talk KVO with rac by Philippe ConversetTalk KVO with rac by Philippe Converset
Talk KVO with rac by Philippe Converset
 
React native-firebase startup-mtup
React native-firebase startup-mtupReact native-firebase startup-mtup
React native-firebase startup-mtup
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
 
Avoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.jsAvoiding Callback Hell with Async.js
Avoiding Callback Hell with Async.js
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
Perl: Coro asynchronous
Perl: Coro asynchronous Perl: Coro asynchronous
Perl: Coro asynchronous
 
Promise pattern
Promise patternPromise pattern
Promise pattern
 
Angular server-side communication
Angular server-side communicationAngular server-side communication
Angular server-side communication
 
Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)
 
Rntb20200805
Rntb20200805Rntb20200805
Rntb20200805
 
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
 
Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#Workshop: Async and Parallel in C#
Workshop: Async and Parallel in C#
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
 
Realm.io par Clement Sauvage
Realm.io par Clement SauvageRealm.io par Clement Sauvage
Realm.io par Clement Sauvage
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello World
 
Containers & Dependency in Ember.js
Containers & Dependency in Ember.jsContainers & Dependency in Ember.js
Containers & Dependency in Ember.js
 
Promises, Promises
Promises, PromisesPromises, Promises
Promises, Promises
 

Viewers also liked

Apple home kit smart home vision from apple
Apple home kit smart home vision from appleApple home kit smart home vision from apple
Apple home kit smart home vision from appleAlexandre Rieupeyrout
 
Smart Home – Apple HomeKit scenarios
Smart Home – Apple HomeKit scenariosSmart Home – Apple HomeKit scenarios
Smart Home – Apple HomeKit scenariosAxel Quack
 
2106-04-30 - IBM - The Era of the Cognitive Home - for distribution
2106-04-30 - IBM - The Era of the Cognitive Home - for distribution2106-04-30 - IBM - The Era of the Cognitive Home - for distribution
2106-04-30 - IBM - The Era of the Cognitive Home - for distributionThorsten Schroeer
 
Innovation and robotic for aging society
Innovation and robotic for aging societyInnovation and robotic for aging society
Innovation and robotic for aging societypantapong
 
Introduction to innovation management
Introduction to innovation managementIntroduction to innovation management
Introduction to innovation managementSurang Judistprasert
 
IBM Smart Home Vision Using Cloud Technology
IBM Smart Home Vision Using Cloud TechnologyIBM Smart Home Vision Using Cloud Technology
IBM Smart Home Vision Using Cloud TechnologyIBMElectronics
 
Introduction to Oberon HomeKit SDKs
Introduction to Oberon HomeKit SDKsIntroduction to Oberon HomeKit SDKs
Introduction to Oberon HomeKit SDKsCuno Pfister
 
KMT 公司简介
KMT 公司简介KMT 公司简介
KMT 公司简介Jinseh Kim
 
Apple Research Kit
Apple Research KitApple Research Kit
Apple Research KitGene Leybzon
 
e-Sim Sharing (extract)
e-Sim Sharing (extract)e-Sim Sharing (extract)
e-Sim Sharing (extract)BearingPoint
 
Programmable SIM cards, SoftSIMs and eSIMs
Programmable SIM cards, SoftSIMs and eSIMsProgrammable SIM cards, SoftSIMs and eSIMs
Programmable SIM cards, SoftSIMs and eSIMsGerry O'Prey
 
Google analytics 還原使用者操作現場
Google analytics 還原使用者操作現場Google analytics 還原使用者操作現場
Google analytics 還原使用者操作現場Shih-En Chou
 
智能合約結合區塊鏈簡介
智能合約結合區塊鏈簡介智能合約結合區塊鏈簡介
智能合約結合區塊鏈簡介Nicholas Lin
 
Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3Accenture Technology
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Viewers also liked (17)

Apple home kit smart home vision from apple
Apple home kit smart home vision from appleApple home kit smart home vision from apple
Apple home kit smart home vision from apple
 
Smart Home – Apple HomeKit scenarios
Smart Home – Apple HomeKit scenariosSmart Home – Apple HomeKit scenarios
Smart Home – Apple HomeKit scenarios
 
Homekit 20140730
Homekit 20140730Homekit 20140730
Homekit 20140730
 
2106-04-30 - IBM - The Era of the Cognitive Home - for distribution
2106-04-30 - IBM - The Era of the Cognitive Home - for distribution2106-04-30 - IBM - The Era of the Cognitive Home - for distribution
2106-04-30 - IBM - The Era of the Cognitive Home - for distribution
 
Innovation and robotic for aging society
Innovation and robotic for aging societyInnovation and robotic for aging society
Innovation and robotic for aging society
 
Introduction to innovation management
Introduction to innovation managementIntroduction to innovation management
Introduction to innovation management
 
IBM Smart Home Vision Using Cloud Technology
IBM Smart Home Vision Using Cloud TechnologyIBM Smart Home Vision Using Cloud Technology
IBM Smart Home Vision Using Cloud Technology
 
Introduction to Oberon HomeKit SDKs
Introduction to Oberon HomeKit SDKsIntroduction to Oberon HomeKit SDKs
Introduction to Oberon HomeKit SDKs
 
KMT 公司简介
KMT 公司简介KMT 公司简介
KMT 公司简介
 
Apple Research Kit
Apple Research KitApple Research Kit
Apple Research Kit
 
e-Sim Sharing (extract)
e-Sim Sharing (extract)e-Sim Sharing (extract)
e-Sim Sharing (extract)
 
Programmable SIM cards, SoftSIMs and eSIMs
Programmable SIM cards, SoftSIMs and eSIMsProgrammable SIM cards, SoftSIMs and eSIMs
Programmable SIM cards, SoftSIMs and eSIMs
 
Google analytics 還原使用者操作現場
Google analytics 還原使用者操作現場Google analytics 還原使用者操作現場
Google analytics 還原使用者操作現場
 
eSIM - "simlos" in die Zukunft?
eSIM - "simlos" in die Zukunft?eSIM - "simlos" in die Zukunft?
eSIM - "simlos" in die Zukunft?
 
智能合約結合區塊鏈簡介
智能合約結合區塊鏈簡介智能合約結合區塊鏈簡介
智能合約結合區塊鏈簡介
 
Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar to HomeKit Inside And Out

Scaling application with RabbitMQ
Scaling application with RabbitMQScaling application with RabbitMQ
Scaling application with RabbitMQNahidul Kibria
 
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.ppt
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.pptINTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.ppt
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.pptsenthilnathans25
 
Brillo/Weave Part 2: Deep Dive
Brillo/Weave Part 2: Deep DiveBrillo/Weave Part 2: Deep Dive
Brillo/Weave Part 2: Deep DiveJalal Rohani
 
The Software Developers Guide to Prototyping Wearable Devices
The Software Developers Guide to Prototyping Wearable DevicesThe Software Developers Guide to Prototyping Wearable Devices
The Software Developers Guide to Prototyping Wearable DevicesTechWell
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...Tom Croucher
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher
 
Use Geth to Access a Deployed Contract
Use Geth to Access a Deployed ContractUse Geth to Access a Deployed Contract
Use Geth to Access a Deployed ContractKC Tam
 
Creating an Uber Clone - Part XIII - Transcript.pdf
Creating an Uber Clone - Part XIII - Transcript.pdfCreating an Uber Clone - Part XIII - Transcript.pdf
Creating an Uber Clone - Part XIII - Transcript.pdfShaiAlmog1
 
How to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah CrowleyHow to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah CrowleyInfluxData
 
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxDataBuilding a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxDataInfluxData
 
Writing Ansible Modules (DENOG11)
Writing Ansible Modules (DENOG11)Writing Ansible Modules (DENOG11)
Writing Ansible Modules (DENOG11)Martin Schütte
 
Implementing new WebAPIs
Implementing new WebAPIsImplementing new WebAPIs
Implementing new WebAPIsJulian Viereck
 
Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Juan Pablo
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server InternalsPraveen Gollakota
 

Similar to HomeKit Inside And Out (20)

Scaling application with RabbitMQ
Scaling application with RabbitMQScaling application with RabbitMQ
Scaling application with RabbitMQ
 
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.ppt
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.pptINTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.ppt
INTRODUCTION TO SOCKETS IN COMPUTER NETWORKS DEPT OF CSE.ppt
 
sockets_intro.ppt
sockets_intro.pptsockets_intro.ppt
sockets_intro.ppt
 
Brillo/Weave Part 2: Deep Dive
Brillo/Weave Part 2: Deep DiveBrillo/Weave Part 2: Deep Dive
Brillo/Weave Part 2: Deep Dive
 
The Software Developers Guide to Prototyping Wearable Devices
The Software Developers Guide to Prototyping Wearable DevicesThe Software Developers Guide to Prototyping Wearable Devices
The Software Developers Guide to Prototyping Wearable Devices
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6
 
Use Geth to Access a Deployed Contract
Use Geth to Access a Deployed ContractUse Geth to Access a Deployed Contract
Use Geth to Access a Deployed Contract
 
Creating an Uber Clone - Part XIII - Transcript.pdf
Creating an Uber Clone - Part XIII - Transcript.pdfCreating an Uber Clone - Part XIII - Transcript.pdf
Creating an Uber Clone - Part XIII - Transcript.pdf
 
How to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah CrowleyHow to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah Crowley
 
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxDataBuilding a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
Building a Telegraf Plugin by Noah Crowly | Developer Advocate | InfluxData
 
Writing Ansible Modules (DENOG11)
Writing Ansible Modules (DENOG11)Writing Ansible Modules (DENOG11)
Writing Ansible Modules (DENOG11)
 
Implementing New Web
Implementing New WebImplementing New Web
Implementing New Web
 
Implementing new WebAPIs
Implementing new WebAPIsImplementing new WebAPIs
Implementing new WebAPIs
 
Sockets intro
Sockets introSockets intro
Sockets intro
 
gRPC in Go
gRPC in GogRPC in Go
gRPC in Go
 
Rmi3
Rmi3Rmi3
Rmi3
 
Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#
 
OneTeam Media Server
OneTeam Media ServerOneTeam Media Server
OneTeam Media Server
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server Internals
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

HomeKit Inside And Out