The DiSo Project
& The Open Web



Chris Messina       December 6, 2008
Do it with Drupal        New Orleans
@factoryjoe
  #diwd
“Low hills closed in on either side as the
train eventually crawled on to high,
tabletop grasslands creased with snow.
Bir...
“Workers unhitched the cars, lifted them,
one by one, ten feet high with giant jacks,
and replaced the wide-gauge Russian
...
☭
“Data is the new Intel Inside.”




                                  Photo credit: Adam Tinworth
VS
VS




     VS

The Open Web
the battle for the future of the social web has begun
it’s ultimately about freedom
through ensuring your ability to choose
Walled Gardens
➽   bands


➽   college students


➽   professionals
➽   everyone!


➽   everyone!


➽   everyone!*
Service-centric design
Service-centric value
Source: Le Monde
Source: Mick Hagen (mickhagen.com)
the “web citizen”
the web citizen has identity
the web citizen has provenance
the web citizen has mobility
the web citizen has friends
the web citizen has enemies
the web citizen has agency
DiSo Concepts
Identity
zachklein.com
Access & Permissions
Basecamp
Plaxo Pulse (importing Flickr)
Flickr & Yahoo! Mash
Brightkite
Fire Eagle & Dopplr
Friends & Contacts
How much are your username
   and password worth?
wayn.com
imeem.com
   PC Load Letter?! What the f...!
The Password Anti-pattern!
Passwords are not confetti.
And yet people throw them
around as though they were.
Fortunately there’s a solution.
Dopplr
Messaging & Notifications
factoryjoe@twitter.com to
    walkah@identi.ca?
factoryjoe.com to
  walkah.com?
linkedin.com/mom to
   myspace.com/son
           &
facebook.com/daughter


       ???
factoryjoe.com to
 504.581.1000?
       etc
barackobama.com
DrupliBacon by Chrys
Twitter
Group(ing)s & Affiliations
barackobama.com
epeus.blogspot.com
techcrunch.com
techcrunch.com
facebook.com
imagine drupal.org enabling
  people to “join” projects but
maintain their profiles elsewhere.
imagine these people listing the
projects they’ve joined on their profiles.
imagine “joining” a project
   just by linking to it.
Activities & Activity Streams
actor verb object [context]
Chris tweeted Niches bitches! from SMS
Chris bought The Matrix from Amazon.com
Open Stack
the open stack is a series of building blocks
  for enabling cross-site social networking
using non-proprietary formats an...
usability is issue #1
how does it work?
uservoice.com
convenience
     fewer passwords
increasing industry support
MySpace, Google, Yahoo,
   AOL, Flickr, etc...
SREG
Attribute Exchange
Origin
London, England
consider using OAuth to enable
third-party access to user data
 without requiring passwords
OAuth can also be used for user
verification — similar to OpenID but
without a claimed ID — you end up
     with a token fo...
<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot;
    quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt...
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
<xrds:XRDS xmlns:xrds=quot;xri://$xrdsquot; xmlns=quot;xri://$xrd*...
Drupal should advertise all
of its available services and
 their respective endpoints
     using XRDS-Simple
Drupal should also advertise all
  of a user’s specific services
       using XRDS-Simple
Portable Contacts
bring your friends with you
  and take them with you
      when you leave
vcard + OpenSocial schema
Baked into OpenSocial v0.8
This is 50% of the solution to the
     password anti-pattern.

    The other 50% is OAuth.
Fortunately, PoCo requires OAu...
For Drupal sites that want
 to enable people to invite
their friends in a safe way,
    PoCo is the solution
For user profile schema, Drupal
should use the PoCo schema to
  achieve wide compatibility
test harness
    hcard to vcard to PoCo
Plaxo is an early PoCo provider
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<xrds:XRDS
    xmlns:xrds=quot;xri://$xrdsquot;
    xmlns:openid=qu...
ATOM
of course we need feeds.
ATOM pubsub
some challenge with
XML-RPC and OAuth
Consider wider support for
publishing to Drupal with ATOM
but webpages can be feeds too!

And as we saw with the jQuery
talk, you can do powerful stuff
with just HTML and javascrip...
hCard for people
     hCalendar for events
XFN for identity & social graphs
       hAudio for music
            ...etc...
<a href=“http://factoryjoe.com”
	 >My site</a>
<a href=“http://brynnevans.com”
	 >Brynn</a>
<a href=“http://factoryjoe.com”

 rel=“me”>My site</a>
<a href=“http://brynnevans.com”

 rel=“friend met sweetheart”>Brynn...
paved cowpaths of microformats




          Source: Paul Downey. Shared under Creative Commons.
