SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                 OpenSocial
                 Past - Present - Future

                 Bastian Hofmann
                 VZnet Netzwerke Ltd.
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Agenda
 – Introduc>on	
  to	
  OpenSocial
 – Apache	
  Shindig
 – History
     • New	
  stuff	
  in	
  OpenSocial	
  0.9
 – How	
  OpenSocial	
  is	
  used	
  today
 – The	
  OpenSocial	
  Founda>on
 – OpenSocial	
  2.0
 – Federated	
  Social	
  Web

                                                                                 2
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




	
  Ques>ons?

	
  Ask!

                                                                                      3
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                  hPp://slideshare.net/bashofmann
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




VZ-­‐Networks
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Facts	
  and	
  Figures
•   300	
  employees
•   655	
  servers
•   5,400	
  processors
•   13,000	
  GB	
  RAM
•   5,400	
  Mbit/s
•   At	
  Peak:	
  120,000	
  requests/s
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




The	
  technology	
  behind	
  it
•   PHP	
  +	
  Apache	
  HTTP	
  Server	
  +	
  APC
•   MySQL	
  +	
  Memcached
•   Java,	
  Scala	
  and	
  Python	
  Services
•   NGINX,	
  Haproxy
•   Apache	
  Shindig	
  (PHP)
•   RabbitMQ
•   Project	
  Voldermort,	
  Redis,	
  Apache	
  Hadoop
•   Sphinx	
  Search,	
  Apache	
  Solr
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




The	
  technology	
  behind	
  it
• Neo4j	
  Graph	
  database
• Chat:	
  ejabberd	
  (Erlang)
• Hazelcast,	
  Ant,	
  Maven,	
  Ivy,	
  Buildout,	
  RPM
• JQuery,	
  Mustache.js,	
  GWT
• Jenkins,	
  Sonar
• JUnit,	
  PHPUnit,	
  Selenium,	
  PHPMD,	
  PHPCPD,	
  
  Pdepend
• Ganglia,	
  Nagios,	
  Smokeping
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




OpenSocial	
  is	
  ...
• ...	
  a	
  set	
  of	
  APIs	
  to	
  access	
  the	
  social	
  graph	
  of	
  
  users

• ...	
  a	
  specifica>on	
  for	
  including	
  3rd	
  party	
  
  applica>ons	
  (gadgets)	
  into	
  social	
  services
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




What	
  is	
  a	
  Gadget?
• XML	
  file	
  with	
  HTML	
  and	
  
  JavaScript	
  (and	
  CSS,	
  
  Images,	
  Flash,	
  ...)
• Applica>on	
  based	
  on	
  the	
  
  Google	
  Gadgets	
  
  specifica>on
• Can	
  be	
  included	
  on	
  
  various	
  plajorms
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Apache	
  Shindig
• OpenSource	
  implementa>on	
  of	
  an	
  OpenSocial	
  
  container
• Java	
  and	
  PHP	
  versions	
  available

• New:	
  MySpace	
  is	
  currently	
  open	
  sourcing	
  
  their	
  .NET	
  implementa>on


hPp://shindig.apache.org/
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




The	
  team
• 26	
  commiPers	
  and	
  PMC	
  
  member	
  from	
  all	
  over	
  the	
  
  world
• Currently	
  vo>ng	
  on	
  adding	
  
  3	
  new	
  ones
• Many,	
  many	
  contributors
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Rendering
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Social	
  APIs
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Proxy                                                                             Shindig
                                                                                  apivz.net


 Container
 vz.net                                                            Ajax

                                                                                        HTTP

               Gadget	
                                                           Gadget	
  Backend
               apivz.net                                                          coolgame.com
                                                                     Ajax
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




JavaScript	
  RPC

Container                                                                          -­‐	
  window.postMessage
vz.net


                                                  Method	
  Call                   -­‐	
  Iframes	
  with	
  relay	
  
            Gadget	
                                                               files
            apivz.net


                                                                                   -­‐	
  Flash
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




AuthenJficaJon
• Two-­‐Legged	
  or	
  Three-­‐Legged	
  
  OAuth

