Social Software, Personal Publishing

Microsoft Social Networking Patent Application on Peer-to-Patent

Via INSNA and Mark Surman (who is doing seriously cool things with the Shuttleworth Foundation around Open Everything), I was copied on a request to look at prior art around a Microsoft patent application:


Microsoft has a patent application posted on the Peer-to-Patent site for Recommending contacts in a social network.

We are soliciting your help and that of the communities you know in finding prior art that will help the Patent Office to examine this application and determine if it deserves a twenty-year grant of rights to prevent all others from making, using, or selling this invention (this includes any research and R&D that would touch upon the claims of the invention, if patented). Can you let people know about this opportunity? We invite them to submit:

  1. prior art
  2. to annotate the prior art submitted by others
  3. to vote on the relevance of the public submissions, and
  4. to suggest fruitful avenues for research for the USPTO when examining this application.

Peer-to-Patent is not just another blog, wiki or website. It is an "extension" of the government institution! Posted information will be forwarded directly to the United States Patent and Trademark Office and be used in the examination process.

Here's a bit more detail about the application and about Peer-to-Patent:

Recommending contacts in a social network

A method and system for recommending potential contacts to a target user is provided. A recommendation system identifies users who are related to the target user through no more than a maximum degree of separation. The recommendation system identifies the users by starting with the contacts of the target user and identifying users who are contacts of the target user's contacts, contacts of those contacts, and so on. The recommendation system then ranks the identified users, who are potential contacts for the target user, based on a likelihood that the target user will want to have a direct relationship with the identified users. The recommendation system then presents to the target user a ranking of the users who have not been filtered out.

Social Graph applications: why not for every community website?

One of the outcomes from my trip to Victoria last week is some thinking about the social graph.

More specifically, you may recall that I've been using Flock. As it turns out, I recently upgraded my laptop to Leopard, and made Flock my main browser. This has given me increased exposure to their "people bar" -- a side bar that supports a variety of big community websites, like Facebook, Flickr, Twitter, and so on.

As I've been using this feature, and seeing the way that Flock "detects" features of different websites, I started thinking about how every community website could enable this functionality. Right now, the Flock team has to pre-integrate with the specific website's API to enable this functionality. But, just as they "detect" the presence of site-specific search engines, there is no reason that one couldn't expose a link header that indicates the presence of a social graph.

I know what you're thinking: "But Boris, how many people use Flock? Isn't this just browser specific functionality?" Well, no. First of all, Google has a Social Graph API that is already being crawled -- looking at FOAF and XFN.

Secondly, I got to thinking about all these site-specific applications -- like Twhirl that was bought by Seesmic. So, if we had some basic standards about this stuff, it would be simplistic to have one app that let us monitor / notify / update any of these systems. Yes, there will ALWAYS be websites that have more complex APIs with more features -- that are only accessible by implmenting *their* API to talk to them.

But for thousands of other community websites, built in Drupal, WordPress, Joomla, or what have you -- you suddenly have the same rich access to applications as the big guys. How many websites would encourage their users to install Flock or Twhirl if it supported *their* website?

Oh, and I'm completely skipping the linked data / RDF / Semantic Web factor of having community websites expose some part of their social graph, or at least make it available for querying by people that have the right credentials.

OK, so how does this look to the end user? I'll use Flock as an example, since I've got agreement in principle from them that they'll work with me on this, including help in defining some of the formats.

  1. User surfs to community website where they already have an account (for simplicity's sake, we'll pretend a session is still open)
  2. Flock detects a website that has a social graph available because of a header link that looks something like this:
    <link rel="socialgraph" href="/user/4426/socialgraph.rdf" type="application/rdf+xml" />
    (Note the user ID in there, because the user already has a current session open)
  3. Flock does it's fun in browser slide down that says something like "This website supports a people bar. Would you like to add it?"
  4. If the user clicks on "yes", then Flock initiates an OAuth request to be allowed to a) fetch the current user's social graph file and b) take actions on behalf of the user such as setting their status or sending a message/poking/whatever another user on the site
  5. The user acknowledges the OAuth request and clicks some allow buttons
  6. Voila! A fantastic site specific "people bar" right in your Flock browser
So, that was a VERY Flock specific flow, but as I mentioned with Twhirl up above, absolutely no reason that you couldn't do the same thing with those type of people notifier on your desktop apps / widgets / etc. -- just start by typing in the URL of the website, the app would go and discover the social graph link and/or initiate an OAuth request to authenticate, and all of a sudden you're directly monitoring the different community websites you're a part of directly. Bonus points to websites that expose the social graph as an XMPP Pub Sub endpoint so these apps don't need to poll constantly.

