SlideShare a Scribd company logo
1
Building video apps on Salesforce Platform
Salesforce PLATINUM Partner
More than 400 successful Salesforce project deliveries
Leaders in Customer Engagement solutions
#1 Professional Services Partner for Salesforce in the UK
Innovation
Passion
All about makepositive
FRANCESCO IERVOLINO
Salesforce Certified Technical Architect
@socialcloudtech
•  Objectives
•  Video Platforms
•  WebRTC
EXAMPLE
•  Streams, Connections, and Sessions
•  Publishers / Subscribers
•  High Level Architecture
•  Stream Recording
•  Apex SDK
DEMO
•  Use Cases and Next Steps
•  Resources
•  Q&A
Agenda
Objectives
Extend the Force.com capabilities
Powering Force.com apps with real time communication
Enhancing the user experience
Provide multi-channel video capabilities
Build scalable and cost effective video apps
•  OpenTok
•  GoToMeeting
•  WebEx
•  Adobe Connect
•  BuddyMeeting
•  Google Hangout
Video Platforms
•  Skype
•  Vidyo
•  Vsee
•  Skype
•  Etc.
Video Platform vs Standalone Apps
WebRTC
•  Open project that provides browsers
and mobile applications with Real-
Time Communications (RTC)
capabilities via simple APIs
•  Supported by Google, Mozilla and
Opera
•  WebRTC enforces the usage of
encryption for both the media and
the signalling.
What’s the best?
Capabilities:
•  Robust Messaging
•  Multi-part calls
•  Archiving
•  Voice
•  Intelligent Quality Control (IQC)
•  WebRTC (No desktop client needed)
•  IE plugin
•  Rest API/Javascript SDK
•  Android / iOS SDK
OpenTok
The OpenTok Platform allows developers to
integrate live, face-to-face video directly into their
website and mobile apps using WebRTC
Example 1
•  A connection is a
logical abstraction of a
single browser tab's
interaction with a
Session. The
connection is the
mechanism through
which a browser
publishes and
subscribes to streams
within a Session
STREAMS
•  A session
represents an entire
video chat
environment. It is a
collection of
connections
publishing and
subscribing to
streams.
•  A stream is a single
audio-video signal,
which includes a
user's published
webcam and
microphone feed.
CONNECTIONS SESSIONS
Streams, Connections, and Sessions
Publishers / Subscribers
▪  A Publisher publishes audio-video streams to the chat
session.
▪  When you instantiate a Publisher, your browser notifies
the Session that it is now streaming a new audio-video
stream.
▪  When you destroy your publisher, its stream is
terminated and the Session is notified appropriately.
Publisher Subscriber
▪  A Subscriber consumes an audio-video stream in a
Session, displaying it on the web page based on
calls to the OpenTok client-side library.
▪  When a web page is notified that a new stream is
being published to the Session, it must decide
whether or not to subscribe to that stream.
▪  If the application logic deems that the stream should
be subscribed to, it uses the OpenTok client-side
library to instantiate a subscriber for that stream.
High Level Architecture
▪  The vast majority of
functionality is
delivered through the
OpenTok client-side
library. This is
executed on the
client's browser, iOS
app, or Android app.
▪  The web server
needs to get involved
when creating new
Sessions or new
Tokens.
Stream Recording
▪  Record, archive, and access every
OpenTok session
▪  The Archiving API include a
number of convenient features
such as start-and-stop capabilities,
server-side recording
▪  Archives are pushed directly to
Amazon S3 account or Windows
Azure, with the OpenTok Cloud
serving as a 72-hour backup
The OpenTok Server SDKs let you
create OpenTok sessions, generate
tokens, and work with OpenTok
archiving.
•  Java
•  PHP
•  Python
•  NodeJS
•  .NET
•  Ruby
Server SDKs
15
What was missing?
Apex SDK
▪  We built the OpenTok Apex SDK
and we open sourced
Creating Sessions
Generating Tokens
Working with Archives
//Ensure custom setting has record
String apiKey = openTokKey__c.getValue('key').Api_Key__c;
OpenTok openTok = new OpenTok(Integer.valueOf(this.apiKey),
openTokKey__c.getValues('key').Secret__c);
OpenTokSession session = openTok.createSession(null);
String sessionId = session.sessionId;
OpenTokSession session = new OpenTokSession(sessionId,
Integer.valueOf(apiKey),
openTokKey__c.getValues('key').Secret__c);
OpenTokTokenOptions tokenOptions = new
OpenTokTokenOptions(OpenTokRole.PUBLISHER, 30, UserInfo.getName());
String token = session.generateToken(tokenOptions);
OpenTokHTTPClient openTokHttpClient = new OpenTokHTTPClient('https://
api.opentok.com',
Integer.valueof(openTokKey__c.getValues('key').Api_Key__c),
openTokKey__c.getValues('key').Secret__c);
openTokHttpClient.startArchive('sessionId', 'Test_Recording');
DEMO
Use Cases
•  Recruiting Application
•  Customer Service (overlap with the SOS functionality)
•  Training Application
•  Interview Management Application
Next Steps
•  Embedding co-browsing functionality leveraging
OpenTok signaling
•  Screensharing
Resources
OpenTok
•  https://tokbox.com/
OpenTok Developer Guide
•  https://tbrel.tokbox.com/developer/
Server SDKs
•  https://github.com/opentok
Apex SDK
•  https://github.com/nchristopher/openTok-Salesforce
WebRTC
•  http://www.webrtc.org/
Q&A
FRANCESCO IERVOLINO
Technical Architect, makepositive
@socialcloudtech
francesco.iervolino@makepositive.com
Thank You

