del.icio.us .:. tweet

FOAFster -- Mashable FOAF, from MyBlogLog .:. kentbrewster.com

What's This?

FOAFster is a prototype visualizer for Friend Of A Friend relationship objects. What you're seeing here are icons for a bunch of FOAF contacts, scattered around the screen, and network services, in a much neater line at the top.

About FOAF

I've been interested in FOAF for a long time. Abstracting out all my social relationships into a separate layer, just as I do with my presentation and behavior layers, really resonates. Future possibilities like being able to point marketers at my FOAF object so they will quit wasting their time trying to sell me timeshares seems like a very real possibility.

The problem? As it sits right now, FOAF is a giant pain to update. Most folks fire it once and forget it; the results range from amusing to disastrous.

What changed today? MyBlogLog rolled out FOAF. And now, finally, I don't have to worry about keeping a file on my Web site. All I need to do is add people and services to my network on MyBlogLog, and it's taken care of for me. Here's my FOAF object, courtesy of MyBlogLog:

http://www.mybloglog.com/buzz/members/kentbrew/foaf/

Why MyBlogLog's FOAF Is Superior

All this is generated and re-generated for me, whenever I add a service or a contact, and whenever any of those contacts add a service of their own. So now all I need to do is link it in the HEAD of my document, like so:

<link rel="meta" type="application/rdf+xml" title="FOAF" href="http://www.mybloglog.com/buzz/members/kentbrew/foaf/" />

Although other services like LiveJournal and FriendFeed are doing this, MyBlogLog's FOAF is superior. LiveJournal only points inwards; FriendFeed does not contain your contacts' network connections. And nobody else in the world is presenting FOAF as a JSON object wrapped in the callback of your choice, if you ask nicely, using format=json&callback=foo. Although it's possible to run anybody's FOAF object through Pipes and get JSON back, MyBlogLog cuts out the middleman by being brave enough to serve it all up live.

Want to Play?

It's trivially easy, which is how it ought to be. Go sign up at MyBlogLog, add some services and/or contacts, and your FOAF should be ready to rock, at http://www.mybloglog.com/buzz/members/yourname/foaf/.