it’s good for search engines
 and it’s good for designers
     why not for Drupal?
Start with syndicating
structured data in ATOM
   using microformats
Microformats complement other
semantic efforts within Drupal.

       Start with POSH.
activitystrea.ms
<entry>
   <id>tag:photopanic.example.com,2008:activity01</id>
   <title>Geraldine posted a Photo on PhotoPanic</title>
  ...
machine tags?
filtering, coalescing, search, automation
Drupal & DiSo
oauth
 openid
services
openid
  oauth
   poco
discovery
groups
     pubsub
legal framework
   UX design
need help on oauth
     xrds-simple
permissions framework
Parting Thought
fin.

me -› factoryjoe.com
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
The DiSo Project and the Open Web
Upcoming SlideShare
Loading in …5
×

The DiSo Project and the Open Web

10,082 views

Published on

Published in: Technology
2 Comments
9 Likes
Statistics
Notes
  • Cool presentation, it covers much more than just drupal!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  •         /`.`.
           o.\
           (. @.'.
           -'..*_.-'- ;
           '. () `-.
         /.@ o * . )
          `-...-'' - '`
         _.'` Q.* -.
            o* ' .
         @ . ()`\   
         .( () * Q'._Q *.'
         '-.-' ._ @ `.
        .-'   -' .
        '.. *  o  0 `)
         0  0 *   _.~-.*.'
        '._  () ' 'Q  '
      ;--'.Q *   *  o @.'-
      .* MERRY'.*  ' ~ -  CRISTMAS Q '.
      o *   ..__ ___.--
    '-..._Q   0  MAGDA @   * `;_ **
        ':...`'cc.... -~...=...

            
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
10,082
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
92
Comments
2
Likes
9
Embeds 0
No embeds

No notes for slide