• Security	
  Token	
  for	
  JavaScript	
  
  requests	
  from	
  gadget
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




           OAuth	
  1.0a	
  Flow
                             +----------+                                  +---------------+
                             |          -+----(B)-- Request Token -------->|               |
                             | End-user |                                  | Authorization |
                             |     at    |<---(C)-- User authenticates --->|     Server    |
                             | Browser |                                   |               |
                             |          -+----(D)-- Verifier -------------<|               |
                             +-|----|---+                                  +---------------+
                                |     |                                        ^      v
                               (B) (D)                                         |      |
                                |     |                                        |      |
                                ^     v                                        |      |
                             +---------+                                       |      |
                             |          |>---(A)-- Redirect URL ---------------|      |
                             |    Web   |<---(A)-- Request Token + Secret -----|      |
                             | Client |>---(E)-- Request Token, Verifier ----'        |
                             |          |<---(E)-- Access Token + Secret -------------'
                             +---------+

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Every   Request: Client Credentials, Nonce, Timestamp, Signature

                     hPp://oauth.net/
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




         Engage
hPp://shindig.apache.org/community/index.html
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Releases
•   0.5:	
  November,	
  1st	
  2007
•   0.6:	
  December,	
  21st	
  2007
•   0.7:	
  February,	
  4th	
  2008
•   0.8:	
  May,	
  28th	
  2008
•   0.9:	
  April,	
  16th	
  2009
•   1.0:	
  March,	
  15th	
  2010
•   1.1:	
  November,	
  18th	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




OpenSocial	
  Reach
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




  What	
  changed?	
  (APer	
  0.8)
  •   Templates
  •   Data	
  Pipelining
  •   Proxied	
  Content
  •   OSML
  •   New	
  APIs:	
  photos	
  and	
  media	
  items
  •   New,	
  simple	
  JavaScript	
  API
hPp://opensocial-­‐resources.googlecode.com/svn/spec/1.1/OpenSocial-­‐Specifica>on-­‐Release-­‐
Notes.xml
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Data	
  Pipelining
 <script xmlns:os="http://ns.opensocial.org/2008/markup"
 type="text/os-data">
     <os:PeopleRequest key="Viewer" userId="@viewer"
 groupId="@self" fields="@all" />
     <os:PeopleRequest key="Owner" userId="@owner"
 groupId="@self"/>
     <os:PeopleRequest key="ViewerFriends" userId="@viewer"
 groupId="@friends"/>
     <os:HttpRequest key="httpFriends" href="http://
 localhost:8062/vz_demo_gadget/backend/
 externalFriends.json"/>
 </script>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Displaying	
  data
<script type="text/javascript">
var viewers= opensocial.data.DataContext.getDataSet
("ViewerFriends");




                                                    BAD
var html="<ul>";
for (var i=0; i < viewers.length; i++) {
   html += "<li>" + viewers[i].displayName + "</li>";
}
document.getElementById("div").innerHTML = html;
</script>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Templates
 <script type="text/os-template"
 require="ViewerFriends">
   <ul>
    <li><b>Viewer Friends:</b></li>
     <li repeat="${ViewerFriends}">
        <span>Showing friend ${Context.Index}
              of ${Context.Count}:</span>
       <span>Name: ${Cur.displayName}</span>
     </li>
  </ul>
 </script>



                                                         <Require	
  feature="opensocial-­‐templates"></Require>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Templates
 <script type="text/os-template" require="fruits"
 autoUpdate="true">
     <ul>
       <li repeat="${fruits}">
         #${Context.Index}: ${Cur.name} from ${Cur.origin}
       </li>
     </ul>
 </script>

 <script type="text/javascript">
 opensocial.data.DataContext.putDataSet("fruits",
      [{name:"Apple", origin: "Germany"},
       {name:"Orange", origin: "Spain"}]
 );
 </script>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Templates

<script type="text/os-template" autoUpdate="true">
    <h3>Testing calculation</h3>
    <div>2 + 1 = ${2 + 1}</div>
</script>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Templates
<script type="text/os-template" require="fruit"
       autoUpdate="true">
   <h3>Fruit: <span>${fruit}</span></h3>
   <p if="${fruit == 'Orange'}">from Spain</p>
</script>

<a href="javascript:;" id="changeFruit">change</a>

<script type="text/javascript">
opensocial.data.DataContext.putDataSet( "fruit", "Apple" );
document.getElementById('changeFruit').onclick = function()
{
    opensocial.data.DataContext.putDataSet( "fruit",
          "Orange" );
}
</script>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Proxied	
  Content
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Proxied	
  Content


