SlideShare a Scribd company logo
1 of 49
Download to read offline
Many,	many	thanks
to:
Wistia
McGraw	Hill	Education
WebRTC	
and	
Wearable	Devices
Proctor	Cam
About	Me
@giorgionatili
• Technical	Leader	and	Agile	Coach	
• Front-end	Developer	(test	first!)
• Mobile	Developer	(Hybrid	with	Cordova,	iOS,	Android)
• Technology	Enthusiast
• Mentor	@	Airpair.com
What's	Next
• Intel	IOT	Road	Show						/									Feb	24									/						
		https://iotroadshow.intel.com/en/home
• NoSQL	Night	#2													/										Mar	05								/								
	http://www.meetup.com/bostonsoftware
• Mobile	Tea	#4																/										Mar	19								/								
	http://www.meetup.com/mobiletea
• Telerik	Next																				/										May	3									/								
		http://www.teleriknext.com
Agenda
• Technologies	overview	
• Tizen	Wearable	vs	Android	Wear
• Getting	started	with	Tizen	Wearable
• WebRTC	and	hybrid	development
• How	to	make	it	happening	(Cross-Walk)
A	Powerful	Mix
Technolgoies
Overview
• Tizen	Wearable
• Android
• Cordova
• Cross-Walk
• PhoneRTC
Tizen
• Operating	system	based	upon	the	Linux	kernel
• It	runs	on	mobile	phones	(Samsung	Z),	wearable	devices	(Gear
S2)	and	vehicles	(IA32	and	ARM)	
• Completely	Open	Source
• Maily	suported	by	Samsung,	Intel,	Orange	SA,	etc.
Android
• Operating	system	based	upon	the	Linux	kernel
• One	of	the	most	wide	target	operating	system	(mobile,
wearable,	car,	tv,	etc.)
• A	completely	Open	Source	platform
• Highly	customizable	(e.g.	Cyanogen)
Apache	Cordova
• Hybrid	mobile	development	framework
• Started	from	the	development	community	
• Extends	the	device	WebView	capabilities
• Based	upon	a	plugin	and	callbacks	architecture
• Open	Source
Cross-Walk
• Runtime	to	deploy	web	based	applications
• Support	multiple	architectures
• Provide	a	more	consistent	WebView	(Android	>	4.x	and	Tizen
common	and	IVI	only)
• Open	Source
• Enable	Chromium	features	on	mobile	devices
PhoneRTC
• Cross	platform	WebRTC	implementation	(Android/iOS/Web)
• Highly	integrated	with	Apache	Cordova
• Open	Source
• Well	documented	https://github.com/alongubkin/phonertc/wiki
Tizen	VS	Android
Wear
• Connectivity:	both	operating	systems	support	the	Bluetooth	4.0
• Programming	languages:	Java	vs	HTML5
• SDKs:	both	provide	a	solid	SDK	but	the	Tizen	one	offers	more
tools
• App	modes:	Tizen	supports	standalone	apps	(integrated	and
linked	are	supported	by	both)
Tizen	Wearable	SDK
SDK	Overview
• Device	manager	
• Eclipse	Based	IDE
• SDB	(Smart	Development	Bridge)
• Emulator
• CLI(Command	Line	Interface)	Tool
• Wearable	framework
• HTML/JavaScript/CSS	web	framework	(TAU)
Wearable
Framework
• Context	manager	support
• Samsung	Accessory	Protocol	stack	support
• Interoperability	support	via	host	manager	(Phone	side)	and
wearable	manager	service
Web	Framework
• Provides	a	complete	implementation	of	the	Web	API	optimized
for	wearable	devices
• W3C	Widget	specifications	support
• Device	APIs	to	access	to	a	device’s	platform	capabilities	support
• Camera	API	support
• Web	UI	framework
• Clock	widget	support
Application	Models
• Linked	(Master-Follower)
• Integrated
• Standalone
Smart	Development
Bridge
It’s	a	tool	to	manage	to	devices/emulators	that	for	instance	allow	you
to	copy	files,	install	apps,	etc.,	between	the	supported	commands	the
more	noticeable	are
$	sdb	kill-server															-	kill	the	server	if	it	is	running
$	sdb	start-server														-	ensure	that	there	is	a	server	running
$	sdb	pull	<remote>	[<local>]			-	copy	file/dir	from	device
$	sdb	push	<local>	<remote>					-	copy	file/dir	to	device
Development	Setup
You	need	your	Android	SDK	up	and	running,	you	will	use	a	lot	the	ADB
• Download	the	Tizen	Wearable	SDK	Manager	and	launch	it
• Add	to	your	path	the	tizen-wearable-sdk/tools/ide/bin	and	tizen-
wearable-sdk/tools/	folders
• Launch	the	IDE	and	create	a	sample	project
• Open	the	device	manager,	create	a	new	virtual	machine	and
debug	the	app
Quick	Demo
Connecting	to
Device
In	order	to	connect	a	widget	and	a	device	you	have	first	of	all	to
download	this	source	code	from	the	Samsung	web
site	(Applications_for_Emulator.zip)	then	follow	this	steps
• Connect	the	target	device	to	the	USB
• Install	the	following	apps	(exact	order)
Quick	Demo
(finger	crossed!)
Cordova
Command	Line	(cli)
It's	an	npm	module	that	acts	as	a	wrapper	around	the	different
supported	platforms,	the	most	important	commands	are:
$	cordova	<PATH>	[ID	[NAME]]																							-	create	a	new	project
$	cordova	platform	[add|remove|update][platform]			-	add/remove/update	a	platform
$	cordova	plugin	[add|remove|update][plugin]							-	add/remove/update	a	plugin
$	cordova	prepare	[platform]																							-	move	the	asssets	to	a	platform	projects
$	cordova	build	[platform]																									-	build	a	specific	platform
$	cordova	run	[platform]																											-	run	the	project	in	a	target	platform
$	cordova	serve																																				-	run	the	project	in	a	local	web	server
Cordova	and	Eclipse
• Once	you	add	the	Android	platform	and	build	the	project	you
can	import	in	Eclipse
• Since	Cordova	3.3	something	goes	wrong	referencing	to	the
embedded	Cordova	Lib	project
• Reference	the	source	code	(discouraged)	or	build	Cordova
(strongly	suggested)
Compile	Cordova
Android
• Clone	the	android-cordova	repository
• Switch	to	the	3.5	tag	(is	the	only	one	can	run	also	with	older
versions	of	Android)
• Move	to	the	framework	folder
• Update	the	project	configuration	files	to	the	desired	SDK	and
create	the	JAR
Enabling	WebRTC
It's	enough	to	install	the	plugin	in	your	project,	you	can	install	it	from
a	local	folder	or	using	the	git	repo	(and	optionally	a	tag)
$	cordova	plugin	add	https://github.com/alongubkin/phonertc.git
Create	a
WebRTC	Project
• Create	a	Cordova	project	and	add	the	Android	platform
• Download	the	source	code	of	the	PhoneRTC	demo	(available	on
GitHub)
• Copy	the	client	files	into	the	www	folder
• Install	the	server	files	on	a	node.js	environment
• Change	in	signaling.js	the	connection	address	(ip	or	domain)
Quick	Demo
Recap
Step	1
Install	the	Tizen	Wearable	SDK	and	define	a	vritual	device
Step	2
Configure	a	SAP	server	on	your	device	in	order	to	test	the
connectivity
Step	3
Import		the	HelloAccessoryProvider	project	in	Eclipse	and	build	it	(just
to	be	sure	your	configuration	is	OK)
Step	4
Import	your	WebRTC	Cordova	project	in	Eclipse	(don't	build	it,	it	will
fail)
Step	5
Build	and	link	Cordova	to	your	project	(don't	forget	to	match	your
target	API)
Step	6
Build	the	Cordova	project	to	verify	everything	is	correctly	configured
Step	7
Start	the	integration	of	the	HelloAccessoryProvider	project	with	the
Cordova	one
Step	8
Build	a	Tizen	Wearable	widget	and	connect	it	to	your	Cordova	app
What's	Next
Follow	this	repo	https://github.com/GiorgioNatili/tizen-werbrtc
Resources
Useful	Links
• http://denvycom.com/blog/step-by-step-guide-to-build-your-first-
samsung-gear2-app-tizen
• http://developer.samsung.com/galaxy#accessory
• https://crosswalk-
project.org/documentation/tizen_ivi_extensions.html
• https://wiki.tizen.org/wiki/Tizen_IVI_SDK#Installing_Tizen_IVI_SDK
• https://developer.tizen.org/dev-guide/2.3.0
• http://denvycom.com/blog/how-to-install-wgt-files-gear2
• http://java.dzone.com/articles/cordova-hello-world-android
@giorgionatili
#mobiletea	#javascript	#swift	#wearable	#agile	#android	#tdd
Thanks!
Grazie!	Graçias!	Danke!	Merci!	 !	
art	animated	GIF
Cross-Walk
Why
Getting	Started
Cordova	Integration
Trouble	Shooting

