ACTION [DONE]: tinkster to summarize Evan's talk

Summary of Evan Prodromou's talk with the W3C Social Web Incubator Group
========================================================================

[2009-10-07]

Evan Prodromou is the developer of the OpenMicroBlogging specification (OMB),
currently at version 0.1, with version 0.2 on the way. He is also the lead
developer of StatusNet (formerly known as laconica), which is the highest
profile implementation of OMB. identi.ca is the biggest installation of the
StatusNet software, which is operated by Evan's company, StatusNet Inc. He
was also involved with MediaWiki (contributed the popular OpenID plugin) and
WikiTravel (open content travel guide wiki).

With the launch of Twitter in 2007, there was an explosion of interest in
Microblogging, which is defined as the exchange of small (usually 140
character limit) text messages with your social network. Evan didn't see
anyone else doing it, so he started an open source immplementation.

StatusNet includes various features thought to be important to an open
social web:

	- OpenID
	- FOAF
	- Atom / RSS

StatusNet is designed to be run on commodity servers - i.e. "LAMP stack".

Federation is an important feature. People with their accounts on one server
can subscribe to accounts on other servers. Initially Evan looked at OpenID
attribute exchange to accomplish this, but it didn't work out. Instead, it's
an OAuth extension.

There are four key players in the OMB remote subscription process: the
publisher, the subscriber, the publisher's server and the subscriber's
server. The process:

	1. The subscriber provides the HTTP URL of their profile to the
	   publisher's server
	
	2. The publisher's server looks up the URL using OAuth discovery
	   (XRD Simple).
	
	3. The subscriber does the OAuth dance to authorise the publisher's
	   server to push messages through to the subscriber's server.
	
	4. The subscriber's server notifies the publisher's server that
	   the subscription has been authorised and passes back the subscriber's
		details (name, avatar, etc).
	
	5. Thereafter, the publisher's server will use an API on the
	   subscriber's server to push new notices, and publisher's profile
		updates through to the subscriber's server.

Over the wire, notices are defined to be plain text, even though OMB
installations tend to ascribe particular semantics to certain patterns
such as #hashtags and @replies.

Important considerations for OMB version 0.2:

	- No system for unsolicited notices. If Alice isn't subscribed to
	  Bob, there's no way that Bob can get a message to her.
	
	- Although StatusNet installations internally track threaded
	  conversations, this information isn't sent over OMB, so threads
	  between multiple installations don't work properly.
	
	- Replace deprecated use of XRD Simple with LRDD.
	
	- Push notices as Atom entries instead of plain text:
	
		* include full HTML versions of messages between
		  installations, making #hashtags and @replies more
		  reliable.
		* allows use of Atom threading extension.
	
	- Some sort of security issue that Toby doesn't quite understand.
	
	- Possibly some sort of activitystrea.ms work.

Further along the lines, server-to-server communication via XMPP might be a
possibility. Google Wave might also be something to look at.

Subscribers having to provide their profile URLs has usability consequences.
Can this be done in a better way? Evan is keeping an eye on WebFinger.

Relationship to SMOB (Semantic Microblogging) <http://smob.sioc-project.org/>:
SMOB does a really great job of publishing info, but doesn't have any
server-to-server interaction defined. There is certainly potential for working
together. OMB in SMOB would be very welcome.

FOAF and Semantic Web tech may be useful for various features going forward.
Answering the question "who *should* I be subscribed to?"

There are plans to make geolocation part of the OMB/StatusNet platform. Each
profile will have a location associated with it (it already does, but only
as a plain text string), and each notice will too, indicating the location
the publisher sent it from. [Toby adds: Possibly also a way of tagging
notices with locations would be usefule. e.g. I'm not in London right now,
but this notice is tagged London because it's about that place.] Will use
geonames/Where on Earth/OpenStreetMap.

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Wednesday, 21 October 2009 09:39:09 UTC