<Content type="html" view="profile,canvas,popup"
       authz="signed" href="http://example.com/canvas.php">
</Content>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010



<?php
require_once "../lib/oauth.php";
class MyOAuthSignatureMethod_RSA_SHA1 extends OAuthSignatureMethod_RSA_SHA1 {
        protected function fetch_public_cert(&$request) {
            $s = curl_init();
            curl_setopt($s,CURLOPT_URL,$_GET['xoauth_signature_publickey']);
            curl_setopt($s, CURLOPT_RETURNTRANSFER, 1);
            $cert = curl_exec($s);
            curl_close($s);
            return $cert;
        }
        protected function fetch_private_cert(&$request) {
            return;
        }
}
$request = OAuthRequest::from_request();
$server = new MyOAuthSignatureMethod_RSA_SHA1();
$return = $server->check_signature($request, null, null, $_GET
['oauth_signature']);

if (! $return) {
        die('invalid signature');
}

$postBody = json_decode(file_get_contents('php://input'), true);
$viewerId = $_GET['opensocial_viewer_id'];
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                            Use	
  Cases




                                                                           37
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Apps	
  and	
  Games	
  @VZnet

                                                                  33	
  Mio.	
  Installs

                                                                  1,8	
  Mio.	
  DAU

                                                                  5,5	
  Mio.	
  MAU
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




VZ-­‐Apps	
  compared	
  to	
  other	
  gaming	
  sites
  	
                                                      Daily	
  Unique	
  Visitors	
  (Mio)   Time	
  on	
  Site	
  (min)
               VZ-­‐Apps                                                       1,80                       10:50
           jetztspielen.de                                                     1,30                       13:50
              gameduell                                                        1,10                       20:00
            SpieleJpps.de                                                      1,00                       09:00
              king.com                                                         1,00                       28:00
               BigPoint                                                        1,00                       05:40
            1001spiele.de                                                      0,46                       20:00
            spielkarussel                                                      0,43                       14:40
             gamesload                                                         0,29                       04:30
              fe_spielen                                                       0,24                       14:20
              spielen.de                                                       0,18                       12:30
            Yahoo!	
  Spiele                                                   0,16                       04:30
           spiele-­‐zone.de                                                    0,12                       12:00
             sevengames                                                        0,11                       05:50
Google! Adplanner, Feb 2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Top	
  Developers	
  at	
  VZnet
                               4.6	
  Mio.                              Beijing	
  ELEX

                               2.08	
  Mio.                                               Plinga

                               1.33	
  Mio.                                         i-­‐Jet	
  Media


                                  1,28	
  Mio.                                            Wooga

Monthly active users within all applications
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Good	
  Example:	
  Dorfleben	
  (HalfQuest)
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                                       Demo




                                                                           43
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                                       Demo




                                                                           49
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Engage
        -­‐	
  Build	
  Apps
        -­‐	
  Build	
  Containers
          hPp://www.opensocial.org/
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




The	
  OpenSocial	
  FoundaJon
➡ The	
  OpenSocial	
  Founda1on	
  is	
  a	
  non-­‐profit	
  
  corpora1on	
  created	
  to	
  sustain	
  the	
  free	
  and	
  open	
  
  development	
  of	
  OpenSocial	
  specifica1ons.	
  The	
  
  Founda1on	
  helps	
  facilitate	
  the	
  development	
  of	
  
  new	
  specifica1ons	
  and	
  ensures	
  that	
  the	
  technical	
  
  direc1on	
  remains	
  in	
  the	
  hands	
  of	
  the	
  community.
                                            hPp://www.opensocial.org/page/opensocial-­‐founda>on-­‐faq
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




FuncJons
• Organize	
  specifica>on	
  development

• Developer	
  outreach

• PR

• Legal
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




OrganizaJon
• Board	
  Members:
  – Paul	
  Lindner	
  (Google)
  – Jason	
  Gary	
  (IBM)
  – Dan	
  Theurer	
  (Yahoo)
  – Chris	
  Chole	
  (MySpace)
  – Mark	
  Halvorson	
  (Community	
  Rep.,	
  Atlassian)
  – Evan	
  Prodomou	
  (Community	
  Rep.,	
  Status.NET)
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




