<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Technography</title>
	<atom:link href="http://johnlabovitz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnlabovitz.wordpress.com</link>
	<description>Musings on technology</description>
	<lastBuildDate>Fri, 23 Jan 2009 07:57:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='johnlabovitz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Technography</title>
		<link>http://johnlabovitz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://johnlabovitz.wordpress.com/osd.xml" title="Technography" />
	<atom:link rel='hub' href='http://johnlabovitz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Why I don’t program for the iPhone</title>
		<link>http://johnlabovitz.wordpress.com/2009/01/23/why-i-dont-program-for-the-iphone-2/</link>
		<comments>http://johnlabovitz.wordpress.com/2009/01/23/why-i-dont-program-for-the-iphone-2/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 07:54:09 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[History of technology]]></category>
		<category><![CDATA[Observations]]></category>

		<guid isPermaLink="false">http://johnlabovitz.wordpress.com/?p=20</guid>
		<description><![CDATA[Drifting off to sleep the other night, I realized that what turns me off about developing for the iPhone isn’t the overcrowded market, or the hardware with its limited resources, or even the multitude of fart apps. What turns me off is that the iPhone is a brilliant platform, but an awful ecosystem.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=20&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Drifting off to sleep the other night, I realized that what turns me off about developing for the iPhone isn’t the overcrowded market, or the hardware with its limited resources, or even the multitude of fart apps. What turns me off is that the iPhone is a brilliant platform, but an awful ecosystem.<br />
<span id="more-20"></span><br />
Programming the iPhone means, simply and solely, writing an ‘app.’ And an ‘app,’ that modern, pithy term for ‘application,’ as currently defined, means a narrow, vertically-oriented, resource-constrained program: an ivory tower. My ivory tower could be beautiful, comfortable, functional, even life-changing: but it is still an ivory tower, and one that is torn down in full whenever the iPhone user decides they want to run another application. Another ivory tower is built; it, too, eventually falls.</p>
<p>I wrote my first computer program at age 10, which means I’ve been programming for 32 years. For most of that time, I’ve done what used to be called ‘systems programming.’ This term is hard to explain, but I’ve always visualized it as being somewhere in the middle: not down at the kernel or hardware level, nor up at the pure, user-oriented application level. Rather, when I program I am navigating the swirly paths of APIs and protocols, moving amidst the foggy realm of interprocess communications, banging up against all sorts of scary and friendly daemons and scripts and ports and sockets and god knows what else. Systems programming is not about the edges, but rather about the center: it is the glue that binds the components, thus making a bag of parts into a coherent whole.</p>
<p>And this is what I like. Even in those primordial days of 8-bit microcomputers running CP/M, I was hacking on code (admittedly, written by someone else) that injected itself into the operating system, installing itself in the nether reaches of what seemed like a vast landscape of 64 kilobytes of memory, modifying the swamp of system call jump tables to intercept the BIOS calls. Why? So I could run what was then called a ‘computerized bulletin board,’ and what we’d now call a forum. (For a window into that time, see <a href="http://www.textfiles.com/bbs/BBSLISTS/rcpm26.txt" target="_blank">Remote CP/M Software Exchange Systems, List # 26</a>; search for ‘Bethesda’ to find my face in the crowd of 1982.)</p>
<p>Eventually I discovered Unix, whose existential core not only admitted the relevance of systems programming, but reveled in it with its pipes, sockets, and processes. Programs on the scale that we’d call ‘apps’ today were rare; even those large-scale programs like Emacs were themselves an ecosystem, replete with hooks and modules and plugins.</p>
<p>My Mac today is a tiny ecosystem that I have let evolve out of 25 years of Macintosh technology, merged with another 25 years of Unix. Some of the utilities I use are descended from programs written a decade ago; every day I type commands that I’ve typed for so many years that I almost feel the patina on their letters.</p>
<p>Most of my research today revolves around heavily networked web-based ecologies of data, code, and the links between them. I’m exploring ways of distributing information even further apart, splitting up heavy applications into lightweight, gossamer threads of code out in the clouds. The work is intentionally airy, abstract, independent.</p>
<p>None of this richness is possible on the current iPhone platform. This restriction is akin to the earliest computers that only ran one program at a time; once the stack of punchcards was loaded, that program was the sole identity of that computer. In 1950, that was reasonable and expected; in 2009, it seems pointless and limited.</p>
<p>There is, of course, a world out there of the jailbroken iPhone or iPod touch. Talented folks have figured out the cracks and crevices, raised their flags, reskinned the official UI, even invoked the old Unix daemons to run silently in the background. But it’s not an attractive, welcoming world to me. I understand the challenge, appreciate the incredible effort in cracking open the back door to the ivory tower, and find a jailbroken iPhone to be useful, even essential. But it’s a risky world that can be entirely undone with a single software update from Apple. That’s not a healthy ecology, either.</p>
<p>So for now I will sit back, content in my comfortable Mac environment, happy with the symbiotic flora and fauna of code, and observe. Perhaps those ivory towers will turn to follies, half-ruined structures that still remain upright amongst the barren fields of the iPhone. And perhaps even later the follies will be remade into small but lively abodes, both large and small, all cooperating to build a more inclusive, verdant, and interesting landscape. And perhaps then, I shall start to program for the iPhone.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=20&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2009/01/23/why-i-dont-program-for-the-iphone-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>An unexpected sense of place?</title>
		<link>http://johnlabovitz.wordpress.com/2008/07/27/an-unexpected-sense-of-place/</link>
		<comments>http://johnlabovitz.wordpress.com/2008/07/27/an-unexpected-sense-of-place/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 17:02:50 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://johnlabovitz.wordpress.com/?p=16</guid>
		<description><![CDATA[In Great To See You. Just Not Around Here (full article), Jan Chipchase outlines the darker, edge effects of location-aware technology. In summary, the advertisement of location destroys anonymity – not just one’s own, but others’ as well. Chipchase gives an example of wanting to spend time at a small, local bar, a place where [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=16&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.janchipchase.com/blog/archives/2008/07/digital_herpes_1.html">Great To See You. Just Not Around Here</a> (<a href="http://www.janchipchase.com/shared-location-awareness">full article</a>), Jan Chipchase outlines the darker, edge effects of location-aware technology. In summary, the advertisement of location destroys anonymity – not just one’s own, but others’ as well.</p>
<p><span id="more-16"></span></p>
<p>Chipchase gives an example of wanting to spend time at a small, local bar, a place where no one knows him, no one knows where he is, and where he is certain never to bump into someone he doesn’t really want to see. (The article implies a long-over relationship.)</p>
<p>This expectation of anonymity is peculiar to dense, urban places. It should not be mistaken for the isolationism of the outback or countryside, nor the genericness of the suburban wastelands; urban anonymity is a protective shield against the pressure of a lot of people in a little space. In a dense city like Tokyo, a part of survival is being able to walk a block or two away and be in a different social universe.</p>
<p>But the boundaries of these separate universes have been slowly dissolving, due to the two heralds of this century: the mobile phone and the digital camera. The massive popularity and rapid evolution of those devices, along with the synthesis with the modern computer in the guise of the iPhone, as well as satellite <span class="caps">GPS</span> and cell tower triangulation, is to add another sense to the <a href="http://en.wikipedia.org/wiki/Panopticon">panopticon</a>: the sense of place.</p>
<p>Now we can all see the nearly flicker-free stream of documentation of our lives, mediated through the Internet cloud of texting, blogging, and photostreaming.</p>
<p>In the early 1990s, I lived in San Francisco and participated in the early <a href="http://en.wikipedia.org/wiki/Rave">rave</a> scene. One reason the scene held my interest was a sense of mystery and play. Obscure flyers advertised the dates and featured DJs, but often the printed directions led one only to the ‘map point’; once you found yourself there, you’d receive directions to the actual location of the rave. Sometimes that was around the corner, in a dark warehouse in the <a href="http://en.wikipedia.org/wiki/South_of_Market%2C_San_Francisco%2C_California">old industrial district</a>; sometimes it was all the way across the bay in a complex of connected houses in Oakland.</p>
<p>Today, a single geocoded Twitter message could give the whole game away.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=16&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2008/07/27/an-unexpected-sense-of-place/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>How Flickr could make the world a better place for copyright</title>
		<link>http://johnlabovitz.wordpress.com/2008/07/11/how-flickr-could-make-the-world-a-better-place-for-copyright/</link>
		<comments>http://johnlabovitz.wordpress.com/2008/07/11/how-flickr-could-make-the-world-a-better-place-for-copyright/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 23:10:13 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://johnlabovitz.wordpress.com/?p=13</guid>
		<description><![CDATA[Flickr has come under fire recently for not enforcing licensing terms on images accessed through their application programmer’s interface (API) and syndication feeds. Flickr could rectify this situation, and reduce the confusion and misinformed reaction, by making a few simple technical changes to its API, and minimally reaching out to its community of photographers, viewers, and developers.
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=13&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Flickr has come under fire recently for not enforcing licensing terms on images accessed through their <a href="http://www.flickr.com/services/api/">application programmer’s interface</a> (API) and <a href="http://www.flickr.com/services/feeds">syndication feeds</a>.</p>
<p>This issue has been covered in different degrees in various places around the net. One of the most cogent observers has been Jonathan Bailey, in his articles <a href="http://www.plagiarismtoday.com/2008/07/10/is-flickr-letting-down-its-users/">‘Is Flickr Letting Down its Users?’</a> and <a href="http://www.plagiarismtoday.com/2008/07/11/why-flickr-licensing-fails/">‘Why Flickr Licensing Fails’</a>.</p>
<p>The basic problem is this: some third-party websites and applications have been using the Flickr <span class="caps">API</span> or feeds to publish photographer’s images in ways those photographers did not intend or allow. Photographers familiar with the relatively clear licensing interface of the Flickr.com website have been surprised to learn there is a ‘back door’ into their carefully-licensed images.</p>
<p>Some photographers reacted by stating that they did not intend their photo to appear in any form other than the original: in the <span class="caps">HTML</span> pages of the Flickr.com website. A few feel their only choice is to quit Flickr, or even quit the public Internet, moving their images to private domains they believe to be safer for their property. These drastic, reactionary moves are unfortunate, but understandable. The technical situation is complex and facts are few.</p>
<p>As a photographer, developer, and Flickr user, I decided to investigate the problem from a technical point of view. (Jonathan Bailey and others have already put forth good arguments for more ‘soft’ improvements in Flickr’s licensing model.)</p>
<p><span id="more-13"></span></p>
<p>I have worked with the Flickr <span class="caps">API</span> and syndication feeds for several years, and am familiar with Flickr’s architecture, as well as their technical documentation. (I do not work for Flickr, or have any other sort of professional affliation with them.) By reading the <span class="caps">API</span> documentation, testing the <span class="caps">API</span> using simple programs, and examining the syndication feeds’ data, I was able to determine the actual licensing information provided by the Flickr service, as well as the extent, if any, of Flickr’s enforcement methods or policy.</p>
<p>What I found was that the problems are serious, but not fatal. By making a few technical changes and by improving their documentation, Flickr could mitigate the worst of the problems.</p>
<p>I realize that many people interested in this problem may not be familiar with the technology behind APIs and feeds. I’ll do my best to explain how the system currently works, hopefully in a way that explains the necessary details, but is still understandable to nonprogrammers.</p>
<h2>Flickr is a platform</h2>
<p>Flickr isn’t really a website. Most people use the website to upload and browse images, but the website can be thought of as separate program which interacts with the core Flickr platform. The platform contains all the images and their metadata — tags, descriptions, license type, camera-generated <span class="caps">EXIF</span> data — stored in a large distributed database and managed by several servers.</p>
<p>Besides the website itself, many other programs interact with the Flickr platform: Aperture and Lightroom plugins, screensavers that display Flickr images, desktop uploaders, iPhone browsers, etc. The syndication feeds can be seen as just another program that interacts with the platform, although one that’s linked more tightly with the website.</p>
<p>All of these programs interact with the Flickr platform using Flickr’s <a href="http://www.flickr.com/services/api/">application programming interface</a> (API). You can think of the <span class="caps">API</span> a bit like searching on Google: You type in a query (a request), and you get back a list of results (a response). However, the <span class="caps">API</span> isn’t intended for use by humans, but rather by computer programs. It is the utilitarian face of the Flickr platform, a special-purpose website that is designed to take requests from programs, and give back responses that the programs can use.</p>
<p>(I’m not certain that Flickr’s own website and feeds use their <span class="caps">API</span>. However, I’ve heard rumors of this, and in my experience in designing systems that had APIs, it’s a good design and so a reasonable assumption.)</p>
<p>For example, on the Flickr website, every user has a <a href="http://www.flickr.com/help/yahoophotos/?search=photostream#1833"><em>photostream</em></a> — a list of the most recently uploaded photos by that user. In the <span class="caps">API</span>, the photostream can be accessed by requesting a resource called <a href="http://www.flickr.com/services/api/flickr.photos.getRecent.html"><em>flickr.photos.getRecent</em></a>. Doing that has same result as looking at the photostream on the website, but the photostream is intended for a human and the other for a computer program. That <em>flickr.photos.getRecent</em> name is called a <em>method;</em> a programmer uses particular methods to do particular things in the <span class="caps">API</span>. As you can see, the name of the method is indicative of what the method does.</p>
<p>Flickr’s <span class="caps">API</span> has dozens of methods, each one doing something different with the Flickr platform. The <span class="caps">API</span> is extensive: pretty much anything you can do on the Flickr website, you can do using the <span class="caps">API</span>. The methods are clearly documented (at least compared to many APIs I’ve worked with; if you’re interested, check out the full list of the <a href="http://www.flickr.com/services/api/">methods supported by the Flickr <span class="caps">API</span></a>.)</p>
<p>When a person interacts with the Flickr website, they get back <span class="caps">HTML</span> pages that look good in your web browser; when a program interacts with the <span class="caps">API</span>, it gets back a carefully coded outline of the information being asked for. (Technically, the <span class="caps">API</span> returns <span class="caps">XML</span> or <span class="caps">JSON</span>.) Unlike the <span class="caps">HTML</span> page, the <span class="caps">API</span> responses are <em>designed</em> to be examined and interpreted by the program doing the request.</p>
<p>A subtle but important fact to know is that the Flickr <span class="caps">API</span> itself does not return the actual image data — that is, the <span class="caps">JPEG</span> file uploaded by the photographer. The <span class="caps">API</span> (as well as the syndication feeds) is really just a way of searching and accessing (and sometimes modifying) the metadata that Flickr stores about each image. Image metadata includes items like its title or description, as well as <em>links</em> to the image data. But once a program knows those image data links, it accesses the images outside the <span class="caps">API</span>, in the same way a regular web browser can (by <span class="caps">URL</span>, usually specified in a <code>img</code> HTML element).</p>
<p>I point this out because I think it’s important to understand that <em>all</em> Flickr images are available as individual web resources, accessible to anyone, independent of the <span class="caps">API</span>. While some photographers argue whether this should be the case, it’s part of the reality of the current technology of the web. Once someone knows the link to an image stored on Flickr, it’s just as accessible (and copyable) as any other image on the web.</p>
<p>When a program requests a Flickr image’s metadata, that program may display some of the metadata directly to the user — like the title or description. It may use the metadata to determine <em>how</em> to display an image — like using the size of the image to leave enough space for it in a window. It may use the metadata to determine <em>whether</em> to display the image — like the license.</p>
<p>And here we arrive at the gist of the problem.</p>
<h2>Licensing potentials</h2>
<p>Flickr has a reasonable set of available licenses, and requires that every photograph on their system have a license. The current licenses (as obtained by the <a href="http://www.flickr.com/services/api/flickr.photos.licenses.getInfo.html"><em>flickr.photos.licenses.getInfo</em></a> API method) are:</p>
<table>
<tr>
<th>code </th>
<th>license </th>
</tr>
<tr>
<td> 0 </td>
<td> All Rights Reserved </td>
</tr>
<tr>
<td> 1 </td>
<td> <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/">Attribution-NonCommercial-ShareAlike License</a> </td>
</tr>
<tr>
<td> 2 </td>
<td> <a href="http://creativecommons.org/licenses/by-nc/2.0/">Attribution-NonCommercial License</a> </td>
</tr>
<tr>
<td> 3 </td>
<td> <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/">Attribution-NonCommercial-NoDerivs License</a> </td>
</tr>
<tr>
<td> 4 </td>
<td> <a href="http://creativecommons.org/licenses/by/2.0/">Attribution License</a> </td>
</tr>
<tr>
<td> 5 </td>
<td> <a href="http://creativecommons.org/licenses/by-sa/2.0/">Attribution-ShareAlike License</a> </td>
</tr>
<tr>
<td> 6 </td>
<td> <a href="http://creativecommons.org/licenses/by-nd/2.0/">Attribution-NoDerivs License</a> </td>
</tr>
</table>
<p>(The ‘code’ is important, but I’ll talk about it later.)</p>
<p>Flickr does a good thing here, and defaults to ‘All rights reserved’ (code 0); a photographer is free to change this, either on a particular image or for all new uploads.</p>
<p>‘All rights reserved’ is such a common part of today’s fine print that most of us gloss over the phrase. But to a working photographer, this means something specific: rights to this image have been granted for use in a particular instance, in a particular medium, sometimes in a particular location; any other uses have to be requested (and negotiated) separately and explicitly.</p>
<h2>But who looks at the license?</h2>
<p>The Flickr website does a reasonable job at describing photographers’ licensing terms. It’s right there on every image page, under ‘Additional information’; most images say ‘All rights reserved.’ If you’re the owner of the image, you’ll see an ‘edit’ link, where you can select the license you desire. Although Flickr doesn’t explicitly enforce the license, they arguably make the information clear enough that only the most blatant image thief would assume the image was freely available.</p>
<p>However, the license data returned by the syndication feeds and the <span class="caps">API</span> aren’t as obvious.</p>
<p>Looking through the <span class="caps">API</span> documentation, I found around a dozen different methods that obtain information about a photo; these <span class="caps">API</span> methods relate to various Flickr features like sets, pools, geo-tagging, favorites, and so on.</p>
<p>The Flickr <span class="caps">API</span> documentation is quite good at describing the parameters needed to make a request to an <span class="caps">API</span> method. However, it’s quite bad at describing the parts of the response being returned. Flickr basically leaves it to an example, showing the <span class="caps">XML</span> output of an arbitrary request to the method.</p>
<p>For example, <a href="http://www.flickr.com/services/api/flickr.photos.getInfo.html"><em>flickr.photos.getInfo</em></a> is one of the main methods in the Flickr <span class="caps">API</span>, and returns all the metadata for a given image, as well as information on how to retrieve the actual image data. Here is an excerpt from the response example in the method’s documentation:</p>
<pre><code>&lt;photo id="2733" secret="123456" server="12"
    isfavorite="0" license="3" rotation="90"
    originalsecret="1bc09ce34a" originalformat="png"&gt;</code></pre>
<p>See the license? No? Look again. Second line, second attribute. It’s the part that says <code>license="3"</code>. If we look up ‘3’ in the table of license terms earlier in this post, we get ‘Attribution-NonCommercial-NoDerivs License.’</p>
<p>I could find no documentation that suggested how the license code should be interpreted. Nothing I found even said to use the <em>flickr.photos.licenses.getInfo</em> method to look up more information about the license code. Most likely,  programmers who familiarized themselves with the <span class="caps">API</span> would eventually find the method to look up the license information. But the fact that there is no guidance in the documentation is worrying.</p>
<p>Further, it appears that <em>flickr.photos.getInfo</em> is the <em>only</em> method that returns the license code by default. Here are the other methods that return information about specific Flickr images:</p>
<ul>
<li><a href="http://www.flickr.com/services/api/flickr.favorites.getList.html"><em>flickr.favorites.getList</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.groups.pools.getPhotos.html"><em>flickr.groups.pools.getPhotos</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.interestingness.getList.html"><em>flickr.interestingness.getList</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html"><em>flickr.people.getPublicPhotos</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getContactsPhotos.html"><em>flickr.photos.getContactsPhotos</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getContactsPublicPhotos.html"><em>flickr.photos.getContactsPublicPhotos</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getNotInSet.html"><em>flickr.photos.getNotInSet</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getRecent.html"><em>flickr.photos.getRecent</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getUntagged.html"><em>flickr.photos.getUntagged</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.getWithGeoData.html"><em>flickr.photos.getWithGeoData</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photos.recentlyUpdated.html"><em>flickr.photos.recentlyUpdated</em></a></li>
<li><a href="http://www.flickr.com/services/api/flickr.photosets.getPhotos.html"><em>flickr.photosets.getPhotos</em></a></li>
</ul>
<p><em>None</em> of these methods return the license information by default. A programmer must ask for the image’s license explicitly (by setting the <code>extras</code> parameter to include the keyword ‘license’); once this is done, the methods will return the license code just like the <em>flickr.photos.getInfo</em> method does by default. There is no explicit documentation about this parameter, either — a programmer must infer that requesting this ‘extra’ will actually return the license code in the same way that <em>flickr.photos.getInfo</em> does.</p>
<p>The <span class="caps">API</span> itself does no actual enforcement. If I write a program that uses the <span class="caps">API</span> to show images, there’s nothing stopping me from pulling over any image that might be licensed ‘All rights reserved.’ That license’s code (0) will be returned — if I remember to set the optional parameter in the request. It’s up to me as a programmer to inspect the license status and determine whether it’s one that allows for republication.</p>
<p>While the various licenses are described on your Flickr account’s <a href="http://www.flickr.com/account/prefs/license/?from=privacy">Set a default license</a> page, the only place where the license <em>code</em> is described is in the response from the <a href="http://www.flickr.com/services/api/flickr.photos.licenses.getInfo.html"><em>flickr.photos.licenses.getInfo</em></a> API method. And that response only lists the code, the license name, and the website where the license terms themselves can be obtained.</p>
<p>It’s unclear how and how often Flickr might change those licenses, so to play it safe, a developer might decide to call the <em>flickr.photos.licenses.getInfo</em> method every time a group of photos is fetched, or at least each time the application connects to the Flickr platform.</p>
<p>So we have ourselves here a situation:</p>
<ul>
<li>The <span class="caps">API</span> itself does not enforce the licensing specified by the owner.</li>
<li>The <span class="caps">API</span> does not return licensing information unless explicitly requested (except for one method).</li>
<li>The license information returned for an image is coded as an arbitrary number, whose meaning may change over time.</li>
<li>The license code must be looked up using a second <span class="caps">API</span> method to determine the actual license.</li>
<li>The license information is not sufficient to determine whether a given use is allowed.</li>
</ul>
<h2>Do all programs use the <span class="caps">API</span>?</h2>
<p>Although the Flickr <span class="caps">API</span> is well-designed, it’s still complicated. Because the <span class="caps">API</span> works over the network, it depends on an infrastructure and knowledge that many desktop or web programmers lack.</p>
<p>In response to this, modules of code have been developed to act as ‘middleware’ between the actual Flickr <span class="caps">API</span> and the application. Programmers call these ‘libraries’ or ‘frameworks’; Flickr calls them ‘API kits.’ These kits (most of which have been developed by independent developers, not Flickr) are available in all major programming languages and systems, and many applications do use them instead of programming directly to the Flickr <span class="caps">API</span>. Flickr publishes a list of most of the <span class="caps">API</span> kits available on their <a href="http://www.flickr.com/services/api/">Flickr Service</a> page.</p>
<p>Because the Flickr <span class="caps">API</span> is considered to be conceptually well designed, most <span class="caps">API</span> kits simply mirror the native <span class="caps">API</span> calls, adapting to the peculiarities of a language or operating system where necessary. So most programmers end up consulting the Flickr <span class="caps">API</span> documentation anyway, even when they aren’t directly using the <span class="caps">API</span>. Some <span class="caps">API</span> kits provide a simpler view of the Flickr <span class="caps">API</span> by abstracting or generalizing the methods.</p>
<p>Any third-party application, whether it uses the Flickr <span class="caps">API</span> natively or one of these <span class="caps">API</span> kits, has to apply to obtain a ‘key’ that allows access to the <span class="caps">API</span>; this key is included in every request for an <span class="caps">API</span> method. As part of the application process, Flickr requires an email address. Flickr therefore knows in theory who to contact about the usage of any particular application that uses the <span class="caps">API</span>, either directly or indirectly.</p>
<p>The problem raised by <span class="caps">API</span> kits is that another level of (mis)understanding and (mis)interpretation has been invented. If Flickr itself has not provided sufficient tools or documentation to interpret the license of a particular image, the developer of an <span class="caps">API</span> kit can hardly be expected do better. And that developer could do worse, if a poorly designed <span class="caps">API</span> kit obscured or removed the licensing information.</p>
<h2>What about the feeds?</h2>
<p>Flickr offers several different kinds of syndication feeds. They’re quite useful; I monitor many photographers’ photos using these feeds, and then browse their newest images in my news reader.</p>
<p>While Flickr publishes in all the major feed formats — Atom, <span class="caps">RSS</span>, RSS2, and <span class="caps">RDF</span> — the only one that contains <em>any</em> licensing information at all is Atom. And it is only this sad, broken line found in each image’s feed entry:</p>
<pre><code>&lt; link rel="license" type="text/html" href="deed.en"/ &gt;</code></pre>
<p>While this is a valid Atom idiom (see <a href="http://wiki.creativecommons.org/Atom#Specifying_a_License">Specifying a License</a> at the Creative Commons’ wiki pages), it’s not specified correctly: the ‘deed.en’ link should either point to a full address (perhaps <a href="http://creativecommons.org/licenses/by/2.0/deed.en_US">http://creativecommons.org/licenses/by/2.0/deed.en_US</a>), or be a valid path relative the feed’s base address. It’s neither of those, which make the license information completely invalid. Not to mention that it’s even more difficult than in the <span class="caps">API</span> example to determine what rights granted actually are.</p>
<p>So, effectively, Flickr is offering <em>no</em> licensing information with their syndication feeds.</p>
<h2>Why are they doing this?</h2>
<p>The choice of Flickr’s founders to open up so much of the platform in a relatively public way has made the Flickr community stronger and far more interesting than a more static, centrally-designed website. However, their decision to treat licensing terms as just more (optional) metadata shows a disconnect between data accessibility and respect for property.</p>
<p>I don’t believe Flickr is being malicious. I think they care about copyright; their support of the Creative Commons licenses was groundbreaking, and they do make it relatively easy for their users to select a license. And the fact that they default to an ‘All rights reserved’ license says a great deal about their attitude.</p>
<p>Flickr also requires that anyone who uses the <span class="caps">API</span> comply with each image’s assigned license. Here is section (1)(a)(ii) of the <a href="http://www.flickr.com/services/api/tos/">Flickr APIs Terms of Use</a>:</p>
<blockquote>
<p>Comply with any requirements or restrictions imposed on usage of the photos by their respective owners. Remember, Flickr doesn&#8217;t own the images — Flickr users do. Although the Flickr APIs can be used to provide you with access to Flickr user photos, neither Flickr’s provision of the Flickr APIs to you nor your use of the Flickr APIs override the photo owners’ requirements and restrictions, which may include “all rights reserved” notices (attached to each photo by default when uploaded to Flickr), Creative Commons licenses or other terms and conditions that may be agreed upon between you and the owners. In <span class="caps">ALL</span> cases, you are solely responsible for making use of Flickr photos in compliance with the photo owners’ requirements or restrictions. If you use Flickr photos for a commercial purpose, the photos must be marked with a Creative Commons license that allows for such use, unless otherwise agreed upon between you and the owner. You can read more about this here: www.creativecommons.org or www.flickr.com/creativecommons.</p>
</blockquote>
<p>But this legalese, however well it’s written, coupled with the associated lack of technical advice about applying the license on a given image, leads to the situation like Arthur Dent faced in <cite>The Hitchhiker’s Guide to the Universe</cite>: licensing terms for images are ‘on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying “Beware of the Leopard.” ’</p>
<p>Most programmers I know develop software by experience, not by specification. We play, experiment, poke at a system and see what comes back. If a piece of that data looks interesting, we’ll look at it closer. If it seems unimportant or optional, we may never examine it closely.</p>
<p>To tell you the truth, <em>I</em> never noticed that <code>license="3"</code> sitting there in the response, either. But I would have noticed if Flickr’s documentation had a big box saying: ‘You must always examine the <em>license</em> value, and only transfer or display the image if you can comply with its assigned license.’</p>
<p>By making the request for licensing terms optional, or at best obscure, Flickr is effectively saying that following the terms is also optional.</p>
<h2>How Flickr could improve the situation</h2>
<p>Flickr could rectify this situation, and reduce the confusion and misinformed reaction, by making a few simple technical changes to its <span class="caps">API</span>, and minimally reaching out to its community of photographers, viewers, and developers.</p>
<h3>Return licensing status by default in the <span class="caps">API</span>, and include additional attributes for license name and link, avoiding a second method call.</h3>
<h3>Document and emphasize this change in the documentation.</h3>
<h3>Publicize this change to developers of <span class="caps">API</span> kits, as well as developers of applications that use Flickr APIs.</h3>
<h3>Correct the broken syndication feeds and include licensing information and links wherever possible.</h3>
<h3>Clarify the permissions settings page so photographers understand the rights they are granting or releasing.</h3>
<p>Flickr may understandably want to avoid this. After all, their default license is ‘All rights reserved.’ If most of their users (whether naive or advanced) keep that license, and they advocate for third-party applications only fetching Creative Commons-licensed images, the result may be little of Flickr’s content being legally available to the applications. This would diminish Flickr’s goal of ‘Share your photos. / Watch the world.’</p>
<p>Some have posited that Flickr’s passivity about enforcement comes from an attitude of being a something like a <a href="http://en.wikipedia.org/wiki/Common_carrier">common carrier</a>: Flickr may feel they would be liable if they actually examined and judged the usage of Flickr content in terms of copyright and license. However, by making licensing status obscure and unobvious, Flickr is certainly not helping, and arguably could be accused of contributing to copyright violations through negligence.</p>
<p>Flickr has an opportunity here to educate its community about the benefits of copyright. Like its pioneering effort in offering the Creative Commons licensing model, Flickr could make copyright understandable to photographers, viewers, and developers of applications that use those APIs.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=13&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2008/07/11/how-flickr-could-make-the-world-a-better-place-for-copyright/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>On semantic HTML</title>
		<link>http://johnlabovitz.wordpress.com/2008/06/14/on-semantic-html/</link>
		<comments>http://johnlabovitz.wordpress.com/2008/06/14/on-semantic-html/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 07:44:39 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[History of technology]]></category>
		<category><![CDATA[publishing]]></category>

		<guid isPermaLink="false">http://johnlabovitz.wordpress.com/2008/06/14/untitled/</guid>
		<description><![CDATA[Reposted from a discussion on pdxruby. On Jun 14, 2008, at 3:02 AM, Bill Burcham wrote: How does one resolve the Absolute Good of semantic HTML against the need for a CSS layout framework? But I must ask: Semantic to whom? The framework? The browser? The web developer? The user? The user who peers into [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=12&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Reposted from <a href="http://groups.google.com/group/pdxruby/browse_thread/thread/4f4bb42ea85b2206">a discussion on <strong>pdxruby</strong>.</em></p>
<p>On Jun 14, 2008, at 3:02 AM, Bill Burcham wrote:</p>
<blockquote>
<p>How does one resolve the Absolute Good of <a href="http://en.wikipedia.org/wiki/HTML#Semantic_HTML">semantic <span class="caps">HTML</span></a> against the need for a <span class="caps">CSS</span> layout framework?</p>
</blockquote>
<p>But I must ask: Semantic to whom? The framework? The browser? The web developer? The user? The user who peers into the <span class="caps">HTML</span> page to see how well/poorly it&#8217;s constructed?</p>
<p><span id="more-12"></span></p>
<p>Semantic <span class="caps">HTML</span> has always seemed like a misguided idea. I have no problem with the idea of expressing content semantically, but I&#8217;m not sure <span class="caps">HTML</span> is the right place to take the fullest advantage of semantic markup. It&#8217;s language is too limited, too concrete, and was designed with the analog of printed, mostly textual publications.</p>
<p>And <span class="caps">CSS</span> doesn&#8217;t help: its generally a one-to-one styling mechanism. It can bridge generic presentation with specific presentation (&#8216;make this header Helvetica&#8217;), but it can&#8217;t provide more abstract functions: eg, creating a navigation system. This abstraction, I think, is what&#8217;s missing in the <span class="caps">HTML</span>/CSS universe.</p>
<p>At <span class="caps">HTML</span>&#8217;s inception, there were two worlds: one of pixel-level object interaction (CD-ROM/multimedia) and one of hypertext (SGML/running text). Tim Berners-Lee chose the latter. Interestingly, early <span class="caps">HTML</span> was <em>all</em> semantic: you marked up headings, paragraphs, citations, lists, etc. <a href="http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html">Here is the original &#8216;spec&#8217; for <span class="caps">HTML</span>.</a></p>
<p>Most of those elements still function in modern <span class="caps">HTML</span>. And in fact this is the only way I&#8217;ve been able to keep myself sane and still do web development: use old-style <span class="caps">HTML</span> elements (h[1-6], p, em, ul/li, dd/dl/dt) for marking up the text structure, use logical elements (div, span) for defining areas that need special treatment, and very occasionally change the style of elements directly (eg, &lt;p class=&#8221;foo&#8221;&gt;). I will even check sites using the lynx/links text-mode browsers just to make sure I haven&#8217;t made a mess of it all.</p>
<p>The most pure method seemed to be pushing <span class="caps">XML</span> down to the browser, and using something like <span class="caps">XSLT</span> to convert truly semantic markup into presentation markup. I think it was an idea ahead of its time, though; we were still knee-deep in the browser wars, decent web frameworks were rare, and most users/developers were still getting their heads around <span class="caps">CSS</span>. I suppose nowadays the answer is XMLHttpRequest, <span class="caps">JSON</span> responses, and buckets of <span class="caps">DOM</span>-modifying Javascript code.</p>
<p>Of course, technology has moved on and we&#8217;ve solved this in a few ways:</p>
<ul>
<li>Domain/content-type/browser detection: Instead of trying to make one perfect <span class="caps">HTML</span>/CSS page that properly renders on all browsers, give it up and create pages that are <em>more</em> specific for the user&#8217;s purpose. Just go full throttle and be unsemantic and concrete.</li>
</ul>
<ul>
<li>High-level widgets: Express the content semantically on the back-end, and implement either server-side widgets that build <span class="caps">HTML</span> that is then sent down the pipe, or client-side Javascript widgets that are rendered by the browser.</li>
</ul>
<ul>
<li>Hold your nose and use a framework: I know this has been my attitude in my recent usage of <a href="http://developer.yahoo.com/yui/"><span class="caps">YUI</span></a>. Yeah, it looks sucky and is unintuitive, but it works and I know I will never again vent my frustration for &#8216;hacks modes.&#8217; Of course, I still need a site-specific <span class="caps">CSS</span> file, but I find that its content is far simpler and less browser-dependent.</li>
</ul>
<p>Bill Burcham continued:</p>
<blockquote>
<p>Compare doing layout in semantic <span class="caps">HTML</span> and <span class="caps">CSS</span> to doing layout in Adobe InDesign for instance. I assert that the requirements addressed by the two approaches are roughly equivalent and yet you hardly have to be a high priest to do layouts in InDesign. You just lay things out. Sheesh.</p>
</blockquote>
<p>But this is apples and oranges: you&#8217;re comparing semantic <span class="caps">HTML</span>/CSS with (presumably) non-semantic page layout.</p>
<p>Doing semantic layout in InDesign is actually a total pain. I do a lot of InDesign layouts (these days, probably more than websites), and am often irritated that I have to use &#8220;hacks&#8221; to, for example, get the first paragraph in a chapter flush left but remaining paragraphs indented. There&#8217;s no apparent way to do it other than a special substyle of a the paragraph with no indenting, and manually setting the first paragraph to that substyle. Worse, there&#8217;s <em>no</em> way to have the chapter title appear a few picas down on a page without either moving the text box handles, or adding a dummy pre-title line that has the appropriate amount of leading.</p>
<p>InDesign layout seems easier because the end result is just ink on paper; its semantic meaning is implicit in the relationships of the page elements. Your choice of paper size, spacing, line measures, type size, font, etc., all create a meaning (if the design is successful) that the reader understands. The effect is the same regardless of whether you (the designer) create the elements by directly specifying text blocks, fonts, etc., or whether you use InDesign&#8217;s <span class="caps">XML</span> markup, stylesheets, anchors, etc.</p>
<p>And this gets back to my original point: who is the semantics intended for? All that really matters, in the end, is that the user/reader sees the printed/web page and understands its meaning.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=12&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2008/06/14/on-semantic-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>Evolution of the homepage</title>
		<link>http://johnlabovitz.wordpress.com/2008/05/23/evolution-of-the-homepage/</link>
		<comments>http://johnlabovitz.wordpress.com/2008/05/23/evolution-of-the-homepage/#comments</comments>
		<pubDate>Sat, 24 May 2008 03:07:51 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[History of technology]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://johnlabovitz.wordpress.com/2008/05/23/evolution-of-the-homepage/</guid>
		<description><![CDATA[Once upon a time, when the web was new (and was called by its full moniker, the World Wide Web), people had homepages. Like little artist studios open to the street, homepages were personal playgrounds made public, space both private and personal. In the days before search engines, we&#8217;d visit someone&#8217;s homepage because they&#8217;d invited [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=11&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Once upon a time, when the web was new (and was called by its full moniker, the World Wide Web), people had homepages.  Like little artist studios open to the street, homepages were personal playgrounds made public, space both private and personal.  In the days before search engines, we&#8217;d visit someone&#8217;s homepage because they&#8217;d invited us, or someone else had invited us.  Discovered not by centralized indexing and retrieval, but instead by wandering and word of mouth, homepages were often magical little rooms, filled with strange objects and stranger stories.</p>
<p><span id="more-11"></span><br />
Akin to the houses built into the castle walls, the early personal homepages were homely and homemade.  The architecture was vernacular, the materials simple: hand-coded HTML and simple GIF images.  We gained access through the twisted doorways of the tilde characters in the URLs; an address like <a href="http://meer.net/~johnl/writings/icecream.html">http://meer.net/~johnl/writings/icecream.html</a> was a common sight.  It was a time before domain names became brand names, and before URLs became inscrutable.</p>
<p>Those days before the browser wars were primitive but invigorating.  Web publishing technology was simple and relatively accessible. If you could run a text editor, you could learn enough HTML to design your first page in just a few hours.  Browser bugs and incompatibilities existed, but the markup syntax and layout model was so simple that bugs could be worked around.  No one considered pixel-level positioning, custom fonts, scripting, or stylesheets.  There was simply no way to do it, short of large graphic files with image-maps.  A page changed only when the creator changed it; the web was expansive, but static.  The worldview of the early web was about <em>description</em>; we described the way we wanted the page laid out, and so it was.</p>
<p>Many years have passed.  The kingdom of the hobbyists and hackers has scattered; the castle walls have come down, replaced with carefully designed monuments expertly built with exotic materials.  No one hand-hews raw HTML tags, or lifts their files into place using FTP.  Most of the old personal homepages were left behind; some still exist in dark corners of the Internet, their simplicity holding them together like baling wire and tin cans.</p>
<p>The movement towards WYSIWYG authoring tools (the words themselves should have been a warning) began the industrialization of the web.  Like a buyer of a Sears Craftsman house, a homepage author could begin by searching through a library of designs, templates into which their personal vision would be slotted.  The raw materials of HTML would be hidden from him: he would need only to design with the abstract GUI tools of DreamWeaver, FrontPage, and other desktop and web-based applications too many to mention.  These are still with us, still uploading horrendous, hacky code to homepages.</p>
<p>But even templates could not satisfy.  We needed the machines to not just blindly copy, but <em>create.</em> The age of informational robotics, of dynamic content, was upon us.  Calendars!  Menus!  Forms!  Widgets!  Plugins!  <em>Action!</em> A webpage was not just a description, but directions in many languages to many players: the backend code creating brand-new and perfectly adapted content for each viewer, the web server constantly shuffling data, the stylesheet converter prettying up the elements, the layout engine placing boxes to and fro, the JavaScript perversely modifying its own document, and way back in the rear of the hall, tired and overworked, the decrepit HTML attempting to glue it all together.</p>
<p>In the sprawl, we lost track of the open space, the squats where the personal homepages had largely existed.  Gone was the open access in the free space of a borrowed server; schools and companies no longer permitted personal use.  Evolution through generations of ISPs left us with the shiny but controlled and corporate expanse of the AOLs, Earthlinks, Yahoos, and Googles.  Creating a &#8216;profile page&#8217; in those super-franchised spaces offered only the illusion of a web-room of one&#8217;s own.</p>
<p>If we found our way to the real estate being hawked by the commercial webhosting services, we pressured ourselves to make a big splash.  Our own domain, custom code, a database, mailing lists, RSS feeds, perhaps even a saleable product or two&#8230;  We became celebrities of our own making, abandoning the simplicity of the homepage signed with a tilde at the back of a borrowed server, and lit out for the bright lights of the owned and paid-for personal site.  But even that was ultimately unsatisfying, even frustrating: the technology had grown so complex, and the interface expectations so high, that one spent more time debugging browser bugs than creating a personal space.</p>
<p>Yet through all this the homepage survived.  Industrialization, automation, centralized hosting, and the desire for an online personal space finally created that awkwardly and anti-climactically-named prime construct of the early 21st century: the blog.</p>
<p>The modern blog is as rigid and formal as the pioneering homepages were fluid and diverse.  Almost no one, save the geeks, creates a blog from scratch, purpoase-built to fit their purpose; only a few people customize their blogs beyond selecting from a tiny catalog of &#8216;designer&#8217; themes and choosing a few widgets.  Most of the millions of blogs are hosted on the same half-dozen server farms.  Creating a blog is easier than finding parking in the mall.</p>
<p>We could almost just stop here.  The architecture of the blog is simple, but useable; it&#8217;s flexible, but not overwhelming.  I&#8217;ve seen amazing websites built on top of blogging platforms, and the simple abstractions of posts and pages (plus decent widgets for WYSIWYG editing) finally rises above the tedious construction of HTML files.</p>
<p>But a blog is, in the end, just a notebook.  It&#8217;s perfect for some people, a reasonable compromise for others.  But often a blog ends up where it started: a personal journal, in reverse chronological order.  Its constraints can be freeing, or frustrating.</p>
<p>However, such criticism ignores two important elements of blogs that point away from the self-centered act of journaling, and towards the new personal homepage.  Those two elements are feeds and comments.</p>
<p>Comments (and trackbacks, to a lesser extent) enable the blog to not only exist as an individual online space (which may have &#8216;active&#8217; widgets, as per the second-generation web), but as an <em>interactive</em> space.  No longer is a visitor a passive viewer in a homepage; they can record their reactions, and far beyond the old-school &#8216;guestbooks&#8217; that gave a brief nod towards interaction, the comments become a part of the space itself.  Granted, comments are a limited tool in a shared space, but they&#8217;re important nonetheless.</p>
<p>Feeds allow a long-term, long-range view into the space of the blog.  Feeds effectively expand the space of a site, and let me see a part of what happens in your space.  The seeing is mediated by the limitation of the data that goes into the feeds, which makes certain that reading a feed does not (in most cases) replace the real experience of actually visiting your space.</p>
<p>And so, starting from the early static homepages, moving through the dynamic but still independent spaces, then adding a little local participation and remote observation, we now arrive in what seems to be a nomadic online world.  This is not pioneering; we&#8217;re not hewing our own log walls out of the cybernetic wilderness.  This is not homesteading; our MySpace or Facebook page is rarely the only place we hang our online hats.  And this is not suburban consumerism; we are spending much more time in places other than Amazon and porn sites.</p>
<p>It&#8217;s far more effective and interesting for me to share my photos on Flickr or SmugMug than it is to install a gallery on my own site.  And posting my travel tales on a shared travel-blog site like TravellersPoint is ultimately more effective than perfecting my own travel-blogging engine.  The effort in getting my photos seen or my travel tales read is so much less when I chose a context that encourages that specific kind of content, and more importantly, encourages interaction between the members.  I am participating not just in the general online world, but in shared contextual spaces.  This is a new dimension in participating online: not only do I decide what and how to express myself, I must consider <em>where</em> to express myself.  If I want to start creating songs, it&#8217;s probably most effective for me to find a network of other people who are fellow musicians, and who want to share and participate.</p>
<p>As we participate in all these blogs, networking sites, forums, and other communities, we each create and build this network that reflects ourselves.  If all this content and interaction was gathered together, it might be similar to the stories told on those early static HTML homepages.</p>
<p>Of course, this isn&#8217;t entirely new.  Since the earliest use of online forums (bulletin boards, mailing lists, and so on) in the 1970s and 1980s, anyone&#8217;s collected participation could be looked at as a sort of dispersed personal space.  But that space could not be readily identified, described, or maintained, much less managed.</p>
<p>And I don&#8217;t mean managed by an IT staff.  The breakthrough of social networks, and what the hullaballoo is largely about, is that these networks represent (and mediate) the relationships between me and all the people I interact with, and I can make choices about which connections to encourage, which to reject, and which to simply ignore.  In the past, connecting all my postings, chats, and other online interactions together would have been done by inaccurate webscraping and spidering, postdated notes of memberships, and heuristic searching of archives for common email addresses or nicknames; now, by importing and exporting the definitive (for each site) information through published APIs, many sites allow me to connect together several sub-identities into a super-identity I can call the &#8216;online John.&#8217;</p>
<p>This is, in a sense, &#8216;John&#8217;s homepage.&#8217;  The network as a whole contains the strange objects and stranger stories that I have collected, along with the people who have witnessed them.  But it is dispersed, and although more navigable and connected than in the past, still without a good starting point.</p>
<p>And that leads me to the original inspiration for this essay: what a personal homepage looks like to me now, and how that differs from the homepages I created in the past.</p>
<p>I believe there is still a purpose for a personal homepage.  I still want to hand out a business card to a person I&#8217;ve just met, and say, &#8220;This is where you&#8217;ll find me.&#8221;  I still want to shape the impression, show the network strands of my online personality.  Currently, I can think of no way to do this except for setting down a particular place on the net where I can gather the aspects of the &#8216;online John,&#8217; perhaps give a preview of where I&#8217;ve been, what I&#8217;m doing now, and where I&#8217;m going.</p>
<p>But while my personal homepage is a starting point &#8212; a portal,<br />
dare I say &#8212; it is not the center.  The homepage is not the <em>content</em> of my online identity; it <em>points</em> to aspects of that identity.</p>
<p>And so, technically speaking, my homepage is a thin skin on top of a few of my online identities and spaces: email, IM/Skype, Twitter (new for me), my photography work, my travels, and my technical work.  The entire homepage is dynamic and based on external feeds and APIs: there is no local data (save for some of the overall descriptions, where I don&#8217;t have access to the appropriate APIs on the related sites; for example, Flickr doesn&#8217;t allow me to access the text of my profile via an API).</p>
<p>As we used to say in the old days: Please check out my homepage, at <a href="http://johnlabovitz.com">http://johnlabovitz.com</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=11&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2008/05/23/evolution-of-the-homepage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>Lovely technology</title>
		<link>http://johnlabovitz.wordpress.com/2007/02/11/lovely-technology/</link>
		<comments>http://johnlabovitz.wordpress.com/2007/02/11/lovely-technology/#comments</comments>
		<pubDate>Sun, 11 Feb 2007 20:22:53 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Observations]]></category>

		<guid isPermaLink="false">http://handcraftedsound.wordpress.com/2007/02/11/lovely-technology/</guid>
		<description><![CDATA[In technology&#8217;s steady march onward, older ways of doing things are abandoned, lost, left for dead on the side of progress&#8217;s highway. Yesterday&#8217;s tech is sneered at, put down, and said to be good for nothin&#8217;. The new tech is better, faster, slicker &#8212; and certainly cheaper, from a manufacturing point of view, being less [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=10&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In technology&#8217;s steady march onward, older ways of doing things are abandoned, lost, left for dead on the side of progress&#8217;s highway.  Yesterday&#8217;s tech is sneered at, put down, and said to be good for nothin&#8217;.  The new tech is better, faster, slicker &#8212; and certainly cheaper, from a manufacturing point of view, being less expensive in time, materials, or energy.</p>
<p align="center"><a href="http://www.diyfactory.com/projects/diyla2/diyla2.htm"><img src="http://www.diyfactory.com/projects/diyla2/TurretBoardClose.jpg" alt="" width="400" /></a></p>
<p><a href="http://www.diyfactory.com/projects/diyla2/diyla2.htm"> </a></p>
<p align="right"><a href="http://www.diyfactory.com/projects/diyla2/diyla2.htm">Kent&#8217;s LA2 compressor</a></p>
<p><span id="more-10"></span>But the gleaners eventually come.  The scrapheaps are discovered, evaluated, stripped, sorted.  Dead-ends and really cheap crap is tossed.  Elders are consulted in how this stuff used to work.  And the technology is brought back to life in new ways, with new eyes, and with vision more often backed by art than commerce.</p>
<p>Deconstruct consumerism.  Question the traditional modes.</p>
<p align="center"><a href="http://www.ucapps.de/gallery_midibox64.html"><img src="http://www.midibox.org/midibox_gallery/meek1.jpg" alt="" width="400" /></a></p>
<p><a href="http://www.ucapps.de/gallery_midibox64.html"> </a></p>
<p align="right"><a href="http://www.ucapps.de/gallery_midibox64.html">Rob&#8217;s typographical sequencer controller</a></p>
<p>Recontextualize the devices.</p>
<p align="center"><a href="http://www.briangt.com/gallery/nigc-mlabuda/GainClone_001"><img src="http://www.briangt.com/gallery/albums/nigc-mlabuda/GainClone_001.sized.jpg" alt="" width="400" /></a></p>
<p><a href="http://www.briangt.com/gallery/nigc-mlabuda/GainClone_001"> </a></p>
<p align="right"><a href="http://www.briangt.com/gallery/nigc-mlabuda/GainClone_001">Brian&#8217;s GainClone amplifier</a></p>
<p>Today&#8217;s technology tends toward the invisible.  How small and compact can we make it?  How can we remove the spiderweb of cabling?  We want transparency; the device is only a player of content.  But there is texture we have lost, and that is being rediscovered.</p>
<p align="center"><a href="http://hem.bredband.net/bersyn/mek.htm"><img src="http://hem.bredband.net/bersyn/VCF%20baksida.jpg" alt="" width="400" /></a></p>
<p><a href="http://hem.bredband.net/bersyn/mek.htm"> </a></p>
<p align="right"><a href="http://hem.bredband.net/bersyn/mek.htm">Jörgen&#8217;s homebuilt synthesizer modules</a></p>
<p>Something magical happens when technology is appropriated in such a way as to become art in itself.</p>
<p align="center"><a href="http://www.flickr.com/photos/admurder/tags/minimalsoundsculpture/"><img src="http://farm1.static.flickr.com/1/2628887_848a83db1d.jpg?v=0" alt="" width="400" /></a></p>
<p><a href="http://www.flickr.com/photos/admurder/tags/minimalsoundsculpture/"> </a></p>
<p align="right"><a href="http://www.flickr.com/photos/admurder/tags/minimalsoundsculpture/">Peter&#8217;s Minimal Sound Sculpture</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=10&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2007/02/11/lovely-technology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>

		<media:content url="http://www.diyfactory.com/projects/diyla2/TurretBoardClose.jpg" medium="image" />

		<media:content url="http://www.midibox.org/midibox_gallery/meek1.jpg" medium="image" />

		<media:content url="http://www.briangt.com/gallery/albums/nigc-mlabuda/GainClone_001.sized.jpg" medium="image" />

		<media:content url="http://hem.bredband.net/bersyn/VCF%20baksida.jpg" medium="image" />

		<media:content url="http://farm1.static.flickr.com/1/2628887_848a83db1d.jpg?v=0" medium="image" />
	</item>
		<item>
		<title>The warmth of digital</title>
		<link>http://johnlabovitz.wordpress.com/2007/02/08/ah-the-warmth-of-digital/</link>
		<comments>http://johnlabovitz.wordpress.com/2007/02/08/ah-the-warmth-of-digital/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 18:28:01 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Observations]]></category>

		<guid isPermaLink="false">http://handcraftedsound.wordpress.com/2007/02/08/ah-the-warmth-of-digital/</guid>
		<description><![CDATA[While browsing an audiophile headphone site, I come across some threads discussing the inherent sound qualities of computer sound cards. The threads (unfortunately lost to time due to broken links) are a curious mix of the highly aesthetic and the highly technical: ‘Looking for a sound card that is warm and musical. (Currently have 1212M).’ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=9&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While browsing <a href="http://www.head-fi.org">an audiophile headphone site</a>, I come across some threads discussing the inherent sound qualities of computer sound cards.  The threads (unfortunately lost to time due to broken links) are a curious mix of the highly aesthetic and the highly technical: <em>‘Looking for a sound card that is warm and musical. (Currently have 1212M).’</em> Or <em>‘Upgrading fr[om] Audigy2 ZS platinum Pro to Emu 0404 or Emu 1212m : Day and night diff?’</em></p>
<p>I&#8217;m not sure of the context here: are these guys just using these soundcards to digitize vinyl to play back later, or are they using their computer system as some sort of ultra-fancy hifi receiver?</p>
<p>Either way, they&#8217;re describing the effects of the various sound cards, if they are good, as &#8216;warm,&#8217; &#8216;musical,&#8217; or with a &#8216;wider soundfield.&#8217;  These are attributes usually used when talking about analog gear, often in contrast to the analog domain.  The unsatisfying cards are labeled &#8216;uninteresting&#8217; and &#8216;analytical.&#8217;</p>
<p>We&#8217;re observing the audiophile world, which has a peculiar, extreme consumer fetishism.  In this case, the sound card has become a component in an audiophile system, and so is peered at and dissected in the same way an amplifier, turntable, or speakers might be examined.  There is nothing wrong with this, really &#8212; a listener should evaluate all points in the signal path.</p>
<p>Like the pro audio world, equipment is not entirely sacred: it can be modified, and several posters in this thread have replaced certain components (usually amplifier chips; the threads reference &#8216;opa637&#8242;).  However, the pro audio world replaces components to reduce noise or expand the frequency response.  I&#8217;m fascinated that the audiophile folks are modifying the circuits to tweak the sound itself.</p>
<p>I&#8217;m not saying any of this is invalid.  It&#8217;s just interesting to me that the pro audio world looks at digital primarily for accuracy and transparency (primarily for recording), and uses analog to shape and warm sound, while the audiophile world either disdains digital entirely, or imposes the conventional desires onto every segment of the signal chain.</p>
<p>How far can this go?  Will Windows XP SP1 be looked back at as having a ‘sweeter’ sound than later versions?  Will there be a particularly listenable computer system, highly sought after, obscure, manufactured by a tiny firm in the back alleys of <a href="http://en.wikipedia.org/wiki/Akihabara">Akihabara</a>, that is rumored to sound even better than pure analog?</p>
<p>(It is especially ironic that the ‘possibly related posts’ that WordPress automatically generates just below this posting are exactly the sort of thing I&#8217;m talking about.)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=9&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2007/02/08/ah-the-warmth-of-digital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
		<item>
		<title>Banging my head against the bits</title>
		<link>http://johnlabovitz.wordpress.com/2007/01/30/banging-my-head-against-the-bits/</link>
		<comments>http://johnlabovitz.wordpress.com/2007/01/30/banging-my-head-against-the-bits/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 08:51:54 +0000</pubDate>
		<dc:creator>John Labovitz</dc:creator>
				<category><![CDATA[Observations]]></category>

		<guid isPermaLink="false">http://handcraftedsound.wordpress.com/2007/01/30/banging-my-head-against-the-bits/</guid>
		<description><![CDATA[The first time I used a computer for music was in the early 1980s. This was long before most computers had any sort of built-in sound generator, besides a single-tone feeping speaker. I used the trick invented by geeks several decades earlier: set an AM radio next to the computer, write a looping program that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=7&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The first time I used a computer for music was in the early 1980s.  This was long before most computers had any sort of built-in sound generator, besides a single-tone feeping speaker.  I used the trick invented by geeks several decades earlier: set an AM radio next to the computer, write a looping program that sleeps a certain time between iterations, and listen to the somewhat-musical radio interference emitted by the CPU and picked up by the radio.</p>
<p><span id="more-7"></span></p>
<p>I didn&#8217;t get very far with the AM radio trick, it being too difficult to program, and not all that interesting, sonically.</p>
<p>Later in the 1980s, I used my Mac Plus to generate drum machine tracks for some songs recorded by my friend Paul &amp; I.  This was wonderful, in a lo-fi sort of way.</p>
<p>Over the years, as digital recording became The Next Big Thing, I would occasionally experiment with new audio converters, plugins, editors, and the like.  However, I nearly always found the tools unintuitive and complex, requiring too many mouse clicks for too little return (in comparison to the beautiful simplicity of pressing a &#8220;record&#8221; button).  Simulated dials and buttons just made for a messy and fussy interface, rather than somehow bringing back the intuition of a traditional studio.</p>
<p>And the more I exploited the plugins and other software gizmos, the less I felt like I was in a studio, and the more I felt like I was in the computer.  To be clear: there&#8217;s nothing wrong with being in the computer; as a programmer, I completely enjoy the feeling of &#8220;playing&#8221; the computer.  However, it seems, to me, incompatible with creating the kind of music I like to create.</p>
<p>(I will admit that MIDI, while a crappy protocol itself, is a wonderful idea, and very powerful in a studio.  Being able to remotely control processing, including mixdown, has real potential.  It&#8217;s a cool way to use the benefits of digital even with an analog signal path.)</p>
<p>I also felt the recorded sound quality was far less than I had been used to in the old analog world.  Granted, most of these experiments were on cheap hardware.  Better preamps help, as do better analog-to-digital converters, and that&#8217;s exactly what&#8217;s being advertised these days.  But that&#8217;s part of the current problem with digital: cheap hardware is what most people buy, and it&#8217;s easy possible to hear the lack of depth in many contemporary recordings.  4-track analog cassette tape sounded better than some of these digital tracks.</p>
<p>Finally, the largest problem I&#8217;ve had with digital recording is the <em>latency.</em>  This is a huge issue, and one that is obvious if you read the marketing materials of any of the companies producing audio interfaces.  It may be fine for a MIDI-based keyboardist, looper, or primarily in-the-box sound creator, but as someone who <em>primarily</em> overdubs real/live instruments, the delays I encounter while recording are completely maddening.  Again, this could be somewhat improved by better, more expensive hardware &#8212; <em>eg,</em> Firewire or PCI interfaces instead of USB.  However, it seems impossible on regular Mac/PC architectures to reduce the latency to a level that is totally inaudible, especially if any sort of digital processing (compression, reverb, etc.) is being performed.  I have always found it interesting that most folks selling digital audio tools are lost without an answer when I really dig into the latency problems.</p>
<p>The usual &#8220;fix&#8221; is to turn off any processing while recording, reducing the latency to a minimum.  However, this goes against my own recording methods of using the studio as an instrument.  By delaying any sort of creative texturing until mixdown, I feel like an electric guitarist forced to play without an amp, being told that I can always add that Marshall stack later.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/johnlabovitz.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/johnlabovitz.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnlabovitz.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnlabovitz.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnlabovitz.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnlabovitz.wordpress.com&amp;blog=3804011&amp;post=7&amp;subd=johnlabovitz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnlabovitz.wordpress.com/2007/01/30/banging-my-head-against-the-bits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03126577023ec1dbbeeeee90438c6ff6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jslabovitz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
