Open Source Microblogging Evan Prodromou Control Yourself, Inc. Open Web Vancouver 2009
My name is Evan.
My name is Evan. I do microblogging.
 
 
 
I'm not Twitter. That's OK.
100% of money  on the Web is made by companies that aren't Twitter.
Not that I'm financially motivated.
Not entirely.
I am a passionate believer in Open Source
And Open Data
And Open Content
And Open Standards
For an Open Web.
Because it's a problem:
Software is moving into a “cloud”
Dominated by a few companies.
We're moving from an  Open, distributed, internetworked Web
To a collection of Online services, barely connected.
Facebook 2009 = AOL 1992
Google = Bitnet MySpace = Prodigy Yahoo = Genie Amazon = Compuserv Microsoft = Microsoft
Worst of all, they're usurping our desktop and server software, too.
This is bad for the Web, Bad for business, Bad for society.
Just ask Tim O'Reilly, IBM, Or the Economist.
I'm part of a workgroup called autonomo.us
We are working on this problem from a number of angles.
Franklin Street Statement http://ur1.ca/tz
Open Source + Open Data + Open Standards = Open Software Services
I like starting Web sites. So that's how I'm contributing.
But where to start?
 
 
 
 
Status matters.
“ Microblogging”
<ul>Short notices (<140 characters) </ul>
<ul>Social network </ul>
<ul>Multi-channel </ul>
<ul>Simple </ul>
<ul>synchronous  and  asynchronous </ul>
<ul>Mobile  and PC </ul>
<ul>Twitter grew 900% in the last year, to 30M+ users. </ul>
<ul>So yeah: it matters. </ul>
<ul>Public general-purpose site </ul>
<ul>Enterprise </ul>
<ul>Community groups </ul>
<ul>Vertical groups </ul>
<ul>Public broadcast </ul>
<ul>But this is the Web... </ul>
<ul>And everything's gotta be connected. </ul>
<ul>Monolithic systems suck. </ul>
<ul>Walled gardens suck. </ul>
 
<ul>So let's get to work. </ul>
One Big Twitter
Publishers Subscribers Weather Blogger New York Times CNN Google Enterprise Personal ISP Wireless Provider Twitter Identi.ca
Thesis: successful distributed communications media require 1 good protocol and an Open Source server.
Email had SMTP + Sendmail.
The Web had HTTP + Apache.
Blogging has... uh... some stuff... + WordPress.
Instant messaging has  2  protocols, one good server. Problems.
Social networks have  no  protocol, a couple of good servers. Problems.
Conclusion: my awesome thesis is indisputably correct.
<ul>We need some Open Source microblogging software. </ul>
<ul>Requirements: </ul>
<ul>Thousands to millions of installations. </ul>
<ul>Installable anywhere. </ul>
<ul>Big, fast-moving dev community. </ul>
<ul>That all means: PHP + MySQL </ul>
<ul>Other requirements: </ul>
<ul>Themeable </ul>
<ul>Extensible </ul>
<ul>Programmable </ul>
<ul>Scalable </ul>
Small installations on commodity Web hosting Medium installations on virtual or leased servers Large installations on many...
<ul>What I did: </ul>
<ul>Laconica http://laconi.ca/ </ul>
<ul>Web application Written in PHP Uses MySQL or PostgreSQL </ul>
<ul>Cloned the Twitter REST API. </ul>
<ul>(Got lots of the Twitter 3rd-party dev community on-board. w00t.) </ul>
<ul>Lots of offline processing. STOMP servers </ul>
<ul>Support Jabber for IM </ul>
<ul>Use email gateways for SMS </ul>
<ul>Hooks-based plugin architecture (Like MediaWiki) </ul>
<ul>Plugins hook events. They can accept, change, or revert results of the event. </ul>
<ul>OpenMicroBlogging http://openmicroblogging.org/ </ul>
<ul>HTTP-based protocol </ul>
<ul>Allows a user on one server to subscribe to notices from a user on another server. </ul>
<ul>Uses OAuth for authorization </ul>
<ul>Subscription == authorizing a remote server to push notices into your inbox </ul>
<ul>Other good smells: </ul>
<ul>Use OpenID for authentication. </ul>
<ul>Twitter bridge: post notices into Twitter, read friends' timeline from Twitter. </ul>
<ul>Facebook application and Facebook Connect. </ul>
<ul>Incorporated lots of microblogging ideas directly. </ul>
<ul>Incorporated lots of microblogging ideas directly. </ul>
<ul>#hashtags @replies </ul>
<ul>Push data out to public downstream users (XMPP, ping, SUP) </ul>
<ul>Default install uses CC BY 3.0 </ul>
<ul>Also: groups, multimedia sharing, conversation tracking, Comet, user themes. </ul>
<ul>How are we doing? </ul>
<ul>50+ contributors </ul>
<ul>Dozens of plugins. </ul>
<ul>200+ public sites. </ul>
<ul>Many private ones: Sun, SAP, Motorola, Mars Inc. </ul>
<ul>My goal: 1M sites by 2013. </ul>
<ul>I've made this my business. </ul>
<ul>Control Yourself, Inc. </ul>
<ul>Seven people. </ul>
<ul>Installation Maintenance Service Support Customization </ul>
<ul>Software-as-a-service http://status.net/ (Next week!) </ul>
<ul>http://yourname.status.net/ http://micro.example.com/ </ul>
<ul>Venture-funded Revenue-positive </ul>
<ul>Who's going to use this software? </ul>
<ul>1. Enterprises. </ul>
<ul>2. Brands and broadcasters. </ul>
<ul>3. Communities. </ul>
<ul>There's a great future for the Open Web. Are you part of it? </ul>
http://identi.ca/ http://laconi.ca/ http://status.net/ http://openmicroblogging.org/ http://controlyourself.ca/ http://ide...
Upcoming SlideShare
Loading in …5
×

