A proposal for Semantic OMB

From what I read on Twitter, it seems there’s a bit of confusion regarding SMOB. Indeed, while SMOB provides a framework for Open and Semantic Microblogging, it does not define a new protocol, but simply uses SPARQL/Update over HTTP to exchange information between hubs (posting / removing notices and following / followers). Hence, this is not something that competes against OMB, the OpenMicroBlogging specification.

Actually, OMB is something we planned to look at for a long time, as briefly discussed when Status.net / OMB was presented in the W3C Social Web XG telco. I’ve finally took the time to analyse the full spec and checked how it compares with the distributed microblogging implementation of SMOB, and more generally with the vision of Semantic Web / Linked Data (SW/LD) microblogging services.

So here is a proposal for “Semantic OMB” (on Status.net wiki) that describes how the current OMB protocol fits with the previous idea. In particular, it aligns the terminology with existing classes / properties from well-known ontologies, and discusses how some current parts of the spec should be updated. It also discuss how OMB operations can be mapped to SPARQL/Update queries, based on the ones that currently happen in SMOB for cross-hubs synchronisation.

As you can see when browsing it, besides the terminology mappings, most of the things are compliant and there are only a few things that shall be discussed, in order to:

  • enable a better “distributed-ness” by keeping profiles owned by their users and not necessarily creating remote accounts;
  • making some mandatory elements being optional, as they are contained in the data that is exchange between services thanks to the Linked Data principles.

Thanks to these small updates, it could provide a protocol enabling SW/LD systems to be designed based on the OMB protocol, while having a sufficient abstraction level to comply with OMB systems using other technologies for data modeling and exchange. I’d be more than happy to see such features in an upcoming OMB release, and hopefully see deeper links between OMB and SW/LD efforts, as both aims to achieve the same goal of openness and interoperability. Comments and feedback are welcome on the related thread on the OMB mailing-list.

SMOB v2.1: Using SMOB as a Twitter client

Here’s a new release of SMOB, the Semantic MicrOBlogging framework. This release includes various new features, the main one being the integration of Twitter messages in SMOB so that you can use your SMOB hub as a Twitter client, where each Tweet is represented in RDFa using SIOC, FOAF, etc.

In addition, the new release provides:

  • RSS feed for hub owner’s messages;
  • Automatic @reply when replying to a Twitter message (including sioc:addressed_to annotation);
  • Updated user-interface for #tags mappings, now done using tabs to avoid too much scrolling;
  • Ability to directly check @reply messages;
  • Starring system using the Review vocabulary.

SMOB v2.1 can be downloaded here. If you used a previous version, you will also need to apply this patch after the update. It may remove some of your following / followers (as there have been some changes in the related RDF data – this should be taken into account by the patch, but who knows …), in that case you’ll add to add them again, sorry for the inconvenience !

Hopefully, a 2.2 release will be out in the next weeks, including geolocation of messages, advanced browsing features and other funky improvements. Feature requests can also be suggested on its dedicated bugtracker.

SIOC-based microblogging

As John Breslin already detailed last week, we (Tuukka Hastrup, Uldis Bojars, John and myself) recently work on SMOB, a semantic microblogging architecture, that will be presented at next SFSW workshop, co-located with ESWC in Tenerife.

While there have been a lot of buzz recently regarding ways to provide open alternatives to Twitter, then fun thing is that we worked on this in last January while I visited DERI. Our main goal was to show how Semantic Web technologies could provide an open-platform for such way of publishing content, mainly using FOAF and SIOC. Moreover, one of our aim was also to demonstrate how such technologies can provide users a way to control, share and remix their data as they want, not depending on a third-party service, a goal also shared by the dataportability project. In that way, SMOB-published data really belongs to the user that wrote it. Indeed, while SMOB servers (which display a faceted view of agregated posts as you can see on the demo server) store data in their local triple-store, this information (i.e. each update) is hosted on the client side and available in RDF.

At the moment, the complete updates dataset is public, and can be browsed with any RDF browser as the picture below shows (with Tabulator) but we plan to introduce more advanced authentication and privacy issues, in which OpenID could have a role to play.


Users can parse it as any RDF data, mash-it up with other information, eg their FOAF profile (SMOB allows to re-use existing FOAF profile as the foaf:maker of each update), or any other RDF data. And most important, if a SMOB server closes, they still own their data.

Moreover, since SMOB content is SIOC-based, it becomes part of the SIOC-o-sphere, and could be merged with your other social media contributions (from any SIOC application) and discovered thanks to recent APIs and WordPress plug-in introduced by Sindice (automatic PTSW / Sindice pings will be soon in the code repository). This is one more advantage of getting a common semantics to model your data wherever they come from.


Finally, we just introduced in SMOB a way to publish not only to a dedicated server, but also to Twitter. So that you’ll get a real-time, self-hosted and long-life archive of your twits in RDF. Isn’t that cool ?


Using Twitter from irssi

There’s a lot of ways to update your Twitter status / browse friends without going on their website (which is sometimes really slow !). You can also simply use curl in bash.

I choosed wd, to make it work through irssi.

In irssi type:

 /alias twit /exec wd $*

Then you can use

/twit myfriend

to see your friends status (no arg = all friends, arg = one friend), or

 /twit -sv my new status 

to update yours .