<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <id>http://walter.rumsby.name/</id>
    <title>Walter Rumsby's Web Site</title>
    <updated>2008-09-21T00:00:00+00:00</updated>
    <author>
        <name>Walter Rumsby</name>
    </author>
    <link href="http://walter.rumsby.name/" />
    <link rel="self" href="http://feeds.feedburner.com/wrumsby" type="application/atom+xml" /><entry>
        <id>http://walter.rumsby.name/blog/posts/2008/09/21/Tom+Coates%3A+Designing+For+A+Web+Of+Data</id>
        <link href="http://feedproxy.google.com/~r/wrumsby/~3/4Lvjo4yJhz0/Tom+Coates%3A+Designing+For+A+Web+Of+Data" />
        <title>Tom Coates: Designing For A Web Of Data</title>
        <updated>2008-09-21T00:00:00+00:00</updated>
        <author>
            <name>Walter Rumsby</name>
        </author>
        <content type="html">&lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2034/2270560164_6e5c506d70.jpg" alt="You can never have too much sweet, sweet data" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://flickr.com/photos/wasabicube/2270560164/"&gt;Photo&lt;/a&gt; by &lt;a href="http://flickr.com/photos/wasabicube/"&gt;wasabicube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At Webstock 2006 &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt; was the darling of the conference. It seemed to be mentioned by almost every speaker so I was curious to see which site(s) would be f&amp;ecirc;ted in 2008. Flickr &lt;em&gt;still&lt;/em&gt; got more mentions than any other site (&lt;a href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; came in at number 2 &lt;a href="/content/blog/walter/posts/2008/02/19/Webstock%3A+The+Final+Countdown"&gt;by my reckoning&lt;/a&gt;), but this time round there was more of a focus on the Flickr &lt;em&gt;platform&lt;/em&gt; and not simply on Flickr's design innovations (AJAX, tagging, vowel reduction, etc.).&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.plasticbag.org/"&gt;Tom Coates&lt;/a&gt; covered this most effectively in what I personally saw as the best/most important/key speech of Webstock 2008. For me the theme of the whole conference shifted from the 06's focus on web design &amp;amp; usability to the idea of the web as a platform and Coates addressed this topic directly.&lt;/p&gt;

&lt;p&gt;What follows is more or less a rough transcription of the presentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Flickr, Twitter, Google, &lt;a href="http://upcoming.yahoo.com/"&gt;Upcoming&lt;/a&gt;, Facebook, &lt;a href="http://www.delicious.com/"&gt;delicious&lt;/a&gt;, &lt;a href="http://www.last.fm/"&gt;last.fm&lt;/a&gt;, &lt;a href="http://www.dopplr.com/"&gt;Dopplr&lt;/a&gt; and Amazon are all special sites and services. They are more than just web sites. They've managed to break out of the frame of the browser and manifest themselves onto desktops, devices and other sites. They provide a platform on which other things can be built by anyone and as a result those sites have benefited - they've generated more revenue, more ethusiasm and had a bigger impact than they would have had if they did not provide those platform services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Five Things&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your Web Site Is Not Your Product&lt;/li&gt;
&lt;li&gt;You Must Play Well With Others&lt;/li&gt;
&lt;li&gt;You Can Never Have Too Much Data&lt;/li&gt;
&lt;li&gt;Hierarchies Can't Take Weight&lt;/li&gt;
&lt;li&gt;Collaboration Is Important&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What Is The Web Of Data?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The web of "pages" is changing to the web of "data". Web pages are now simply one way of accessing the data.&lt;/p&gt;

