Microformats and eRDF sitting in a tree

Following on from my previous post on eRDF I’ve started to play around with it. For anyone bored enought to have read the source of this site today you’ll have seen a couple of behind the scenes changes - specifically I’ve added a dash of FOAF.

The FOAF, or Friend of a Friend, project is:

creating a Web of machine-readable pages describing people, the links between them and the things they create and do.

I sort of see it as a bigger and more complicated older brother to XFN and hCard.

First things first, unlike Microformats, using eRDF needs a bit of setup outside just adding classes and attributes - specifically you need to add a profile to the head element of your document and then add some namespaces links into the head like so:

<code><head profile="http://purl.org/NET/erdf/profile">
  <link rel="schema.rdfs" href="http://www.w3.org/2000/01/rdf-schema#" />
  <link rel="schema.foaf" href="http://xmlns.com/foaf/0.1/" />
</head></code>

Then you’re onto the more familiar ground (if you’re used to Microformats) of adding semantic attributes. I already had the following snippet markup up in hCard, i just needed to add a few more classes (-foaf-Person, foaf-weblog and foaf-name) to existing elements.

<code><div id="iHead">
  <h2 class="vcard -foaf-Person" id="gareth">
  <a href="/" class="url org foaf-weblog">Morethanseven</a>
  <span>is where <a href="mailto:&#103;&#097;&#114;&#101;&#116;&#104;&#064;&#109;&#111;&#114;&#101;&#116;&#104;&#097;&#110;&#115;&#101;&#118;&#101;&#110;&#046;&#110;&#101;&#116;" 
    class="email fn foaf-name">Gareth Rushgrove</a> plays with the web
    </span></h2>
</div></code>

The full FOAF Specification details a huge range of other elements - everything from foaf:Project for making associations between yourself and projects you have worked on, to foaf:OnlineGamingAccount which is pretty self explanatory.

When parsed out that gives you a foaf document a little something like:

<code><?xml version="1.0" encoding="utf-8" standalone="no"?>
<rdf:RDF xmlns:admin="http://webns.net/mvcb/" 
  xmlns:doap="http://usefulinc.com/ns/doap#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:foaf="http://xmlns.com/foaf/0.1/" 
  xmlns:h="http://www.w3.org/1999/xhtml" 
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="">
    <admin:generatorAgent 
      rdf:resource="http://purl.org/NET/erdf/extract"/>
  </rdf:Description>
  <rdf:Description rdf:about=""/>
  <rdf:Description rdf:about="#gareth">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <ns_13:weblog xmlns:ns_13="http://xmlns.com/foaf/0.1/">
      Morethanseven
    </ns_13:weblog>
    <ns_14:name xmlns:ns_14="http://xmlns.com/foaf/0.1/">
      Gareth Rushgrove
    </ns_14:name>
  </rdf:Description>
  <rdf:Description rdf:about="http://morethanseven.net"/>
  <rdf:Description rdf:about="mailto:[email protected]"/>
</rdf:RDF></code>

So far I’d agree with Ben. All I’ve done is something people (including me) have been doing already with hCard. But I’ve done it in a way, using eRDF, that doesn’t in any way stop me continuing using Microformats.

Marking things up with Microformats for it’s own sake was only ever really of interest to markup junkies (including me again). It’s only when you can parse that information out that it gets more interesting. I’ve got a follow up post to this on just that subject involving some XSL, Javascript, PHP and some standing on the shoulder of giants. It will be left to a post after that when I try do something a little different.

On a related note; so far I’ve found only scattered and often overly technical and verbose documentation on eRDF and RDF in general. I’ve been adding links to del.icio.us as I find useful resources but I can see how useful Get Semantic has the potential to be if any of this is going to take off in the web standards community.

UK Web Design Meetups Map

I’ve posted a list before of events and meetups I know about around the UK but had got playing with the Google Maps API and decided to go one stage further and create a hopefully useful place to put all that info in the shape of a quick mashup.

Have a look over on morethanseven.net/presents/meetup for a hopefully useful tool. I’ll try and keep this up to date manually for the time being, so if you know of any other get togethers please leave a comment and I’ll add them to the list. Thanks to the excellent, if a little technical (well, it is Google) API documentation and Jeremy’s Adactio Austin for inspiration.

Sample map of UK Meetups

I’d like to make this even more flexible, ideally all I should have to do is point the page at the group urls and then parse out the geo-coded microformats data and then display it on the map and page, rather than duplicate this information and maintain it by hand. So if any of the owners of these sites want to geo-code up their sites and let me know that would be great. Some Upcoming integration might be on the cards too.

