FOAFbot is now based on the ‘twisted’ framework, opening up possibilities for various new interfaces to the data beyond the current IRC one. This is interesting as it makes it easier for people to adapt FOAFbot, eg. for instance messenger or HTTP interfaces, or to hook it up to alternate front-ends such as foafnaut. Edd’s weblog provides more details on all this, including links to source code and a teaser screenshot of FOAFbot data showing up in Gnome Dashboard. Nice work! :)
Ken MacLeod has announced a new tool, ‘FOAF Check’, which reads a FOAF file, checks its PGP signature and extracts portions of the RDF, eg. for inclusion in weblog comments (via. Movable Type cookies etc.).
This approach provides a way to avoid re-entering the same data over and again across multiple sites – you just point them at your FOAF document and let them read what you’ve already said about yourself. Ken’s writeup points to previous work on FOAF/PGP-based decentralised profiles.
Spring provides a canvas-style desktop interface, replacing the ageing ‘documents and folders’ metaphor with a UI based on several content types (people, places, products, books, music, …), with appropriate kinds of action associated with each type of thing. So you might invite a person to an event, draw a map of a location, etc.
Version 1.3 added ‘drag and drop’ FOAF support:
Friend of a Friend (FOAF) format is an increasingly common web format for people. If you see a FOAF button on a web page, drag it in to Spring
This support is improved in v1.3.1: a “Refesh From Web” feature allowing FOAF-derived person entries in Spring to pick up the changes from remote FOAF files.
From the oops-I-forgot-to-post-this drafts folder: Microsoft have a new thing called three degrees that may be of interest to FOAF developers and others working on standards-based collaborative tools. Does anyone know whether it’s a closed box, or whether there is some prospect of interop with other systems?
This is a quick writeup of an application of RDF query tools to the problems of weblog discovery and filtering. It shows off RDF’s ability to merge XML-encoded data from multiple sources, answering queries which couldn’t be answered by considering each source separately.
Imagine you are looking for Weblog URLs (and perhaps their associated RSS feeds) of people who have written Perl software that is in CPAN. At our disposal are two data sources: a data dump listing the SHA1 hashes of CPAN author email addresses. For each author, we have an @cpan address, plus one of their normal addresses (cpan2foaf.pl). A second RDF/XML source of FOAF data is a document listing other information about several people who happen to write for CPAN. That file is a stand-in for their real FOAF files, which would typically be collected from each of their sites individually. For simplicity, we show that data as a single document.
The first datasource mentions several hundred people who contribute to CPAN, and enough information to identify them (by hash of email address). The second datasource contains some of the same identifiers (their hashed home email address) plus, more interestingly, information about their names, homepages, weblogs and suchlike. How can we get answers to questions like “find me weblog addresses for CPAN contributors?”.
Some interesting work with FOAF and XSLT documented in a Japanese weblog. The links to foaf.xml, foafstyle.xsl and foaf.html show the generation of an HTML Web page from RDF/XML source using an XSLT transformation. The article also references another foaf.xsl, another Weblog post about FOAF and a Japanese Wiki page about FOAF. So the relatively new foaf:weblog property seem to be catching on, presumably since it was covered in Masahide Kanzaki’s Introduction to FOAF.
Apologies for the shallow writeup, I wish I could read these pages! I couldn’t even manage copy a foaf:name my browser into this weblog entry… Feel free to add more details using the ‘comments’ feature if you can read Japanese.
IndyMedia is a project well worth supporting. The mainstream media industry is great and all, but after a while, it gets boring being lied to. IndyMedia is a brave effort towards a more inclusive approach to media access, although currently it lacks much by way of trust and ‘provenance’ infrastructure. Slashdot, the geek news site, has more filtering and trust machinery than most current IndyMedia sites. IndyMedia risks being drowned out by noise and spam…
So I’ve been experimenting with a proposal for FOAF augmented RSS feeds in the Mir content management system which now powers the UK IMC. It raises issues about privacy, identity, and (most immediately) technical concerns about the proper use of ‘dc:creator’ in RSS 1.0 feeds.This is a modest step towards some machinery for filtering IndyMedia news through ‘web of trust’ machinery. Not censorship, just a way of keeping track of who said what, and what other things those sayers have said…
I’m experimenting with Eric Sigler’s
FOAF plugin software for use with Six Apart’s Movable Type. In passing, I’ve upgraded the rdfweb.org MT installation and installed Ben Trott’s OpenPGP and XML::FOAF Perl modules from CPAN. This in turn uses
Ginger Alliance’s RDF::Core module (which in turn uses XML::Parser, Expat etc…).
So after installing this stack of interesting software on rdfweb.org, I’m back reading the manual for Movable Type and musing on how the FOAF MT plugin relates to MT’s commenting system and ideas for using FOAF for login information, distributed identity description and suchlike. And also, to be honest, geting used to the fact that there’s a Perl module for FOAF now. Interesting times…
So anyway, I’ll be fiddling around with the comments system on this site, Advance apologies if I break anything. At this point, all I’ve done is install the software, I’ll be experimenting with it in my spare time over the next week or few.
Nearby in the Web: efforts to use MT plugins and FOAF at Burning Man
FOAFBot, Edd Dumbill’s RDF-based IRC bot, is back!. Not content with writing readable introductions to FOAF (also in Japanese, Chinese), Edd created one of the most interesting tools that consume FOAF. FOAFBot hangs out in an IRC channel and answers questions about people based on data it found by indexing the Web of interlinked FOAF documents.
Here’s a quick scribbled description of an application of FOAF I’ve been thinking about lately. I am forever forgetting the passwords for various Web sites; usually those of my friends (photos etc), rather than huge dot-com sites. I’d like to make it easy for such sites to offer password-protected access to their content, without my having to remember loads of different passwords.
So I’m wondering how feasible it would be to do something like the following: in my FOAF file, or another RDF/XML document linked from it, list a bunch of ‘account descriptions’ giving my username and (in some cases) crypted passwords. Some of these could be generic accounts, eg ‘generic friends photo login’. FOAF-aware sites could use this if they want to give me access but defer password management to external systems. I’d update/edit/delete account descriptions, including passwords, and sites would read my FOAF file regularly to keep up to date.
The bare bones of this could be implemented with relatively little scripting, but it raises some issues that need careful thought. First up, it isn’t super-wise to have a single username/password used on loads of sites, especially if it is sent in cleartext HTTP, or if you’re not careful about which sites you send it to. Secondly,we’d need to use something like PGP’s identity-assurance mechanisms, otherwise my friends might accidentally use evil-danbri-impersonator.rdf to check passwords, and allow the wrong users to see their content. So I might PGP-sign a chunk of RDF that says ‘this is firstname.lastname@example.org’s low-security photo-website generic account’.
There’s more to think and write and test on all this, but I just wanted to scribble the basic idea. I suspect the next step is a prototype…