So this is the 2nd time I'm writing this because I forgot to save the entry when I upgraded the memory on my Dell. Yep 2gig of memory instead of 1gig now but still no decent Blogging tool for Linux. Wblogger and Ecto would have automaticlly saved the entry every few minutes or at least asked me what I should do with the unsaved entry before terminating and throwing my words to a black hole. Anyway enough moaning…
Previously I promised a couple of things in this entry…
First up, I'm going to standardise some way of linking FOAF, OPML, OpenID and APML together. I expect I'll keep this very simple using the link element in (x)HTML or somehow combine this into a Hcard profile. Next up a APML microformat or APML lite for sure. I'll try it as I've been studying the others and the general methology of Microformats and I think it could be done. So I'll suggest it and draw up how it works and submit it for lots of review. I'm now exploring how to get APML out of Amarok and RSS Owl.
So how far have I got so far?
One : So I have linked all three (APML, FOAF and OpenID) together using links on my blog. So if you look at the source you will now see this. Which is cool but I think we can do better.
<link rel="openid.server" href="http://www.myopenid.com/server"/> <link rel="openid.delegate" href="http://cubicgarden.myopenid.com"/> <link rel="meta" type="application/rdf+xml" title="FOAF" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf"/> <link rel="meta" type="text+xml" title="APML" href="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden"/>
When I say do better, I've been looking around a couple of things. First up is a better way to do the basic link element so it can be turned into a RDF triple later. It was found while looking at RDF/A examples which will be explained later.
When a meta or link is used within another meta or link, the internal triple has, as subject, the external triple. This is reification.
<link about="" rel="[cc:license]" href="http://creativecommons.org/licenses/by-nc-nd/2.5/"> <meta property="dc:date" content="2005-10-18" /> </link>
[ rdf:subject <>; rdf:predicate cc:license ; rdf:object <http://creativecommons.org/licenses/by-nc-nd/2.5/> ] dc:date "2005-10-18".
Now I'm not that keen on the syntax, but its not over complex and I guess you could do something like this.
<link about="." rel="[foaferson]" href="http://www.cubicgarden.com/webdav/profile/foaf.rdf"> <meta property="apml:profile" content="https://apml.engagd.com/apml/www.cubicgarden.com/blojsom/blog/cubicgarden" /> <meta property="openid.server" content="http://www.myopenid.com/server"/> <meta property="openid.delegate" content="http://cubicgarden.myopenid.com"/> </link>
But I guess getting all those openID parsers to change now will be a nightmare, so to be honest I'm happy either way. But I think it does make sense to link everything in the HTML rather that rely on a OpenID parser to look at the HTML then find the URL for the FOAF file and then parse through that to find the Open ID url. Yes I already know you can put OpenID in FOAF thats why I'm saying its not a good idea, but there is no harm in having it in the FOAF optionally. Which is what I'm going to do, but I've recenly seen how out of date my FOAF file really is, so I'm going to try and update it soon. If anyone knows how to get FOAF out of Facebook, Flickr, Delicious, Linkedin, Dopplr, Upcoming, etc that would be useful. O'reilly's connections network use to allow for FOAF but somehwere along the line seems to have died or closed down, because I tried to find it and login, so I can at least start somewhere. So generally number one is done.
Two : So the huge challenge of building a Microformat for APML, so people can easily put in there preferences without building a very complex xml file. Because lets be honest, like RDF and other XML's this stuff was never meant to be built by humans. Also I like the idea of using standard HTML elements and attributes so people can instantly try this stuff out. I saw recently on the microformats blog that there is almost 450 million? examples of Microformats now and its growing everyday. Its not hard to see why when you consider how it is to try out some of them. For example adding a tag is as simple as adding another attribute to a link. Some of the other microformats are a little more tricky but generally with a example in front of most people they can work it out quickly. So whats the W3C's answer to Microformats? Well RDF/A which is a unified framework build around putting semantic meaning into HTML. A while ago it was meant to be for XHTML 2.0 but its been brough forward which is great news. Because the only other alternative seemed to be e-RDF which no one could work out if was royality free or not. Ok I have to admit I'm writing this entry over a couple of days. So I found my way on to the O'reilly connections network again. So you should be able to see my public view here. Anyway the point is that they already have FOAF, which makes my life slightly easier that starting from scratch again. Going back to APML, I'll try modeling it with RDF/A and see what happens. So far I think my plans is to keep the explict and implicit context and maybe attach it to a openID or unique ID. I'm not going to include stuff like the source because its too complex and not that relevent for a lightweight version of APML. I mean if you really want APML, just use APML. If you want something to indicate your preferences (< href="http://www.tommorris.org/blog/">beyond a link) in HTML, what I'm brewing up might just be right for you. I've also decided to call it LiteAPM, as in Lightweight Attention Preference Markup for now.
Three : Ok I'm not being funny but where the hell does Amarok store its configurations and database? I think I've found RSSOwl's basic configuration stuff but content i'm not so sure about yet. But then again I've not really tried really hard yet. I can't find a mention about Amarok anywhere. So I hit the web and found a way to pull almost anything I want out of Amarok via the command line. So honestly all I really need now is to learn how to program Perl or install something like XMLstarlet, and learn how to use stuff like the cron and unix pipes. Wow now I can do all that stuff I've been talking about for a long time. Stay tuned…