More Related Content

Similar to WebRTC communication and wearable devices

SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web RuntimesSXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
Daniel Appelquist
 
64c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
64c7d81c-2398-4c8d-a21d-421f53f03deb-16041321274864c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
64c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
Latha Gummadi
 
Abiro - Introduction
Abiro - IntroductionAbiro - Introduction
Abiro - Introduction
Abiro AB
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
Chris Morrell
 

Similar to WebRTC communication and wearable devices (20)

The Journey Towards IR 4.0
The Journey Towards IR 4.0The Journey Towards IR 4.0
The Journey Towards IR 4.0
 
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web RuntimesSXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
SXSW 2010 Future15 : Rise of Mobile, APIs and Web Runtimes
 
Solving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile PlatformSolving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile Platform
 
64c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
64c7d81c-2398-4c8d-a21d-421f53f03deb-16041321274864c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
64c7d81c-2398-4c8d-a21d-421f53f03deb-160413212748
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
GSA Boston 2011
GSA Boston 2011GSA Boston 2011
GSA Boston 2011
 
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
Dan Appelquist at BBC News Labs : "firefoxOS - the web, mobile, web apps"
 
Greg you - portfolio 2018_03_11
Greg you - portfolio 2018_03_11Greg you - portfolio 2018_03_11
Greg you - portfolio 2018_03_11
 