OrganizaJon
• Officers
  – Mark	
  Weitzel	
  (President,	
  Jive)
  – Helen	
  Chen	
  (Secretary,	
  Cisco)
  – Karthik	
  Suri	
  (Treasurer,	
  Yahoo)
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Engage
        -­‐	
  Write	
  the	
  Spec
        -­‐	
  Help	
  people
        -­‐	
  Promote
        -­‐	
  Documenta>on
           hPp://www.opensocial.org/
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




OpenSocial	
  2.0
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Mobile
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                                                           61
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                                                           62
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Mobile	
  Apps	
  &	
  Games	
  on	
  VZnet
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                                       Demo




                                                                           65
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Mobile	
  Views
 <Module>
     <ModulePrefs>
     </ModulePrefs>
     <Content type="html" view="mobile">
     </Content>
 </Module>


 <Module>
     <ModulePrefs>
     </ModulePrefs>
     <Content type="html" view="canvas"
        media="screen, touch and resolution >
        90dpi" >
     </Content>
 </Module>
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




View-­‐level	
  Features
 <Module>
     <ModulePrefs>
       <Require feature="opensocial-1.1" />
       <Require feature="pubsub" views="default,
 canvas"/>
       <Require feature="mobile_feature"
 views="mobile"/>
       <Require feature="views" />
     </ModulePrefs>
     <Content type="html" view="default, canvas">
     </Content>
     <Content type="html" view="mobile">
     </Content>
 </Module>
                   hPp://docs.opensocial.org/display/OSD/View+Level+Features+Proposal
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Embedded	
  Experiences
• Contextual	
  
  gadgets,	
  
  embeddable	
  into
  – Emails
  – Feeds
  – etc.


                                      hPp://docs.opensocial.org/display/OSD/Embedded+Experiences
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




BePer	
  group	
  support
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




AcJvityStrea.ms
• open	
  specifica>on	
  for	
  
  syndica>ng	
  social	
  ac>vi>es	
  
  (feeds)
• already	
  adopted	
  by	
  
  Facebook,	
  MySpace,	
  
  Windows	
  Live,	
  Google	
  Buzz,	
  
  Opera,	
  and	
  many	
  others
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




Federated	
  Social	
  Web




                                                                                hPp://federatedsocialweb.net
VZnet	
  Netzwerke	
  Ltd.	
  -­‐	
  Saturday,	
  February	
  5,	
  2010




                                             Thank	
  you

hPp://twiPer.com/Bas>anHofmann
hPp://studivz.net/bas>an
hPp://slideshare.net/bashofmann
bhofmann@vz.net

hPp://developer.studivz.net

Más contenido relacionado

Similar a OpenSocial - Past, Present, Future

Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-IDBastian 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
 
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
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...Maarten Balliauw
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian 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
 
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...Maarten Balliauw
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-serviceusing ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-serviceusing ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlMaarten Balliauw
 
Creating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of usersCreating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of usersBastian Hofmann
 
international PHP2011_Bastian Hofmann_Mashing up java script
international PHP2011_Bastian Hofmann_Mashing up java scriptinternational PHP2011_Bastian Hofmann_Mashing up java script
international PHP2011_Bastian Hofmann_Mashing up java scriptsmueller_sandsmedia
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenIDBastian Hofmann
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSocketsGunnar Hillert
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DayTechMaster Vietnam
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...Mark West
 
Shindig in 2 hours
Shindig in 2 hoursShindig in 2 hours
Shindig in 2 hourshanhvi
 

Similar a OpenSocial - Past, Present, Future (20)

Technical Background of VZ-ID
Technical Background of VZ-IDTechnical Background of VZ-ID
Technical Background of VZ-ID
 
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
 
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
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
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
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
 
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
OAuth-as-a-service - using ASP.NET Web API and Windows Azure Access Control -...
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-serviceusing ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-serviceusing ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
 
Creating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of usersCreating OpenSocial Apps for millions of users
Creating OpenSocial Apps for millions of users
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
international PHP2011_Bastian Hofmann_Mashing up java script
international PHP2011_Bastian Hofmann_Mashing up java scriptinternational PHP2011_Bastian Hofmann_Mashing up java script
international PHP2011_Bastian Hofmann_Mashing up java script
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Distributed Identities with OpenID
Distributed Identities with OpenIDDistributed Identities with OpenID
Distributed Identities with OpenID
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
 
(C)NodeJS
(C)NodeJS(C)NodeJS
(C)NodeJS
 
Shindig in 2 hours
Shindig in 2 hoursShindig in 2 hours
Shindig in 2 hours
 