&lt;p&gt;In this context "data" means "stuff that a computer can access" (e.g. blog posts, pictures, videos, book reviews? &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer#REST.27s_central_principle:_resources"&gt;resources&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;So what we have is&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;A web of data sources [and] services for exploring and manipulating data and ways people can plug them together.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Your Web Site Is Not Your Product&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your territory is anywhere your network touches. For example people can interact with Twitter using the &lt;a href="http://www.twitter.com/"&gt;web site&lt;/a&gt;, &lt;a href="http://www.tweet-r.com/"&gt;IM clients&lt;/a&gt;, &lt;a href="http://getsatisfaction.com/twitter/topics/twitters_sms_phone_numbers"&gt;SMS&lt;/a&gt;, anything that can broadcast information to Twitter. 90% of the traffic to Twitter is via their API (i.e. only 10% via the web site). This means that the Twitter web site is not the product - the product is a way for people to keep in touch via short messages and the site is merely one instantiation of that.&lt;/p&gt;

&lt;p&gt;Similarly there are other ways to interact with Flickr: &lt;a href="http://www.estarling.com/"&gt;eStarling&lt;/a&gt;, &lt;a href="http://www.moo.com/"&gt;Moo cards&lt;/a&gt;, widgets, web site badges, desktop clients, mashups, etc.&lt;/p&gt;

&lt;p&gt;In the case of &lt;a href="http://www.last.fm/"&gt;last.fm&lt;/a&gt; many users interact with last.fm through a desktop player app, and not through the web site at all. OS X users can also play &lt;a href="http://www.macosxhints.com/article.php?story=20060507110841475&amp;amp;lsrc=osxh"&gt;customised radio streams in iTunes&lt;/a&gt; and not have to spend any time looking at the last.fm web site.&lt;/p&gt;

&lt;p&gt;This is all stuff you can do today! As the network touches more "things" computing becomes ubiquitous and while you could say that many of the applications today are niche, toy, "play" apps there are other possibilities for a wide range of applications.&lt;/p&gt;

&lt;p&gt;When the web of data bleeds into the real world:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Physical objects respond to and visualise data from a network (e.g. &lt;a href="http://www.nabaztag.com/en/index.html"&gt;Nabaztag&lt;/a&gt;; &lt;a href="http://www.ambientdevices.com/cat/orb/orborder.html"&gt;Ambient Orb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Interactions with physical objects allows people to change data stored on the network&lt;/li&gt;
&lt;li&gt;Physical objects act as a sensor that writes to the web of data (e.g. &lt;a href="http://www.diykyoto.com/"&gt;Wattson&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;You Must Play Well With Others&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If a web site is just one manifestation of your data you need to design for recombination because there are opportunities when your data can be mashed up with other datasources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can drive people to your site (e.g. Amazon)&lt;/li&gt;
&lt;li&gt;People might pay for your data&lt;/li&gt;
&lt;li&gt;You put yourself (your data) in an ecosystem that contains similar data&lt;/li&gt;
&lt;li&gt;It makes your service more attractive to users&lt;/li&gt;
&lt;li&gt;It reduces amount of central development (Flickr couldn't build everything that people wanted from the product so they let others build on top of Flickr)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other examples: &lt;a href="http://oakland.crimespotting.org/"&gt;Oakland Crimespotting&lt;/a&gt; combines two datasets which can be understood in the context of each other (crime by geography, geography by crime); &lt;a href="http://fireeagle.yahoo.net/"&gt;Fire Eagle&lt;/a&gt; (provides a geolocation service that other services can use to provide &lt;a href="http://fireeagle.yahoo.net/gallery"&gt;another layer of data&lt;/a&gt; on top of an existing service).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You Can Never Have Too Much Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2319/2269767889_e3a8fda916.jpg" alt="2,264,930,075" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://flickr.com/photos/wasabicube/2269767889/"&gt;Photo&lt;/a&gt; by &lt;a href="http://flickr.com/photos/wasabicube/"&gt;wasabicube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2,264,930,075&lt;/strong&gt;. That's the number of photos on Flickr as of February 2008. That's 1 photo for every 3 people on the planet and that number increased by more than 900,00 in the 12 hours before Coates' talk.&lt;/p&gt;

&lt;p&gt;How do you make that scale of data communicable, explorable, navagable to users? By finding more data!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Capture meta data during the production of the object (e.g. data about when a photo was taken; the mode used; etc)&lt;/li&gt;
&lt;li&gt;Analyse the object&lt;/li&gt;
&lt;li&gt;Crowd-source the creation of meta data (e.g. tagging)&lt;/li&gt;
&lt;li&gt;Perform behavioral analysis (e.g. Google - &lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;PageRank&lt;/a&gt; is based on how other pages link to a site)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For &lt;a href="http://flickr.com/photos/plasticbag/1131536704/"&gt;this photo of Piccadilly Circus&lt;/a&gt;, there are a number of related data axes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://flickr.com/photos/plasticbag/"&gt;Photos by Tom Coates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Photos by Tom Coates &lt;a href="http://flickr.com/photos/plasticbag/archives/date-taken/2007/08/15/"&gt;taken on 15 August 2007&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Photos by Tom Coates &lt;a href="http://flickr.com/photos/plasticbag/archives/date-posted/2007/08/16/"&gt;uploaded on 16 August 2007&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://flickr.com/photos/plasticbag/1131536704/favorites/"&gt;People who call this photo a favourite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Etc. (by &lt;a href="http://flickr.com/photos/plasticbag/sets/72157601285631006/"&gt;set&lt;/a&gt;, &lt;a href="http://flickr.com/photos/plasticbag/tags/piccadillycircus/"&gt;tag&lt;/a&gt;, &lt;a href="http://flickr.com/places/United+Kingdom/England/London"&gt;location&lt;/a&gt;, &lt;a href="http://flickr.com/cameras/canon/eos_digital_rebel_xti/"&gt;camera info&lt;/a&gt;, &lt;a href="http://compfight.com/"&gt;license&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's even possible to explore photos by apeture if you know what you're doing. The only reason this feature isn't more obvious is that the Flickr team haven't worked out a good user interaction to do this via the web site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hierarchies Can't Take Weight&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Information Architecture circa 1999 was about organising your data into hierarchies (taxonomies). IA circa 2005 was about organising your data into folksonomies (e.g. tagging).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can have both!&lt;/em&gt; Amazon.com provides multiple ways to explore data, using both traditional taxonomies and folksonomies.&lt;/p&gt;

&lt;p&gt;Hierarchies don't scale. &lt;a href="http://semanticstudios.com/about/"&gt;Peter Morville&lt;/a&gt; who presented earlier also made this point and it's not something that is unique to the web. "Weblike" navigation is a much better way of exploring large data sets - "top navigation is just the jumping off point".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaboration Is Important&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Coates works at Yahoo! Brickhouse which is set up to run like &lt;a href="http://www.businessweek.com/technology/content/feb2007/tc20070209_179924.htm"&gt;a startup inside a large organisation&lt;/a&gt;. The teams at Brickhouse are small, inter-disciplinary teams (e.g. &lt;a href="http://bravo.yahoo.com/teaser/"&gt;BravoNation&lt;/a&gt;, Fire Eagle).&lt;/p&gt;

&lt;p&gt;A key idea here is that idea generation is not the responsibility of one role (e.g. programmers, graphic designers), but is shared across roles. Coates &lt;em&gt;strongly&lt;/em&gt; believes this is the best (only?) way to create new products.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not a lot to disagree with in what was covered. It's interesting to me how web-based applications have evolved and have to deal with tremendous scale and complexity. Back in 1999 I can remember a friend bemoaning the fact he was working on web sites and not "real" applications. As we grow a richer appreciation of how we can develop applications on the web the kinds of solutions being developed are far more interesting than the client/server applications of the 90s.&lt;/p&gt;

&lt;p&gt;If Google Maps was the catalyst for CEOs/CIOs demanding AJAX-based solutions it stands to reason that once they understand the concept that you can create a web-based platform their view of what's possible will broaden in a similar way (then again maybe there was an element of "oh this graphic/web designery stuff is easy, we could do that too!"; it seems likely that if "normal companies" were to develop platforms that they'd turn to Google, Amazon, etc. to provide [some of the] infrastucture).&lt;/p&gt;

&lt;p&gt;And finally, while I agree that "weblike navigation" works better for large datasets, it's not a big deal if you don't stumble across &lt;a href="http://flickr.com/photos/tropeone/2686123075/"&gt;a particular photo of your favourite MC&lt;/a&gt; when using Flickr, but I can't help thinking that for certain classes of applications there is a large set of information that users &lt;em&gt;have to&lt;/em&gt; see. Hierarchies obviously don't work in those situations, but I'm not sure folksonomies completely solve &lt;em&gt;that&lt;/em&gt; problem either.&lt;/p&gt;

&lt;p&gt;Lots of stuff to think about. Since it took me 7 months to write this post I can now add that Coates' is returning for &lt;a href="http://www.webstock.org.nz/09/speakers/coates.php"&gt;Webstock 09&lt;/a&gt;!&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/wrumsby/~4/4Lvjo4yJhz0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://walter.rumsby.name/blog/posts/2008/09/21/Tom+Coates%3A+Designing+For+A+Web+Of+Data</feedburner:origLink></entry>
    <entry>
        <id>http://walter.rumsby.name/blog/posts/2008/06/25/On+DOM+Ready</id>
        <link href="http://feedproxy.google.com/~r/wrumsby/~3/IEXhZ_QnQDQ/On+DOM+Ready" />
        <title>On DOM Ready</title>
        <updated>2008-06-25T00:00:00+00:00</updated>
        <author>
            <name>Walter Rumsby</name>
        </author>
        <content type="html">&lt;p&gt;YUI provides the &lt;a href="http://developer.yahoo.com/yui/event/#ondomready"&gt;&lt;code&gt;YAHOO.util.Event.onDOMReady&lt;/code&gt;&lt;/a&gt;  method which "lets you define a function that will execute as soon as the DOM is in a usable state."&lt;/p&gt;

&lt;p&gt;I've heard reports (both internally and on the YUI mailing list) about this method going a bit haywire - specifically firing &lt;em&gt;before&lt;/em&gt; the DOM is usable - in Internet Explorer, but these seem to be in weird situations and it has been (seemingly) impossible to create a test case to demonstrate when/where/why this problem happens. This makes it pretty difficult to raise a bug that the YUI team can look at, so the problem still (apparently) exists.&lt;/p&gt;

&lt;p&gt;I was looking at &lt;a href="http://dean.edwards.name/weblog/2005/09/busted/"&gt;an old post&lt;/a&gt; by Dean Edwards that suggests using the &lt;code&gt;script&lt;/code&gt; element's &lt;code&gt;defer&lt;/code&gt; attribute to work out when the DOM is "usable" in IE. Edward's solution suggests using conditional comments to remove the &lt;code&gt;defer&lt;/code&gt; attribute for non-IE browsers, but I wonder if that's even necessary.&lt;/p&gt;

&lt;p&gt;This leads me to think, assuming your external script is entirely wrapped up in an &lt;code&gt;onDOMReady&lt;/code&gt; &lt;code&gt;function&lt;/code&gt;, why not throw a &lt;code&gt;defer&lt;/code&gt; attribute onto the &lt;code&gt;script&lt;/code&gt; element? My hunch is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IE will defer the script's execution until the DOM is usable.&lt;/li&gt;
&lt;li&gt;Other browsers will ignore the &lt;code&gt;defer&lt;/code&gt; attribute, but since &lt;code&gt;onDOMReady&lt;/code&gt; works for those browsers (assuming they are &lt;a href="http://developer.yahoo.com/yui/articles/gbs/#gbschart"&gt;A Grade browsers&lt;/a&gt;)   they will also wait until the DOM is usable.&lt;/li&gt;
&lt;li&gt;By the time IE trys to work out if it should fire &lt;code&gt;onDOMReady&lt;/code&gt; the &lt;code&gt;defer&lt;/code&gt; attribute will mean that it's okay for it to fire, so you should sidestep the "&lt;code&gt;onDOMReady&lt;/code&gt; fires in IE before the DOM is usable" issue.&lt;/li&gt;
&lt;li&gt;All of this will happen &lt;em&gt;before&lt;/em&gt; the window's &lt;code&gt;load&lt;/code&gt; event fires regardless of browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've set up an &lt;a href="/examples/yui/defer.html"&gt;example page&lt;/a&gt; which appears to confirm this, but of course this page doesn't suffer from the incredibly tricky to replicate problem so this is very much a guess at a solution. The other thing is this assumes that all the code in your script runs inside an &lt;code&gt;onDOMReady&lt;/code&gt; &lt;code&gt;function&lt;/code&gt;, which might not be what you want.&lt;/p&gt;

&lt;p&gt;I've followed this up with &lt;a href="http://tech.groups.yahoo.com/group/ydn-javascript/message/33340"&gt;a message on the YUI mailing list&lt;/a&gt; to see if anyone can spot any problems with this approach and plan to update this post with anything that comes out of that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; there is now a &lt;a href="https://sourceforge.net/tracker/?func=detail&amp;amp;atid=836476&amp;amp;aid=2008289&amp;amp;group_id=165715"&gt;bug&lt;/a&gt; with test cases. Hopefully this is resolved in the next YUI release, but in the interim, or if you are using an older YUI release, it appears that adding the &lt;code&gt;defer&lt;/code&gt; attribute to &lt;code&gt;script&lt;/code&gt; elements does avoid these errors.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/wrumsby/~4/IEXhZ_QnQDQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://walter.rumsby.name/blog/posts/2008/06/25/On+DOM+Ready</feedburner:origLink></entry>
    <entry>
        <id>http://walter.rumsby.name/blog/posts/2008/06/22/Next+Previous+Navigation</id>
        <link href="http://feedproxy.google.com/~r/wrumsby/~3/IV_NcPnrXjM/Next+Previous+Navigation" />
        <title>Next Previous Navigation</title>
        <updated>2008-06-22T00:00:00+00:00</updated>
        <author>
            <name>Walter Rumsby</name>
        </author>
        <content type="html">&lt;p&gt;&lt;a href="http://ffffound.com/"&gt;FFFFOUND!&lt;/a&gt;  is a social bookmarking site for images (only).&lt;/p&gt;

&lt;p&gt;I quite like it. It feels like flicking through a book or magazine full of interesting images and I think one of the reasons that they're able to achieve this is thanks to the incredibly useful, and simple, navigation options they provide.&lt;/p&gt;

&lt;p&gt;In the top, right corner of the browser window are some navigation links which also come with clearly indicated keyboard shortcuts.&lt;/p&gt;

&lt;p&gt;I find it really useful to be able to hit the j key and navigate through the images in a way that's a whole lot nicer than hitting Page Down Page Down doesn't know where images begin and pretty quickly you'll have to fiddle with the scroll bars to fix things.&lt;/p&gt;

&lt;p&gt;I've hacked together my own ultra-basic version of this for the posts page here in the hope that it is useful to some people.&lt;/p&gt;

&lt;p&gt;(This is currently not so great in IE6).&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/wrumsby/~4/IV_NcPnrXjM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://walter.rumsby.name/blog/posts/2008/06/22/Next+Previous+Navigation</feedburner:origLink></entry>
    <entry>
        <id>http://walter.rumsby.name/blog/posts/2008/06/01/A+Few+Weeks+Ago</id>
        <link href="http://feedproxy.google.com/~r/wrumsby/~3/jUJus12TJL0/A+Few+Weeks+Ago" />
        <title>A Few Weeks Ago</title>
        <updated>2008-06-01T00:00:00+00:00</updated>
        <author>
            <name>Walter Rumsby</name>
        </author>
        <content type="html">&lt;p&gt;&lt;a href="http://flickr.com/photos/charis75/2540214319/"&gt;&lt;img src="http://farm4.static.flickr.com/3249/2540214319_c8f9e95f03.jpg" alt="Sniff in he snow" border="0"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://flickr.com/photos/charis75/2540214319/"&gt;Photo&lt;/a&gt; by &lt;a href="http://flickr.com/people/charis75"&gt;Charis&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/wrumsby/~4/jUJus12TJL0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://walter.rumsby.name/blog/posts/2008/06/01/A+Few+Weeks+Ago</feedburner:origLink></entry>
</feed>