Hopefully it should be of some use to anyone looking for things going on in their area, or if you find yourself in a strange part of the country for whatever reasons then you’ll know how to find the local geek community without risking life and limb with an odd T-Shirt.

What eRDF can learn from Microformats

Quite a bit of time at BarCamp was spent thinking, talking and in running skirmishes about the Semantic Web. Or the semantic web depending which side you’re on.

Now I’m a big fan and perpetual user of Microformats. They make sense, are simple to add everywhere (by stealth if needs be) and the potential is pretty interesting to boot. They are designed in the open, allowing everyone to participate and have a strong emphasis on solving every day problems in the real world.

Contrast that with RDF and the Semantic Web. Most of the work here has been going on for years in academic institutions and W3C working groups. It’s all rather grandiose. Everything I’d seen previously horribly broke HTML. But someone seems to have seen the light. Tom Morris mentioned in one of his talks eRDF, which is a method for embedding RDF in valid HTML.

After one of the talks I got chatting with Tom Morris and Tom Croucher, both card carrying RDF folk, and Niqui Merret another interested bystander. Toms argument basically comes down to Microformats solve the 80% problem, RDF trys to solve the other 20%. I sort of think the Microformats group would probably agree with that. I also like the idea of creating your own formats off the cuff. I’ve seen enough to at least have a further look see and hopefully try out a few experiements myself.

Ben Ward had a few things to say on the subject which are worth a good read. I agree with the majority of his arguments but coudn’t resist commenting on at least one:

If you’re working with RDF, show me something new. Don’t just rehash vcard and icalendar into your own format; I’m not interested

I disagree. One of the best thinks about Microformats, that draw people (including me) in from the get go, is the unquestionable ease with which you can add hcard or xfn and get on with your day. Weeks or months later, after a few feel good projects you’ll be keeping an eye on the wiki when you come across something in need of structure. And even then you find it’s a composite of something you’ve seen before.

Right now I’d love to find that. A simple example of how to mark up a few very simple examples of eRDF. Hey, if that means contact details and a calendar event then so be it. If all that’s wrapped up in a lovely shiny green coat of pain with an icon logo so much the better. Until I can experiment with simple I cant do anything else, never mind anything new. So that’s two posts for the future sorted then.

Tom has set up a wiki over at GetSemantic to start to collate information together in one place which from my initial research seems like a good idea. If and when I get enough together (and the OpenId authentication is up and running) I’ll make sure to add everything there. If I get carried away and find interesting voices on the blogosphere I might event get a planet up and running. Or I might find way too much XML and leave it at that.

People I met in London

Meeting likeminded people is always good fun and the UK web conference scene provides lots of good opportunities for that. Sometimes it’s meeting up with past aquaintances or friends and other times mainly about making new contacts. Oh, and their are always a few co-worker’s in tow.

Mainly as a reminder but also as a “hello” to some of those I met down in London for BarCamp (BarcampLondon2) and Future of Web Apps (FOWALondon07) here goes with a list of some of the people, mainly colleague and a few neighbor I met on my travels:

Tom Croucher, Tom Morris, Gareth Rogers, Ben Ward, Jeremy Keith, Ben Darlow, Norm, Ian Forrester, Stuart Colville, Andy Hume, Mike Stenhouse, Pete Lambert, Lisa Price, Meri Williams, Elly Williams, Steve Marshall, Niqui Merret, Natalie Downe, Alistair MacDonald.

Between them they now have me interested in doing more with mobile messaging (SMS, MMS, Jabber), finding our more about eRDF, playing with Pipes, organising a Barcamp, getting some Moo cards, playing more with the flickr machine tags api and, oh, about a hundred and one other things including drinking beer (ok, that one was Ben). Consider that a partial list of the sorts of things I’m likely to post on over the next month or so.

If their is anyone I have yet to add to Flickr, Upcoming or Twitter hopefully I’ll find you soon or feel free to drop me a line. If I missed someone sorry, probably all the sleep I’ve been trying to catch up on.

This post brought to you by some of XFN.

Content Management Systems a go-go

Well, I’m now running WordPress. I know I appear to be aimlessly flitting between content management systems on this site but it’s more of a little research project I swear. Hopefully it’s all happening pretty seemlessly for everyone reading my ramblings. This time RSS came to the fore, allowing me to simply export a feed of all my previous posts and import them straight into WordPress. This sort of portability is very very nice for the user. I’d love to see this sort of functionality for hierachically structured data in larger enterprise systems.

I’ve got Wordpress up and running with a few choice plugins and a new theme in a couple of days which is nice. Hopefully any minor issues will be ironed out as I find them. An added bonus is comments are now back, I’ve got so many things to rave about after getting back from BarCamp and Future of Web Apps that letting anyone else point out the errors is only fair.

