SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a Creating OpenSocial Apps for millions of users

Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
Bastian Hofmann
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijk
kirstenveelo
 
GatelessVPN technology pitch
GatelessVPN technology pitchGatelessVPN technology pitch
GatelessVPN technology pitch
GVNetworks
 
Web 2.0 & cyworld
Web 2.0 & cyworldWeb 2.0 & cyworld
Web 2.0 & cyworld
isanox98
 

Semelhante a 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
 

Mais de 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 OpenSocial
Bastian 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 it
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 OpenSocial
Bastian Hofmann
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
Bastian Hofmann
 
Advanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial AppsAdvanced Capabilities of OpenSocial Apps
Advanced Capabilities of OpenSocial Apps
Bastian 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 successfull
Bastian Hofmann
 

Mais 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

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