attention profiling markup language presentation for xtech08
TRANSCRIPT
apmlattention profiling markup language
How it started
Attention.xml“Attention.xml is a new technology standard that's
being proselytized by influencers like Steve Gillmor, David Sifry, Robert Scoble and Jeremy Zawodny.
Basically it is metadata that records and shares information on the "attention" users give to their
RSS feeds and blogs.
Scoble said that by the end of 2005 we'll all know what attention.xml is and why it's important for the
services we choose to support it.”
Steve Rubel of Micro Persuasion, Why Attention.xml Could Change PR Forever
Attention.xml problems• Ownership problems• Little adoption• It was complex• Lots of baggage• Hyped up?• Misunderstood• Too early?
Touchstone/particls
Rank your RSS feeds
Made use of plain text files
Almost everything was transformable
Feed lists stored in plain opml
Config stored in plain xml
Attention stored in plain xml (apml)
What is apml?• Attention Profiling Markup Language (APML) is an
open standard that encapsulates a summary of your interests (across multiple profiles) in a simple, portable way.
Apml in a nutshell• Attention Profiling Markup Language (APML) is an
open standard that encapsulates a summary of your interests (across multiple profiles) in a simple, portable way.
Apml in a nutshell
The purpose of apml• Attention Profiling Markup Language is a plain xml
format to compress all forms of Attention Data into a portable and transformable file format containing a description of a persons interests (likes and dislikes)
• Its a portability format which allows people to share their own personal attention profile in much the same way that opml is used for sharing subscription lists
The current state of apml• Its licensed under creative commons
attribution/sharealike licence• There are no patents involved in apml• It will be submitted to standards groups soon• currently on version 0.6• version 1.0 is being openly debated• discussion of other related formats such as,
• apmlrdf, apmljson (xsl already exists) and apmllite (microformat)
Attention data“attention data is comprised of the
websites you visit, the things you might write about in your blog, the music you listen to through such services as Last.fm, the websites you bookmark using social bookmarking tools like del.icio.us, the photos and videos you share with services like Flickr and YouTube, and so on.”
Attention cloudYour interest cloud is a
combination of your attention data ranked, sorted and normalised. This should be done with computer intervention.
Attention profile“APML is a way of collecting and
aggregating all of your attention data together into a single "attention profile". This profile exists in the form of an XML file which is the same open language behind RSS and OPML”
The elements of apml (head)<APML version="0.6">
<Head><Title>Particls APML File</Title><DateCreated>20070416T23:00:00Z</DateCreated><Generator>Particls</Generator><UserEmail>Ian Forrester</UserEmail>
</Head><Body>
<Profile/><Applications> <Application/></Applications>
</Body></APML>
The elements of apml (profiles)<Body defaultprofile="home"> <Profile name="home"> <ImplicitData> <Concepts/> <Sources/> </ImplicitData> <ExplicitData> <Concepts/> <Sources/> </ExplicitData> </Profile></Body>
It is possible to have many different named profiles in one apml file
The elements of apml (data)<ImplicitData/><ExplicitData/>
Explicit data is for items that are explicitly added by a user to represent something. So for example, a user could edit their own APML file and add items they know they're interested in. That's why the updated tag isn't needed on items in ExplicitData, because it's a manual process.
Implicit data, it is added by machines/computers that try to make some informed guesses about the things that you are interested in. This stuff will change over time and are added with a certain degree of confidence that may have a decay in certain applications. That's why it is important to keep a track of when things were added/modified.
The elements of apml (concepts)<ImplicitData> <Concepts/>
<Sources/></ImplicitData><ExplicitData> <Concepts/>
<Sources/></ExplicitData>
Concepts mean "ideas" basically. General "things" you may be interested in. Sources are specific sources of information that you are interested in. Like a particular website or rss feed or something. Authors can be authors of a source, or just plain old authors. It is worth noting that the idea of an author/people is under review for APML Version 1.0)
The elements of apml (concept)<ExplicitData>
<Concepts> <Concept key="xtech" value="1.0" />
<Concept key="xsl2" value="0.90" /><Concept key="golf" value="0.99" />
</Concepts><Sources>
<Source key="http://news.google.com/news?svnum=10&as_scoring=r&as_drrb=q&as_qdr=d&as_mind=13&as_minm=1&as_maxd=12&as_maxm=2&q=%22xtech%22&ie=UTF8&output=rss" value="0.25" />
</Sources></ExplicitData>
The elements of apml (concept)<ImplicitData> <Concepts>
<Concept key="canon powershot" value="0.71" updated="20070821T08:32:38Z" from="Particls"/>
<Concept key="london" value="0.76" updated="20070821T08:32:38Z" from="Particls"/>
<Concept key="manchester" value="1.00" updated="20080427T11:41:11Z" from="cubicgarden.com">
</Concepts></ImplicitData>
The Key is the “concept” in question, the attached value is always a decimal between 1.0 and 1.0. The updated is required on implicit but not explicit.
The elements of apml (sources)<ImplicitData> <Sources> <Source key="http:www.stoweboyd.commessageatom.xml" value="0.85"
name="Message" type="application/atom+xml" updated="20070503T00:01:13Z" from="Particls"/>
<Source key="http://feeds.feedburner.com/horsepigcowLifeUncommon" value="0.82" name="::HorsePigCow:: marketing uncommon" type="application/atom+xml" updated="20070503T00:01:13Z" from="Particls">
</Sources></ImplicitData>
Its good practice to use a xml source for the key. The type attribute is optional right now, although that may change
The elements of apml (author)<ImplicitData>
<Source key="http://www.darknet.com/atom.xml" value="0.00" name="Darknet" type="application/atom+xml" updated="20070503T00:01:13Z" from="Particls">
<Author key="Jd Lasica" value="0.00" updated="20070503T00:18:50Z" from="Particls"/>
</Source><Source key="http://www.schneier.com/blog/index.rdf" value="0.00"
name="Schneier on Security" type="application/rdf+xml" updated="20070503T00:01:13Z" from="Particls">
<Author key="Schneier" value="0.00" updated="20070503T00:18:53Z" from="Particls"/>
</Source></ImplicitData>
The elements of apml (authors)<ImplicitData>
<Source key="http://feeds.feedburner.com/zdnetuk/news/20" value="0.00" name="ZDNet UK News" type="application/rss+xml" updated="20070503T00:01:13Z" from="Particls">
<Author key="[email protected] (Will Sturgeon)" value="0.34" updated="20070503T00:18:42Z" from="Particls"/>
<Author key="[email protected] (Tom Espiner)" value="0.21" updated="20070503T00:18:42Z" from="Particls"/>
<Author key="[email protected] (Gemma Simpson)" value="0.23" updated="20070503T10:20:42Z" from="Particls"/>
</Source></ImplicitData>
Its possible to group authors under one source
The elements of apml (applications)<Applications>
<Application Name="Particls"><OutputThresholds Key="newsticker" NotUnder="1" NotOver="1"
Enabled="Yes"/><OutputThresholds Key="popup alerts" NotUnder="0.4" NotOver="1"
Enabled="Yes"/><OutputThresholds Key="pebbles" NotUnder="0.2" NotOver="1"
Enabled="Yes"/><OutputThresholds Key="particls.sidebar" NotUnder="0" NotOver="0"
Enabled="Yes"/></Application>
</Applications>
Inside Application, any type of markup is allowed, parsers skip this
Apmljson"implicitData": { "concepts": { "attention": { "value": "1.0", "from": "", "updated": "20070311T01:55:00Z" }, "content distribution": { "value": "1.0", "from": "GatheringTool.com", "updated": "20070311T01:55:00Z" } },
"sources": { "http://feeds.feedburner.com/apmlspec": { "name": "APML.org", "value": "1.00", "type": "application/rss+xml", "value": "0.4" "author": { "key": "Sample", "value": "0.5", "from": "GatheringTool.com", "updated": "20070311T01:55:00Z" }}
ApmlRDF
Other apml avenues• Apml lite
• apml in xhtml markup, using rdf/a or as a microformat• Apml+Skos
• Apml + simple knowledge organisation systems
Linking apml in xhtml<link rel="meta" type="application/xml+apml"
title="APML" href="https://apml.engagd.com/apml/www.cubicgarden
.com%2Fblojsom%2Fblog%2Fcubicgarden%2F.apml"/>
Apml libraries• Engagd lib Engagd API PHP5 client library
• http://code.google.com/p/apmllibrary/• Apml parser v2 2.0 PHP APML parser
• http://code.google.com/p/apmllibrary/• Apml Stream – Java library
• http://apmllibrary.googlecode.com/svn/trunk/Java/APMLStream/APMLStream0.1/
• Engagd – Webservice• http://engagd.com/
• PyAPML – Python library• http://apmllibrary.googlecode.com/svn/trunk/Python/
The bigger picture
Apml is part of something bigger
Apml is part of the dataportability stack
Apml usage
Apml buzz• Particls http://www.particls.com• Engadgd https://www.engagd.com/• Idiomag http://www.idiomag.com/apml/• Ma.gnolia http://www.ma.gnolia.com• Cluztr http://cluztr.wordpress.com/2007/10/15/supportforapml/• BBC Radio Labs
http://www.bbc.co.uk/blogs/radiolabs/2008/01/apml_isnt_just_for_humans.shtml
• Dandelife http://www.profy.com/2008/01/21/dandelifereview/• Bloglines http://www.bloglines.com/about/news#147
Examples
Apml would be ideal for music sharing
Apml on the desktop too
Apml for personalisation
Music in apml<ImplicitData> <Concepts>
<Concept key="trance" value="1.00" from="Amarok" updated=""/><Concept key="progressive trance" value="0.94" from="Amarok"
updated=""/><Concept key="dance" value="0.59" from="Last.FM" updated=""/><Concept key="rock" value="0.5 from="Last.FM" updated=""/>
</Concepts><Sources>
<Source key="http://www.last.fm/music/Armin+van+Buuren/" value="0.9" />
<Source key="http://www.last.fm/music/Tiesto/" value="0.6" /> </Sources></ImplicitData>
TV recommendations
TV favourites
Sharing between sites
Better recommendations
Better recommendations
The killer example
Dating profiles should be portable
Dating is in need of apml
Maybe apml can fill this in for me?
Apml = portability
Dating would never be the same
Apml could bring you love
Thank you, any questions?
Ian Forrester – Senior Producer at BBC BackstageBackstage.bbc.co.uk | Cubicgarden.com | Dataportability.org