The DiSo Project and the Open Web

  1. The DiSo Project & The Open Web Chris Messina December 6, 2008 Do it with Drupal New Orleans
  2. @factoryjoe #diwd
  3. “Low hills closed in on either side as the train eventually crawled on to high, tabletop grasslands creased with snow. Birds flew at window level. I could see lakes of an unreal cobalt blue to the north. The train pulled into a sprawling rail yard: the Kazakh side of the Kazakhstan- China border. . . .
  4. “Workers unhitched the cars, lifted them, one by one, ten feet high with giant jacks, and replaced the wide-gauge Russian undercarriages with narrower ones for the Chinese tracks. Russian gauges, still in use throughout the former Soviet Union, are wider than the world standard. The idea was to the prevent invaders from entering Russia by train. The changeover took hours.” — Robert D. Kaplan, The Ends of the Earth
  5. “Data is the new Intel Inside.” Photo credit: Adam Tinworth
  6. VS
  7. VS VS The Open Web
  8. the battle for the future of the social web has begun
  9. it’s ultimately about freedom through ensuring your ability to choose
  10. Walled Gardens
  11. ➽ bands ➽ college students ➽ professionals
  12. ➽ everyone! ➽ everyone! ➽ everyone!*
  13. Service-centric design
  14. Service-centric value
  15. Source: Le Monde
  16. Source: Mick Hagen (mickhagen.com)
  17. the “web citizen”
  18. the web citizen has identity
  19. the web citizen has provenance
  20. the web citizen has mobility
  21. the web citizen has friends
  22. the web citizen has enemies
  23. the web citizen has agency
  24. DiSo Concepts
  25. Identity
  26. zachklein.com
  27. Access & Permissions
  28. Basecamp
  29. Plaxo Pulse (importing Flickr)
  30. Flickr & Yahoo! Mash
  31. Brightkite
  32. Fire Eagle & Dopplr
  33. Friends & Contacts
  34. How much are your username and password worth?
  35. wayn.com
  36. imeem.com
  37.  PC Load Letter?! What the f...!
  38. The Password Anti-pattern!
  39. Passwords are not confetti.
  40. And yet people throw them around as though they were.
  41. Fortunately there’s a solution.
  42. Dopplr
  43. Messaging & Notifications
  44. factoryjoe@twitter.com to walkah@identi.ca?
  45. factoryjoe.com to walkah.com?
  46. linkedin.com/mom to myspace.com/son & facebook.com/daughter ???
  47. factoryjoe.com to 504.581.1000? etc
  48. barackobama.com
  49. DrupliBacon by Chrys
  50. Twitter
  51. Group(ing)s & Affiliations
  52. barackobama.com
  53. epeus.blogspot.com
  54. techcrunch.com
  55. techcrunch.com
  56. facebook.com
  57. imagine drupal.org enabling people to “join” projects but maintain their profiles elsewhere.
  58. imagine these people listing the projects they’ve joined on their profiles.
  59. imagine “joining” a project just by linking to it.
  60. Activities & Activity Streams
  61. actor verb object [context]
  62. Chris tweeted Niches bitches! from SMS
  63. Chris bought The Matrix from Amazon.com
  64. Open Stack
  65. the open stack is a series of building blocks for enabling cross-site social networking using non-proprietary formats and protocols
  66. usability is issue #1
  67. how does it work?
  68. uservoice.com
  69. convenience fewer passwords increasing industry support
  70. MySpace, Google, Yahoo, AOL, Flickr, etc...
  71. SREG
  72. Attribute Exchange
  73. Origin
  74. London, England
  75. consider using OAuth to enable third-party access to user data without requiring passwords
  76. OAuth can also be used for user verification — similar to OpenID but without a claimed ID — you end up with a token for the user
  77. <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;> <html xmlns=quot;http://www.w3.org/1999/xhtmlquot; dir=quot;ltrquot; lang=quot;en-USquot; xml:lang=quot;en-USquot;> <head profile=quot;http://gmpg.org/xfn/11quot;> <title> willnorris.com | managing identity </title> <meta http-equiv=quot;content-typequot; content=quot;text/html; charset=utf-8quot; /> <meta name=quot;descriptionquot; content=quot;I’ve moved things around a bit… my blog is now located at /blog and my combined activity stream is now located here on the front page. On December 11, 2008 willnorris tweeted,quot; by=quot;accidental&quot;quot; i=quot;quot; meant=quot;quot; that=quot;quot; it=quot;quot; a=quot;quot; concious=quot;quot; decision=quot;quot; to=quot;quot; add=quot;quot; openid.=quot;quot; intensedebate=quot;quot; just=quot;quot; happened=quot;quot; to=quot;quot; have=quot;quot; it=quot;quot; /> <link rel=quot;stylesheetquot; type=quot;text/cssquot; href=quot;http://willnorris.com/wordpress-content/themes/willnorris/style.cssquot; /> <meta http-equiv=quot;X-XRDS-Locationquot; content=quot;http://willnorris.com/?xrdsquot; /> <meta http-equiv=quot;X-Yadis-Locationquot; content=quot;http://willnorris.com/?xrdsquot; /> <link rel=quot;alternatequot; type=quot;application/rss+xmlquot; href=quot;http://willnorris.com/feedquot; title=quot;willnorris.com Posts RSS feedquot; /> <link rel=quot;alternatequot; type=quot;application/rss+xmlquot; href=quot;http://willnorris.com/comments/feedquot; title=quot;willnorris.com Comments RSS feedquot; /> <link rel=quot;pingbackquot; href=quot;http://willnorris.com/wordpress/xmlrpc.phpquot; />
  78. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> <xrds:XRDS xmlns:xrds=quot;xri://$xrdsquot; xmlns=quot;xri://$xrd*($v*2.0)quot; xmlns:simple=quot;http://xrds-simple.net/core/1.0quot; xmlns:openid=quot;http://openid.net/xmlns/1.0quot;> <XRD xml:id=quot;mainquot; version=quot;2.0quot;> <Type>xri://$xrds*simple</Type> <!-- OpenID Consumer Service --> <Service priority=quot;10quot;> <Type>http://specs.openid.net/auth/2.0/return_to</Type> <URI>http://willnorris.com/wordpress/wp-admin/users.php</URI> <URI>http://willnorris.com/wordpress/wp-admin/profile.php</URI> <URI>http://willnorris.com</URI> <URI>https://willnorris.com/wordpress/wp-login.php</URI> </Service> <!-- Identity in the Browser Login Service --> <Service priority=quot;10quot;> <Type>http://specs.openid.net/idib/1.0/login</Type> <URI simple:httpMethod=quot;POSTquot;>https://willnorris.com/wordpress/wp-login.php</URI> </Service> <!-- Identity in the Browser Indicator Service --> <Service priority=quot;10quot;> <Type>http://specs.openid.net/idib/1.0/indicator</Type> <URI>http://willnorris.com/wordpress/?openid_check_login</URI> </Service> <!-- Email Address to URL Transformation Mapper --> <Service priority=quot;10quot;> <Type>http://specs.eaut.org/1.0/mapping</Type> <URI>http://willnorris.com/wordpress/?eaut_mapper=1</URI> </Service> <!-- OpenID Provider Service (0) --> <Service priority=quot;0quot;> <Type>http://specs.openid.net/auth/2.0/signon</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type>http://openid.net/sreg/1.0</Type> <URI>http://willnorris.com/wordpress/?openid_server=1</URI> <LocalID>http://willnorris.com/author/will/</LocalID> </Service> <!-- OpenID Provider Service (1) --> <Service priority=quot;1quot;> <Type>http://openid.net/signon/1.1</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type>http://openid.net/sreg/1.0</Type>
  79. Drupal should advertise all of its available services and their respective endpoints using XRDS-Simple
  80. Drupal should also advertise all of a user’s specific services using XRDS-Simple
  81. Portable Contacts
  82. bring your friends with you and take them with you when you leave
  83. vcard + OpenSocial schema
  84. Baked into OpenSocial v0.8
  85. This is 50% of the solution to the password anti-pattern. The other 50% is OAuth. Fortunately, PoCo requires OAuth.
  86. For Drupal sites that want to enable people to invite their friends in a safe way, PoCo is the solution
  87. For user profile schema, Drupal should use the PoCo schema to achieve wide compatibility
  88. test harness hcard to vcard to PoCo Plaxo is an early PoCo provider
  89. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <xrds:XRDS xmlns:xrds=quot;xri://$xrdsquot; xmlns:openid=quot;http://openid.net/xmlns/1.0quot; xmlns=quot;xri://$xrd*($v*2.0)quot;> <XRD version=quot;2.0quot;> <Type>xri://$xrds*simple</Type> <Service> <Type>http://portablecontacts.net/spec/1.0</Type> <URI>http://pulse.plaxo.com/pulse/pdata/contacts</URI> </Service> <Service priority=quot;0quot;> <Type>http://specs.openid.net/auth/2.0/signon</Type> <Type>http://openid.net/sreg/1.0</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type>http://schemas.openid.net/pape/policies/2007/06/phishing-resistant</Type> <Type>http://openid.net/srv/ax/1.0</Type> <URI>http://www.myopenid.com/server</URI> <LocalID>http://brian.myopenid.com/</LocalID> </Service> </XRD> </xrds:XRDS>
  90. ATOM
  91. of course we need feeds.
  92. ATOM pubsub
  93. some challenge with XML-RPC and OAuth
  94. Consider wider support for publishing to Drupal with ATOM
  95. but webpages can be feeds too! And as we saw with the jQuery talk, you can do powerful stuff with just HTML and javascript!
  96. hCard for people hCalendar for events XFN for identity & social graphs hAudio for music ...etc...
  97. <a href=“http://factoryjoe.com” >My site</a> <a href=“http://brynnevans.com” >Brynn</a>
  98. <a href=“http://factoryjoe.com” rel=“me”>My site</a> <a href=“http://brynnevans.com” rel=“friend met sweetheart”>Brynn</a>
  99. paved cowpaths of microformats Source: Paul Downey. Shared under Creative Commons.
  100. it’s good for search engines and it’s good for designers why not for Drupal?
  101. Start with syndicating structured data in ATOM using microformats
  102. Microformats complement other semantic efforts within Drupal. Start with POSH.
  103. activitystrea.ms
  104. <entry> <id>tag:photopanic.example.com,2008:activity01</id> <title>Geraldine posted a Photo on PhotoPanic</title> <published>2008-11-02T15:29:00Z</published> <link rel=quot;alternatequot; type=quot;text/htmlquot; href=quot;/geraldine/activities/1quot; /> <activity:verb> http://activitystrea.ms/schema/1.0/post </activity:verb> <activity:object> <id>tag:photopanic.example.com,2008:photo01</id> <title>My Cat</title> <published>2008-11-02T15:29:00Z</published> <link rel=quot;alternatequot; type=quot;text/htmlquot; href=quot;/geraldine/photos/1quot; /> <activity:object-type> tag:atomactivity.example.com,2008:photo </activity:object-type> <source> <title>Geraldine's Photos</title> <link rel=quot;selfquot; type=quot;application/atom+xmlquot; href=quot;/geraldine/photofeed.xmlquot; /> <link rel=quot;alternatequot; type=quot;text/htmlquot; href=quot;/geraldine/quot; /> </source> </activity:object> <content type=quot;htmlquot;> &lt;p&gt;Geraldine posted a Photo on PhotoPanic&lt;/p&gt; &lt;img src=quot;/geraldine/photo1.jpgquot;&gt; </content> </entry>
  105. machine tags?
  106. filtering, coalescing, search, automation
  107. Drupal & DiSo
  108. oauth openid services
  109. openid oauth poco discovery
  110. groups pubsub legal framework UX design
  111. need help on oauth xrds-simple permissions framework
  112. Parting Thought
  113. fin. me -› factoryjoe.com

×