SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
It’s easier than you think:
How to create social apps
for millions of users
Bastian Hofmann
VZnet Netzwerke Ltd.
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
2
Agenda
• Part 1: Theory
– What is a Gadget?
– What is OpenSocial?
– Privacy at VZ-Netzwerke
– OpenSocial Services
– The REST API
• Part 2: Practical
– Let‘s write our own Gadget
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
What is a Gadget?
• XML file with HTML
and JavaScript (and
CSS, Images,
Flash, ...)
• Application based on
the Google Gadgets
specification
• Can be included on
various platforms
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
How to include gadgets?
• The Gadget Server
– renders the Gadget XML
– provides the JS API
– provides the REST (and
RPC) API
• Rendered result is
included through an
<iframe> into the parent
page (Container)
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
Gadget Features
• Gadget specification
includes a rich
JavaScript API with a
multitude of features
– preferences
– views
– dynamic-height
– flash
– io
– ...
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
One Gadget - Different Views
• Profile
• Canvas
• Preview
• Group
• Popup
• Integration
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
And what is OpenSocial?
• Extension of the Gadget JavaScript API
• an open standard
• enables gadgets to access the social
graph of users
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
What about privacy?
– Visibility
• Visibility on a user‘s profile page can be
changed individually for friends or other
people.
– Access
• Access to user data is handled through a
special vcard
– Communication
• Gadget needs user permissions for
communication (Messages, Activity Stream,
Notifications, ...)
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
VCards
• Wile installing a
gadget, the user has
to assign an vcard
• Data on vcard can
differ to the user‘s
profile
• Gadget has only
access to data of
users which have
installed the gadget
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
Services
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
People Service
• Access to social graph
(Users and their friends)
• At VZ: all vcards of users who
have installed the gadget
accessable
• At VZ: not writable
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
AppData Service
• Persistent Key - Value
Store
• stored by gadget
• In practice most gadgets
store data in their own
backend
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
... and even more services
• numerous additional services are
specified by the OpenSocial standard or
by extensions implemented in one or
more big containers:
– Activities
– Messages
– Payment
– Photos
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
Server to Server: The REST API
• All JavaScript OpenSocial APIs are
available in the REST (and RPC) API as well
• Access with
– Two-legged OAuth (in the context of a
gadget)
– or Three-legged OAuth with Consumer
Key and Secret
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
And now the fun part ...
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
DEMO
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
https://github.com/bashofmann/
bgf2010_demo_gadget
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
OpenSocial Europe Event
06.12. - 07.12.
Utrecht (NL)
http://blog.opensocial.org/2010/10/first-european-opensocial-event-in.html
VZnet Netzwerke Ltd. - Saturday, November 6, 2010
Thank you
http://twitter.com/BastianHofmann
http://studivz.net/bastian
http://slideshare.net/bashofmann
bhofmann@vz.net
http://developer.studivz.net

Contenu connexe

Similaire à Creating OpenSocial Apps for millions of users

OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureBastian Hofmann
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial AppsBastian Hofmann
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-IDBastian Hofmann
 
Shindig in 2 hours
Shindig in 2 hoursShindig in 2 hours
Shindig in 2 hourshanhvi
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgetsscottw
 
IoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketIoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketSofian Hadiwijaya
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies scottw
 
Connecting Smart Things through Web services Orchestrations
Connecting Smart Things through Web services OrchestrationsConnecting Smart Things through Web services Orchestrations
Connecting Smart Things through Web services OrchestrationsAntonio Pintus
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijkkirstenveelo
 
GatelessVPN technology pitch
GatelessVPN technology pitchGatelessVPN technology pitch
GatelessVPN technology pitchGVNetworks
 
Web 2.0 & cyworld
Web 2.0 & cyworldWeb 2.0 & cyworld
Web 2.0 & cyworldisanox98
 
W3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web StandardsW3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web Standardsbrucelawson
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentSameera Rukshan
 
Intro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptxIntro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptxMikeMacPherson3
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 

Similaire à Creating OpenSocial Apps for millions of users (20)

OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, Future
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
 
Shindig in 2 hours
Shindig in 2 hoursShindig in 2 hours
Shindig in 2 hours
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
 
Widgets Final
Widgets FinalWidgets Final
Widgets Final
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgets
 
IoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketIoT Platform with MQTT and Websocket
IoT Platform with MQTT and Websocket
 
Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies Widgets and Mashups for Personal and Institutional Technologies
Widgets and Mashups for Personal and Institutional Technologies
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
Connecting Smart Things through Web services Orchestrations
Connecting Smart Things through Web services OrchestrationsConnecting Smart Things through Web services Orchestrations
Connecting Smart Things through Web services Orchestrations
 
Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijk
 
GatelessVPN technology pitch
GatelessVPN technology pitchGatelessVPN technology pitch
GatelessVPN technology pitch
 
Web 2.0 & cyworld
Web 2.0 & cyworldWeb 2.0 & cyworld
Web 2.0 & cyworld
 
