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

8,486

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
8,486
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
90
Comments
2
Likes
9
Embeds 0
No embeds

No notes for slide

Transcript of "The DiSo Project and the Open Web"

  1. 1. The DiSo Project & The Open Web Chris Messina December 6, 2008 Do it with Drupal New Orleans
  2. 2. @factoryjoe #diwd
  3. 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. 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. 5.
  6. 6. “Data is the new Intel Inside.” Photo credit: Adam Tinworth
  7. 7. VS
  8. 8. VS VS The Open Web
  9. 9. the battle for the future of the social web has begun
  10. 10. it’s ultimately about freedom through ensuring your ability to choose
  11. 11. Walled Gardens
  12. 12. ➽ bands ➽ college students ➽ professionals
  13. 13. ➽ everyone! ➽ everyone! ➽ everyone!*
  14. 14. Service-centric design
  15. 15. Service-centric value
  16. 16. Source: Le Monde
  17. 17. Source: Mick Hagen (mickhagen.com)
  18. 18. the “web citizen”
  19. 19. the web citizen has identity
  20. 20. the web citizen has provenance
  21. 21. the web citizen has mobility
  22. 22. the web citizen has friends
  23. 23. the web citizen has enemies
  24. 24. the web citizen has agency
  25. 25. DiSo Concepts
  26. 26. Identity
  27. 27. zachklein.com
  28. 28. Access & Permissions
  29. 29. Basecamp
  30. 30. Plaxo Pulse (importing Flickr)
  31. 31. Flickr & Yahoo! Mash
  32. 32. Brightkite
  33. 33. Fire Eagle & Dopplr
  34. 34. Friends & Contacts
  35. 35. How much are your username and password worth?
  36. 36. wayn.com
  37. 37. imeem.com
  38. 38.  PC Load Letter?! What the f...!
  39. 39. The Password Anti-pattern!
  40. 40. Passwords are not confetti.
  41. 41. And yet people throw them around as though they were.
  42. 42. Fortunately there’s a solution.
  43. 43. Dopplr
  44. 44. Messaging & Notifications
  45. 45. factoryjoe@twitter.com to walkah@identi.ca?
  46. 46. factoryjoe.com to walkah.com?
  47. 47. linkedin.com/mom to myspace.com/son & facebook.com/daughter ???
  48. 48. factoryjoe.com to 504.581.1000? etc
  49. 49. barackobama.com
  50. 50. DrupliBacon by Chrys
  51. 51. Twitter
  52. 52. Group(ing)s & Affiliations
  53. 53. barackobama.com
  54. 54. epeus.blogspot.com
  55. 55. techcrunch.com
  56. 56. techcrunch.com
  57. 57. facebook.com
  58. 58. imagine drupal.org enabling people to “join” projects but maintain their profiles elsewhere.
  59. 59. imagine these people listing the projects they’ve joined on their profiles.
  60. 60. imagine “joining” a project just by linking to it.
  61. 61. Activities & Activity Streams
  62. 62. actor verb object [context]
  63. 63. Chris tweeted Niches bitches! from SMS
  64. 64. Chris bought The Matrix from Amazon.com
  65. 65. Open Stack
  66. 66. the open stack is a series of building blocks for enabling cross-site social networking using non-proprietary formats and protocols
  67. 67. usability is issue #1
  68. 68. how does it work?
  69. 69. uservoice.com
  70. 70. convenience fewer passwords increasing industry support
  71. 71. MySpace, Google, Yahoo, AOL, Flickr, etc...
  72. 72. SREG
  73. 73. Attribute Exchange
  74. 74. Origin
  75. 75. London, England
  76. 76. consider using OAuth to enable third-party access to user data without requiring passwords
  77. 77. 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
  78. 78. <!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; />
  79. 79. <?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>
  80. 80. Drupal should advertise all of its available services and their respective endpoints using XRDS-Simple
  81. 81. Drupal should also advertise all of a user’s specific services using XRDS-Simple
  82. 82. Portable Contacts
  83. 83. bring your friends with you and take them with you when you leave
  84. 84. vcard + OpenSocial schema
  85. 85. Baked into OpenSocial v0.8
  86. 86. This is 50% of the solution to the password anti-pattern. The other 50% is OAuth. Fortunately, PoCo requires OAuth.
  87. 87. For Drupal sites that want to enable people to invite their friends in a safe way, PoCo is the solution
  88. 88. For user profile schema, Drupal should use the PoCo schema to achieve wide compatibility
  89. 89. test harness hcard to vcard to PoCo Plaxo is an early PoCo provider
  90. 90. <?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>
  91. 91. ATOM
  92. 92. of course we need feeds.
  93. 93. ATOM pubsub
  94. 94. some challenge with XML-RPC and OAuth
  95. 95. Consider wider support for publishing to Drupal with ATOM
  96. 96. but webpages can be feeds too! And as we saw with the jQuery talk, you can do powerful stuff with just HTML and javascript!
  97. 97. hCard for people hCalendar for events XFN for identity & social graphs hAudio for music ...etc...
  98. 98. <a href=“http://factoryjoe.com” >My site</a> <a href=“http://brynnevans.com” >Brynn</a>
  99. 99. <a href=“http://factoryjoe.com” rel=“me”>My site</a> <a href=“http://brynnevans.com” rel=“friend met sweetheart”>Brynn</a>
  100. 100. paved cowpaths of microformats Source: Paul Downey. Shared under Creative Commons.
  101. 101. it’s good for search engines and it’s good for designers why not for Drupal?
  102. 102. Start with syndicating structured data in ATOM using microformats
  103. 103. Microformats complement other semantic efforts within Drupal. Start with POSH.
  104. 104. activitystrea.ms
  105. 105. <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>
  106. 106. machine tags?
  107. 107. filtering, coalescing, search, automation
  108. 108. Drupal & DiSo
  109. 109. oauth openid services
  110. 110. openid oauth poco discovery
  111. 111. groups pubsub legal framework UX design
  112. 112. need help on oauth xrds-simple permissions framework
  113. 113. Parting Thought
  114. 114. fin. me -› factoryjoe.com
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×