Now, I know the first thing we're going to have to do is fight a religious war over the format of the socialgraph file. I'm going to suggest some minimal FOAF format, since I'm a born again RDF fan.I don't want to go spraying email addresses all over the place, so perhaps either local unique user GUIDs or OpenID could be used as identifiers for each person. We actually don't need full "person" information -- a username, avatar, status message, and date stamp for last activity sorting should be the minimal set. Even status message could be option for smaller, less complex sites so almost anyone could support this out of the box: just show everyone on the site (yes, that's right...ignore any sort of "friend" connection) sorted by last active -- which could be a post / comment, or (again, simple support by many sites...) just date stamp of last login.

I'd like to think that the choice of OAuth as credentials for acessing this info isn't controversial at all. Feel free to layer OpenID in here somehow, but for the action-at-a-distance on which cool functionality can be built, this kind of a token system looks to be ideal.

What next? Well, surprise, surprise, I'm going to take a crack at getting this implemented in Drupal. Raincity Studios is already working on the OAuth module, which would be one of the main pre-requisites. Once the format of the social graph file is defined (calling Joshua, Arto, and maybe RalphM...), building the next piece shouldn't be too hard.

Ideally, something like the Gnomepal Drupal distribution would ship with this out of the box (for the really ambitious, Drupal 7 core!). And other systems like Marc Canter's People Aggregator could easily expose this social graph info as well.

I'm excited at the continuing growth of every website as a dynamic web application, and also of the exposure of data and APIs by this web of sites. This feels like the right path we're travelling on to get everything a little bit more interconnected.

This whole community platform thing might have some legs

David Crow in Toronto picks up the community platform meme and lists some other tools / platforms available in response to Chris Pirillo's announcement regarding the building of Gnomepal on Drupal.

I already commented on Chris' initiative here, but here are some comments I made on David Crow's post:

Now, which of those listed platforms have portable data? Which of them are a suitable platform for building the (invariably) custom pieces that each community may want as they grow?

The tough part with many systems -- especially closed, hosted ones -- is that they provide great initial starting points, but then often lack in customization or growth options. And god forbid that your platform provider "go away" -- then you're completely stuck, and need to start over.

This is why I have chosen to go with fully open systems, because they can grow with communities and can never be locked down or disappear.

@Varun:
Facebook is ultimately closed and not a participant in the "open web". And it's someone else's platform with someone else's rules. I would hope that we steer around such closed instances and strive to connect openly.

@Peter Childs:
"What I’d like to see is a platform that recognizes communities are networks of interests (people & organizations) and doesn’t try to become a destination"

I think this is spot on -- don't try and a become a destination IN AND OF ITSELF -- but rather add value through various aggregation and hub features. This also seems to argue for mini-networks that cross sites.

Open platforms are as important as open data or any other cross site initiatives. I don't care what you end up picking as your community platform, as long as your data and your users can seamlessly interwork with the other systems out there. The network is not the destination.

Northern Voice 2008 Wrap

Northern Voice 2008 is wrapped. Exhilarating. Fun. New faces. Old faces. Good discussions. Sore throat. Vitamin C. A bit too much beer. People. Talking. PEOPLE.

Been a long couple of days starting way back on Wednesday night with the launch of Music Direction supported by Invoke Media and then CaseCampVancouver3.

The pic is Megan Cole as captured by Chris Heuer, leading a social media mecca. Inspiring.

Federated Social Networks at Barcamp Amsterdam III

It doesn't seem that long ago, but the first Barcamp Amsterdam was way back in October 2005, where RalphM and I first schemed about Jabber World Domination. But in reality, a lot of time has passed -- Jabber is now called XMPP, there have been many more Barcamps outside of the US (yes, Amsterdam was first! picture from Ton's Flickr pictures), and we've got a ton of interesting identity and social software standards / formats / tools to start integrating.

Ralph did a workshop on Federated Social Networks at the beginning of December, which I unfortunately wasn't able to attend on short notice. Now Ralph has set the date for a follow up event to be held along with Barcamp Amsterdam III on March 1st and 2nd.

I will, unfortunately, once again be missing the event, since Drupalcon Boston 2008 will be happening at the same time. I'm hoping that some co-conspirators on a couple of projects will be able to attend (I'm looking at you and you).

I suspect the technology stack that will be discussed includes DiSo, OpenID, OpenID Attribute Exchange, and OAuth, so anyone interested in those items and how they relate to social networks should plan to attend. Note: although I have a reputation as a handwaver supreme, this will most likely be a down and dirty technology, specs, and implementation discussion at its core, so pack your developers and throw them into the capable hands of RalphM.

a person who is, above all things, enamoured by the future

