open_standards

OStatus: Real-time Distributed Social Networking

The current popular breed of social networking services are closed networks which don't connect with each other. If a user from one network wants to connect with a user on another network, they generally have to sign up for an account with the second network. This inconvenience ultimately results in a few very large networks with an inordinate amount of control over peoples' most personal data and a lack of choice and privacy for users.

 

 

Current Social Networking Services
 
In 2007 I wrote about an idea for building a distributed social network using a collection of existing open standards. The idea was to allow for social networking functionality equivalent to services like Facebook, but in a more open way where users can choose their provider or host their own data, but still connect with each other. The result would be a "network of networks" connecting to each other with open standards and ultimately much more control and choice for the end user.
 
 
Distributed Social Networking

Things have moved on a little since 2007 and a new collection of protocols has now emerged to allow near real time publishing of "activity streams" which can be discovered and commented upon within a social graph in an open, distributed way. You can think of this as a Facebook news feed, but without Facebook. Users will be able to choose from a whole range of different social networking services (or even run their own), and connect with their friends on different networks. Your news feed can then aggregate information from all of the people you're following across a range of different networks, update you about what's going on in near real time and allow you to send a response from your network to theirs.

OStatus is a collective name given to a suite of existing protocols which make this possible. They include:

  • PubSubHubbub - Real-time publishing ("PuSH")
  • ActivityStreams - Represent social actions in XML with Atom
  • Salmon - "Upstream" comments and replies
  • Portable Contacts - Social graph and contact data sharing
  • WebFinger - XML representation of a user's identity in terms of the services they use
 

The OStatus standardisation process is just getting started to define how these existing protocols can work together, but sites like Google Buzz, StatusNet, WordPress.com, and Tumblr are already implementing some or all of the protocols.

There are lots of projects which are working on the idea of distributed social networking. One which has attracted a lot of attention in the press recently is Diaspora which was recently started by a group of four students from New York University thanks to funds raised with an online campaign. The Diaspora team hasn't released any code yet, but they have committed to supporting OStatus. There are many other similar projects, including but not limited to:

Hopefully OStatus and some or all of these projects can do for social networking what SMTP & Sendmail did for email, what HTTP/HTML and Apache did for document sharing and what RSS/Atom and Wordpress did for blogging. If just some of these projects choose to support the OStatus group of protocols (some of them already have), then the social web will be a much more open place!

See OStatus.org and a presentation by Even Prodromou for more information.

tola – Wed, 2010 – 06 – 02 08:59

Vivaty defects to Flash for Vivaty Scenes Lite

This is a very sad day for open standards on the 3D web.

I'm devastated to hear that the X3D poster child that is Vivaty has stooped to shoe-horning a feature-limited version of its service into a proprietary 2D graphics plugin as a misguided attempt at achieving cross-platform support.

Yes, I'm a Mac (and Linux) user who would like to be able to use Vivaty, no I don't want to use a stripped down version hacked into Flash.

I wonder what great things could have been achieved if the engineering effort put into hacking together a 3D application in a 2D graphics engine had instead been ploughed into supporting and improving Unix/Linux-based implementations of X3D, the ISO standard for 3D graphics on the web. The Web3D community would benefit considerably from Vivaty's contribution to standardising and promoting the innovations they have made with the Vivaty Player, AJAX3D being one example.

I'm not angry at Vivaty's misguided efforts which were no doubt driven by business decisions, I am instead disappointed that they felt that the open standards route was not a viable cross-platform option for a company which has previously championed the standards movement.

tola – Tue, 2009 – 09 – 22 08:25

O3D - Google's 3D JavaScript API

I've been dying to talk about this since last summer when I joined the trusted testers programme, but the public release has finally arrived. Google has released an Open Source JavaScript API for creating interactive 3D graphics in the browser called O3D. It is currently a browser plugin for Internet Explorer, Firefox, Safari, and Chrome that works on Windows, Mac OS X, and Linux - but Google would ultimately like to see native support in browsers.
 
Although Google have been working on this project for two years, they're billing this as an early release as "part of a conversation with the broader developer community about establishing an open web standard for 3D graphics". With reference to Khronos' Initiative to Create Open Royalty Free Standard for Accelerated 3D on the WebMatt Papakipos (Engineering Director at Google) has previously said "with more and more content moving to the web and JavaScript getting faster every day, the time is right to create an open, general purpose API for accelerated 3D graphics on the web. Google looks forward to offering its expertise in graphics and web development to this discussion".
 
CNET article on O3D also quotes Papakipos. 'Google believes that it's possible that multiple 3D interfaces will be supported in browsers of the future. "Ultimately, there's going to be at least two," Papakipos said, pointing out that 2D graphics in the browser has two technologies at present, SVG and Canvas'. Having personally discussed X3D with Matt Papakipos, I have high hopes that he may be referring to X3D here, or perhaps a derivative of X3D. When I discussed X3D with members of the O3D team (known internally by a different name) last summer, they said they didn't know a great deal about X3D at the time, but they seemed to have some reservations about parts of the standard - apparently enough to warrant taking their own approach to the problem.
 
I am encouraging Web3D Consortium members to engage in this discussion. As Google has recently become a browser vendor and a member of the Khronos group, I would also be interested to hear the consortium's views on Google's recent release. Their new API is yet another example of an imperative approach in contrast with X3D's declarative approach.
 
Please note that I am not currently an employee of Google, I was only an intern there last summer, any opinions expressed are my own.

tola – Wed, 2009 – 04 – 22 07:58
Syndicate content