W3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web StandardsW3C Widgets: Apps made with Web Standards
W3C Widgets: Apps made with Web Standards
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Microsoft & IoT
Microsoft & IoTMicrosoft & IoT
Microsoft & IoT
 
Intro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptxIntro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptx
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 

Plus de Bastian Hofmann

IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution! IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution! Bastian Hofmann
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialBastian Hofmann
 
The Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve itThe Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve itBastian Hofmann
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialBastian Hofmann
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialBastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsBastian Hofmann
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsBastian Hofmann
 
How to create social apps for millions of users
How to create social apps for millions of users How to create social apps for millions of users
How to create social apps for millions of users Bastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social NetworkingBastian Hofmann
 
Advanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsAdvanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsBastian Hofmann
 
How to make your social games successfull
How to make your social games successfullHow to make your social games successfull
How to make your social games successfullBastian Hofmann
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Bastian Hofmann
 
OpenSocial in der Praxis
OpenSocial in der PraxisOpenSocial in der Praxis
OpenSocial in der PraxisBastian Hofmann
 

Plus de Bastian Hofmann (19)

IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution! IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
 
The Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve itThe Identity Problem of the Web and how to solve it
The Identity Problem of the Web and how to solve it
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
 
Crossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocialCrossing the Boundaries of Web Applications with OpenSocial
Crossing the Boundaries of Web Applications with OpenSocial
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web Apps
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
How to create social apps for millions of users
How to create social apps for millions of users How to create social apps for millions of users
How to create social apps for millions of users
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
 
Advanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsAdvanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial Apps
 
How to make your social games successfull
How to make your social games successfullHow to make your social games successfull
How to make your social games successfull
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
OpenSocial in der Praxis
OpenSocial in der PraxisOpenSocial in der Praxis
OpenSocial in der Praxis
 
OpenSocial Done Right
OpenSocial Done RightOpenSocial Done Right
OpenSocial Done Right
 
Social apps done right
Social apps done rightSocial apps done right
Social apps done right
 

Dernier

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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 WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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 MenDelhi Call girls
 
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 SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Dernier (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Creating OpenSocial Apps for millions of users

  • 1. It’s easier than you think: How to create social apps for millions of users Bastian Hofmann VZnet Netzwerke Ltd. VZnet Netzwerke Ltd. - Saturday, November 6, 2010
  • 2. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 2 Agenda • Part 1: Theory – What is a Gadget? – What is OpenSocial? – Privacy at VZ-Netzwerke – OpenSocial Services – The REST API • Part 2: Practical – Let‘s write our own Gadget
  • 3. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 What is a Gadget? • XML file with HTML and JavaScript (and CSS, Images, Flash, ...) • Application based on the Google Gadgets specification • Can be included on various platforms
  • 4. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 How to include gadgets? • The Gadget Server – renders the Gadget XML – provides the JS API – provides the REST (and RPC) API • Rendered result is included through an <iframe> into the parent page (Container)
  • 5. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 Gadget Features • Gadget specification includes a rich JavaScript API with a multitude of features – preferences – views – dynamic-height – flash – io – ...
  • 6. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 One Gadget - Different Views • Profile • Canvas • Preview • Group • Popup • Integration
  • 7. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 And what is OpenSocial? • Extension of the Gadget JavaScript API • an open standard • enables gadgets to access the social graph of users
  • 8. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 What about privacy? – Visibility • Visibility on a user‘s profile page can be changed individually for friends or other people. – Access • Access to user data is handled through a special vcard – Communication • Gadget needs user permissions for communication (Messages, Activity Stream, Notifications, ...)
  • 9. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 VCards • Wile installing a gadget, the user has to assign an vcard • Data on vcard can differ to the user‘s profile • Gadget has only access to data of users which have installed the gadget
  • 10. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 Services
  • 11. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 People Service • Access to social graph (Users and their friends) • At VZ: all vcards of users who have installed the gadget accessable • At VZ: not writable
  • 12. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 AppData Service • Persistent Key - Value Store • stored by gadget • In practice most gadgets store data in their own backend
  • 13. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 ... and even more services • numerous additional services are specified by the OpenSocial standard or by extensions implemented in one or more big containers: – Activities – Messages – Payment – Photos
  • 14. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 Server to Server: The REST API • All JavaScript OpenSocial APIs are available in the REST (and RPC) API as well • Access with – Two-legged OAuth (in the context of a gadget) – or Three-legged OAuth with Consumer Key and Secret
  • 15. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 And now the fun part ...
  • 16. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 DEMO
  • 17. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 https://github.com/bashofmann/ bgf2010_demo_gadget
  • 18. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 OpenSocial Europe Event 06.12. - 07.12. Utrecht (NL) http://blog.opensocial.org/2010/10/first-european-opensocial-event-in.html
  • 19. VZnet Netzwerke Ltd. - Saturday, November 6, 2010 Thank you http://twitter.com/BastianHofmann http://studivz.net/bastian http://slideshare.net/bashofmann bhofmann@vz.net http://developer.studivz.net