SlideShare a Scribd company logo
How to create an OpenSocial
Gadget in 45 minutes (hopefully)
                      Bastian Hofmann
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
Questions? Ask!
http://slideshare.net/bashofmann
http://www.opensocial.org/
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
I.   A set of APIs to access the social graph
     of users
II.
  A specification for including 3rd party
  applications (gadgets) into social services
CONTAINER    GADGET
meinvz.net   apivz.net
How to create OpenSocial Apps in 45 minutes
Rendering
Features
How to create OpenSocial Apps in 45 minutes
Container            Shindig
vz.net               apivz.net



               HTTP GET
   Gadget      apivz.net/gadgets/render?
   apivz.net   xml=....
Container           Shindig
vz.net              apivz.net



               HTML Page with OpenSocial
   Gadget      JavaScript API
   apivz.net
Container           Shindig
vz.net              apivz.net


               Ajax Requests to API
   Gadget
   apivz.net
Container
vz.net




   Gadget             Gadget Backend
               Ajax
   apivz.net          api.twitter.com
Same Origin Policy
Container
vz.net




   Gadget             Gadget Backend
               Ajax
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax



   Gadget             Gadget Backend
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax
                                  HTTP

   Gadget             Gadget Backend
   apivz.net          api.twitter.com
Container             Shindig
vz.net                apivz.net
               Ajax
                                  HTTP
                                  Owner ID
                                  Viewer ID
   Gadget
                                  OAuth Signature
   apivz.net
                       Gadget Backend
                       api.twitter.com
Shindig
apivz.net



            HTTP


 Gadget Backend
 api.twitter.com
Container
vz.net
   Not Allowed
    Gadget
    apivz.net
How to create OpenSocial Apps in 45 minutes
JavaScript RPC
Container          - window.postMessage
vz.net
       Message     - Iframes with relay files

    Gadget         - Flash bridge
    apivz.net
Application models
JavaScript based
Container             Shindig
vz.net                apivz.net
               Ajax
                      HTTP        HTTP

   Gadget             Gadget Backend
   apivz.net          api.twitter.com
Flash
Container              Shindig
vz.net                 apivz.net

               Ajax
                           HTTP
   Gadget
   apivz.net     HTTP Gadget Backend
                      api.twitter.com
   Flash
               HTTP
Redirecting
Container               Shindig
vz.net                  apivz.net


                            HTTP
  iframe
  api.twitter.          Gadget Backend
  com                   api.twitter.com

                 Ajax
Additional Iframe
Container              Shindig
vz.net                 apivz.net

               Ajax
                           HTTP
   Gadget
   apivz.net           Gadget Backend
                       api.twitter.com
   iframe
                Ajax
Views
CANVAS
PROFILE
GROUP
Proxied Content
OpenSocial Templates

                       OAuth Proxy Requests
   OSAPI

           Embedded Experiences


        DataPipelining




       Let‘s start programming
https://github.com/bashofmann/statusnet_gadget_2nd
http://www.partuza.nl/
https://github.com/bashofmann/partuza
DEMO
var html="<ul>";
for (var i=0; i < viewers.length; i++) {
   html += "<li>" + viewers[i].displayName
+ "</li>";
}
html += "<ul>";
document.getElementById("div").innerHTML =
html;

             Where is the error?
Templates
DEMO
Authorization
How to create OpenSocial Apps in 45 minutes
Pre Registration of Client at
Twitter:
                                twitter.com
- Shared Consumer Key
- Shared Consumer Secret


  lanyrd.com
HTTP POST
   Connect with Twitter


lanyrd.com
twitter.com

   HTTP POST
   Connect with Twitter

                    HTTP GET
lanyrd.com          Consumer Key
                    Redirect URI
                    Signature (Consumer
                    Secret)
twitter.com

   HTTP POST
   Connect with Twitter


lanyrd.com
                          Request Token
                          Request Token Secret
HTTP Redirect
    http://twitter.com/authorize?
    requestToken=...&consumerKey=...


lanyrd.com
HTTP GET


      twitter.com/
      authorize
Login


        twitter.com/
        authorize
Grant permission


        twitter.com/
        authorize

        Create verifier
        and bind it to
        User and Request
        Token
HTTP Redirect
Redirect URI?verifier=...




             twitter.com/
             authorize
HTTP GET


 lanyrd.com
(RedirectURI?
 verifier=...)
twitter.com

    HTTP GET

               HTTP GET
lanyrd.com     Consumer Key
               Verifier
               Signature (Consumer &
               Request Token Secret)
twitter.com

    HTTP GET


lanyrd.com
               Access Token
               Access Token Secret
twitter.com

    HTTP GET


lanyrd.com
               API Request
               Consumer Key
               Signature (Consumer &
               Access Token Secret)
DEMO
Documentation

                    http://docs.opensocial.org
   http://developer.studivz.net/wiki/index.php/
           Gadgets_Technical_Documentation
Rate and Comment




  http://spkr8.com/t/8873
h"p://twi"er.com/Bas2anHofmann
h"ps://profiles.google.com/bashofmann
h"p://lanyrd.com/people/Bas2anHofmann/
h"p://slideshare.net/bashofmann

mail@bas2anhofmann.de

More Related Content

PDF
Introduction to rg\injection
ODP
Beginning WordPress Plugin Development
PPTX
Working with Images in WordPress
PDF
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
PDF
Bootiful Development with Spring Boot and Angular - Spring I/O 2017
PPTX
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
PDF
What's New in JHipsterLand - Devoxx Poland 2017
PDF
Building a PWA with Ionic, Angular, and Spring Boot - GeeCON 2017
Introduction to rg\injection
Beginning WordPress Plugin Development
Working with Images in WordPress
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
Bootiful Development with Spring Boot and Angular - Spring I/O 2017
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
What's New in JHipsterLand - Devoxx Poland 2017
Building a PWA with Ionic, Angular, and Spring Boot - GeeCON 2017

