• Evan Prodromou
• wikitravel
• laconica
• "I'm not Twitter. That's OK."
• 100% of the money made on the web today is made by companies who aren't twitter
• passionate believer in open source, open data, open content, open standards
• we're moving our software and our life into a cloud that's dominated by a few companies
• facebook 2009 = aol 1992
• microsoft = microsoft :-)
• this is bad for the web, for business, and bad for society
• tim o'reilly, ibm, the economist also have this opinion
• autonomo.us
• working on these problems from a number of angles
• legal, advocacy, code
• Franklin Street Statement (find url)
• best way to have open cloud
• floss + open data + open standards
• where to start?
• found myself looking at twitter every morning--great place to start
• status matters on the web today
• microblogging
• shot notices, social network, multiple channels
• mix of synchronous and asynchronous
• mobile and pc
• twitter grew 900% in the last year--mainstream is focused on it now
• uses of laconica
• enterprise
• community
• public broadcast
• government
• everything's gotta be connected
• we don't see this currently--status isn't shared between systems
• monolithic systems suck, walled gardens suck
• what we have now is one big twitter
• isn't distributed
• need more of a pub/sub model -- should be able to use different kinds of software/systems to get at statuses in other systems
• thesis: success depends on one simple protocol and one good server
• has happened with email, web servers
• hasn't happened with IM (xmpp close)
• we need open source microblogging software
• requirements
• thousands to millions of installations
• installable anywhere, esp. commodity hosting
• big, fast-moving development community
• this all points to php + mysql
• other requirements
• themable
• extensible
• programmable
• scalable -- this is a big challenge
• scale has different aspects
• people seem to focus on # of users
• need to support both small and large scale deployments
• ideally software would change not at all or only incrementally across the scale
• what i did:
• laconica (http://www.laconi.ca)
• web app written in php, uses mysql or postgresql
• cloned the twitter rest api
• got lots of twitter 3rd-party dev community on-board
• lots of offline processing -- STOMP servers
• Support Jabber for IM
• email gateways for sms
• being in the sms space is really expensive
• hooks-based plugin architecture (like mediawiki)
• events happen in the code, hooks available for these events
• openmicroblogging.org -- "good enough protocol"
• http-based protocol
• users on one server can subscribe to notices from users on another server
• oauth used for authorization
• subscription == authorizing a remote server to push notices into your inbox
• version 0.1 - push text and profile data
• version 0.2 (coming soon) - uses atom entries and vcards
• identities are urls
• don't define a syntax for the text in notices, but working with microsyntax.org
• working on developing a standard for microblogging syntax
• distributed microblogging -- how do you do @ replies?
• @nick -> guess
• subscriber
• more info = distributed over microblogging network
• @nick@ex, @nick%ex
• server-defined aliases, user-defined aliases
• similar to email
• other nice things about laconica
• use openid for authentication
• twitter bridge
• facebook application and facebook connect (logging in and posting)
• facebook TOS are more strict that twitter so no facebook -> laconica yet
• use hash tags officially
• push data out to public downstream users (xmpp, ping, sup)
• default install uses creative commons BY 3.0
• also support groups, multimedia, sharing, conversation tracking (tree of notices vs. stream of notices), comet, user themes
• how are we doing?
• launched 7/2008
• 50+ contirbutors
• dozens of plugins
• 200+ public sites
• many private sites: Sun, SAP, Motorola, Mars Inc.
• goal: 1M sites by 2013
• full-time job for evan, 7 employees
• installation, maintenance, service, support, customization
• software as a service offering - http://status.net (private beta)
• venture funded, revenue positive
• who's going to use this software?
• enterprises
• brands and broadcasters
• e.g. oprah's driving millions of people into twitter with on benefit to her
• why not host own site, pump data out, and get people back to your site
• communities
• there's a great future for the open web. are you part of it?
• evan@identi.ca
Questions:
• implementation of xmpp for mobile access
• single jabber user (update@identi.ca) sends and receives notices for the entire system
• system is a little bit complicated--streamlining needs to be done
• sign up on web site, put in jabber id, user receives confirmation code, and then preferences can be set
• various commands available through xmpp interface
• what's STOMP?
• interface for queue servers
• not a piece of software, it's a protocol - identica uses rabbitmq
• activemq also supports stomp
• when a notice is posted to identica, needs to go out to N number of users within 30 seconds
• this CAN'T be real-time, but semi-real-time works well with queuing
• author's own inbox is updated immediately, rest of the world sees it a few seconds later
• what other kinds of non-microblogging uses are you finding for laconica?
• e.g. questioner says he uses it to push out environmental conditions
• evan: "status sharing more intereting than microblogging"
• school districts--send notices out to parents (snow day, school lunch, etc.)
• laconica server in data centers--servers update laconica with server status
• current status of project? what's stable vs. not?
• queue servers--becoming more important, particularly with move to being a service provider
• file sharing - images, audio, video, word docs (more for enterprises)
• not looking to be imageshack or youtube, but would like to use multimedia to augement status sharing
• location/gps (coming in future release)
• ability to search notices by location
• filtering?
• definitely thinking about it -- probably plugin first, more core later
• more a problem for people following thousands of people than people just following a handful of people that they actually care about
• ideas:
• muting (ability to turn someone off temporarily)
• baeysian filtering/thumbs up-down
• file sharing--how not turn this into a mess of copyright violations and porn?
• does take monitoring--admins first, later crowd sourcing
• ability to take down inappropriate material
• for sites just using the software, isn't really laconica's problem--would be the responsibility of the site owner
• not a new problem--same thing with blogs, etc.
• @ replies--is one more popular than another?
• not really--many differernt formats work
• jaiku will be supporting openmicroblogging format
• crossover with openid--both microblogging and openid identities are urls
• shouldn't be limited to openid, but perhaps identitiy could be delegated
• openmicroblogging standard -- implementation follow protocol or vice-versa?
• in parallel -- protocol didn't drive implementation blindly; was more interactive
• very simple protocol--some criticism for that, but 0.1 protocols are the only ones that tend to get used
• if it gets too big no one implements it
• how compare with google's opensocial protocol?
• big point of opensocial is to let you build something like a facebook application and put that into a bunch of different social networks
• what isn't built into that system is any federation between the social networks
• opensocial does have a cool status mechanism so lacnoica could tie into that part of opensocial