More Related Content

What's hot

Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
Jeff Smith
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
Nancy Thomas
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarDave Bost
 
Sid K
Sid KSid K
Sid KSid K
 
Resume-Neha-AWS
Resume-Neha-AWSResume-Neha-AWS
Resume-Neha-AWSNeha Gupta
 
Java, BA,UI resumes
Java, BA,UI resumesJava, BA,UI resumes
Java, BA,UI resumes
Neel A
 
Zia - Senior Java J2ee Developer with Oracle PlSql , Unix
Zia - Senior Java J2ee Developer with Oracle PlSql , UnixZia - Senior Java J2ee Developer with Oracle PlSql , Unix
Zia - Senior Java J2ee Developer with Oracle PlSql , UnixMohammed Arefeen
 
WebSphere Application Server Information Resources
WebSphere Application Server Information ResourcesWebSphere Application Server Information Resources
WebSphere Application Server Information Resources
ejlp12
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
Joel Briza
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and Framework
Jaime Cid
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
Jeff Haynie
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 
Middleware Admin 4.2+ Exp Murali
Middleware Admin 4.2+ Exp MuraliMiddleware Admin 4.2+ Exp Murali
Middleware Admin 4.2+ Exp MuraliN Murali
 

What's hot (20)

Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
 
Resume
ResumeResume
Resume
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not War
 
Sid K
Sid KSid K
Sid K
 
George Jordanov CV
George Jordanov CVGeorge Jordanov CV
George Jordanov CV
 
Resume-Neha-AWS
Resume-Neha-AWSResume-Neha-AWS
Resume-Neha-AWS
 
Java, BA,UI resumes
Java, BA,UI resumesJava, BA,UI resumes
Java, BA,UI resumes
 
Zia - Senior Java J2ee Developer with Oracle PlSql , Unix
Zia - Senior Java J2ee Developer with Oracle PlSql , UnixZia - Senior Java J2ee Developer with Oracle PlSql , Unix
Zia - Senior Java J2ee Developer with Oracle PlSql , Unix
 
WebSphere Application Server Information Resources
WebSphere Application Server Information ResourcesWebSphere Application Server Information Resources
WebSphere Application Server Information Resources
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
 
CV_PrasantKumar
CV_PrasantKumarCV_PrasantKumar
CV_PrasantKumar
 
Web Center Services and Framework
Web Center Services and  FrameworkWeb Center Services and  Framework
Web Center Services and Framework
 
Vishnu(java)
Vishnu(java)Vishnu(java)
Vishnu(java)
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
Chaitanya_resume
Chaitanya_resumeChaitanya_resume
Chaitanya_resume
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Middleware Admin 4.2+ Exp Murali
Middleware Admin 4.2+ Exp MuraliMiddleware Admin 4.2+ Exp Murali
Middleware Admin 4.2+ Exp Murali
 
Sateesh-Resume.docx
Sateesh-Resume.docxSateesh-Resume.docx
Sateesh-Resume.docx
 

Viewers also liked

Salesforce Project in Mule ESB 3.6 and Above Using Query Builder
Salesforce Project in Mule ESB 3.6  and Above Using Query BuilderSalesforce Project in Mule ESB 3.6  and Above Using Query Builder
Salesforce Project in Mule ESB 3.6 and Above Using Query Builder
Sashidhar Rao GDS
 
Simplifying Salesforce REST in Java Using Annotations
Simplifying Salesforce REST in Java Using AnnotationsSimplifying Salesforce REST in Java Using Annotations
Simplifying Salesforce REST in Java Using Annotations
Salesforce Developers
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
Sam Garforth
 
WebServices using salesforce
WebServices using salesforceWebServices using salesforce
WebServices using salesforce
Rajkattamuri
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
leahculver
 