Open Source Microblogging With Laconica

6,527 views

Published on

My talk from Open Web Vancouver.

Published in: Technology, News & Politics

Open Source Microblogging With Laconica

  1. 1. Open Source Microblogging Evan Prodromou Control Yourself, Inc. Open Web Vancouver 2009
  2. 2. My name is Evan.
  3. 3. My name is Evan. I do microblogging.
  4. 7. I'm not Twitter. That's OK.
  5. 8. 100% of money on the Web is made by companies that aren't Twitter.
  6. 9. Not that I'm financially motivated.
  7. 10. Not entirely.
  8. 11. I am a passionate believer in Open Source
  9. 12. And Open Data
  10. 13. And Open Content
  11. 14. And Open Standards
  12. 15. For an Open Web.
  13. 16. Because it's a problem:
  14. 17. Software is moving into a “cloud”
  15. 18. Dominated by a few companies.
  16. 19. We're moving from an Open, distributed, internetworked Web
  17. 20. To a collection of Online services, barely connected.
  18. 21. Facebook 2009 = AOL 1992
  19. 22. Google = Bitnet MySpace = Prodigy Yahoo = Genie Amazon = Compuserv Microsoft = Microsoft
  20. 23. Worst of all, they're usurping our desktop and server software, too.
  21. 24. This is bad for the Web, Bad for business, Bad for society.
  22. 25. Just ask Tim O'Reilly, IBM, Or the Economist.
  23. 26. I'm part of a workgroup called autonomo.us
  24. 27. We are working on this problem from a number of angles.
  25. 28. Franklin Street Statement http://ur1.ca/tz
  26. 29. Open Source + Open Data + Open Standards = Open Software Services
  27. 30. I like starting Web sites. So that's how I'm contributing.
  28. 31. But where to start?
  29. 36. Status matters.
  30. 37. “ Microblogging”
  31. 38. <ul>Short notices (<140 characters) </ul>
  32. 39. <ul>Social network </ul>
  33. 40. <ul>Multi-channel </ul>
  34. 41. <ul>Simple </ul>
  35. 42. <ul>synchronous and asynchronous </ul>
  36. 43. <ul>Mobile and PC </ul>
  37. 44. <ul>Twitter grew 900% in the last year, to 30M+ users. </ul>
  38. 45. <ul>So yeah: it matters. </ul>
  39. 46. <ul>Public general-purpose site </ul>
  40. 47. <ul>Enterprise </ul>
  41. 48. <ul>Community groups </ul>
  42. 49. <ul>Vertical groups </ul>
  43. 50. <ul>Public broadcast </ul>
  44. 51. <ul>But this is the Web... </ul>
  45. 52. <ul>And everything's gotta be connected. </ul>
  46. 53. <ul>Monolithic systems suck. </ul>
  47. 54. <ul>Walled gardens suck. </ul>
  48. 56. <ul>So let's get to work. </ul>
  49. 57. One Big Twitter
  50. 58. Publishers Subscribers Weather Blogger New York Times CNN Google Enterprise Personal ISP Wireless Provider Twitter Identi.ca
  51. 59. Thesis: successful distributed communications media require 1 good protocol and an Open Source server.
  52. 60. Email had SMTP + Sendmail.
  53. 61. The Web had HTTP + Apache.
  54. 62. Blogging has... uh... some stuff... + WordPress.
  55. 63. Instant messaging has 2 protocols, one good server. Problems.
  56. 64. Social networks have no protocol, a couple of good servers. Problems.
  57. 65. Conclusion: my awesome thesis is indisputably correct.
  58. 66. <ul>We need some Open Source microblogging software. </ul>
  59. 67. <ul>Requirements: </ul>
  60. 68. <ul>Thousands to millions of installations. </ul>
  61. 69. <ul>Installable anywhere. </ul>
  62. 70. <ul>Big, fast-moving dev community. </ul>
  63. 71. <ul>That all means: PHP + MySQL </ul>
  64. 72. <ul>Other requirements: </ul>
  65. 73. <ul>Themeable </ul>
  66. 74. <ul>Extensible </ul>
  67. 75. <ul>Programmable </ul>
  68. 76. <ul>Scalable </ul>
  69. 77. Small installations on commodity Web hosting Medium installations on virtual or leased servers Large installations on many owned servers 10^0 10^1 10^2 10^3 10^4 10^5 10^5 10^6 10^7 10^8
  70. 78. <ul>What I did: </ul>
  71. 79. <ul>Laconica http://laconi.ca/ </ul>
  72. 80. <ul>Web application Written in PHP Uses MySQL or PostgreSQL </ul>
  73. 81. <ul>Cloned the Twitter REST API. </ul>
  74. 82. <ul>(Got lots of the Twitter 3rd-party dev community on-board. w00t.) </ul>
  75. 83. <ul>Lots of offline processing. STOMP servers </ul>
  76. 84. <ul>Support Jabber for IM </ul>
  77. 85. <ul>Use email gateways for SMS </ul>
  78. 86. <ul>Hooks-based plugin architecture (Like MediaWiki) </ul>
  79. 87. <ul>Plugins hook events. They can accept, change, or revert results of the event. </ul>
  80. 88. <ul>OpenMicroBlogging http://openmicroblogging.org/ </ul>
  81. 89. <ul>HTTP-based protocol </ul>
  82. 90. <ul>Allows a user on one server to subscribe to notices from a user on another server. </ul>
  83. 91. <ul>Uses OAuth for authorization </ul>
  84. 92. <ul>Subscription == authorizing a remote server to push notices into your inbox </ul>
  85. 93. <ul>Other good smells: </ul>
  86. 94. <ul>Use OpenID for authentication. </ul>
  87. 95. <ul>Twitter bridge: post notices into Twitter, read friends' timeline from Twitter. </ul>
  88. 96. <ul>Facebook application and Facebook Connect. </ul>
  89. 97. <ul>Incorporated lots of microblogging ideas directly. </ul>
  90. 98. <ul>Incorporated lots of microblogging ideas directly. </ul>
  91. 99. <ul>#hashtags @replies </ul>
  92. 100. <ul>Push data out to public downstream users (XMPP, ping, SUP) </ul>
  93. 101. <ul>Default install uses CC BY 3.0 </ul>
  94. 102. <ul>Also: groups, multimedia sharing, conversation tracking, Comet, user themes. </ul>
  95. 103. <ul>How are we doing? </ul>
  96. 104. <ul>50+ contributors </ul>
  97. 105. <ul>Dozens of plugins. </ul>
  98. 106. <ul>200+ public sites. </ul>
  99. 107. <ul>Many private ones: Sun, SAP, Motorola, Mars Inc. </ul>
  100. 108. <ul>My goal: 1M sites by 2013. </ul>
  101. 109. <ul>I've made this my business. </ul>
  102. 110. <ul>Control Yourself, Inc. </ul>
  103. 111. <ul>Seven people. </ul>
  104. 112. <ul>Installation Maintenance Service Support Customization </ul>
  105. 113. <ul>Software-as-a-service http://status.net/ (Next week!) </ul>
  106. 114. <ul>http://yourname.status.net/ http://micro.example.com/ </ul>
  107. 115. <ul>Venture-funded Revenue-positive </ul>
  108. 116. <ul>Who's going to use this software? </ul>
  109. 117. <ul>1. Enterprises. </ul>
  110. 118. <ul>2. Brands and broadcasters. </ul>
  111. 119. <ul>3. Communities. </ul>
  112. 120. <ul>There's a great future for the Open Web. Are you part of it? </ul>
  113. 121. http://identi.ca/ http://laconi.ca/ http://status.net/ http://openmicroblogging.org/ http://controlyourself.ca/ http://identi.ca/evan

×