<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Code: Flickr Developer Blog &#187; tagging</title>
	<atom:link href="http://code.flickr.com/blog/tag/tagging/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.flickr.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 19 Nov 2009 15:59:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;That&#8217;s maybe a bit too dorky, even for us.&#8221;</title>
		<link>http://code.flickr.com/blog/2009/09/28/thats-maybe-a-bit-too-dorky-even-for-us/</link>
		<comments>http://code.flickr.com/blog/2009/09/28/thats-maybe-a-bit-too-dorky-even-for-us/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:50:26 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[machine tags]]></category>
		<category><![CDATA[open street maps]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=1094</guid>
		<description><![CDATA[

photo by rabbitier

Around the time we added support for Open Plaques machine tags Frankie Roberto, the project lead, asked: &#8220;What about supporting Open Street Map (OSM) way machine tags?&#8221;
My immediate response was something along the lines of &#8220;That&#8217;s maybe a bit too dorky, even for us.&#8221; Which meant that I kept thinking about it. And [...]]]></description>
			<content:encoded><![CDATA[<div style="margin-bottom:30px;margin-top:30px;">
<a href="http://www.flickr.com/photos/rabbitier/3776861543/"><img src="http://farm4.static.flickr.com/3562/3776861543_d3f69d390b.jpg" width="500" height="322" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a></p>
<p style="font-size:small;text-align:right;"><a href="http://www.flickr.com/photos/rabbitier/">photo by rabbitier</a></p>
</div>
<p>Around the time we added <a href="http://www.frankieroberto.com/weblog/1454">support for Open Plaques machine tags</a> Frankie Roberto, the project lead, asked: &#8220;What about supporting Open Street Map (OSM) <code>way</code> machine tags?&#8221;</p>
<p>My immediate response was something along the lines of &#8220;That&#8217;s maybe a bit too dorky, even for us.&#8221; Which meant that I kept thinking about it. And now we&#8217;re doing it.</p>
<p>If you&#8217;re not sure way what a &#8220;way&#8221; is, it&#8217;s best to start with OpenStreetMap&#8217;s own description of <a href="http://wiki.openstreetmap.org/wiki/Elements">how their metadata is structured</a>:</p>
<blockquote style="border-top:solid thin; border-bottom:solid thin;font-family:monospace;margin-top:20px;margin-bottom:20px;padding:20px;font-size:small;">
<p>Our maps are made up of only a few simple elements, namely nodes, ways and relations. Each element may have an arbitrary number of properties (a.k.a. Tags) which are Key-Value pairs (e.g. highway=primary) &#8230;</p>
<p>A node is the basic element of the OSM scheme. Nodes consist of latitude and longitude (a single geospacial point) &#8230;</p>
<p>A way is an ordered interconnection of at least 2 and at most 2000 nodes that describe a linear feature such as a street, or similar. Should you reach the node limit simply split your way and group all ways in a relation if necessary. Nodes can be members of multiple ways.</p>
</blockquote>
<p>Frankie&#8217;s interest is principally in marking up buildings in and around Manchester, where he lives. When he <a href="http://www.flickr.com/photos/frankieroberto/3396068360/">tags one of his photos with <code>osm:way=30089216</code></a> we can fetch the metadata (the key-value pairs) for that way <a href="http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.6#Read:_GET_.2Fapi.2F0.6.2F.5Bnode.7Cway.7Crelation.5D.2F.23id">using the OSM API</a> and see that it has the following properties:</p>
<pre style="margin-bottom:30px;">
&lt;osm version=&quot;0.6&quot; generator=&quot;OpenStreetMap server&quot;&gt;
	&lt;way id=&quot;30089216&quot; visible=&quot;true&quot; timestamp=&quot;2009-07-04T12:02:47Z&quot; version=&quot;2&quot; changeset=&quot;1728727&quot; user=&quot;Frankie Roberto&quot; uid=&quot;515&quot;&gt;
		&lt;nd ref=&quot;331415447&quot;/&gt;
		&lt;nd ref=&quot;331415448&quot;/&gt;
		&lt;nd ref=&quot;331415449&quot;/&gt;
		&lt;nd ref=&quot;331415450&quot;/&gt;
		&lt;nd ref=&quot;331415447&quot;/&gt;
		&lt;tag k=&quot;architect&quot; v=&quot;Woodhouse, Corbett &amp; Dean&quot;/&gt;
		<b style="color:pink;">&lt;tag k=&quot;building&quot; v=&quot;yes&quot;/&gt;</b>
		&lt;tag k=&quot;created_by&quot; v=&quot;Potlatch 0.10f&quot;/&gt;
		<b style="color:pink;">&lt;tag k=&quot;name&quot; v=&quot;St George&#x27;s House&quot;/&gt;</b>
		&lt;tag k=&quot;old_name&quot; v=&quot;YMCA&quot;/&gt;
		&lt;tag k=&quot;start_date&quot; v=&quot;1911&quot;/&gt;
	&lt;/way&gt;
&lt;/osm&gt;
</pre>
<p>That allows to us &#8220;expand&#8221; the original machine tag and display a short caption next to the photo, in this case: <i>&#8220;St George&#8217;s House is a building in OpenStreetMap&#8221;</i> with a link back to <a href="http://www.openstreetmap.org/browse/way/30089216">the web page for that way on the OSM site</a>.</p>
<div style="margin-bottom:30px;margin-top:30px;">
<a href="http://www.flickr.com/photos/mbiddulph/3888509266/"><img src="http://farm4.static.flickr.com/3486/3888509266_374b161456.jpg" width="500" height="333" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;" /></a></p>
<p style="font-size:small;text-align:right;"><a href="http://www.flickr.com/photos/mbiddulph/">photo by Matt Biddulph</a></p>
</div>
<p>The technical terms for this process is &#8220;<a href="http://code.flickr.com/blog/2009/07/06/extraextraextra/">Adding the machine tags extra love</a>&#8220;.</p>
<p>You may have noticed that there are a bunch of other key-value pairs in that example, like the name of the architect, that we don&#8217;t do anything with. Which attributes are we looking for, then? The short answer is: Not most of them. The <a href="http://wiki.openstreetmap.org/index.php/Map_features">complete list of map features in OSM</a> is a bit daunting in scope and constantly changing. It would be nice to imagine that we could keep pace with the discussions and the churn but that&#8217;s just not going to happen. If nothing else, the translations alone would become unmanageable.</p>
<p>Instead we&#8217;re going to start small and see where it takes us. Here are the list of tagged features in a <code>way</code> or <code>node</code> definition that we pay attention to, and how they&#8217;ll be displayed:</p>
<ul style="margin-bottom:30px;">
<li>
<p><b>k=name v={NAME}</b><br /> &#8230; is a feature in OpenStreetMap <i>(If present, with another recognized tag we will display the name for the thing being described in place of the more generic &#8220;this is a&#8230;&#8221;)</i></p>
</li>
<li>
<p><b>k=building v=yes</b><br /> &#8230; is a building in OpenStreetMap</p>
</li>
<li>
<p><b>k=historic</b><br />&#8230; is an historic site in OpenStreetMap
        </li>
<li>
<p><b>k=cycleway</b><br /> &#8230; is a bicycle path in OpenStreetMap</p>
</li>
<li>
<p><b>k=motorway (v=cycleway)</b><br /> &#8230; is a highway in OpenStreetMap <i>(unless <strong>v</strong> is &#8220;cycleway&#8221; in which case it&#8217;s a bike path)</i></p>
</li>
<li>
<p><b>k=railway v=subway <i>(or tram or monorail or light_rail)</i></b><br /> &#8230; is a subway <i>(or tram or monorail or light_rail)</i> line in OpenStreetMap</p>
</li>
<li>
<p><b>k=railway v=station</b><br /> &#8230; is a train station in OpenStreetMap; if the type of railway is also defined (above) then we&#8217;ll be specific about the type of station. <i>I should mention that as of this writing we&#8217;re still waiting for the translations for &#8220;this is a train station&#8221; to come back because I, uh&#8230; anyway, real soon now.</i></p>
</li>
<li>
<p><b>k=waterway v=stream <i>(or canal or river)</i></b><br /> &#8230; this is a stream <i>(or canal or river)</i> in OpenStreetMap</p>
</li>
<li>
<p><b>k=landuse v=farm <i>(or forest)</i></b><br /> &#8230; this is a farm <i>(or forest)</i> in OpenStreetMap</p>
</li>
<li>
<p><b>k=natural v=forest <i>(or beach)</i></b><br /> &#8230; this is a forest <i>(or beach)</i> in OpenStreetMap</p>
</li>
</ul>
<p>Which means: We&#8217;ve almost certainly got at least some of it wrong. Anyone familiar with OSM features will probably be wondering why we haven&#8217;t included <code><a href="http://wiki.openstreetmap.org/index.php/Map_features#Amenity">amentiy</a></code> or <code><a href="http://wiki.openstreetmap.org/index.php/Map_features#Shop">shop</a></code> tags since they contain a wealth of useful information. I hope we will, but it wasn&#8217;t clear how we should decide which features to support (more importantly, which to exclude) and the number of possible combinations were starting to get a bit out of hand and we have this little photo-sharing site to keep running.</p>
<p style="font-style:italic;">This is the part where I casually mention that we&#8217;ve also added <a href="http://www.flickr.com/photos/tags/foursquare:venue=">machine tags extra love for Four Square venues IDs</a>. I&#8217;m just saying&#8230;</p>
<p>The features we&#8217;re starting with may seem a bit odd, with a heavy focus on natural land features (and train stations). Some of this is a by-product of the work we&#8217;ve been pursuing with the <a href="http://code.flickr.com/blog/2009/05/06/the-absence-and-the-anchor/">alpha shapes and &#8220;donut holes&#8221;</a>, derived from geotagged photos, and some of it is just trying to shine the spotlight on places and environments that we take for granted.</p>
<p>Like I said, we&#8217;ve almost certainly got at least some of it wrong but hopefully we got part of it right and can correct the rest as we go. This one is definitely a bit more of an experiment than some of the others.</p>
<div style="margin-bottom:30px;margin-top:30px;">
<a href="http://www.flickr.com/photos/artistofmimicry/2977379629/in/set-72157607092403287/"><img src="http://farm4.static.flickr.com/3160/2977379629_b6263b39da.jpg" height="500" width="362" style="border:1px dotted #ccc;padding:10px;margin-left:50px;margin-bottom:10px;" /></a></p>
<p style="font-size:small;text-align:right;"><a href="http://www.flickr.com/photos/artistofmimicry/">photo by artistofmimicry</a></p>
</div>
<p>Finally, in the tangentially related department we finished wiring up the RSS/syndication feeds to work properly with wildcard machine tags. That means you can subscribe to a feed of all the (public) photos tagged with <code><a  href="http://api.flickr.com/services/feeds/photos_public.gne?tags=osm%3Away%3D&#038;lang=en-us&#038;format=rss_200">osm:way=</a></code> or <code><a href="http://api.flickr.com/services/feeds/photos_public.gne?tags=osm%3Anode%3D&#038;lang=en-us&#038;format=rss_200">osm:node=</a></code> or, if you&#8217;re like me, all the photos of places to eat in <a href="http://www.dopplr.com/">Dopplr</a> with <code><a href="http://api.flickr.com/services/feeds/photos_public.gne?tags=dopplr%3Aeat%3D&#038;lang=en-us&#038;format=rss_200">dopplr:eat=</a></code>.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2009/09/28/thats-maybe-a-bit-too-dorky-even-for-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>extra:extra=extra</title>
		<link>http://code.flickr.com/blog/2009/07/06/extraextraextra/</link>
		<comments>http://code.flickr.com/blog/2009/07/06/extraextraextra/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 16:15:34 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[machine tags]]></category>
		<category><![CDATA[smallpieces]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=978</guid>
		<description><![CDATA[

This is Eric. We loves him!

Internally, the nomenclature for tags goes something like this: There are &#8220;raw&#8221; tags (the actual tag you enter on a photo), &#8220;clean&#8221; tags (the tag that you see in a URL), &#8220;machine tags&#8221; (things like upcoming:event=2413636) and machine tag &#8220;extras&#8221;.
Machine tag &#8220;extras&#8221; are what we call the entire process of [...]]]></description>
			<content:encoded><![CDATA[<div style="margin-top:30px;margin-bottom:30px;">
<a href="http://www.flickr.com/photos/straup/362878169/" title="Arm Horns (The Hair Web) by straup, on Flickr"><img src="http://farm1.static.flickr.com/181/362878169_a109fd5796.jpg"  width="500" height="375"  alt="Arm Horns (The Hair Web)"  style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;" /></a></p>
<div style="text-align:right;font-size:small;font-style:italic;margin-right:20px;">This is Eric. We loves him!</div>
</div>
<p>Internally, the nomenclature for tags goes something like this: There are &#8220;raw&#8221; tags (the actual tag you enter on a photo), &#8220;clean&#8221; tags (the tag that you see in a URL), &#8220;machine tags&#8221; (things like <a href="http://upcoming.org/event/2413636">upcoming:event=2413636</a>) and machine tag &#8220;extras&#8221;.</p>
<p>Machine tag &#8220;extras&#8221; are what we call the entire process of using a machine tag as a kind of foreign key to access data stored on another website. <i>Small pieces (of data) loosely joined (by the Internets).</i></p>
<p>For example if you tagged a photo with <a href="http://www.flickr.com/photo//tags/upcoming:event=2413636">upcoming:event=2413636</a> that would cause a robot squirrel on the Flickr servers to call the robot squirrels running the <a href="http://upcoming.yahoo.com/services/api/">Upcoming API</a> and ask for the name of the Upcoming <code>event</code> with ID <code>2413636</code>.</p>
<p>Upcoming then answers back and says: That event was called <a href="http://www.flickr.com/photos/tags/upcoming:event=2413636/">&#8220;Flickr Turns 5.25&#8243;</a> and we store the title in our database. The next time you load that photo we&#8217;ll show a little Upcoming icon and the name of the event in the sidebar.</p>
<p>To date, we&#8217;ve only had machine tags &#8220;extras&#8221; available for <a href="http://www.flickr.com/photos/tags/upcoming:event=">upcoming:event=</a> and <a href="http://www.flickr.com/photos/tags/lastfm:event=">lastfm:event=</a> tags but starting today we&#8217;re adding support for three new projects: <a href="http://www.dopplr.com">Dopplr</a>, <a href="http://www.openplaques.org/">Open Plaques</a> and the <a href="http://www.openlibrary.org/">Open Library</a>.</p>
<h2 style="margin-bottom:20px;">dopplr:(eat|stay|explore)=</h2>
<p><a href="http://www.dopplr.com/">Dopplr</a> is a social travel site which recently launched a <a href="http://www.dopplr.com/socialatlas">Social Atlas</a> to allow their users to create and share lists of interesting places, in the cities they know about, of where to eat and stay and poke around during their visit.</p>
<blockquote style="font-family:sans-serif;margin-left:20px;margin-right:20px;">
<p>&#8220;Over time, we can anonymise and aggregate all the recommendations that have been added to Dopplr. This is the Social Atlas itself, something that&#8217;s greater than the sum of its parts: a kind of world map representing the combined wisdom of smart travellers. It&#8217;s early days still, but we are very excited by its potential.&#8221;</p>
</blockquote>
<p>Which is pretty exciting, especially when you think about how many pictures of delicious food people upload to Flickr!</p>
<div  style="margin-top:30px;margin-bottom:30px;">
<a href="http://www.flickr.com/photos/blackbeltjones/3643958883/" title="Dopplr/Flickr machine-tagging by moleitau, on Flickr"><img src="http://farm3.static.flickr.com/2467/3643958883_bd249f44a6.jpg" width="500" height="310" alt="Dopplr/Flickr machine-tagging" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a></p>
<div style="text-align:right;font-size:small;font-style:italic;margin-right:20px;">photo by <a href="http://www.flickr.com/photos/blackbeltjones">moleitau</a>
</div>
</div>
<p>You can add Social Atlas machine tags to your photos by tagging them with either <code>"<a href="http://www.flickr.com/photos/tags/dopplr:eat=">dopplr:eat=</a>"</code>, <code>"<a href="http://www.flickr.com/photos/tags/dopplr:stay=">dopplr:stay=</a>"</code> or <code>"<a href="http://www.flickr.com/photos/tags/dopplr:explore=">dopplr:explore=</a>"</code> followed by the short-code for that place.</p>
<p>For example, <code><a href="http://www.flickr.com/photos/tags/dopplr:eat=tp71">dopplr:eat=tp71</a></code>.</p>
<div style="margin-top:30px;margin-bottom:30px;text-align:right;">
<a href="http://www.flickr.com/photos/blackbeltjones/3678209751/" title="Dopplr's closed the loop: Machine-tagged flickr pix on their 'Social Atlas' by moleitau, on Flickr"><img src="http://farm4.static.flickr.com/3635/3678209751_91ec0211ef_o.png" width="361" height="380" alt="Dopplr's closed the loop: Machine-tagged flickr pix on their 'Social Atlas'" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a></p>
<div style="text-align:right;font-size:small;font-style:italic;margin-right:20px;">photo by <a href="http://www.flickr.com/photos/blackbeltjones">moleitau</a>
</div>
</div>
<p>As an added bonus every single page in the <a href="http://www.dopplr.com/socialatlas">Dopplr Social Atlas</a> displays the complete machine tag you need to tag your photos with so you can just copy and paste the tag from one page into the other and your photos will be updated like magic!</p>
<h2 style="margin-bottom:20px;">openplaques:id=</h2>
<p>The <a href="http://www.openplaques.org/">Open Plaques</a> website is a community-run website set up to catalogue and document the many <a href="http://en.wikipedia.org/wiki/Blue_plaque">blue plaques</a> that are hung across the UK to commemorate persons and famous events.</p>
<p><a href="http://www.frankieroberto.com/">Frankie Roberto</a>, one of the people behind the project has written often about the project, and the motivations behind it so rather than try to paraphrase I will just quote him (at length):</p>
<blockquote style="font-family:sans-serif;margin-left:20px;margin-right:20px;">
<p>&#8220;With these in mind, I was thinking how this kind of &#8216;mobile learning&#8217; might apply to the heritage sector, and as you might have guessed from the title, thought of blue plaques. You see them everywhere &#8212; especially when sat on the top deck of a double decker bus in London &#8212; and yet the plaques themselves never seem that revealing. You&#8217;ve often never heard of the person named, or perhaps only vaguely, and the only clue you&#8217;re given is something like &#8220;scientist and electrical engineer&#8221; (Sir Ambrose Fleming) or &#8220;landscape gardener&#8221; (Charles Bridgeman). I always want to know more. Who are these people, what&#8217;s the story about them, and why are they considered important enough for their home to be commemorated?&#8221;</p>
<p style="text-align:right;font-size:small;">&#8212; <a href="http://www.frankieroberto.com/weblog/1406">Getting information about blue plaques on your mobile phone&#8230;</a></p>
</blockquote>
<div style="margin-top:30px;margin-bottom:30px;">
<a href="http://www.openplaques.org/areas/1" title="Picture 7 by straup, on Flickr"><img src="http://farm3.static.flickr.com/2600/3682012751_0a2e740a1a.jpg" width="500" height="338" alt="Picture 7" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a></div>
<blockquote style="font-family:sans-serif;margin-left:20px;margin-right:20px;">
<p>&#8220;The final step towards making this more compelling was to add some photographs. Here, Flickr came to our rescue. There was already a <a href="http://www.flickr.com/groups/blueplaques/">&#8216;blue plaques&#8217; group</a>, which contained hundreds of photos. To link them together, I used special tags called &#8216;machine tags&#8217;, which are like normal tags except that they contain some slightly more structured data. It&#8217;s very simple though &#8212; each plaque on the Open Plaques website has an ID number (which can be found at the end of the URL), and the corresponding machine tag for that plaque is openplaques:id=999 (where 999 is the ID number). Another script then uses the <a href="http://www.flickr.com/services/api">Flickr API</a> to find all the photos tagged with a relevant machine tag, checks to see if they are Creative Commons licenced, and then to displays them on the Open Plaques website, with a credit and a link back to the Flickr photo page.&#8221;</p>
<p style="text-align:right;font-size:small;">&#8212; <a href="http://www.frankieroberto.com/weblog/1454">Open Plaques project update</a></p>
</blockquote>
<p>So, we did the same! If you have an <code>openplaques:id=</code> machine tag on your photo then we&#8217;ll try to look up and display the inscription for that plaque.</p>
<p>You can add Open Plaques machine tags to your photos by tagging them with <code>"<a href="http://www.flickr.com/photos/tags/openplaques:id=">openplaques:id=</a>"</code> followed by the numeric ID for a specific plaque.</p>
<p>For example, <code><a href="http://www.flickr.com/photos/tags/openplaques:id=1633">openplaques:id=1633</a></code>.</p>
<h2 style="margin-bottom:20px;">openlibrary:id=</h2>
<p>The <a href="http://www.openlibrary.org/">Open Library</a> is a part of the <a href="http://www.archive.org/">Internet Archive</a> whose mission is to create a &#8220;web page for every book ever published.&#8221; To do that they&#8217;re hoping that anyone and everyone will participate and help by adding information they have a published work or a particular edition.</p>
<blockquote style="font-family:sans-serif;margin-left:20px;margin-right:20px;">
<p>&#8220;After almost fifty years of computerizing everything, we&#8217;re realising now that the stories have gone, and we need them back &#8212; the handicraft, the boutique, the beauty, the dragons, the colour of stories. I&#8217;m reminded of the gorgeous mysterious early maps of the Australian coast. The explorer only got so far, and the cartographer could only draw so much. Much more exciting than boring old satellite, top-of-a-pin&#8217;s-head accuracy! I love the idea of trying to catch some of these dog-eared tales within Open Library.&#8221;</p>
<p style="font-size:small;text-align:right;">&#8212; <a href="http://george08.blogspot.com/2009/06/blog-all-dog-eared-pages-best.html">George Oates</a></p>
</blockquote>
<p>As it happens Flickr users have created over <a href="http://www.flickr.com/search/groups/?w=all&#038;q=book+covers">900 groups about book covers</a> and a casual search for the phrase (&#8221;book covers&#8221;) <a href="http://www.flickr.com/search/?w=all&#038;q=book+covers&#038;m=text">returns 98, 000 photos!</a></p>
<p>Back in July of 2007 <a href="http://www.flickr.com/photos/54459164@N00/">Johnson Cameraface</a> uploaded a photo of the cover of <a href="http://www.flickr.com/search/?w=all&#038;q=book+covers&#038;m=text">ROBOTS Spaceships &#038; Other Tin Toys&#8221;</a>. Two years later, <a href="http://www.flickr.com/photos/george/">George</a> asked if it would be alright <a href="http://www.flickr.com/photos/54459164@N00/754241362/comment72157617418737354/">to use the photo</a> to update the Open Library record for the <a href="http://openlibrary.org/b/OL22483043M/1000-robots%2C-spaceships-%26-other-tin-toys">book</a>, and added an <code>openlibrary</code> machine tag along the way.</p>
<p>Now, starting today, the photo page now displays the title of the book and links back to the Open Library!</p>
<div style="margin-top:30px;margin-bottom:30px;">
<a href="http://openlibrary.org/b/OL22483043M/1000-robots%2C-spaceships-%26-other-tin-toys" title="ol by straup, on Flickr"><img src="http://farm4.static.flickr.com/3541/3682112505_3aea7e0ef6.jpg" width="500" height="351" alt="ol" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a>
</div>
<p>This makes me happy.</p>
<p>You can add Open Library machine tags to your photos by tagging them with <code>"<a href="http://www.flickr.com/photos/tags/openlibrary:id=">openlibrary:id=</a>"</code> followed by the unique identifier for that book.</p>
<p>For example, <code><a href="http://www.flickr.com/photos/tags/openlibrary:id=OL5853184M">openlibrary:id=OL5853184M</a></code>.</p>
<p>It&#8217;s worth noting that the unique identifiers for Open Library books are sometimes a bit of a treasure hunt; they are the letters and numbers that come <i>after</i> <code>openlibrary.org/b/</code> and <i>before</i> the book title in the URL for that book. Like this:</p>
<p style="text-align:center;margin-bottom:30px;"><code>http://openlibrary.org/b/<b style="color:red;">OL5853184M</b>/Soviet-science-fiction</code></p>
<h2>But wait! There&#8217;s more!!</h2>
<div style="margin-top:30px;margin-bottom:30px;">
<a href="http://www.flickr.com/photos/straup/135027089/" title="Approaching zero by straup, on Flickr"><img src="http://farm1.static.flickr.com/51/135027089_3c5237e797.jpg" width="500" height="375" alt="Approaching zero" style="border:1px dotted #ccc;padding:10px;margin-bottom:10px;"/></a></div>
<p>Did I mention that we have over <i>one million</i> photos tagged with <a href="http://www.flickr.com/photos/tags/lastfm:event=">Last.fm event</code></a> machine tags? That makes it kind of hard to know when <i>new</i> machine tags have been added because lopping over all those tags just to find recent ones is expensive and time-consuming.</p>
<p>To help address this problem we've add a shiney new API method called:</p>
<p style="text-align:center;"><a href="http://www.flickr.com/services/api/flickr.machinetags.getRecentValues.html">flickr.machinetags.getRecentValues</a></p>
<p>This does pretty much what it sounds like. Given a namespace or a predicate (or both) and a Unix timestamp, the method returns the values for those machine tags that have been added since the date specified.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2009/07/06/extraextraextra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tags in Space</title>
		<link>http://code.flickr.com/blog/2009/03/20/tags-in-space/</link>
		<comments>http://code.flickr.com/blog/2009/03/20/tags-in-space/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 20:49:08 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[astrometry]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[machine tags]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[tagging]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=777</guid>
		<description><![CDATA[Weird and wonderful responses to the astrometry project on Flickr -- mashups with Google Sky and a astronomy photo contest.]]></description>
			<content:encoded><![CDATA[<p>A lot of you enjoyed our post (<a href="http://code.flickr.com/blog/2009/02/18/found-in-space/">&#8220;Found in Space&#8221;</a>) on the amazing <a href="http://astrometry.net/">astrometry.net</a> project, and there have been some interesting followups.</p>
<p>A mysterious figure known only as &#8220;jim&#8221; paired up <a href="http://eatyourgreens.org.uk/testapps/yql/overlay2.html">astronomy photos from Flickr with Google Sky</a>. (You&#8217;re going to need the Google Earth plug-in for your browser &#8212; just follow the instructions on that page if you don&#8217;t have it.) In his <a href="http://eatyourgreens.org.uk/archives/2009/03/mapping-the-sky-with-yql-and-astrometrynet.html#more-300">technical writeup</a>, &#8220;jim&#8221; explains how he used the <a href="http://developer.yahoo.com/yql/">Yahoo Query Language</a> (YQL) to fetch the data. YQL is similar to the existing <a href="http://www.flickr.com/services/api/">Flickr APIs</a>, but it&#8217;s a query language like SQL rather than a set of REST-ish APIs. And both of those are really just ways to get data out of Flickr&#8217;s <a href="http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/">machine tag</a> system, specifically the <a href="http://www.flickr.com/photos/tags/astro:*"><code>astro:*</code></a> namespace. It&#8217;s turtles all the way down.</p>
<p>Who else is using astrotags? The British Royal Observatory in Greenwich is sponsoring a contest to determine the <a href="http://www.nmm.ac.uk/visit/exhibitions/astronomy-photographer-of-the-year/">Astronomy Photographer of the Year</a> and the whole thing is based on a <a href="http://www.nmm.ac.uk/visit/exhibitions/astronomy-photographer-of-the-year/flickr-group/">Flickr group</a> and extensive use of Flickr&#8217;s APIs. The integration is so seamless &#8212; galleries of photos and discussions are surfaced on their site as well as ours &#8212; you might as well consider Flickr to be their &#8220;backend&#8221; server. But they&#8217;ve also added much, such as great documentation about <a href="http://www.nmm.ac.uk/visit/exhibitions/astronomy-photographer-of-the-year/astrotags/">how to astrotag your photos</a> as well as <a href="http://www.nmm.ac.uk/visit/exhibitions/astronomy-photographer-of-the-year/astro-robot/">a concise explanation</a> about how Astrometry.net identifies your photo, even among millions of known stars. (The sci-fi website <a href="http://io9.com">io9</a> interviewed <a href="http://io9.com/5169232/the-robot-who-helps-astronomers-identify-stars">Fiona Romeo</a> of the Royal Observatory about the contest; check it out.) </p>
<p>It&#8217;s dizzying how many services have been combined here &#8212; Astrometry.net grew out of research at the University of Toronto, web mashups use Google Sky for visualization in context, Yahoo infrastructure delivers and transforms data, the Royal Observatory at Greenwich provides leadership and expertise, and then little old Flickr acts as a data repository and social hub. And let&#8217;s not forget you, the Flickr community, and your inexhaustible creativity &#8212; which is the reason why all this can even come together. </p>
<p>All this was done with pretty light coordination and few people at Flickr were even aware what was going on until recently. I have no idea what the future is for APIs and a web of services loosely joined, but I hope we get to see more and more of this sort of thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2009/03/20/tags-in-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Machine Tag Hierarchies</title>
		<link>http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/</link>
		<comments>http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 20:27:57 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[machinetags]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=384</guid>
		<description><![CDATA[
something:somethingelse=somethingspecific
With apologies to Jeremy Keith

If you&#8217;re not already familiar with machine tags the easiest way to think of them is being like a plain old tag but with a special syntax that allows users to define additional structured data about that tag. If you&#8217;d like to know more, the best place to start is the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/straup/3084890631/" title="Untitled Compass #1228516024 by straup, on Flickr"><img src="http://farm4.static.flickr.com/3084/3084890631_7805a28af8.jpg" width="500" height="375" alt="Untitled Compass #1228516024" style="border:1px dotted #ccc; padding:5px;margin-top:20px;margin-bottom:20px;" /></a></p>
<h2>something:somethingelse=somethingspecific</h2>
<p style="font-size:small;font-style:italic;">With apologies to <a 	href="http://echoloquation.com/post/6939803/something-somethingelse-somethingspecific">Jeremy Keith</a></p>
<div>
<p>If you&#8217;re not already familiar with machine tags the easiest way to think of them is being like a plain old tag but with a special syntax that allows users to define additional structured data about that tag. If you&#8217;d like to know more, the best place to start is <a href="http://www.flickr.com/groups/api/discuss/72157594497877875">the official announcement we made about machine tags in the Flickr API group</a>.</p>
<p>If you want to know even more, still, take a look at:</p>
<ul style="margin-bottom:20px;margin-left:30px;line-height:20px;">
<li><a href="http://code.flickr.com/blog/2008/07/18/wildcard-machine-tag-urls/">Machine Tag Wildcard URLs</a></li>
<li><a href="http://code.flickr.com/blog/2008/08/28/machine-tags-lastfm-and-rocknroll/">Machine Tags, last.fm and Rock&#8217;n'Roll</a></li>
<li><a href="http://blech.vox.com/library/post/flickr-exif-machine-tags.html">Flickr, EXIF, Machine Tags</a>, by Paul Mison</li>
</ul></div>
<p>Okay! Now that everyone is feeling warm and fuzzy about machine tags: We&#8217;ve added (4) new <a href="http://www.flickr.com/services/api/">API methods</a> for browsing the hierarchies of machine tags added to photos on the site. These are aggregate rollups of all the unique namespaces, predicates, values and pairs for public photos with machine tags.</p>
<p>For example, lots of people have added <a href="http://flickr.com/photos/tags/exif:*="><q>exif:</q> related machine tags</a> to their photos but there hasn&#8217;t been a way to know what kind of EXIF data has been added: <a href="http://www.flickr.com/photos/tags/exif:model=">exif:model</a>? <a href="http://www.flickr.com/photos/tags/exif%3Afocal_length%3D/interesting/">exif:focal_length</a>? <a href="http://www.flickr.com/photos/straup/73884686/">exif:tunablaster</a>? Or what about all the <a href="http://flickr.com/photos/tags/planespotting/clusters/">planespotters</a> who have been diligently adding machine tags to their photos using the <a href="http://www.flickr.com/photos/tags/aero:*=">aero</a> namespace: What are the predicates that they&#8217;re tagging their photos with?</p>
<p>Those are the sorts of things these methods are designed to help you find. Sort of like <a href="http://code.flickr.com/blog/2008/07/18/wildcard-machine-tag-urls/">wildcard URLs</a> but for metadata instead of photos. Uh, sort of.</p>
<p><a href="http://www.flickr.com/photos/straup/2929080779/" title="Untitled Future #1223665161 by straup, on Flickr"><img src="http://farm4.static.flickr.com/3057/2929080779_caa36bffe8.jpg" width="500" height="375" alt="Untitled Future #1223665161" style="border:1px dotted #ccc; padding:5px;margin-top:20px;margin-bottom:20px;" /></a></p>
<p>Anyway, the new methods are:</p>
<h2>flickr.machinetags.getNamespaces</h2>
<p>This returns a list of all the unique namespaces, optionally bracketed by a specific predicate. For example, these are all the namespaces that have an <a href="http://www.flickr.com/photos/tags/*:airport=">airport</a> predicate:</p>
<pre style="margin-top:30px;margin-bottom:30px;">
# ?method=flickr.machinetags.getNamespaces&amp;predicate=airport

&lt;namespaces predicate=&quot;airport&quot; page=&quot;1&quot; total=&quot;2&quot; perpage=&quot;500&quot; pages=&quot;1&quot;&gt;
	&lt;namespace usage=&quot;1931&quot; predicates=&quot;1&quot;&gt;aero&lt;/namespace&gt;
	&lt;namespace usage=&quot;3&quot; predicates=&quot;1&quot;&gt;geo&lt;/namespace&gt;
&lt;/namespaces&gt;
		</pre>
<h2>flickr.machinetags.getPredicates</h2>
<p>		Like the <code>getNamespaces</code> method this returns a list of all the unique predicates, optionally bracketed by a specific namespace. For example, these are all the predicates that use the <a href="http://www.flickr.com/photos/tags/dopplr:*=/interesting">dopplr</a> namespace:</p>
<pre  style="margin-top:30px;margin-bottom:30px;">
# ?method=flickr.machinetags.getPredicates&amp;predicate=dopplr

&lt;predicates namespace=&quot;dopplr&quot; page=&quot;1&quot; total=&quot;4&quot; perpage=&quot;500&quot; pages=&quot;1&quot;&gt;
	&lt;predicate usage=&quot;4392&quot; namespaces=&quot;1&quot;&gt;tagged&lt;/predicate&gt;
	&lt;predicate usage=&quot;1&quot; namespaces=&quot;1&quot;&gt;traveller&lt;/predicate&gt;
	&lt;predicate usage=&quot;7780&quot; namespaces=&quot;1&quot;&gt;trip&lt;/predicate&gt;
	&lt;predicate usage=&quot;4269&quot; namespaces=&quot;1&quot;&gt;woeid&lt;/predicate&gt;
&lt;/predicates&gt;
		</pre>
<h2>flickr.machinetags.getValues</h2>
<p>At this point, the pattern should be pretty straightforward. This method returns all the unique values for a specific namespace/predicate pair. For example, these are some of the values associated with the <a href="">aero:tail</a> machine tag (yes, really, airplane tail models!):</p>
<pre  style="margin-top:15px;margin-bottom:30px;">
# ?method=flickr.machinetags.getValues&amp;namespace=aero&amp;predicate=tail

&lt;values namespace=&quot;aero&quot; predicate=&quot;tail&quot; page=&quot;1&quot; total=&quot;1159&quot;
	perpage=&quot;500&quot; pages=&quot;3&quot;&gt;
	&lt;value usage=&quot;1&quot;&gt;01-0041&lt;/value&gt;
	&lt;value usage=&quot;1&quot;&gt;164993&lt;/value&gt;
	&lt;value usage=&quot;2&quot;&gt;26000&lt;/value&gt;
	&lt;value usage=&quot;1&quot;&gt;4k-az01&lt;/value&gt;
	&lt;value usage=&quot;1&quot;&gt;4l-tgl&lt;/value&gt;
	&lt;value usage=&quot;1&quot;&gt;4r-ade&lt;/value&gt;
	&lt;!-- and so on... --&gt;
&lt;/values&gt;
		</pre>
<h2>flickr.machinetags.getPairs</h2>
<p>Finally, the getPairs method returns the list of unique namespace/predicate pairs optionally filtered by namespace or predicate.</p>
<p>Rather than including yet-another giant blob of XML, here&#8217;s <a href="http://flickr.com/photos/tags/ubahnmuenchen:station=">a pretty picture of the metro stations in Munich</a> instead:</p>
<p>		<a href="http://www.flickr.com/photos/straup/3103014649/" title="ubahn by straup, on Flickr"><img src="http://farm4.static.flickr.com/3015/3103014649_46e41e6e23.jpg" width="500" height="350" alt="ubahn" style="border:1px dotted #ccc; padding:5px;margin-top:20px;margin-bottom:20px;" /></a></p>
<h2>A few things to note</h2>
<p>Certain namespace/predicate pairs have been special-cased to return a single value. As of this writing they are:</p>
<ul  style="margin-bottom:20px;margin-left:30px;line-height:20px;">
<li>geo:lat (and variations)</li>
<li>geo:lon (and variations)</li>
<li>file:name</li>
<li>file:path</li>
<li><span style="font-style:italic;">anything</span>:md5</li>
</ul>
<p>If people have particular reasons for needing or wanting these we&#8217;re open to the idea but otherwise the cost of storing all the variations and the	dubious uses for returning them in the first place made us decide to exclude them.</p>
<h2>Now what?</h2>
<p><a href="http://www.flickr.com/photos/davemorris/2645255287/" title="Some people take sandcastles pretty seriously... by Daveybot, on Flickr"><img src="http://farm4.static.flickr.com/3113/2645255287_958e773039.jpg" width="500" height="281" alt="Some people take sandcastles pretty seriously..." style="border:1px dotted #ccc; padding:5px;margin-top:30px;" /></a></p>
<p style="font-size:small; font-style:italic;margin-bottom:30px;text-align:right;margin-right:30px;"><a href="http://www.flickr.com/photos/davemorris/">photo by Daveybot</a></p>
<p>Well, that&#8217;s what we&#8217;re hoping you&#8217;ll tell us. Machine tags have been chugging away quietly since we announced them almost two years ago and despite being a bit nerd-tastic and awkward to explain we&#8217;ve been thrilled to see how people have been finding their own use for them.</p>
<ul>
<li>
<p>It turns out we have <a href="http://flickr.com/photos/tags/lastfm:event=">photos for 31, 594 unique Last.FM events</a> all because people added <a href="http://code.flickr.com/blog/2008/08/28/machine-tags-lastfm-and-rocknroll/">lastfm:event</a> machine tags to their photos.</p>
</li>
<li>
<p>Researchers at Lewis &amp; Clark College, in Portland, have been &#8220;developing an educational <a href="http://journal.code4lib.org/articles/74">collection of contemporary ceramics images</a> using the photo sharing site Flickr&#8221; and machine tags.</p>
</li>
<li>
<p>Shortly after the launch of Google&#8217;s <a href="http://www.paulhagon.com/playground/flickr/streetview/">Street View</a> feature Mikel Maron &#8220;took GeoRSS feeds from Upcoming, grabbed lat/long and associated that with a panoid via the RESTful &#8216;api&#8217; and pulled down the images &#8230; and then <a href="http://brainoff.com/weblog/2007/06/03/1253">uploaded the panos to flickr with machine tags</a>&#8220;.</p>
</li>
<li>
<p>The <a href="http://www.utata.org/about.php">Utata Collective</a> uses a combination of groups on Flickr and <a href="http://www.utata.org/quickhelp/flickrtagformats.php">machine tags</a> to collect photos for their projects.</p>
</li>
</ul>
<p>And the list goes on.</p>
<p>The trick with machine tags has always been to make them both invisible (or at least barely visible) to those people who don&#8217;t care about them but also as easy as tags to pick up and use for those people who do or who wonder whether they might be the tool they were looking for. One thing we didn&#8217;t do very well, though, until the release of the machine tag hierarchy APIs was give people a way to <em>learn</em> about machine tags. The only way to find out which machine tags people were using was to hop-scotch your way around people&#8217;s photostreams or to be part of a larger community having a discussion about which tags to use. Oops.</p>
<p>Which is why it was extra-fantastic when a few short days after we <a href="http://tech.groups.yahoo.com/group/yws-flickr/message/4545">announced</a> the machine tag hierarchy methods on the API list, <a href="http://code.flickr.com/blog/2008/11/06/5-questions-for-paul-mison/">the ever prolific and awesome Paul Mison</a> wrote back and <a href="http://tech.groups.yahoo.com/group/yws-flickr/message/4547">said</a>:</p>
<blockquote style="font-family:sans-serif; color:darkslategrey;margin-top:30px;margin-bottom:30px;border-top:1px dotted #ccc;border-bottom:1px dotted #ccc;padding-top:20px;">
<p>The obvious thing to build on top of these &#8230; is	some sort of graphical machine tag browser, a bit like the Mac OS X /	iPod column view browser. So I did.</p>
<p>		<a href="http://husk.org/code/machine-tag-browser.html"><img src="http://farm4.static.flickr.com/3227/3103058127_aa7efc2671.jpg" width="500" height="385" alt="" style="border:1px dotted #ccc; padding:5px" /></a></p>
<p><a href="http://husk.org/code/machine-tag-browser.html">http://husk.org/code/machine-tag-browser.html</a></p>
<p>This is entirely self-contained in one file (except for loading jQuery from Google and (cough) the pulser from Flickr). It uses JavaScript to get a full list of namespaces, giving you the option to drill down into predicates and the values available for that namespace/predicate	pair.</p>
</blockquote>
<p>We&#8217;re hoping that this provides a little more raw material to play with and maybe find some magic and that you&#8217;ll tell us what comes next.</p>
<p>Yay!</p>
<h2>Oh yeah, the actual API methods</h2>
<ul  style="margin-top:20px;margin-bottom:20px;margin-left:30px;line-height:20px;">
<li><a href="http://www.flickr.com/services/api/flickr.machinetags.getNamespaces.html">flickr.machinetags.getNamespaces</a></li>
<li><a href="http://www.flickr.com/services/api/flickr.machinetags.getPredicates.html">flickr.machinetags.getPredicates</a></li>
<li><a href="http://www.flickr.com/services/api/flickr.machinetags.getValues.html">flickr.machinetags.getValues</a></li>
<li><a href="http://www.flickr.com/services/api/flickr.machinetags.getPairs.html">flickr.machinetags.getPairs</a></li>
</ul>
<p>Enjoy!</p>
<p style="font-size:small;font-style:italic;">In the coming weeks we&#8217;ll also try to gather most of the blog posts and other writings about machine tags and put them with the rest of the <a href="http://www.flickr.com/services/api">API documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wildcard Machine Tag URLs</title>
		<link>http://code.flickr.com/blog/2008/07/18/wildcard-machine-tag-urls/</link>
		<comments>http://code.flickr.com/blog/2008/07/18/wildcard-machine-tag-urls/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 18:19:24 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[machine tags]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://code.flickr.com/blog/?p=38</guid>
		<description><![CDATA[
Photo by cackhanded
If you&#8217;re not already familiar with machine tags the easiest way to think of them is being like a plain old tag but with a special syntax that allows users to define additional structured data about that tag. In turn the magic space hamsters that run the site have been trained to recognize, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/mn_francis/418443679/" title="Machine tags! by cackhanded, on Flickr" ><img src="http://farm1.static.flickr.com/162/418443679_2bf88260fa.jpg" width="500" height="333" alt="Machine tags!" style="border:1px solid black;"/></a></p>
<p style="font-family:sans-serif;font-size:x-small;">Photo by <a href="http://flickr.com/photos/mn_francis/418443679/">cackhanded</a></p>
<p>If you&#8217;re not already familiar with machine tags the easiest way to think of them is being like a plain old tag but with a special syntax that allows users to define additional structured data about that tag. In turn the magic space hamsters that run the site have been trained to recognize, index and allow for searches across multiple facets of a given machine tag.</p>
<p>Machine tags have three parts : a <q>namespace</q> which is like a subject or a topic;  a <q>predicate</q> which is a like a property of that topic; a <q>value</q> which is &#8230; well, a value.</p>
<p>For a more thorough introduction to the subject I&#8217;d recommend reading the <a href="http://www.flickr.com/groups/api/discuss/72157594497877875">announcement<br />
we made in the Flickr API discussion group</a> when machine tags were first added to the site. If you&#8217;d like to know even more, after that, there is <a href="http://del.icio.us/tag/machinetags">good collection of links available on del.icio.us</a>.</p>
<p>Which brings us to the part where I tell you that we&#8217;ve added the ability to search for machine tagged photos in plain old tag URLs (as well as in tag searches on the <a href="http://www.flickr.com/search/">Flickr search page</a>) using the facetted <a href="http://www.flickr.com/services/api/flickr.photos.search.html">query syntax</a> that has always been available in the API. For example :</p>
<ul>
<li>
<p>All the photos tagged &#8220;flickr:user=bees&#8221;, aka <a href="http://www.flickr.com/photos/bees/">Cal</a> :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/flickr:user=bees">http://www.flickr.com/photos/tags/flickr:user=bees</a></p>
</li>
</ul>
<p>That&#8217;s a trick, really. You&#8217;ve always been able to do this since machine tags are just<br />
tags. The New-New means you can be even more granular in what you are looking<br />
for. How about : </p>
<ul>
<li>
<p>All photos with Flickr users :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/flickr:user=">http://www.flickr.com/photos/tags/flickr:user=</a></p>
</li>
<li>
<p>Or Upcoming.org users : </p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/upcoming:user=">http://www.flickr.com/photos/tags/upcoming:user=</a></p>
</li>
<li>
<p>Or even Facebook users :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/facebook:user=">http://www.flickr.com/photos/tags/facebook:user=</a></p>
</li>
<li>
<p>Or simply <em>all <q>users</q></em> regardless of service (or namespace) :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/*:user=">http://www.flickr.com/photos/tags/*:user=</a></p>
</li>
<li>
<p>Maybe, all the photos in the <q>flickr</q> namespace :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/flickr:*=">http://www.flickr.com/photos/tags/flickr:*=</a></p>
</li>
<li>
<p>But, seriously, back to Cal : Cal, across services (or namespaces) :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/*:user=bees">http://www.flickr.com/photos/tags/*:user=bees</a></p>
</li>
<li>
<p>All Cal. All the time :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://www.flickr.com/photos/tags/*:*=bees">http://www.flickr.com/photos/tags/*:*=bees</a></p>
</li>
<li>
<p>And no, you can not do this. No ponies for you if you try  :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;">http://www.flickr.com/photos/tags/*:*=</p>
</li>
</ul>
<p>The wildcard URL syntax is also available for an individual user&#8217;s tags :</p>
<ul>
<li>
<p>These are all my photos that have been machine tagged with either a <a href="http://www.geonames.org/">Geonames</a>, <a href="http://www.flickr.com/places/">Places</a> or <a href="http://developer.yahoo.com/geo/">GeoPlanet</a> (n&#233;e <a href="http://geobloggers.com/archives/2008/05/12/yahoo-woe-where-on-earth-that-is-ids/">Where on Earth</a>) locality ID :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:small;"><a href="http://flickr.com/photos/straup/tags/*:locality=">http://www.flickr.com/photos/straup/tags/*:locality=</a></p>
</li>
<li>
<p>Or photos in the <a href="http://flickr.com/photos/george_eastman_house/">George Eastman House&#8217;s photostream</a> that were developed using the daguerrotype process :</p>
<p style="text-indent:20px;margin-top:7px;margin-bottom:14px;font-family:sans-serif;font-size:x-small;"><a href="http://flickr.com/photos/george_eastman_house/tags/photo:process=daguerreotype">http://www.flickr.com/photos/george_eastman_house/tags/photo:process=daguerreotype</a></p>
</li>
</ul>
<p>Now for the list of caveats and Known-Knowns : </p>
<ul style="list-style-type:square;">
<li>
<p>At the moment it is still not possible to poke around the hierarchy of a given machine tag : all the predicates for a namespace; all the unique pairs of namespace and predicates; that sort of thing. It is On The List &trade; and hopefully we can offer up something for you to play with, even if it&#8217;s just in the API to start with, shortly.</p>
</li>
<li>
<p>Values in wildcard URLs should are treated the same way regular tags are in URLs. That is &#8220;san francisco&#8221; becomes &#8220;sanfrancisco&#8221; or in machine tag speak : <a href="http://flickr.com/photos/tags/*:*=sanfrancisco">*:*=sanfrancisco</a>.</p>
<li>
<p>In the examples above, I&#8217;ve illustrated namespaces that are used to denote one service or another. It is important to remember that <a href="http://factoryjoe.com/blog/2008/05/25/machine-tagging-relationships/">there are no rules</a> about what can or should be a namespace. Like tagging, the hope is that the various communities will arrive at and adapt a consensus according to their needs.</p>
</li>
<p><a href="http://www.flickr.com/photos/straup/418517249/" title="Untitled Souvenir #1173678685 by straup, on Flickr"><img src="http://farm1.static.flickr.com/175/418517249_43063c1acd.jpg" width="500" height="375" alt="Untitled Souvenir #1173678685" /></a></p>
<p style="font-family:sans-serif;font-size:x-small;">Photo by <a href="http://flickr.com/photos/straup/418517249/">straup</a></p>
<p>In the meantime, kick back and enjoy photos <a href="http://flickr.com/photos/tags/dopplr:trip=/interesting/">taken by people on their Dopplr trips</a>, photos by people who <a href="http://flickr.com/photos/tags/aero:*=">really really like airplanes</a> or photos by people who are interested in <a href="http://flickr.com/photos/tags/taxonomy:family=phalangeridae/">possums</a><br />
(not to mention <a href="http://flickr.com/photos/tags/taxonomy:subclass=marsupialia/">all manner of marsupials</a>) or whatever else comes to mind!</p>
]]></content:encoded>
			<wfw:commentRss>http://code.flickr.com/blog/2008/07/18/wildcard-machine-tag-urls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