Project about banking
Project about bankingProject about banking
Project about bankingparthiban40
 

Viewers also liked (7)

Salesforce Project in Mule ESB 3.6 and Above Using Query Builder
Salesforce Project in Mule ESB 3.6  and Above Using Query BuilderSalesforce Project in Mule ESB 3.6  and Above Using Query Builder
Salesforce Project in Mule ESB 3.6 and Above Using Query Builder
 
Simplifying Salesforce REST in Java Using Annotations
Simplifying Salesforce REST in Java Using AnnotationsSimplifying Salesforce REST in Java Using Annotations
Simplifying Salesforce REST in Java Using Annotations
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
 
WebServices using salesforce
WebServices using salesforceWebServices using salesforce
WebServices using salesforce
 
AA4_finalReport
AA4_finalReportAA4_finalReport
AA4_finalReport
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
Project about banking
Project about bankingProject about banking
Project about banking
 

Similar to Building Video Apps on Salesforce Platform

Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overview
Cisco DevNet
 
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
DEVNET-1122	Integrating Cisco Collaboration into Web AppsDEVNET-1122	Integrating Cisco Collaboration into Web Apps
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
Cisco DevNet
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
Catalin Gheorghiu
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
Brian Pulito
 
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Zohar Babin
 
Building SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsBuilding SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development Tools
Gunnar Peipman
 
OMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World CongressOMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World Congress
Open Mobile Alliance
 
Neev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming appsNeev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming apps
Neev Technologies
 
WebRTC
WebRTCWebRTC
WebRTC
allanh0526
 
Recording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsRecording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streams
Luis Lopez
 
Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015
Stephen Marquard
 
2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600Hz
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
Alan Quayle
 
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
Sanae BEKKAR
 
Webinar - What's New at Cloudflare (8/23/18)
Webinar - What's New at Cloudflare (8/23/18)Webinar - What's New at Cloudflare (8/23/18)
Webinar - What's New at Cloudflare (8/23/18)
Cloudflare
 
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Gina Montgomery, V-TSP
 
Unified Communications Webinar
Unified Communications WebinarUnified Communications Webinar
Unified Communications Webinar
Ginny Au
 
Tfx sessions
Tfx sessionsTfx sessions
Tfx sessions
ALTANAI BISHT
 
TrueСonf Products
TrueСonf ProductsTrueСonf Products
TrueСonf Products
TrueConf
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
Sanjay Willie
 

Similar to Building Video Apps on Salesforce Platform (20)

Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overview
 
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
DEVNET-1122	Integrating Cisco Collaboration into Web AppsDEVNET-1122	Integrating Cisco Collaboration into Web Apps
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
 
Building SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsBuilding SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development Tools
 
OMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World CongressOMA Developer Tool Kit - Mobile World Congress
OMA Developer Tool Kit - Mobile World Congress
 
Neev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming appsNeev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming apps
 
WebRTC
WebRTCWebRTC
WebRTC
 
Recording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsRecording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streams
 
Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015Opencast Project Update at Open Apereo 2015
Opencast Project Update at Open Apereo 2015
 
2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA2600hz WebRTC Meetup at WeWork, San Francisco, CA
2600hz WebRTC Meetup at WeWork, San Francisco, CA
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
 
Webinar - What's New at Cloudflare (8/23/18)
Webinar - What's New at Cloudflare (8/23/18)Webinar - What's New at Cloudflare (8/23/18)
Webinar - What's New at Cloudflare (8/23/18)
 
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
 
Unified Communications Webinar
Unified Communications WebinarUnified Communications Webinar
Unified Communications Webinar
 
Tfx sessions
Tfx sessionsTfx sessions
Tfx sessions
 
TrueСonf Products
TrueСonf ProductsTrueСonf Products
TrueСonf Products
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
 

Recently uploaded

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
 
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
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
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
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
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
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
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
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
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
 

Recently uploaded (20)

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...
 
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
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
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
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
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
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.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 ...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
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
 

