SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Creating OpenSocial Gadgets
                             Bastian Hofmann




Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Agenda

      Part 1: Theory
         What is a Gadget?
         What is OpenSocial?
         Privacy at VZ-Netzwerke
         OpenSocial Services
         OpenSocial without Gadgets - The Rest API

       Part 2: Practical
          Let‘s write our own Gadget




                                                                        2


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     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,
       which support this specification




                                                                        3


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     How to include gadgets?

      The Gadget Server
         renders the Gadget XML
         provides the JavaScript API
         provides the REST (or RPC) API

      Rendered result is included through an
       <iframe> into the parent page (Container)




                                                                        4


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Gadget Features

      Gadget specification includes a
       rich JavaScript API with a
       multitude of features
          preferences
          views
          dynamic-height
          flash
          io
          ...

      Extendabel




                                                                        5


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     One Gadget - Different Views

      Profile
      Canvas
      Preview
      Group
      Popup
      Integration




                                                                        6


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     And what is OpenSocial?

      Extension of the Gadget JavaScript API

      an open standard

      enables gadgets to access the social graph of users




                                                                        7


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     The OpenStack




                                                                        8


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Viewer != Owner or Viewer == Owner and Friends




                                                                        9


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What about privacy? Example of our solution.

             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, ...)




                                                                                       10


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     VCards

      Wile installing a gadget, the user has
       to assign an existing or new vcard to
       it

      Data on vcard can differ to the user‘s
       profile

      Gadget has only access to data of
       users which have installed the gadget




                                                                        11


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Services




                                                                        12


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     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

      API offers sorting and filtering abilities

      Identification with special OpenSocial ID:
       www.studivz.net:K0UCbAZQeQsyHC467mx3Cw



                                                                        13


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     AppData Service

      Persistent Key - Value Store

      stored by gadget

      In practice most gadgets store data in their
       own backend




                                                                        14


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     ... 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




                                                                                     15


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Server to Server - The OpenSocial 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




                                                                                        16


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     And now the fun part ...

      Let‘s write our own gadget in six steps:

                Hello World, Metadata and Views
                Static Content and CDN Access
                It‘s getting social: People Service
                Be safe while saving: AppData Service
                A bit more complex: Accessing your own backend with OAuth
                Spread it: Viral proliferation with invites




                                                                             17


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




                                                             DEMO




                                                                        18


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?




                                                                        19


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9




                                                                        20


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service




                                                                        21


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service




                                                                        22


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service




                                                                        23


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service
      Payment API




                                                                        24


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service
      Payment API
      Advertising API




                                                                        25


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service
      Payment API
      Advertising API
      Sandbox improvements




                                                                        26


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service
      Payment API
      Advertising API
      Sandbox improvements
      OpenSocial REST API in Sandbox




                                                                        27


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     What‘s on the roadmap 2010?

      OpenSocial 0.9
      Activity Service
      Messages Service
      Photos Service
      Payment API
      Advertising API
      Sandbox improvements
      OpenSocial REST API in Sandbox
      OpenID




                                                                        28


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




                                                                        29


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




                                                                        30


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     And at VZ-Netzwerke?


                                                                        43 Apps in Gallery, ca. 90 Apps live
    Launch Dec. 2009


                                                                5.37 Million Installations



                  250.000 Unique Users at Canvas Views



                                                                             16.1 Million Users


                                                                                                               31


Mittwoch, 10. Februar 2010
VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net




     Further information ...

      http://www.opensocial.org

      Our blog: http://developer.studivz.net

      Our wiki: http://developer.studivz.net/wiki

      Become a developer and get access to our sandbox:
       http://www.studivz.net/Developer and http://www.meinvz.net/Developer

      Or implement an OpenSocial container yourself:
       http://incubator.apache.org/shindig/



                                                                              32


Mittwoch, 10. Februar 2010
Thank you!


     Contact:
     Bastian Hofmann
     bhofmann@vz.net
     http://www.studivz.net/bastian




Mittwoch, 10. Februar 2010

Contenu connexe

Similaire à Creating OpenSocial Apps

OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureBastian Hofmann
 
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
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-IDBastian Hofmann
 
WoT.City and IoT Protocols Movement @ Taipei, Taiwan
WoT.City and IoT Protocols Movement @ Taipei, TaiwanWoT.City and IoT Protocols Movement @ Taipei, Taiwan
WoT.City and IoT Protocols Movement @ Taipei, TaiwanJollen Chen
 
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devicesIoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devicesSamsung Open Source Group
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015Jollen Chen
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010Andri Yadi
 
