SlideShare a Scribd company logo
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

More Related Content

Similar to Creating OpenSocial Apps for millions of users

OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, Future
Bastian Hofmann
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
Bastian 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 hours
hanhvi
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
Phil www.rzr.online.fr
 
Widgets Final
Widgets FinalWidgets Final
Widgets Final
petrosoininen
 
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
scottw
 
IoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketIoT Platform with MQTT and Websocket
IoT Platform with MQTT and Websocket
Sofian 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
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
Phil www.rzr.online.fr
 
Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010
CRS4 Research Center in Sardinia
 
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
 
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 Standards
brucelawson
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
Sameera Rukshan
 
Microsoft & IoT
Microsoft & IoTMicrosoft & IoT
Microsoft & IoT
Clemente Giorio
 
Intro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptxIntro to NOSTR - Bitcoin Meetup.pptx
Intro to NOSTR - Bitcoin Meetup.pptx
MikeMacPherson3
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
Bastian Hofmann
 

Similar to 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
 
Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010Antonio Pintus- TouchTheWeb 2010
Antonio Pintus- TouchTheWeb 2010
 
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
 
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
 

More from 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 OpenSocial
Bastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
Bastian 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 Islands
Bastian 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 Apps
Bastian Hofmann
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
Bastian 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 OpenID
Bastian 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 Praxis
Bastian Hofmann
 

More from 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
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

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