Building Video Apps on Salesforce Platform

  • 1. 1 Building video apps on Salesforce Platform
  • 2. Salesforce PLATINUM Partner More than 400 successful Salesforce project deliveries Leaders in Customer Engagement solutions #1 Professional Services Partner for Salesforce in the UK Innovation Passion All about makepositive
  • 3. FRANCESCO IERVOLINO Salesforce Certified Technical Architect @socialcloudtech
  • 4. •  Objectives •  Video Platforms •  WebRTC EXAMPLE •  Streams, Connections, and Sessions •  Publishers / Subscribers •  High Level Architecture •  Stream Recording •  Apex SDK DEMO •  Use Cases and Next Steps •  Resources •  Q&A Agenda
  • 5. Objectives Extend the Force.com capabilities Powering Force.com apps with real time communication Enhancing the user experience Provide multi-channel video capabilities Build scalable and cost effective video apps
  • 6. •  OpenTok •  GoToMeeting •  WebEx •  Adobe Connect •  BuddyMeeting •  Google Hangout Video Platforms •  Skype •  Vidyo •  Vsee •  Skype •  Etc. Video Platform vs Standalone Apps
  • 7. WebRTC •  Open project that provides browsers and mobile applications with Real- Time Communications (RTC) capabilities via simple APIs •  Supported by Google, Mozilla and Opera •  WebRTC enforces the usage of encryption for both the media and the signalling.
  • 9. Capabilities: •  Robust Messaging •  Multi-part calls •  Archiving •  Voice •  Intelligent Quality Control (IQC) •  WebRTC (No desktop client needed) •  IE plugin •  Rest API/Javascript SDK •  Android / iOS SDK OpenTok The OpenTok Platform allows developers to integrate live, face-to-face video directly into their website and mobile apps using WebRTC
  • 11. •  A connection is a logical abstraction of a single browser tab's interaction with a Session. The connection is the mechanism through which a browser publishes and subscribes to streams within a Session STREAMS •  A session represents an entire video chat environment. It is a collection of connections publishing and subscribing to streams. •  A stream is a single audio-video signal, which includes a user's published webcam and microphone feed. CONNECTIONS SESSIONS Streams, Connections, and Sessions
  • 12. Publishers / Subscribers ▪  A Publisher publishes audio-video streams to the chat session. ▪  When you instantiate a Publisher, your browser notifies the Session that it is now streaming a new audio-video stream. ▪  When you destroy your publisher, its stream is terminated and the Session is notified appropriately. Publisher Subscriber ▪  A Subscriber consumes an audio-video stream in a Session, displaying it on the web page based on calls to the OpenTok client-side library. ▪  When a web page is notified that a new stream is being published to the Session, it must decide whether or not to subscribe to that stream. ▪  If the application logic deems that the stream should be subscribed to, it uses the OpenTok client-side library to instantiate a subscriber for that stream.
  • 13. High Level Architecture ▪  The vast majority of functionality is delivered through the OpenTok client-side library. This is executed on the client's browser, iOS app, or Android app. ▪  The web server needs to get involved when creating new Sessions or new Tokens.
  • 14. Stream Recording ▪  Record, archive, and access every OpenTok session ▪  The Archiving API include a number of convenient features such as start-and-stop capabilities, server-side recording ▪  Archives are pushed directly to Amazon S3 account or Windows Azure, with the OpenTok Cloud serving as a 72-hour backup
  • 15. The OpenTok Server SDKs let you create OpenTok sessions, generate tokens, and work with OpenTok archiving. •  Java •  PHP •  Python •  NodeJS •  .NET •  Ruby Server SDKs 15
  • 17. Apex SDK ▪  We built the OpenTok Apex SDK and we open sourced Creating Sessions Generating Tokens Working with Archives //Ensure custom setting has record String apiKey = openTokKey__c.getValue('key').Api_Key__c; OpenTok openTok = new OpenTok(Integer.valueOf(this.apiKey), openTokKey__c.getValues('key').Secret__c); OpenTokSession session = openTok.createSession(null); String sessionId = session.sessionId; OpenTokSession session = new OpenTokSession(sessionId, Integer.valueOf(apiKey), openTokKey__c.getValues('key').Secret__c); OpenTokTokenOptions tokenOptions = new OpenTokTokenOptions(OpenTokRole.PUBLISHER, 30, UserInfo.getName()); String token = session.generateToken(tokenOptions); OpenTokHTTPClient openTokHttpClient = new OpenTokHTTPClient('https:// api.opentok.com', Integer.valueof(openTokKey__c.getValues('key').Api_Key__c), openTokKey__c.getValues('key').Secret__c); openTokHttpClient.startArchive('sessionId', 'Test_Recording');
  • 18. DEMO
  • 19. Use Cases •  Recruiting Application •  Customer Service (overlap with the SOS functionality) •  Training Application •  Interview Management Application Next Steps •  Embedding co-browsing functionality leveraging OpenTok signaling •  Screensharing
  • 20. Resources OpenTok •  https://tokbox.com/ OpenTok Developer Guide •  https://tbrel.tokbox.com/developer/ Server SDKs •  https://github.com/opentok Apex SDK •  https://github.com/nchristopher/openTok-Salesforce WebRTC •  http://www.webrtc.org/
  • 21. Q&A FRANCESCO IERVOLINO Technical Architect, makepositive @socialcloudtech francesco.iervolino@makepositive.com