Open source softwares and its applications
Open source softwares and its applicationsOpen source softwares and its applications
Open source softwares and its applicationsSarika Sawant
 
PLNOG 5: Adam Jacob - Choose your own PLNOGventure
PLNOG 5: Adam Jacob - Choose your own PLNOGventurePLNOG 5: Adam Jacob - Choose your own PLNOGventure
PLNOG 5: Adam Jacob - Choose your own PLNOGventurePROIDEA
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]jtimberman
 
3. cloudcamp lt
3. cloudcamp lt3. cloudcamp lt
3. cloudcamp ltOpsCamp
 
Operations as Code
Operations as CodeOperations as Code
Operations as CodeOpsCamp
 
Onesocialweb: a platform to build mobile social applications
Onesocialweb: a platform to build mobile social applicationsOnesocialweb: a platform to build mobile social applications
Onesocialweb: a platform to build mobile social applicationsLaurent Eschenauer
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Jollen Chen
 
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...soft-shake.ch
 

Similaire à Creating OpenSocial Apps (20)

OpenSocial - Past, Present, Future
OpenSocial - Past, Present, FutureOpenSocial - Past, Present, Future
OpenSocial - Past, Present, Future
 
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
 
Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
 
WoT.City and IoT Protocols Movement @ Taipei, Taiwan
WoT.City and IoT Protocols Movement @ Taipei, TaiwanWoT.City and IoT Protocols Movement @ Taipei, Taiwan
WoT.City and IoT Protocols Movement @ Taipei, Taiwan
 
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devicesIoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
IoTivity Connects RVI from GENIVI's Develoment Platform to Tizen devices
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010
 
6-10-2010-PEMCI 2010
6-10-2010-PEMCI 20106-10-2010-PEMCI 2010
6-10-2010-PEMCI 2010
 
Windows Live Social Media
Windows Live Social MediaWindows Live Social Media
Windows Live Social Media
 
Open source softwares and its applications
Open source softwares and its applicationsOpen source softwares and its applications
Open source softwares and its applications
 
PLNOG 5: Adam Jacob - Choose your own PLNOGventure
PLNOG 5: Adam Jacob - Choose your own PLNOGventurePLNOG 5: Adam Jacob - Choose your own PLNOGventure
PLNOG 5: Adam Jacob - Choose your own PLNOGventure
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
 
3. cloudcamp lt
3. cloudcamp lt3. cloudcamp lt
3. cloudcamp lt
 
Operations as Code
Operations as CodeOperations as Code
Operations as Code
 
Onesocialweb: a platform to build mobile social applications
Onesocialweb: a platform to build mobile social applicationsOnesocialweb: a platform to build mobile social applications
Onesocialweb: a platform to build mobile social applications
 
Oper
OperOper
Oper
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
 
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...
soft-shake.ch - Vaadin - Rich Web Applications in Server-side Java without Pl...
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
 

Plus de Bastian Hofmann

Introduction to rg\injection
Introduction to rg\injectionIntroduction to rg\injection
Introduction to rg\injectionBastian 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
 
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutesHow to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutesBastian 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
 
Creating social games for millions of users
Creating social games for millions of usersCreating social games for millions of users
Creating social games for millions of usersBastian 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
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 

Plus de Bastian Hofmann (20)

Introduction to rg\injection
Introduction to rg\injectionIntroduction to rg\injection
Introduction to rg\injection
 
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!
 
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutesHow to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
 
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
 
Creating social games for millions of users
Creating social games for millions of usersCreating social games for millions of users
Creating social games 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
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
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 