Más 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
 
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
 
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
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial AppsBastian Hofmann
 
OpenSocial in der Praxis
OpenSocial in der PraxisOpenSocial in der Praxis
OpenSocial in der PraxisBastian Hofmann
 

Más de Bastian Hofmann (15)

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
 
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
 
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
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
 
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

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

OpenSocial - Past, Present, Future

  • 1. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OpenSocial Past - Present - Future Bastian Hofmann VZnet Netzwerke Ltd.
  • 2. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Agenda – Introduc>on  to  OpenSocial – Apache  Shindig – History • New  stuff  in  OpenSocial  0.9 – How  OpenSocial  is  used  today – The  OpenSocial  Founda>on – OpenSocial  2.0 – Federated  Social  Web 2
  • 3. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010  Ques>ons?  Ask! 3
  • 4. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 hPp://slideshare.net/bashofmann
  • 5. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 VZ-­‐Networks
  • 6. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 7. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Facts  and  Figures • 300  employees • 655  servers • 5,400  processors • 13,000  GB  RAM • 5,400  Mbit/s • At  Peak:  120,000  requests/s
  • 8. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 The  technology  behind  it • PHP  +  Apache  HTTP  Server  +  APC • MySQL  +  Memcached • Java,  Scala  and  Python  Services • NGINX,  Haproxy • Apache  Shindig  (PHP) • RabbitMQ • Project  Voldermort,  Redis,  Apache  Hadoop • Sphinx  Search,  Apache  Solr
  • 9. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 The  technology  behind  it • Neo4j  Graph  database • Chat:  ejabberd  (Erlang) • Hazelcast,  Ant,  Maven,  Ivy,  Buildout,  RPM • JQuery,  Mustache.js,  GWT • Jenkins,  Sonar • JUnit,  PHPUnit,  Selenium,  PHPMD,  PHPCPD,   Pdepend • Ganglia,  Nagios,  Smokeping
  • 10. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 11. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OpenSocial  is  ... • ...  a  set  of  APIs  to  access  the  social  graph  of   users • ...  a  specifica>on  for  including  3rd  party   applica>ons  (gadgets)  into  social  services
  • 12. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 What  is  a  Gadget? • XML  file  with  HTML  and   JavaScript  (and  CSS,   Images,  Flash,  ...) • Applica>on  based  on  the   Google  Gadgets   specifica>on • Can  be  included  on   various  plajorms
  • 13. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Apache  Shindig • OpenSource  implementa>on  of  an  OpenSocial   container • Java  and  PHP  versions  available • New:  MySpace  is  currently  open  sourcing   their  .NET  implementa>on hPp://shindig.apache.org/
  • 14. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 The  team • 26  commiPers  and  PMC   member  from  all  over  the   world • Currently  vo>ng  on  adding   3  new  ones • Many,  many  contributors
  • 15. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Rendering
  • 16. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Social  APIs
  • 17. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Proxy Shindig apivz.net Container vz.net Ajax HTTP Gadget   Gadget  Backend apivz.net coolgame.com Ajax
  • 18. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 JavaScript  RPC Container -­‐  window.postMessage vz.net Method  Call -­‐  Iframes  with  relay   Gadget   files apivz.net -­‐  Flash
  • 19. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 AuthenJficaJon • Two-­‐Legged  or  Three-­‐Legged   OAuth • Security  Token  for  JavaScript   requests  from  gadget
  • 20. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OAuth  1.0a  Flow +----------+ +---------------+ | -+----(B)-- Request Token -------->| | | End-user | | Authorization | | at |<---(C)-- User authenticates --->| Server | | Browser | | | | -+----(D)-- Verifier -------------<| | +-|----|---+ +---------------+ | | ^ v (B) (D) | | | | | | ^ v | | +---------+ | | | |>---(A)-- Redirect URL ---------------| | | Web |<---(A)-- Request Token + Secret -----| | | Client |>---(E)-- Request Token, Verifier ----' | | |<---(E)-- Access Token + Secret -------------' +---------+                    Every Request: Client Credentials, Nonce, Timestamp, Signature hPp://oauth.net/
  • 21. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 22. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Engage hPp://shindig.apache.org/community/index.html
  • 23. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 24. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Releases • 0.5:  November,  1st  2007 • 0.6:  December,  21st  2007 • 0.7:  February,  4th  2008 • 0.8:  May,  28th  2008 • 0.9:  April,  16th  2009 • 1.0:  March,  15th  2010 • 1.1:  November,  18th  2010
  • 25. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 26. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OpenSocial  Reach
  • 27. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 What  changed?  (APer  0.8) • Templates • Data  Pipelining • Proxied  Content • OSML • New  APIs:  photos  and  media  items • New,  simple  JavaScript  API hPp://opensocial-­‐resources.googlecode.com/svn/spec/1.1/OpenSocial-­‐Specifica>on-­‐Release-­‐ Notes.xml
  • 28. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Data  Pipelining <script xmlns:os="http://ns.opensocial.org/2008/markup" type="text/os-data">     <os:PeopleRequest key="Viewer" userId="@viewer" groupId="@self" fields="@all" />     <os:PeopleRequest key="Owner" userId="@owner" groupId="@self"/>     <os:PeopleRequest key="ViewerFriends" userId="@viewer" groupId="@friends"/>     <os:HttpRequest key="httpFriends" href="http:// localhost:8062/vz_demo_gadget/backend/ externalFriends.json"/> </script>
  • 29. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Displaying  data <script type="text/javascript"> var viewers= opensocial.data.DataContext.getDataSet ("ViewerFriends"); BAD var html="<ul>"; for (var i=0; i < viewers.length; i++) { html += "<li>" + viewers[i].displayName + "</li>"; } document.getElementById("div").innerHTML = html; </script>
  • 30. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Templates <script type="text/os-template" require="ViewerFriends"> <ul>    <li><b>Viewer Friends:</b></li>     <li repeat="${ViewerFriends}">     <span>Showing friend ${Context.Index} of ${Context.Count}:</span>       <span>Name: ${Cur.displayName}</span>     </li>  </ul> </script> <Require  feature="opensocial-­‐templates"></Require>
  • 31. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Templates <script type="text/os-template" require="fruits" autoUpdate="true">     <ul>       <li repeat="${fruits}">         #${Context.Index}: ${Cur.name} from ${Cur.origin}       </li>     </ul> </script> <script type="text/javascript"> opensocial.data.DataContext.putDataSet("fruits", [{name:"Apple", origin: "Germany"}, {name:"Orange", origin: "Spain"}] ); </script>
  • 32. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Templates <script type="text/os-template" autoUpdate="true">     <h3>Testing calculation</h3>     <div>2 + 1 = ${2 + 1}</div> </script>
  • 33. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Templates <script type="text/os-template" require="fruit" autoUpdate="true">    <h3>Fruit: <span>${fruit}</span></h3>    <p if="${fruit == 'Orange'}">from Spain</p> </script> <a href="javascript:;" id="changeFruit">change</a> <script type="text/javascript"> opensocial.data.DataContext.putDataSet( "fruit", "Apple" ); document.getElementById('changeFruit').onclick = function() {     opensocial.data.DataContext.putDataSet( "fruit", "Orange" ); } </script>
  • 34. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Proxied  Content
  • 35. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Proxied  Content <Content type="html" view="profile,canvas,popup" authz="signed" href="http://example.com/canvas.php"> </Content>
  • 36. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 <?php require_once "../lib/oauth.php"; class MyOAuthSignatureMethod_RSA_SHA1 extends OAuthSignatureMethod_RSA_SHA1 {         protected function fetch_public_cert(&$request) {             $s = curl_init();             curl_setopt($s,CURLOPT_URL,$_GET['xoauth_signature_publickey']);             curl_setopt($s, CURLOPT_RETURNTRANSFER, 1);             $cert = curl_exec($s);             curl_close($s);             return $cert;         }         protected function fetch_private_cert(&$request) {             return;         } } $request = OAuthRequest::from_request(); $server = new MyOAuthSignatureMethod_RSA_SHA1(); $return = $server->check_signature($request, null, null, $_GET ['oauth_signature']); if (! $return) {         die('invalid signature'); } $postBody = json_decode(file_get_contents('php://input'), true); $viewerId = $_GET['opensocial_viewer_id'];
  • 37. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Use  Cases 37
  • 38. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 39. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Apps  and  Games  @VZnet 33  Mio.  Installs 1,8  Mio.  DAU 5,5  Mio.  MAU
  • 40. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 VZ-­‐Apps  compared  to  other  gaming  sites   Daily  Unique  Visitors  (Mio) Time  on  Site  (min) VZ-­‐Apps 1,80 10:50 jetztspielen.de 1,30 13:50 gameduell 1,10 20:00 SpieleJpps.de 1,00 09:00 king.com 1,00 28:00 BigPoint 1,00 05:40 1001spiele.de 0,46 20:00 spielkarussel 0,43 14:40 gamesload 0,29 04:30 fe_spielen 0,24 14:20 spielen.de 0,18 12:30 Yahoo!  Spiele 0,16 04:30 spiele-­‐zone.de 0,12 12:00 sevengames 0,11 05:50 Google! Adplanner, Feb 2010
  • 41. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Top  Developers  at  VZnet 4.6  Mio. Beijing  ELEX 2.08  Mio. Plinga 1.33  Mio. i-­‐Jet  Media 1,28  Mio. Wooga Monthly active users within all applications
  • 42. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Good  Example:  Dorfleben  (HalfQuest)
  • 43. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Demo 43
  • 44. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 45. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 46. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 47. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 48. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 49. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Demo 49
  • 50. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 51. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 52. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Engage -­‐  Build  Apps -­‐  Build  Containers hPp://www.opensocial.org/
  • 53. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 The  OpenSocial  FoundaJon ➡ The  OpenSocial  Founda1on  is  a  non-­‐profit   corpora1on  created  to  sustain  the  free  and  open   development  of  OpenSocial  specifica1ons.  The   Founda1on  helps  facilitate  the  development  of   new  specifica1ons  and  ensures  that  the  technical   direc1on  remains  in  the  hands  of  the  community. hPp://www.opensocial.org/page/opensocial-­‐founda>on-­‐faq
  • 54. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 FuncJons • Organize  specifica>on  development • Developer  outreach • PR • Legal
  • 55. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OrganizaJon • Board  Members: – Paul  Lindner  (Google) – Jason  Gary  (IBM) – Dan  Theurer  (Yahoo) – Chris  Chole  (MySpace) – Mark  Halvorson  (Community  Rep.,  Atlassian) – Evan  Prodomou  (Community  Rep.,  Status.NET)
  • 56. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OrganizaJon • Officers – Mark  Weitzel  (President,  Jive) – Helen  Chen  (Secretary,  Cisco) – Karthik  Suri  (Treasurer,  Yahoo)
  • 57. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 58. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Engage -­‐  Write  the  Spec -­‐  Help  people -­‐  Promote -­‐  Documenta>on hPp://www.opensocial.org/
  • 59. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 OpenSocial  2.0
  • 60. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Mobile
  • 61. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 61
  • 62. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 62
  • 63. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010
  • 64. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Mobile  Apps  &  Games  on  VZnet
  • 65. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Demo 65
  • 66. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Mobile  Views <Module>     <ModulePrefs>     </ModulePrefs>     <Content type="html" view="mobile">     </Content> </Module> <Module>     <ModulePrefs>     </ModulePrefs>     <Content type="html" view="canvas" media="screen, touch and resolution > 90dpi" >     </Content> </Module>
  • 67. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 View-­‐level  Features <Module>     <ModulePrefs>       <Require feature="opensocial-1.1" />       <Require feature="pubsub" views="default, canvas"/>       <Require feature="mobile_feature" views="mobile"/>       <Require feature="views" />     </ModulePrefs>     <Content type="html" view="default, canvas">     </Content>     <Content type="html" view="mobile">     </Content> </Module> hPp://docs.opensocial.org/display/OSD/View+Level+Features+Proposal
  • 68. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Embedded  Experiences • Contextual   gadgets,   embeddable  into – Emails – Feeds – etc. hPp://docs.opensocial.org/display/OSD/Embedded+Experiences
  • 69. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 BePer  group  support
  • 70. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 AcJvityStrea.ms • open  specifica>on  for   syndica>ng  social  ac>vi>es   (feeds) • already  adopted  by   Facebook,  MySpace,   Windows  Live,  Google  Buzz,   Opera,  and  many  others
  • 71. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Federated  Social  Web hPp://federatedsocialweb.net
  • 72. VZnet  Netzwerke  Ltd.  -­‐  Saturday,  February  5,  2010 Thank  you hPp://twiPer.com/Bas>anHofmann hPp://studivz.net/bas>an hPp://slideshare.net/bashofmann bhofmann@vz.net hPp://developer.studivz.net