Lightweight Attention Preference Markup

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>


which yields:

[ 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="[foaf/images/emoticons/silly.giferson]" 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…

Comments [Comments]
Trackbacks [0]

APML as a lightweight Microformat?

My Ubuntu install is working again thanks to Jon Callas from PGP. So I can finally bring you this entry from the Airplane trip 2 days ago.

I've not blogged much of BarCampBrighton, but sitting on this flight to Boston with 2.5 hours of battery life left (54%) I'm now reflecting on a couple of my sessions

The first one was titled as Facebook is Dead, which I later changed to social network killer – reclaim your attention. The whole thing presentation went through reasons and technologies which mean the dead end, locked in social networks no needed to exist. However Jeremy Keith and Tantek had covered most of my points about Microformats and OpenID in a previous session so I skipped most of that stuff and got on to the juicy part about lifestreams and attention profiles. In a quick look, I showed off APML and suggested ways you could do FOAF+APML together to build up everything you needed for open social networking (as aposed to locked in like Linkedin and Facebook style). Oh also while on the differences I made it clear that social media sites like Flickr, Delicious, Bliptv, etc were not included in the locked in category and then started to rip the living piss out of Quechup.com (no link for this nasty social network). I think I put the slide up and asked How dumb do you have to be?. Anyway I'm going off topic here.

So many people are throwing APML around but as Jeremy Keith would say, it looks like a technology looking for a solution. So I came up with some perfect examples of APML including my killer which I thought would also attract the bigger audience who don't care about the technology of it.

First example : Tape it off the internet.com. If you join tape it off the internet.com or tioti it will ask you again and again and again… what shows you like and do you also like these shows? Now this is fine but its tiresome although you can type in your shows and hope it finds them. But what you can't do very well is give shows a certain weighting. So for example I love lost and heroes but have also started watching the new prision break 3rd season although yes its jumped the shark years ago. Now I would like to indicate that although I watch it, I'm not really that much into it. Then I also want to be able to show my friends and maybe get less matches based on this preference. Whats evern better is if I can say I really dislike something. Right now you can give it one star or not add it but what incase I want to say, I watched that show and I bloody hate it? In APML you can set a negative value to things as you'll see later. In actual fact Tioti is going to support APML in the future so that battle is done already.

Second example : Dating sites. This I thought was my killer one but maybe not? So if you join a dating site you build this profile of you and sometimes that involves answering questions and filling in a profile of who yougr looking for as such. This is usually quite detailed stuff and time sucking stuff. So imagine what happens when your friend invites you to a new dating site where he or she have previously had a positive experience. Yep fill in the forms again and indicate your preferences again. Now with APML its robust enough to maybe describe a lot of what your saying in your description and profile. You should be able to log in with your Open ID which could link to your FOAF and APML too. And because you have the concept of personas in Open ID, you could select different FOAF and APML files for those who like to have different profile. Tantek who was in the room when this was announced pretty much slammed APML but liked my example and so suggested I check out some of things people have been doing with tagging their preferences. So I did and although quite robust I had that problem of setting amounts.

So for example if I tagged this quote below you will see I've choosen to tag certain words. But there's no indication of first, if there just tags (yes some class could be added to make it clear that these tags apply to me but in what way?) and secondly what in case I tag flying and writing? How would you know I much prefer the later?

Facebook hopes to expand on the service, one person says, using algorithms to learn how receptive a person might be to an ad based on readily available information about activities and interests of not just a user but also his friends.

In APML you can add values and that makes a huge difference. But maybe there is a way to have a lighter version of APML which is a microformat, so people can play with it right now.

third example : Targeted advertising So as you read before, Facebook are using your data to advertise at you. Here's the full thing.

Next year, Facebook hopes to expand on the service, one person says, using algorithms to learn how receptive a person might be to an ad based on readily available information about activities and interests of not just a user but also his friends — even if the user hasn't explicitly expressed interest in a given topic. Facebook could then target ads accordingly.

While Facebook plans to protect its users' privacy and possibly give them an option to keep certain information completely private, some Facebook users might rebel against the use of their personal information for the company's gain.

And the perceptions that targeted ads create can be as much of a problem as the reality. “Most people don't realize how targeting works; it becomes so good that even though it's anonymous, you feel like they know you,” says Rishad Tobaccowala, CEO of Publicis Groupe-owned consulting firm Denuo Group. However, he says Facebook needs to be careful in implementing any targeted ad system, lest loyal users “find it creepy.”

Chris Saad, is right to ask the question if users will put up with it. Also just making things private isn't the answer. What in case I had kids but didn't want to see adverts for nappies and babyware? I could hide that stuff but actually don't mind telling the world that I had kids, I just don't want the adverts. In APML i could specify my distaste and give it a nasty negative value which would indicate that I never want to see Nappies or Babyware ever. Of course Facebook or Google could over ride my APML but I wouldn't be happy, and they should be looking at my positive APML stuff anyway. I mean there's more chance I'll click a link saying latest Orange SPV phone here that latest Babyware or even in reality Latest iPhone offer for O2. And this is the killer thing, anyone who knows me will know that, even a browse of my blog will tell you this but to have it in machine readable form in APML has got be final straw. On my blog my APML is linked and its public. I'm saying advertise to me if your high on my interest list. Orange should be banging my door down every time I say I'm looking for a new phone but there not wise to all this yet. Google and Facebook are.

Forth and Fifth examples : LastFM and Preferences. By now you should have got the main points and can see how having a APML output of your favorate tunes in Lastfm could be useful. One example I didn't think about at the time was moving between media players. I moved from iTunes to Winamp to Madman to Amarok. There was no way to take the ratings I had build up for my music collection but now I should be able to look at lastfm and pull out decent enough scores. On the preference front, APML could be used for more that just internet applications. So yes if Amarok supported APML that would be amazing. I'm actually looking into this because Amarok keeps a rating of all music based on how many times you heard it and how much you scored it. It also keeps this information is a SQLlite DB and the rating range is between 0 and 100 which makes it easy to put into APML. Yep I might need some help from some Perl or Python people soon. Although I've learned Gnome has its own scripting language like how Applescript works for OSX. So I might be able to pull something off that way.

Right so what happens next? 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. If anyone wants to help with these, give me a shout. APML is awesome and I know everyones waiting for a 1.0 release (including Tioti, Google, Bloglines) but honestly give it a try now you won't regret it.

Comments [Comments]
Trackbacks [0]

Semanticly changing cubicgarden

This page is xhtml 1.1 valid

Its been all of about a week since I wrote anything. I've been quite busy but I've actually been working on this blog. I've changed the structured of the pages which does cause some problems with some of you using Internet Explorer but most of you are using the RSS/ATOM so its low on my list of changes. I've also finally sorted out most of the issues with why the site didn't validate. As you can see, it now validates. This won't always be the case, due to that well talked about entity problem in copy and pasted url's. I'm also going to try and use Microformats more than I have in the past. I've not dumped OPML for outlining but I like XOXO and am actively looking for a application which supports it for quick editing. In the past I was using JOE (java outline editor) which is great because it allows you to runs python scripts which can do many things. But its not had much updates as of late. So can anyone suggest a XOXO editor besides the javascript one. If not there are XSLs to convert between OPML and XOXO so I'm not that worried.

Comments [Comments]
Trackbacks [0]