Dernier

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Dernier (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Creating OpenSocial Apps

  • 1. Creating OpenSocial Gadgets Bastian Hofmann Mittwoch, 10. Februar 2010
  • 2. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Agenda  Part 1: Theory  What is a Gadget?  What is OpenSocial?  Privacy at VZ-Netzwerke  OpenSocial Services  OpenSocial without Gadgets - The Rest API  Part 2: Practical  Let‘s write our own Gadget 2 Mittwoch, 10. Februar 2010
  • 3. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net 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, which support this specification 3 Mittwoch, 10. Februar 2010
  • 4. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net How to include gadgets?  The Gadget Server  renders the Gadget XML  provides the JavaScript API  provides the REST (or RPC) API  Rendered result is included through an <iframe> into the parent page (Container) 4 Mittwoch, 10. Februar 2010
  • 5. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Gadget Features  Gadget specification includes a rich JavaScript API with a multitude of features  preferences  views  dynamic-height  flash  io  ...  Extendabel 5 Mittwoch, 10. Februar 2010
  • 6. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net One Gadget - Different Views  Profile  Canvas  Preview  Group  Popup  Integration 6 Mittwoch, 10. Februar 2010
  • 7. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net And what is OpenSocial?  Extension of the Gadget JavaScript API  an open standard  enables gadgets to access the social graph of users 7 Mittwoch, 10. Februar 2010
  • 8. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net The OpenStack 8 Mittwoch, 10. Februar 2010
  • 9. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Viewer != Owner or Viewer == Owner and Friends 9 Mittwoch, 10. Februar 2010
  • 10. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What about privacy? Example of our solution.  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, ...) 10 Mittwoch, 10. Februar 2010
  • 11. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net VCards  Wile installing a gadget, the user has to assign an existing or new vcard to it  Data on vcard can differ to the user‘s profile  Gadget has only access to data of users which have installed the gadget 11 Mittwoch, 10. Februar 2010
  • 12. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Services 12 Mittwoch, 10. Februar 2010
  • 13. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net 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  API offers sorting and filtering abilities  Identification with special OpenSocial ID: www.studivz.net:K0UCbAZQeQsyHC467mx3Cw 13 Mittwoch, 10. Februar 2010
  • 14. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net AppData Service  Persistent Key - Value Store  stored by gadget  In practice most gadgets store data in their own backend 14 Mittwoch, 10. Februar 2010
  • 15. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net ... 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 15 Mittwoch, 10. Februar 2010
  • 16. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Server to Server - The OpenSocial 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 16 Mittwoch, 10. Februar 2010
  • 17. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net And now the fun part ...  Let‘s write our own gadget in six steps:  Hello World, Metadata and Views  Static Content and CDN Access  It‘s getting social: People Service  Be safe while saving: AppData Service  A bit more complex: Accessing your own backend with OAuth  Spread it: Viral proliferation with invites 17 Mittwoch, 10. Februar 2010
  • 18. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net DEMO 18 Mittwoch, 10. Februar 2010
  • 19. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010? 19 Mittwoch, 10. Februar 2010
  • 20. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9 20 Mittwoch, 10. Februar 2010
  • 21. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service 21 Mittwoch, 10. Februar 2010
  • 22. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service 22 Mittwoch, 10. Februar 2010
  • 23. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service 23 Mittwoch, 10. Februar 2010
  • 24. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service  Payment API 24 Mittwoch, 10. Februar 2010
  • 25. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service  Payment API  Advertising API 25 Mittwoch, 10. Februar 2010
  • 26. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service  Payment API  Advertising API  Sandbox improvements 26 Mittwoch, 10. Februar 2010
  • 27. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service  Payment API  Advertising API  Sandbox improvements  OpenSocial REST API in Sandbox 27 Mittwoch, 10. Februar 2010
  • 28. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net What‘s on the roadmap 2010?  OpenSocial 0.9  Activity Service  Messages Service  Photos Service  Payment API  Advertising API  Sandbox improvements  OpenSocial REST API in Sandbox  OpenID 28 Mittwoch, 10. Februar 2010
  • 29. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net 29 Mittwoch, 10. Februar 2010
  • 30. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net 30 Mittwoch, 10. Februar 2010
  • 31. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net And at VZ-Netzwerke? 43 Apps in Gallery, ca. 90 Apps live Launch Dec. 2009 5.37 Million Installations 250.000 Unique Users at Canvas Views 16.1 Million Users 31 Mittwoch, 10. Februar 2010
  • 32. VZnet Netzwerke Ltd. l studiVZ.net l schuelerVZ.net l meinVZ.net Further information ...  http://www.opensocial.org  Our blog: http://developer.studivz.net  Our wiki: http://developer.studivz.net/wiki  Become a developer and get access to our sandbox: http://www.studivz.net/Developer and http://www.meinvz.net/Developer  Or implement an OpenSocial container yourself: http://incubator.apache.org/shindig/ 32 Mittwoch, 10. Februar 2010
  • 33. Thank you! Contact: Bastian Hofmann bhofmann@vz.net http://www.studivz.net/bastian Mittwoch, 10. Februar 2010