Things to Do and Notice

  • Click any of the service icons to see what the user in the background is doing over there. (These use the same Pipes I wrote for Blog Juice, if you're interested.)
  • Click any of the contact faces to go see what they're up to. They will always show up in the same spot for each starting profile.
  • If you need to go back--yes, there are dead ends out there; you'll be alerted if you hit one--click one of the faces in the row of breadcrumbs at the bottom right.
  • If you'd like to try it out starting from a different ID, enter it at the end of this page's URL, like so:
    http://kentbrewster.com/foafster?q=johnsampson

Caveats and Gotchas

  • Some people--Scott Beale, for one--have incomplete information about their Flickr profiles on MyBlogLog. You guys need to go update before you'll see your Flickr photos.
  • There's a lot going on; the first time you try a FOAF object that hasn't been generated yet it may go slowly, depending on network latency and caching and such. I'm sneakily changing out the background and the person's name right when you click; you'll see the usual square twirligig while the FOAF query is running.
  • I've set an arbitrary limit of 400 contact icons, but the whole FOAF object still comes down from MyBlogLog, so it can take a while. Sometimes--*koff*Rafer*koff*--a long while.
  • It's semi-broken on IE, and twitchy on Opera. This is all my fault, not that of the API; working on it now.

Directions for Future Development

  • User should be able to click a face from the MyBlogLog reader roll, or automatically start with the signed-in MyBlogLog user.
  • User should be able to drag and drop those faces, and save their locations as a cookie or to a central server. Face locations should be consistent no matter who the starting account is.
  • Individual icons should scurry into and out of the middle when you mouse over a service icon that they have; it ought to look like the Stanford marching band.

I'll have the code up once I fix up the IE bugs; for now, adventurous developers should know how to read source, copy, and paste. Have fun, and please let me know how it goes.

Comments from before Disqus:

Gary .:. 2009-02-07 19:09:54
This is really helpful thanks. I have been looking for a means of engaging foaf into my website and your solution of using the mybloglog foaf is perfect!
Kent Brewster .:. 2008-12-17 08:56:37
I see it, Jeremy. Love the domain name; "myfacetwittertube" is brilliant. :)
Jeremy Jones .:. 2008-12-16 18:29:46
scratch that last post -- figured it out. thanks for this!
Jeremy Jones .:. 2008-12-16 10:47:50
Fun stuff, Kent. I'm trying to implement it on a test page now, but I'm a bit of a simpleton. I've stolen your foafster.css, foafster.js, and foafster.html, edited urls in the html file, and hardcoded my new mybloglog id into the js file. Works great (though I'm friendless at the moment, so kind of boring to look at). What I'm not sure about is how to pass that "?q=someoneelse" variable to the js in the url, like you do with your example http://kentbrewster.com/foafster?q=johnsampson. Is that done with more javascript in foafster.html?
Kent Brewster .:. 2008-06-10 22:05:22
And we're back. Thank you, @emiller!
Kent Brewster .:. 2008-06-10 10:12:41
Gaah, it's broken. Seems like I lost about half the script on the way up to the server last time ... sorry, working on it now.
drittz626 .:. 2008-06-04 07:31:06
To me it is one of the best around
steveballmer .:. 2008-05-31 00:51:40
Soooo freaking un-cool!
Kent Brewster .:. 2008-05-07 09:31:13
Please see my Rights and Permissions page, Rui; all code posted here may be used under a Creative Commons share-alike license. Have fun, and please let me know how it goes.
Rui Quintas .:. 2008-05-07 02:13:29
Hi Kent, i realy like your foaf browser and i am looking to use it in my aplication.Is there any legal restricton to use it?
mxyzplk .:. 2008-05-02 12:24:52
I wonder why it doesn't work for me.. http://www.mybloglog.com/buzz/members/mxyzplk/foaf
Olivier D. alias ze kat .:. 2008-04-05 17:18:04
I created my own FOAF parser for LiFE2Front which support MyBlogLog and FriendFeed. I think it could be usefull to merge twice FOAF data... I'm an expert to define un-redundant process :o"
victor .:. 2008-04-04 14:47:37
Ok, I have cloned and modified your FriendFeed pipe here http://pipes.yahoo.com/victorcoustenoble/osocial_foaf but I still not understand the end "Fetch Data" and "Pipe Output". Results are empty ... I think I have missed the JSON transformation somewhere ...
Kent Brewster .:. 2008-04-04 11:09:46
That's perfectly good FOAF, Victor. Have you tried cloning my FriendFeed pipe and modifying it to accept oSocial's input?
victor .:. 2008-04-04 00:48:56
Yes I am in charge of oSocial, and try to play with open format, open social, social graph ...
I have changed my FOAF page http://www.osocial.net/network/foaf.php?id=3821 but I have still some problem to get a JSON format.

Kent Brewster .:. 2008-04-03 20:49:25
Victor: you have the right idea, but as it sits right now, FOAFster won't take a foreign FOAF object the way you have it listed. There's no reason why it couldn't take a FOAF object from any source; if it didn't supply native JSON, it could run through a Pipe.

Are you in charge of oSocial?
Victor .:. 2008-04-03 13:45:23
Ok Kent, thank for answer.
I understand it is a wrong thing in my FOAF page construction, I will change it. And after, you say that if I provide my FOAF page in a JSON format, then you will be able to display it like you ? but how to use Foafster ? with something like : http://kentbrewster.com/foafster?q=http://www.osocial.net/network/myfoaf_in_json.php?id=4545 ?

And don't worry Oliver, oSocial goal is to open and break walled garden, and to provide friends list with XFN, FOAF, feeds .... different ways to free the social graph ;)
Kent Brewster .:. 2008-04-03 07:28:58
Hi, Victor. I don't see why oSocial's FOAF data wouldn't work, if you ran it through Pipes to turn it into JSON first. I actually did this early in the process, with a FriendFeed pipe. I think you'll be disappointed with the results, since oSocial--or at least your particular FOAF object on oSocial--only points back to itself, and not outwards to other networks. So no connections to neat things like Flickr; ultimately, it's an echo chamber.

Oliver: I hope not. The point of all this is to let people out of the walled garden, not to increase the size of the topiary maze surrounding it. :)
victor .:. 2008-04-03 04:26:48
Hi,

Nice, nice FOAF interface and navigator.
Now is there a way to use it with other FOAF link than from MyBlogLog ?
For example how can I display my oSocial FOAF profile ?
http://www.osocial.net/network/foaf.php?id=4164

Thanks,
Victor
Olivier D. alias ze kat .:. 2008-04-03 01:04:07
And now, we need FOAF aggregator/stream :o"

Copyright Kent Brewster 1987-2014 .:. FAQ .:. RSS .:. Contact