Useful API links

After a load of research for a couple of projects I thought I may as well add a large pile of links to a post for future reference. Feel free to wander through if your interests stretch to using scripting languages in mashups and the like.

PHP

Python

Ruby

Shiny Content Management

Well, my presentation over at the local Ruby on Rails Usergroup went down OK last Thursday. I could have done with some more time to prepare and do up some nicer slides but most of the presentation was quite hands on with me coding and talking, which was a first for me.

My presentation was basically a whistle stop tour of Radiant. I rambled on for about fifty minutes or so, quickly going through the basic concepts of Pages, Layouts and Snippets and then on to an example site which I built from scratch in front of everyone – with only a few obvious errors and obvious mistakes.

I ended up talking some about ommissions in Radiant, which I’m not sure I got across as the positive that I feel they are (at least for me). I dont want a fully featured blogging system, rather something that’s easy enought to jump into somewhere and see how it works. A few ideas came up from this discussion that, given the chance, I’ll mention on the Radiant mailing lists, or give them a go myself – like the ability to save configurations of pages, snippets and layouts and then load then instead of one of the three default prepopulation options. Though I’m busy modding the Radiant commentable behaviour and pondering a move to the Mental release candidate at the moment.

It at least got me back in to presenting to an industry audience, quite different from the teaching I’d been doing. Hopefully a good thing ahead of BarCamp in a weeks time.

WebDD

Just back from WebDD down in Reading at the Microsoft Campus and thought I’d post a few thoughts. I’ll get into a few of these topics in more detail down the line when time permits but for now…

I went to a few talks, one on Microformats by Glenn Jones and the other on web standards design by Patrick Lauke that I enjoyed but didn’t learn much. I wasn’t the intended audience really and I’d gone along because I didn’t fancy the alternatives. Both were entertaining and well attended anyhow, and I’m sure the more developer orientated folk got a lot out of both.

The main two things I came away thinking about however were the upcoming version of Visual Studio (codename “Orcas”) and Microsofts new identity platform CardSpace

Now I’m not generally a fan of IDEs, but someone has been thinking alot about how Visual Studio (and the new Expression Web) can be of use to web designers. Some of the CSS tools are very cool, I might do some screenshot from Expression (we all got free copies) if I get the chance. Their has also been a huge effort to integrate Javascript functionality, including full debugging and breakpoint support as well as intelissense. All of which looks really rather nice.

According to Microsoft Windows CardSpace enables users to provide their digital identities in a familiar, secure and easy way. Which should have alarm bells going off and (bad) memories of Passport flooding back. I went in not knowing much and in quite a sceptical mood, assuming the worst. Turns out I was wrong. The presentation, by Barry Dorrans, covered quite a bit of ground from an introduction, through code and working examples and even a big discussion of the issue of identity and OpenID in particularly. I’m suprised that I haven’t seen any mention of CardSpace along with the recent rise in discussion around identity and OpenID. More on this soon.

One last thing on the WebDD site caught my eye: around 350 people with a 50/50 split of web developers and web designers. In reality I think about 20 of us registered as designers which amused me. Microsoft doesn’t (yet) have a pull over designers as it does over developers. More on that too when I get my thoughts in order.

Experiment over

Ok, well, that was interesting I thought. For those that haven’t followed along on the site I thought I’d recap some of the weird and wonderful colour schemes that have been used on this site as part of my experiment with colorburn

Some were just about OK, some were quite nice really and a few were, er, pretty much unreadable (sorry). I’ll let you decide which where which:

20th 21st 22nd 23rd 24th 25th 27th 28th 29th 30th 31st 1st

Incoming!

Just a few things coming up in the next month that I’m attending that I thought warranted a post.

WebDD 3rd February Heading down to Microsoft in Reading for Web Developer Day for a weekend of web design and development discussions and listening to Bruce and Patrick go on about something interesting.
Newcatle Rails Usergroup 8th February I’m giving a talk on using Radiant to our local Ruby and Rails Usergroup so we’ll see how that goes. I’ll publish the slides afterwards given the chance.
BarCamp London 17th-18th February Yeah. I got a ticket for Barcamp thanks to Meri. I just need to think of something to talk about now. Oh, and sort travel.
Future of Web Apps 20th-21st February Been looking forward to heading down to FOWA for a while and a few people from work are coming too. Be good to see all the usual suspects as well, at least those that aren’t going to Barcamp a few days before.
Geek Dinner 21st February I’d already booked the day after FOWA off work knowing that something would come up. As if by magic I’m finally in London for one of Ian’s famous GeekDinners.

Now I think about it, or rather now I write them all down in one place, I think I might have got carried away.