Stephanie just posted where her entry ends with the phrase that is the title of this post "a persona who is, above all things, enamoured by the future".

I love the phrase. Maybe time to swap out the tagline for this blog.

Oh, and, Steph actually posted about renewing her Flickr pro account. Related to that, I'm experimenting a bit with Photophlow -- a real time interface for chatting about Flickr photos. Which, for those of us who remember the early days of Flickr, was actually the original implementation of Flickr. Thanks to Rachael for the invite -- I've still got a few to hand out if you're interested.

Finally, great work on the blog, Steph -- I've really been enjoying reading it and enjoying your photos.

I think I might become an RDF fan boy (again)

I'm currently in Stuttgart, Germany doing some Drupal client work in a gathering that we've come to call "Geek Week". We sit down and look at internal requirements and do 3/6/12 month planning, matched up with the state of the Drupal universe. But more on that later, probably over at RCS (the "In Drupal We Trust" t-shirts were popular).

One of the "geeks" attending here is Arto Bendiken. Check out his projects page for an example of some of the stuff he's worked on. For Drupal folks, that would be timeline - AJAX widget for visualizing temporal information, boost - static page caching for Drupal, drush - command line shell for Drupal, trace - easy debugging for Drupal, exhibit - rich visualization and faceted browsing. Yes, that is impressive :P

So, Arto and I got to talking about RDF (rdfabout.com is a good primer site), and how it's the new black. I admit that I've felt that XML vs. RDF is (almost?) a religious war. It seems to me that pointy haired bosses (PHBs) have memorized that RDF == slow and complex, and XML == fast and ubiquitous. Since in selling concepts I often interact with PHBs, RDF has felt like an uphill battle, especially as RSS/Atom grow more and more widespread.

But.

Not so much with the Facebook, but strong on mobile

My usage of Facebook has dropped. At the same time, people messaging me / contacting me through there has increased. At least the message shows in email now.

What I am still using quite a bit is the SMS integration for status messages. I know that updating my status sends out SMS notifications to a bunch of my friends, and vice versa. Yes, this is not new -- it's microblogging / Twitter / Jaiku, etc.

The mobile integration grounds the social in the "real world". There is an element of serendipity in sending a ping out to the world, and wondering who might respond back, who else is wandering the streets, cellphone in hand, ready to go for a drink or join an activity.

I imagine when Jaiku gets their US / Canadian mobile integration up and running, I'll use that more.

What SMS services are you using in Canada? Travis' description of SpinVox sounds great -- except for the whole Rogers is the devil and expense of it :P

Northern Voice 2008 is up and rolling in classy brown

Yes, Northern Voice 2008 is up and rolling!

We're currently looking for both speaker submissions and speaker ideas. I think I can honestly say that I'm at a bit of a loss on thinking about what the new new is. Or perhaps it is time to just refine and expand on previous threads and ideas? I do know that my thinking about geolocation was ahead of the curve from last year...I don't even think we'll quite be there for this year.

What *will* be there? Lots of interesting people. How to's and getting started in various areas, from blogs to wikis to digital photos. Open and participatory discussions, and all sorts of fruitful hallway conversations and ad hoc meetings. Some parties, some travel bursaries. High bandwidth tech-people-idea overload. Looking forward to it, and hope you'll join us.

Here are the obligatory Facebook and Upcoming events that you can show your attendance with -- we'll be opening official registration in a couple of weeks.

Google announces OpenSocial - open API for connecting social networks

So, we now have Google's answer to Facebook's closed development platform: OpenSocial (link goes live Thursday).

Google has a good selection of launch partners for this -- Ning, LinkedIn (an API?! finally!), and Plaxo being the most interesting ones. RockYou and Slide are Facebook development companies that are also signed on, so we'll definitely see some launch apps, not just bare APIs.

This is, of course, very encouraging and similar to the short discussion I lead at the Facebook Developer Garage: integrate with systems other than Facebook, use open standards, and put your stuff out on the open web. Marc Canter has a gleeful post about all of this, including linking back to standards and experiments that have already been underway. Be interesting to see how OpenID Attribute Exchange, which I have long been a fan of, fits into all this.

I couldn't believe my eyes when I saw that there was already a Drupal module ready to go -- here's the project page. Except, it's just a placeholder for now :P But, nonetheless, this is an obvious set of APIs for Drupal to support and participate in this open web.

Will it work? Well, we've got a whole other set of mashups and connections to be making. This code is brand new, and developers, designers, and business owners are going to have to spend time kicking the tires and just trying stuff. Just like Facebook and the Facebook platform has been a new thing which has seen an explosion of creativity and experimentation, I expect we'll see the same thing around these open APIs. It's going to be a fun ride...

Syndicate content