What's hot (20)

PPTX
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
PPTX
Writing automation tests with python selenium behave pageobjects
PPTX
Behat - Drupal South 2018
KEY
Rails 3 and OAuth for Barcamp Tampa
PDF
Intro Open Social and Dashboards
PPTX
10 practices that every developer needs to start right now
PDF
Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)
PPTX
Gherkin for test automation in agile
PPT
Titanium Alloy Framework
PPTX
Browser Automated Testing Frameworks - Nightwatch.js
PPT
Wookie Meetup
PDF
OAuth and OEmbed
PPTX
Nom Nom: Consuming REST APIs
PDF
Intro to WordPress Plugin Development
PDF
Exposing Salesforce REST Services Using Swagger
PPT
Enterprise AIR Development for JavaScript Developers
PPT
Selenium and Cucumber Selenium Conf 2011
ODP
Devoxx 09 (Belgium)
PPTX
DevNet 1056 WIT Spark API and Chat Bot Workshop
PPTX
SgCodeJam24 Workshop
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
Writing automation tests with python selenium behave pageobjects
Behat - Drupal South 2018
Rails 3 and OAuth for Barcamp Tampa
Intro Open Social and Dashboards
10 practices that every developer needs to start right now
Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)
Gherkin for test automation in agile
Titanium Alloy Framework
Browser Automated Testing Frameworks - Nightwatch.js
Wookie Meetup
OAuth and OEmbed
Nom Nom: Consuming REST APIs
Intro to WordPress Plugin Development
Exposing Salesforce REST Services Using Swagger
Enterprise AIR Development for JavaScript Developers
Selenium and Cucumber Selenium Conf 2011
Devoxx 09 (Belgium)
DevNet 1056 WIT Spark API and Chat Bot Workshop
SgCodeJam24 Workshop
Ad

Similar to How to create OpenSocial Apps in 45 minutes (20)

PDF
Crossing the Boundaries of Web Applications with OpenSocial
PDF
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
PDF
Crossing the Boundaries of Web Applications with OpenSocial
PDF
Crossing the Boundaries of Web Applications with OpenSocial
PDF
The Identity Problem of the Web and how to solve it
PDF
Creating social games for millions of users
PDF
Integrating WordPress With Web APIs
PDF
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
ZIP
Palestra VCR
PPTX
Single Page Applications - Where Security Goes to Die
PPTX
API Workshop: Deep dive into REST APIs
PPTX
From ZERO to REST in an hour
PDF
FIWARE ID Management
PDF
Centralise legacy auth at the ingress gateway, SREday
PDF
Centralise legacy auth at the ingress gateway
PDF
PHP, OAuth, Web Services and YQL
PPTX
Adding identity management and access control to your app
PPTX
Best Practices for Architecting a Pragmatic Web API.
PDF
Plack basics for Perl websites - YAPC::EU 2011
PPTX
Adding Identity Management and Access Control to your App
Crossing the Boundaries of Web Applications with OpenSocial
IGNITE OpenSocial 2.0 - Viva La OpenAppRevolution!
Crossing 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
Creating social games for millions of users
Integrating WordPress With Web APIs
Understanding Identity in the World of Web APIs – Ronnie Mitra, API Architec...
Palestra VCR
Single Page Applications - Where Security Goes to Die
API Workshop: Deep dive into REST APIs
From ZERO to REST in an hour
FIWARE ID Management
Centralise legacy auth at the ingress gateway, SREday
Centralise legacy auth at the ingress gateway
PHP, OAuth, Web Services and YQL
Adding identity management and access control to your app
Best Practices for Architecting a Pragmatic Web API.
Plack basics for Perl websites - YAPC::EU 2011
Adding Identity Management and Access Control to your App
Ad

More from Bastian Hofmann (19)

PDF
Mashing up JavaScript
PDF
Distributed Identities with OpenID
PDF
Opening up the Social Web - Standards that are bridging the Islands
PDF
Mashing up JavaScript – Advanced Techniques for modern Web Apps
PDF
Mashing up JavaScript
PDF
How to create social apps for millions of users
PDF
Distributed Identities with OpenID
PDF
OpenSocial - Past, Present, Future
PDF
Distributed Social Networking
PDF
Technical Background of VZ-ID
KEY
Advanced Capabilities of OpenSocial Apps
PDF
Creating OpenSocial Apps for millions of users
PDF
How to make your social games successfull
PDF
Opening up the Social Web - Standards that are bridging the Islands
PDF
Distributed Identities with OpenID
PDF
Creating OpenSocial Apps
PDF
OpenSocial in der Praxis
PDF
OpenSocial Done Right
PDF
Social apps done right
Mashing up JavaScript
Distributed Identities with OpenID
Opening up the Social Web - Standards that are bridging the Islands
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript
How to create social apps for millions of users
Distributed Identities with OpenID
OpenSocial - Past, Present, Future
Distributed Social Networking
Technical Background of VZ-ID
Advanced Capabilities of OpenSocial Apps
Creating OpenSocial Apps for millions of users
How to make your social games successfull
Opening up the Social Web - Standards that are bridging the Islands
Distributed Identities with OpenID
Creating OpenSocial Apps
OpenSocial in der Praxis
OpenSocial Done Right
Social apps done right

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Machine Learning_overview_presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Assigned Numbers - 2025 - Bluetooth® Document
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf

How to create OpenSocial Apps in 45 minutes