chapter2
chapter2chapter2
chapter2
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile Web
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-C
 
Getting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know CodeGetting Started with Mobile Websites if You Don't Know Code
Getting Started with Mobile Websites if You Don't Know Code
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
Abiro - Introduction
Abiro - IntroductionAbiro - Introduction
Abiro - Introduction
 
How to Build Your Career in IoT and IR 4.0
How to Build Your Career in IoT and IR 4.0How to Build Your Career in IoT and IR 4.0
How to Build Your Career in IoT and IR 4.0
 
Creating a Slick Web App Using jQTouch
Creating a Slick Web App Using jQTouchCreating a Slick Web App Using jQTouch
Creating a Slick Web App Using jQTouch
 
Android Platform Overview - Azercell Barama
Android Platform Overview - Azercell BaramaAndroid Platform Overview - Azercell Barama
Android Platform Overview - Azercell Barama
 
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
 
Shaping GOTO Amsterdam 2015
Shaping GOTO Amsterdam 2015Shaping GOTO Amsterdam 2015
Shaping GOTO Amsterdam 2015
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 

More from Giorgio Natili

The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6
Giorgio Natili
 
Multithreading development with workers
Multithreading development with workersMultithreading development with workers
Multithreading development with workers
Giorgio Natili
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architectures
Giorgio Natili
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile Integration
Giorgio Natili
 
Develop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGapDevelop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGap
Giorgio Natili
 

More from Giorgio Natili (20)

Driving Assistant Solutions with Android
Driving Assistant Solutions with AndroidDriving Assistant Solutions with Android
Driving Assistant Solutions with Android
 
Isomorphic Reactive Programming
Isomorphic Reactive ProgrammingIsomorphic Reactive Programming
Isomorphic Reactive Programming
 
Service worker API
Service worker APIService worker API
Service worker API
 
The Little Shop of TDD Horrors
The Little Shop of TDD HorrorsThe Little Shop of TDD Horrors
The Little Shop of TDD Horrors
 
I beacon mobile_tea
I beacon mobile_teaI beacon mobile_tea
I beacon mobile_tea
 
Android, getting started
Android, getting startedAndroid, getting started
Android, getting started
 
Clear the UIViewController Mess
Clear the UIViewController MessClear the UIViewController Mess
Clear the UIViewController Mess
 
Big data and mobile
Big data and mobileBig data and mobile
Big data and mobile
 
The short path to ecma 6
The short path to ecma 6The short path to ecma 6
The short path to ecma 6
 
Jasmine 2.0
Jasmine 2.0Jasmine 2.0
Jasmine 2.0
 
Harmonik
HarmonikHarmonik
Harmonik
 
Mobile raspberry pi
Mobile raspberry piMobile raspberry pi
Mobile raspberry pi
 
Multithreading development with workers
Multithreading development with workersMultithreading development with workers
Multithreading development with workers
 
Ecma6 in 30 minutes
Ecma6 in 30 minutesEcma6 in 30 minutes
Ecma6 in 30 minutes
 
TDD and PhoneGap
TDD and PhoneGapTDD and PhoneGap
TDD and PhoneGap
 
Undoable architectures
Undoable architecturesUndoable architectures
Undoable architectures
 
Test first!
Test first!Test first!
Test first!
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile Integration
 
Develop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGapDevelop, test and debug cross platforms apps with PhoneGap
Develop, test and debug cross platforms apps with PhoneGap
 
Test first
Test firstTest first
Test first
 

Recently uploaded

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
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
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
giselly40
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 

WebRTC communication and wearable devices