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

<channel>
	<title>New Media Initiatives &#187; Nate Solas</title>
	<atom:link href="http://blogs.walkerart.org/newmedia/author/nate/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.walkerart.org/newmedia</link>
	<description>Just another Walker Blogs weblog</description>
	<lastBuildDate>Thu, 12 Nov 2009 20:27:13 +0000</lastBuildDate>
	<generator>walker_blogs</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Behind-the-scenes of ArtsConnectEd: Art Finder</title>
		<link>http://blogs.walkerart.org/newmedia/2009/09/22/behind-the-scenes-of-artsconnected-art-finder/</link>
		<comments>http://blogs.walkerart.org/newmedia/2009/09/22/behind-the-scenes-of-artsconnected-art-finder/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 20:21:00 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[ArtsConnectEd]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=889</guid>
		<description><![CDATA[On September 1, 2009 the new ArtsConnectEd became available at ArtsConnectEd.org.  The new site provides access to more than 100,000 museum resources, including audio, video, images, and information about works of art, all of which can be saved and presented with the more powerful Art Collector.
This project was at least three years in the making, [...]]]></description>
			<content:encoded><![CDATA[<p>On September 1, 2009 the new ArtsConnectEd became available at <a href="http://www.artsconnected.org/">ArtsConnectEd.org</a>.  The new site provides access to more than 100,000 museum resources, including audio, video, images, and information about works of art, all of which can be saved and presented with the more powerful Art Collector.</p>
<p>This project was at least three years in the making, with the last two of those being the technical work of research, design, and development.  In this series of posts I&#8217;d like to present some of the decisions we struggled with and the process we went through in developing the new site.  I&#8217;ll start with the Art Finder, followed by a post on the Art Collector and presentations, and finish with a post about some of the more technical aspects including the data and harvesting technologies we&#8217;re using.</p>
<h1>Art Finder</h1>
<p>The Art Finder is the guts of the site, a portal into our thousands and thousands of objects, text records, and more.  I don&#8217;t think it&#8217;s an exaggeration to say designing and building this component was the biggest challenge we faced in the entire process.  We&#8217;ve redesigned the interface many times, often significantly, and are still not certain it&#8217;s right.  We&#8217;ve changed the underlying technology from a SQL / Lucene hybrid to a straight-up <a href="http://lucene.apache.org/solr/">Solr</a> search engine.  We&#8217;ve debated (endlessly) what fields to include, and what subset of our data to present in those fields.  We&#8217;ve gone back and forth over tab titles, and even whether to use tabs.  A rocky road, to say the least.</p>
<h2>The big idea</h2>
<p>What if we could start with <em>everything</em> and narrow it down from there?  Offer the user the entire collection and let them whittle away at it until they found what they wanted?</p>
<p><em><strong>It&#8217;s all browse.  Keyword is just another filter.</strong></em></p>
<p>To me this is the big breakthrough of the ArtsConnectEd interface.  We don&#8217;t hide the content behind a search box, or only show filters after you try a keyword.  We don&#8217;t have a separate page for &#8220;Advanced Search&#8221;, but we offer the same power through filters.  There is still a keyword field for those who know exactly what they&#8217;re looking for, but we get to use our metadata in a more powerful way than simple text.  That is, since know the difference between the <a href="http://www.artsconnected.org/resource/list/breadcrumb/true/category/work/f_workHasThumbnailMedia/on/query/painting/sortby/relevance/order/desc"><em>word</em> &#8220;painting&#8221;</a> appearing in the description and something that <a href="http://www.artsconnected.org/resource/list/breadcrumb/true/category/work/f_workHasThumbnailMedia/on/f_workDisplayResourceType/Paintings/sortby/title/order/asc"><em>is</em> a painting</a>, we can present that to the user through filters.</p>
<h2>How we Got here</h2>
<p><a href="http://blogs.walkerart.org/newmedia/files/2009/09/browse_wireframe.gif"><img class="size-thumbnail wp-image-896 alignleft" style="border: 2px solid black;margin-left: 5px;margin-right: 5px" src="http://blogs.walkerart.org/newmedia/files/2009/09/browse_wireframe-150x150.gif" alt="browse_wireframe" width="150" height="150" /></a>We wanted many ways for the user to explore the collection, with the idea we might hopefully mimic some of the serendipity of exploring a gallery.  The tech committee felt early on that we&#8217;d need, in addition to a robust search, some way to freely browse.  Our initial attempt was to split the Art Finder into a Browse interface (left) and a Search interface (right).<a href="http://blogs.walkerart.org/newmedia/files/2009/09/search_wireframe.gif"><img class="size-thumbnail wp-image-897 alignright" style="border: 2px solid black;margin-left: 5px;margin-right: 5px" src="http://blogs.walkerart.org/newmedia/files/2009/09/search_wireframe-150x150.gif" alt="search_wireframe" width="150" height="150" /></a></p>
<p>After forcing users to choose a content type to browse (Object, Text, etc), we exposed facets (fields) to allow filtering, e.g. by Medium or Style.  These facets were hidden by default in the Search interface, where instead you started with a keyword and content type as tabs &#8212; but could then click to reveal the same browse filters!  The more we played with these two ideas, the more we realized they were essentially the same thing, the only difference being a confusing first step and then having to learn two interfaces.  The real power of the site was in combining them, committing fully to Browse, and adding the keyword search as a filter.</p>
<p>Lastly, as we harvested more of our collections we realized pushing filters to the front offered a better way to drill down when many of our records are not text-heavy and thus less findable via keyword search.  In many ways browse leveled the playing field of our objects between those with healthy wall labels and those with more sparse metadata.</p>
<p style="text-align: center"><img class="size-full wp-image-910 aligncenter" style="border: 1px solid black" src="http://blogs.walkerart.org/newmedia/files/2009/09/fact_discovery.png" alt="fact_discovery" width="597" height="234" /></p>
<h2>What works</h2>
<p>(In my humble opinion!)  A good browse has to do a few things:</p>
<ul>
<li><strong>Be fast.</strong> Studies have shown that slow search (or browse) results derail a user&#8217;s chain of thought and makes it difficult to complete tasks.  We went one step further and did away with the &#8220;Go&#8221; button for everything but keyword &#8211; making a change to a pulldown automatically updates your result set.  (It&#8217;s not instant, but it&#8217;s fast enough the action feels connected to the results)</li>
<li><strong>Reduce complex fields to an intuitive subset.</strong> We have a huge range of unique strings for the Medium field, but we&#8217;ve broadly grouped them to present a reasonable-sized pulldown.  Likewise for the Culture pulldown.  (We manually reduce the terms for Medium, and have a automated Bayesian filter for the Culture field)</li>
<li><strong>Have good breadcrumbs.</strong> Users need to know what options are in effect and be able to backtrack easily.</li>
<li><strong>Avoid dead ends. </strong> With many interfaces it&#8217;s entirely too easy to browse yourself into an empty set.  By showing numbers next to our filter choices, we can help users avoid these &#8220;dead ends&#8221;.</li>
<li><strong>Expose variety.</strong> Type &#8220;Jasper Johns&#8221; in the artist field, and <a href="http://www.artsconnected.org/resource/list/breadcrumb/true/category/work/f_workHasThumbnailMedia/on/f_workDisplayCreator/Jasper+Johns/sortby/title/order/asc">check out</a> the Medium pulldown: it shows the bulk of his work is in Prints, but we also have a few sculptures, some mixed media, etc.  A nice way to see the variety of an artist&#8217;s work at-a-glance.</li>
<li><strong>Autocomplete complicated fields.</strong> If a search box is targeted to a field (like our Artist box), it needs to autocomplete.  Leaving a field like this open to free text is asking for frustration as people get 0 results for &#8220;<a href="http://www.artsconnected.org/resource/list/breadcrumb/true/category/work/f_workHasThumbnailMedia/on/query/Claes+Oldenberg/sortby/relevance/order/desc">Claes Oldenberg</a>&#8220;. (Auto-suggest &#8220;did you mean&#8221; should also work!)</li>
<li><strong>Have lots of sort options.</strong> One of my favorite features of the new Art Finder is the ability to <a href="http://www.artsconnected.org/resource/list/breadcrumb/true/category/work/f_workHasThumbnailMedia/on/f_workDisplayResourceType/Sculpture/sortby/size/order/desc">sort by size</a>.  Super cool.  (check out the Scale tab in the detail view for <a href="http://www.artsconnected.org/resource/86810/38/unpainted-sculpture/tab/scale#scale">more</a> <a href="http://www.artsconnected.org/resource/91421/56/the-parachutist/tab/scale#scale">fun</a>!)</li>
</ul>
<p>I&#8217;m biased after this project, but I&#8217;m fairly convinced combining faceted browsing with keyword search is absolutely the way to go for collection search.  It gives the best of both worlds, powerful but still intuitive.</p>
<p style="text-align: center"><img class="size-full wp-image-906 aligncenter" src="http://blogs.walkerart.org/newmedia/files/2009/09/facets_1.png" alt="facets_1" width="572" height="360" /></p>
<h2>What could be better</h2>
<p>&#8230; but is it really intuitive?  People seem to still be looking for a big inviting search box to start with.  The interface is crowded, and the number of options looks intimidating.  We&#8217;ve ended up avoiding using the words &#8220;Search&#8221; and &#8220;Browse&#8221; because they were loaded and causing confusion.  We&#8217;ve tried many versions of the tab bar to try to clarify what filters apply globally (e.g. Institution) and which only effect that tab (Works of Art have an Artist, for instance), but I don&#8217;t believe we&#8217;ve solved it.</p>
<p>I think the two components of the interface that give us the most trouble and confusion are actually the &#8220;Has Image&#8221; checkbox and the &#8220;Reset All&#8221; button.  These are consistently missed by people in testing, and we have tried almost everything we can think of.  Oh, and the back button.  The back button is &#8220;broken&#8221; in dynamic search like this.</p>
<p>Also, while I really like the look of the tiles in the results panel, we&#8217;ve had to heavily overload the rollover data to show fields we can sort by since there&#8217;s no more room in the tiles.  We also intended to create alternative result formats, such as text bars, etc, which could show highlights on matching keywords, but this item was pushed back for other features.</p>
<p>We&#8217;ve defaulted to sorting alphabetically by title when a user first reaches the page, and I&#8217;m no longer sure this is best.  As we&#8217;ve populated the collections in ArtsConnectEd we&#8217;ve ended up with a bunch of works that have numbers for titles, make the alpha sort less obvious.</p>
<p>You tell me!  Give <a href="http://www.artsconnected.org/">the site</a> a spin and post a comment &#8211; what works, and what could be better?</p>
<p style="padding-left: 30px"><span style="font-size:.75em">Resources:</span></p>
<ul>
<li><a href="http://www.uie.com/articles/faceted_search/">Designing for Faceted Search</a> (http://www.uie.com/articles/faceted_search/)</li>
<li><a href="http://www.uie.com/events/virtual_seminars/facets/FacetedSearchVS35Handout.pdf">Faceted Search: Designing Your Content, Navigation, and User Interface</a> (http://www.uie.com/events/virtual_seminars/facets/FacetedSearchVS35Handout.pdf)</li>
<li><a href="http://en.wikipedia.org/wiki/Faceted_search">Faceted Search</a> (http://en.wikipedia.org/wiki/Faceted_search)</li>
<li><a href="http://www.uxmatters.com/mt/archives/2009/09/best-practices-for-designing-faceted-search-filters.php">Best Practices for Designing Faceted Search Filters</a> (http://www.uxmatters.com/mt/archives/2009/09/best-practices-for-designing-faceted-search-filters.php)</li>
<li><a href="http://www.vam.ac.uk/cis-online/search/?q=blue&amp;commit=Search&amp;category%5B%5D=5&amp;narrow=1&amp;offset=0&amp;slug=0">V&amp;A Collections</a> (beta) (http://www.vam.ac.uk/cis-online/search/?q=blue&amp;commit=Search&amp;category%5B%5D=5&amp;narrow=1&amp;offset=0&amp;slug=0)
<ul>
<li>Their facets aren&#8217;t as up front as I&#8217;d like (you have to start with a keyword), but they&#8217;re done really well once they show up.</li>
<li>You can also cheat and leave keyword blank to get a full browse and go right to the facets&#8230;  Maybe start here?</li>
</ul>
</li>
<li><a href="http://www.moma.org/collection/search.php">MOMA Collections</a> (http://www.moma.org/collection/search.php)
<ul>
<li>Nice presentation of facets, but I wish two things: show me a number next to all constraints, not just artists, and let me add a keyword.  (I got a dead end looking for on-view film from the 20s or 2000s)  I also like that it&#8217;s a true browse &#8211; leaving everything at &#8220;All&#8221; seems to give me the whole collection.</li>
</ul>
</li>
</ul>
<p style="padding-left: 30px">
<p style="padding-left: 30px">
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2009/09/22/behind-the-scenes-of-artsconnected-art-finder/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Some thoughts on preserving Internet Art</title>
		<link>http://blogs.walkerart.org/newmedia/2009/07/13/some-thoughts-on-preserving-internet-art/</link>
		<comments>http://blogs.walkerart.org/newmedia/2009/07/13/some-thoughts-on-preserving-internet-art/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 19:49:37 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[New Media Art]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=867</guid>
		<description><![CDATA[We&#8217;re in the process of retiring our last production server running NT and ColdFusion (whew!), and this means we needed to get a few old projects ported to our newer Linux machines.  The main site, http://aen.walkerart.org/, is marginally database-driven: that is, it pulls random links and projects from a database to make the pages different [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-868" style="margin-left: 10px;margin-right: 10px" src="http://blogs.walkerart.org/newmedia/files/2009/07/aen-64x450.png" alt="aen" width="64" height="450" />We&#8217;re in the process of retiring our last production server running NT and ColdFusion (whew!), and this means we needed to get a few old projects ported to our newer Linux machines.  The main site, <a href="http://aen.walkerart.org/">http://aen.walkerart.org/</a>, is marginally database-driven: that is, it pulls random links and projects from a database to make the pages different each time you load.  The admin at the time was nice enough to include MDB dump files from the Microsoft Access(!) project database, and the free <a href="http://sourceforge.net/projects/mdbtools/">mdbtools</a> software was able to extract the schema and generate import scripts.  Most of <a href="http://blog.moybella.net/2007/03/10/converting-microsoft-access-mdb-into-csv-or-mysql-in-linux/">this page</a> works as-is, but I had to tweak the schema by hand.</p>
<p>After the database was ported to MySQL, it was time to convert the ColdFusion to PHP.  (Note: the pages still say .cfm so we don&#8217;t break links or search engines &#8211; it&#8217;s running php on the server)  Luckily the scripts weren&#8217;t doing anything terribly complicated, mostly just selects and loops with some &#8220;randomness&#8221; thrown in.  I added a quick database-abstraction file to handle connections and errors and sanitize input, and things were up and running quickly.</p>
<p>&#8230; sort of.  The site is essentially a repository of links to other projects, and was launched in February 2000.  As you might imagine there&#8217;s been some serious link rot, and I&#8217;m at a bit of loss on how to approach a solution.  Steve Dietz, former New Media curator here at the Walker, has an article discussing this very issue <a href="http://www.neme.org/main/524/collecting-new-media-art">here</a> (ironically mentioning <em>another</em> Walker-commissioned project that&#8217;s suffered link rot.  Hmm.).</p>
<p>One strategy Dietz suggests is to update the links by hand as the net evolves.  This seems resource-heavy, even if a link-validating bot could automate the checking &#8212; someone would have to curate new links and update the database.  I&#8217;m not sure we can make that happen.</p>
<p>It also occurred to me to build a proxy using the <a href="http://www.archive.org/web/web.php">wayback machine</a> to try to give the user a view of the internet in early 2000.  There&#8217;s no API for pulling pages, but archive.org allows you to build a URL to get the copy of a page closest to a specific date, so it seems possible.  But this is tricky for other reasons &#8211; what if the site actually still exists?  Should we go to the live copy or the copy from 2000?  Do we need to pull the header on the url and only go to archive.org if it&#8217;s a 404 to 500?  And what if the domain is now owned by a squatter who returns a 200 page of ads?  Also, archive.org respects robots.txt, so a few of our links have apparently never been archived and are gone forever.  Rough.</p>
<p>In the end, the easy part was pulling the code to a new language and server &#8211; it works pretty much exactly like it did before, broken links and all.  The hard part is figuring out what to do with the rest of the web&#8230;  I do think I&#8217;ll try to build that archive.org proxy someday, but for now the fact it&#8217;s running on stable hardware is good enough.</p>
<p>Thoughts?  Anyone already built that proxy and want to share?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2009/07/13/some-thoughts-on-preserving-internet-art/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Build a bridging firewall (cheap!)</title>
		<link>http://blogs.walkerart.org/newmedia/2009/06/22/build-a-bridging-firewall-cheap/</link>
		<comments>http://blogs.walkerart.org/newmedia/2009/06/22/build-a-bridging-firewall-cheap/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 18:07:12 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=862</guid>
		<description><![CDATA[New Media has a number of development servers located in-house where we get stuff done before releasing it out into the wild.  Until last week these were protected by an aging OpenBSD firewall running packet filter and all was well until midweek when the motherboard failed.  Not having a spare on hand, I was scrambling [...]]]></description>
			<content:encoded><![CDATA[<p>New Media has a number of development servers located in-house where we get stuff done before releasing it out into the wild.  Until last week these were protected by an aging OpenBSD firewall running <a href="http://en.wikipedia.org/wiki/PF_(firewall)">packet filter</a> and all was well until midweek when the motherboard failed.  Not having a spare on hand, I was scrambling for a solution.</p>
<div class="wp-caption alignright" style="width: 260px"><a href="http://en.wikipedia.org/wiki/Linksys_WRT54G_series"><img src="http://upload.wikimedia.org/wikipedia/en/thumb/e/ee/Linksys_WRT54G_V1.jpg/250px-Linksys_WRT54G_V1.jpg" alt="Linksys wireless router" width="250" height="188" /></a><p class="wp-caption-text">Linksys wireless router</p></div>
<p>Being familiar with the <a href="http://www.dd-wrt.com/">dd-wrt project</a>, I was pretty sure I could build a firewall out of a <a href="http://en.wikipedia.org/wiki/Linksys_WRT54G_series">Linksys router</a>.  We went with the WRT54GL, currently as cheap as $50 on Amazon.  (We bought local so we&#8217;d have it sooner, and it was a bit more).</p>
<p>The first step after flashing the firmware with the latest dd-wrt build (v24-sp2) was to take off the antennas and turn off the radio.  The last thing I want for the firewall is to be broadcasting an SSID and allow wireless associations.  This actually requires a startup script on the router, with a line to remove the wireless module so it won&#8217;t try to reenable itself:</p>
<pre style="padding-left: 30px">wl radio off
wl down
rmmod wl</pre>
<p>Good start.  Next I needed to bridge the WAN port with the LAN ports, which ended up being a struggle until I found the easy options in the dd-wrt GUI.  First, set the LAN to use a static IP and make sure you can connect via another machine to configure it.  You&#8217;ll also need to enable SSH access and remote configuration &#8211; but be sure to lock this down once the firewall is running!</p>
<p>Once you have the LAN configured, you need to set the WAN connection type to &#8220;disabled&#8221;.  This will give you a checkbox to bridge the LAN and WAN:  &#8220;Assign WAN port to switch&#8221;.  Lastly, under Advanced Routing set the Operating Mode to &#8220;Router&#8221; so it stops trying to do NAT.  Apply these settings, and you&#8217;ll basically have an expensive dumb switch &#8211; all traffic shows up on every port, and there&#8217;s no logic at all.  We&#8217;re halfway there.</p>
<p>Being unfamiliar with iptables (we use OpenBSD and pf for firewalls around here), I was under the impression that iptables rules would work in a bridging environment.  This is not the case: bridged packets don&#8217;t reach iptables at all!  The best I could do was block everything (manual restart needed), or otherwise blow up the configuration (manual restart needed) as I tried to mess with the bridge.  This was an incredibly frustrating learning curve as everything I could find made it sound like this was the way to configure a firewall in Linux, but it just wasn&#8217;t working.</p>
<p>Note to keep you sane: don&#8217;t do any of this testing in the startup scripts or you&#8217;ll brick your router, guaranteed.  Do it all from the command line with a known-good startup.  That way it&#8217;s a simple (but annoying) power cycle to get things back up.</p>
<p>The trick, it turns out, is a kernel module called ebtables.  Luckily, this is included in the dd-wrt build, but it&#8217;s not turned on by default!  Add this to your startup script:</p>
<pre style="padding-left: 30px">insmod ebtables
insmod ebtable_filter
insmod ebt_ip.o</pre>
<p>And, ta-da, all your iptables rules will start impacting packets!  Now it&#8217;s just a matter of configuring the firewall rules.  We&#8217;re using something like this:  (vlan0 represents the LAN ports, and vlan1 is the WAN port)</p>
<pre style="padding-left: 30px"># drop everything by default:
iptables -P FORWARD DROP
# clear the old rules:
iptables -F FORWARD
# forward stuff that's established already
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# let connections out:
iptables -A FORWARD -i vlan0 -m state --state NEW -j ACCEPT

# firewall access rules
iptables -F INPUT
# WAC ips can get to fw:
iptables -A INPUT -p tcp -d 1.2.3.4 -s 4.3.2.1/24 -j ACCEPT
# drop everything else!
iptables -A INPUT -p tcp -d 1.2.3.4 -j DROP

# ... snipped all the actual access rules and packet flood protection ...</pre>
<p>The only trick here is the last few lines which limit access to the firewall machine itself.  We can&#8217;t use the FORWARD rules since these packets are destined for the internal hardware and not forwarded, but we do need to limit access via the INPUT chain.  In this example the firewall has IP 1.2.3.4 and the network I want to access it from has 4.3.2.x.  That way I can leave the firewall&#8217;s remote access turned on and limit it to our network.  (because there&#8217;s no terminal access you can&#8217;t make it a truly transparent bridge or you&#8217;d never be able to change the config!)</p>
<p>I admit I&#8217;m a bit nervous posting some of this in case there&#8217;s a glaring security hole, but it seems good to me.  Anyone see anything they&#8217;d like to warn me about before we get hacked?</p>
<p>And there you have it!  For the cost of a cheap router and some time (not much, since you can just follow these notes!) you have a full-featured bridging firewall running on dedicated hardware.  With a little extra work it would be easy to get VPN running and much more&#8230;  I&#8217;m hoping for years of service from this little guy!</p>
<p><span style="font-size: xx-small">( Hat tip another <a href="http://slagwerks.com/blog/index.php/2008/10/10/openbsd-firewall-on-soekris-4501/">DIY firewall solution</a> that I&#8217;d really like to try someday. )</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2009/06/22/build-a-bridging-firewall-cheap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Do one thing in April&#8230;</title>
		<link>http://blogs.walkerart.org/newmedia/2009/05/01/do-one-thing-in-april/</link>
		<comments>http://blogs.walkerart.org/newmedia/2009/05/01/do-one-thing-in-april/#comments</comments>
		<pubDate>Fri, 01 May 2009 16:37:45 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Conference Notes]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[mw2009]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=831</guid>
		<description><![CDATA[&#8230; blog about it in May!

Museums and the Web 2009 wrapped up with a challenge to all the inspired delegates: use the energy and ideas generated here to get one thing done in April.  (The idea being that many small steps build momentum, and it&#8217;s too easy to ignore the small upgrades we should constantly [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; blog about it in May!</p>
<h2><a href="http://collections.walkerart.org/search.html?onview=on&amp;searchstring=flavin"><img class="size-full wp-image-824 alignleft" style="margin-right: 20px" src="http://blogs.walkerart.org/newmedia/files/2009/05/onview.png" alt="onview" width="157" height="250" /></a></h2>
<p>Museums and the Web 2009 wrapped up with a challenge to all the inspired delegates: use the energy and ideas generated here to <a href="http://museum-api.pbworks.com/The-MW2009-challenge">get one thing done in April</a>.  (The idea being that many small steps build momentum, and it&#8217;s too easy to ignore the small upgrades we should constantly be pushing out.)</p>
<p>Yesterday I pushed out a few small upgrades to our aging collection site:</p>
<h2>You can now limit your search to <a href="http://collections.walkerart.org/search.html?onview=on">objects that are On View</a></h2>
<p><a href="http://collections.walkerart.org/search.html?onview=on"></a>What <a href="http://collections.walkerart.org/search.html?onview=on&amp;searchstring=flavin">works by Dan Flavin</a> can you come see right now?</p>
<h2><img class="alignright size-full wp-image-825" src="http://blogs.walkerart.org/newmedia/files/2009/05/browser_search.png" alt="browser_search" width="252" height="307" />OpenSearch capable</h2>
<p>Can&#8217;t get enough of our collection?  Add it to your browser’s built-in search box!  When you&#8217;re on the Collection site, you should be able to pull down your browser&#8217;s search field and add &#8220;Walker Art Center&#8221;.</p>
<p>Developers (<a href="http://museumpipes.wordpress.com/">Piotr</a>!): you can now use the Walker collection in your Yahoo Pipes tool without having to scrape the results!  Not an API (yet), but a good step.  Check out the <a href="http://collections.walkerart.org/opensearch.html?query=flavin&amp;page=1&amp;onview=on&amp;online_only=off">XML</a> for ideas.</p>
<h2>Bring it all together:</h2>
<p>You&#8217;re a busy person.  You&#8217;d love to come see Chuck Close&#8217;s <em>Big Self-Portrait</em>, and you know the Walker&#8217;s got it in their collection, but you see it&#8217;s not on view.  You don&#8217;t have time to check our website every day, so how will you ever know when it goes on display?  Easy:  <a href="http://collections.walkerart.org/search.html?searchstring=chuck%20close%201969.16&amp;onview=off">build a search</a> that finds <em>Big Self-Portrait</em>, then <a href="http://collections.walkerart.org/search.html?searchstring=chuck%20close%201969.16&amp;onview=on">turn on the &#8220;On View&#8221; flag</a>.  The object disappears (not on view), but you can subscribe to the OpenSearch RSS feed for this query (click the <img style="margin:0px;border:0px" src="http://collections.walkerart.org/images/rss.png" alt="rss" vspace="0" width="14" height="14" /> icon).  Now, when <em>Big Self-Portrait</em> is available to see in the galleries, the object will show up in your RSS reader!  (note: I picked this painting randomly.  I make no guarantee about seeing it in the galleries any time soon.  :)</p>
<p>So, baby steps.  Get one things done that opens more doors.</p>
<p>#didonethinginapril (I tag Andrew at the MIA to get one thing done in May!)</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2009/05/01/do-one-thing-in-april/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MW2009 &#8211; Technology Strategies</title>
		<link>http://blogs.walkerart.org/newmedia/2009/04/16/mw2009-technology-strategies/</link>
		<comments>http://blogs.walkerart.org/newmedia/2009/04/16/mw2009-technology-strategies/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 16:08:58 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[mw2009]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=785</guid>
		<description><![CDATA[Charlie Moad (developer at IMA) kicks off the session with a discussion of cloud computing, the advantages and disadvantages.  One of his most compelling arguments in a non-technical sense is the incredible energy efficiency of these large data centers: their cooling system and power use are at levels we can&#8217;t approach in our co-located server [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/cmoad">Charlie Moad</a> (developer at <a href="http://www.imamuseum.org/">IMA</a>) kicks off the session with a <a href="http://www.archimuse.com/mw2009/papers/moad/moad.html">discussion of cloud computing</a>, the advantages and disadvantages.  One of his most compelling arguments in a non-technical sense is the incredible energy efficiency of these large data centers: their cooling system and power use are at levels we can&#8217;t approach in our co-located server rack. Google is approaching a 1.1:1 ratio of cooling to power consumption. They&#8217;ve recently <a href="http://www.youtube.com/watch?v=bs3Et540-_s">documented</a> their <a href="http://www.youtube.com/watch?v=nPjZvFuUKN8&amp;feature=related">cooling</a> and datacenter practices here.</p>
<p>Other advantages Charlie mentioned for using Cloud computing:</p>
<ul>
<li>Scalability</li>
<li>Pay as you go. This is the big benefit. You use what you need when you need it, also helping the efficency.</li>
<li>No hardware to administer. No downtime. This makes sysadmins very happy.</li>
</ul>
<p>Some disadvantages are:</p>
<ul>
<li>Security. (Not sure on this&#8230; don&#8217;t recall amazon or google having any big issues with security. This is in the hands of us doing their jobs and setting proper permissions.)</li>
<li>Portability. AWS and Google App Engine (GAE) are proprietary systems. GAE has more issues in this realm than AWS.</li>
</ul>
<p>One other thing to note about Google App Engine that Charlie didn&#8217;t mention is that GAE is a spec, and from what I&#8217;ve heard from various python people, Google very much wants it to be implemented by others. There is already an open source implementation of AppEngine called <a href="http://code.google.com/p/appscale/">AppScale</a>. And Joyent has an implementation called <a href="http://reasonablysmart.com/">ReasonablySmart</a>.</p>
<p>IMA is using <a href="http://aws.amazon.com">Amazon Web Services</a> (AWS) for hosting ArtBabble. A simple breakdown of their usage thus:</p>
<ul>
<li>EC2 instances for transcoding video</li>
<li>S3 and CloudFront for storing video and media files (images/js/etc)</li>
<li>Wowza streaming server running on EC2 for streaming video</li>
</ul>
<div id="attachment_788" class="wp-caption alignnone" style="width: 510px"><a href="http://www.archimuse.com/mw2009/papers/moad/moad.html"><img class="size-full wp-image-788" src="http://blogs.walkerart.org/newmedia/files/2009/04/moadfig1.png" alt="Cloud computing structure for ArtBabble" width="500" height="504" /></a><p class="wp-caption-text">Cloud computing structure for ArtBabble</p></div>
<p>Charlie had a nice slide I don&#8217;t remember being in the paper: a diagram of where these services sit in the cloud (storage vs service) and what the end user&#8217;s browser is actually talking to at any time. It sounds like changing the number of wowza instances is still a manual process, but I imagine it could be automated.</p>
<p>The stats are impressive: 40,000 video views since launch 9 days ago, and 3,500 registered users.  They&#8217;re cleverly using Google / Yahoo sign-ins to create OpenID accounts, without telling people it involves OpenId.  Uptake is much higher by hiding the technology on this process&#8230;  Also impressive is the cost, or lack thereof: they&#8217;re able to run ArtBabble for the same cost as their internal website.</p>
<p>Charlie closes by mentioning a few recent advances in Amazon&#8217;s hosting that allows essentially pre-paying for a year&#8217;s service at a much discounted rate.</p>
<p>I think I&#8217;m not the only webmaster in the audience who is thinking &#8220;we have to move our sites into the cloud,&#8221; but also concerned about finding the time to do so.  This paper and presentation have gone a long way towards answering some questions I haven&#8217;t been able to research fully.</p>
<p><em><a href="http://blogs.walkerart.org/newmedia/author/justin/">Jusitn Heideman</a> also contributed to this post.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2009/04/16/mw2009-technology-strategies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing a Lighttpd proxy</title>
		<link>http://blogs.walkerart.org/newmedia/2008/11/22/installing-a-lighttpd-proxy/</link>
		<comments>http://blogs.walkerart.org/newmedia/2008/11/22/installing-a-lighttpd-proxy/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 17:39:00 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/?p=694</guid>
		<description><![CDATA[It had been a slow build, but an incident a few weeks ago made it finally clear: the Walker website was becoming a victim of its own success.  A post on the Teens site contained a picture of the Joker for the then-upcoming Batman movie, and as Halloween approached we found ourselves on the front [...]]]></description>
			<content:encoded><![CDATA[<p>It had been a slow build, but an incident a few weeks ago made it finally clear: the Walker website was becoming a victim of its own success.  A <a href="http://teens.walkerart.org/2008/01/">post on the Teens site</a> contained a picture of the Joker for the then-upcoming Batman movie, and as Halloween approached we found ourselves on the front page of Google image search as people began looking for costume ideas.  The exponential traffic was crippling our web server:</p>
<p><a href="http://blogs.walkerart.org/newmedia/files/2008/11/teens_spike.png"><img class="alignnone size-full wp-image-695" src="http://blogs.walkerart.org/newmedia/files/2008/11/teens_spike.png" alt="" width="405" height="138" /></a></p>
<p>The biggest problem was simply that Apache is heavy.  It&#8217;s resource-intensive, especially when you are running several modules as we were &#8211; PHP, proxy, cache, etc.  The teens site is especially difficult since it runs as a combination of a blog (PHP on Apache 2) and .wac pages (mod_perl &amp; Axkit).  Every hit to the Joker post &#8211; even if the page was cached &#8211; would tie up a number of Apache processes as it served the style sheets, images, and javascript to support the page.  We were reaching our MaxClients setting but unable to raise it without running out of memory for our other more intensive servers (mod_perl and postgres, I&#8217;m looking at you&#8230;).</p>
<p>As this diagram shows, it&#8217;s nothing but Apache servers, and it just wasn&#8217;t scaling to meet our current demand.</p>
<p><a href="http://blogs.walkerart.org/newmedia/files/2008/11/wac_old_servers.png"><img class="alignnone size-full wp-image-696" src="http://blogs.walkerart.org/newmedia/files/2008/11/wac_old_servers.png" alt="" width="500" height="177" /></a></p>
<p>The approach was two-fold: some quick auditing and re-writing of the worst offending .wac pages&#8217; SQL to speed up the slow pages, and yet another web server in front of everything.  It was a no brainer to pick Lighttpd, or &#8220;Lighty&#8221;.  It&#8217;s written to do one thing &#8211; serve static content &#8211; and do it extremely fast.  Fortunately it can also proxy requests, so it was a pretty simple matter to reassign some ports and write a few rules to route all requests through Lighty.</p>
<p><a href="http://blogs.walkerart.org/newmedia/files/2008/11/wac_new_servers.png"><img class="alignnone size-full wp-image-697" src="http://blogs.walkerart.org/newmedia/files/2008/11/wac_new_servers.png" alt="" width="500" height="206" /></a></p>
<p>The end result is astonishing.  Our server hums along happily under even the most intense traffic we can throw at it (the email blast for the <a href="http://filmvideo.walkerart.org/detail.wac?id=4737&amp;title=Upcoming%20Programs">British Television Advertising Awards</a>) and doesn&#8217;t even start to complain.  Moving the bulk of the requests to the extremely fast and resource-light server meant we could devote more resources to quickly processing the slow pages (mod_perl).  Between the SQL tuning and the extra resources, the bulk of these pages are now served between 2 and 10(!!!) times faster!</p>
<p>The lesson here, for anyone with an Apache server creaking and groaning under increased traffic, is to stop waiting and install Lighty.  If your site is PHP-based, you can run this as a fast CGI module from Lighty and do away with Apache altogether.  You can also use Lighty to stream (and &#8220;scrub&#8221;!) flv and mp4 video files.  (I&#8217;m using both of these techniques for the <a href="http://ace2.artsconnected.org/">new ArtsConnectEd</a>.)</p>
<p>The only caveat: be careful as you look for examples on the web.  Remarkably, it seems there are many confused webmasters who expect to see a performance boost by putting Lighty <em>behind</em> their struggling Apache.  This will not help at all, and in fact will probably make things worse.  Lighty has to be first in the chain to take the load off Apache.</p>
<p>Enjoy the speed!  I know our server is enjoying the breathing room!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2008/11/22/installing-a-lighttpd-proxy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Imagining a world without Google</title>
		<link>http://blogs.walkerart.org/newmedia/2008/06/16/imagining-world-google/</link>
		<comments>http://blogs.walkerart.org/newmedia/2008/06/16/imagining-world-google/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 14:54:46 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[NMI Today]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/2008/06/16/imagining-a-world-without-google/</guid>
		<description><![CDATA[It&#8217;s Monday morning, and like many of you I&#8217;m sitting down to my computer for the day.  I&#8217;ll check my email (office and GMail), see what&#8217;s new in the blogosphere (Google Reader), maybe catch up on the world a bit (Google News), and finally start my day of programming. (searching Google to see if [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.walkerart.org/newmedia/files/2008/06/search-twitter-google_12136277364981.png" title="search-twitter-google_1213627736498.png"><img src="http://blogs.walkerart.org/newmedia/files/2008/06/search-twitter-google_12136277364981-150x150.png" style="margin: 10px;float: left" alt="search-twitter-google_1213627736498.png" /></a>It&#8217;s Monday morning, and like many of you I&#8217;m sitting down to my computer for the day.  I&#8217;ll check my email (office and GMail), see what&#8217;s new in the blogosphere (Google Reader), maybe catch up on the world a bit (Google News), and finally start my day of programming. (searching Google to see if anyone&#8217;s already written the code I&#8217;m working on ;)</p>
<p>You may notice a trend: Google.  What would my world be like without Google?  It&#8217;s an interesting thought experiment.</p>
<p>&#8230; except yesterday morning, it was a reality.  Details are still sketchy (it may have just been Comcast?) but for an hour Sunday morning, I couldn&#8217;t reach a single Google domain.  No GMail, no RSS, no search.  And, in a creepy side effect I hadn&#8217;t anticipated, MANY sites were either slow, broken, or eternally loading as my browser tried in vain to pull the Google Analytics or Adsense code for the page.  In short, the <em>Internet was Broken</em>.</p>
<p>It was amazing to watch myself try to remember how to search without Google.  Maybe&#8230; Yahoo?  No, I&#8217;ll try Ask.com.  Turns out the results are terrible, at least for programming-related searches.  A friend called looking for directions to a farmers&#8217; market, and it took me a bit to remember the world beyond Google Maps.  Doesn&#8217;t&#8230;  Microsoft do maps?  Hmm, who else&#8230;  If only I could search!!</p>
<p>Twitter was still up, and via TwitScoop.com I could see a big spike in Google-related tweets, but I have yet to see any official word on this.  Clearly big companies have downtime (Amazon was down for a few hours recently), but still&#8230;  It may be time to rethink my utter dependency on &#8220;The Google&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2008/06/16/imagining-world-google/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Video conversion with ffmpeg and mplayer / mencoder</title>
		<link>http://blogs.walkerart.org/newmedia/2008/05/29/video-conversion-ffmpeg-mplayer/</link>
		<comments>http://blogs.walkerart.org/newmedia/2008/05/29/video-conversion-ffmpeg-mplayer/#comments</comments>
		<pubDate>Thu, 29 May 2008 15:17:54 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/2008/05/29/video-conversion-with-ffmpeg-and-mplayer-mencoder/</guid>
		<description><![CDATA[Time to return the favor to the blogosphere and the mplayer-users mailing list, where most of this information was painstakingly discovered.  I&#8217;m working on a phase of the new ArtsConnectEd site where we&#8217;re trying to automate the importing of all of our various media types into two standard, embeddable formats: mp3 and flv.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.walkerart.org/newmedia/files/2008/05/mplayer1.png" title="mplayer.png"><img src="http://blogs.walkerart.org/newmedia/files/2008/05/mplayer1-150x150.png" alt="mplayer.png" style="margin: 10px;float: left" /></a>Time to return the favor to the <a href="http://www.victorcastelan.net/tag/ffmpeg/">blogosphere</a> and the <a href="https://lists.mplayerhq.hu/mailman/listinfo">mplayer-users mailing list</a>, where most of this information was painstakingly discovered.  I&#8217;m working on a phase of the new <a href="http://ace2.artsconnected.org/">ArtsConnectEd site</a> where we&#8217;re trying to automate the importing of all of our various media types into two standard, embeddable formats: mp3 and flv.  The source media is in everything from Real Audio and Real Video to different flavors of quicktime (mp4, etc), old mp3 codecs, some avi, and even wav files.  We also need to generate thumbnails for all the video, and properly detect the edge cases where we have an audio-only quicktime file that wants to be a video but clearly should actually be an mp3 audio file.</p>
<p>The solution is ffmpeg and mplayer / mencoder, and the amazing thing is it&#8217;s almost as easy as just throwing a file at it and telling it what format you want.  The developers of these tools have done a truly amazing job.</p>
<p>Things get much trickier when you introduce Real Media into the mix.  An unfortunate number of our <a href="http://channel.walkerart.org/">Channel</a> videos are in this format, so it&#8217;s something we have to solve.  After many attempts and failed encodings &#8211; including one hair-pulling episode where it turned out the audio was actually out of sync <em>in the original file</em> and not in the transformed version &#8211; I believe I have a &#8220;good enough for now&#8221; command line formula for converting Real Media to flv.  (ffmpeg actually can&#8217;t handle .rm files, so this is all done in mencoder)</p>
<p><code>mencoder realmediafile.rm -ni -o flvoutput.flv -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=300:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -fps 30.000 -ofps 24 -mc 1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames</code></p>
<p>Some of that is over my head and I just copied it (last_pred=3??) but the real key for this process seems to be knowing and accurately setting the input stream&#8217;s framerate using -fps xx.xx.  Without that, the real demuxer will sometimes guess wrong and get out of sync, resulting in an unpleasant hung process as it comes across the next data chunk.  I only noticed this happening with RV40 on multirate files, RV30 seemed solid.  You can pull the info about the stream, including framerate and original dimensions, using mplayer:</p>
<p><code>mplayer -identify -frames 0 -vc null -vo null -ao null realmediafile.rm</code></p>
<p>Even cooler, in the cases where the .rm file isn&#8217;t local, both of those commands work by feeding them a stream like rtsp://server/realmediafile.rm!</p>
<p>With any luck, someone will find this page and save themselves a day of frustration.  Or someone will find this page and notice I&#8217;m doing something wrong and correct me!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2008/05/29/video-conversion-ffmpeg-mplayer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8220;Master&#8221; metadata</title>
		<link>http://blogs.walkerart.org/newmedia/2008/04/16/master-metadata/</link>
		<comments>http://blogs.walkerart.org/newmedia/2008/04/16/master-metadata/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 16:03:04 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Museums Online]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[mw2008]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/2008/04/16/master-metadata/</guid>
		<description><![CDATA[Some great conversation happening in the comments of my writeup of the Search session at MW2008, and it made me remember something I wanted to bring up at the conference but forgot. Namely, the concept of &#8220;master metadata&#8221;, or the idea that there&#8217;s one authoritative version of the metadata describing an object.
This came up for [...]]]></description>
			<content:encoded><![CDATA[<p>Some great conversation happening in the comments of my <a href="http://blogs.walkerart.org/newmedia/2008/04/12/mw2008-search/">writeup of the Search session at MW2008</a>, and it made me remember something I wanted to bring up at the conference but forgot. Namely, the concept of &#8220;master metadata&#8221;, or the idea that there&#8217;s one <em>authoritative version</em> of the metadata describing an object.</p>
<p>This came up for me in the session the <a href="http://www.archimuse.com/mw2008/papers/fleming/fleming.html">MFA and MIT did on sharing their data for a new subsite</a>: they mentioned the data was being &#8220;augmented&#8221; on the final site, and that someday they&#8217;d be interested in getting this extra information back into their main repository.</p>
<p>The problem&#8217;s immediately obvious: with all of the proposed sharing and opening up of our data, presumably to allow others to weigh in on it and add their voice, there are often situations where institutions would like to have some of this new data. For instance, we&#8217;re building a new version of <a href="http://artsconnected.org/">ArtsConnectEd</a> and intend to allow museum educators to variously tag, comment on, and draw relationships between objects. This will almost certainly be &#8220;good data&#8221;, stuff that would be valuable to integrate in our internal collection database.</p>
<p>The question is, how? Once your data is available for sharing, and someone actually builds something good with it and enhances it, is there a way to get that new data back into the source? Is there / should there be a way to tag metadata as &#8220;original source&#8221; or &#8220;augmented&#8221;? Should we be asking anyone harvesting our data to push back their changes for us to audit and possibly include?</p>
<p>Anyone solved this? <a href="http://www.powerhousemuseum.com/dmsblog/index.php/2008/04/16/50-new-images-on-the-commons-on-flickr/">Seb</a>, are you getting info back from Flickr Commons you can then add to your internal database? Phil / Jenna, any thoughts on how to get that extra data back?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2008/04/16/master-metadata/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>MW2008 &#8211; Search</title>
		<link>http://blogs.walkerart.org/newmedia/2008/04/12/mw2008-search/</link>
		<comments>http://blogs.walkerart.org/newmedia/2008/04/12/mw2008-search/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 16:06:55 +0000</pubDate>
		<dc:creator>Nate Solas</dc:creator>
				<category><![CDATA[Conference Notes]]></category>
		<category><![CDATA[mw2008]]></category>

		<guid isPermaLink="false">http://blogs.walkerart.org/newmedia/2008/04/12/mw2008-search/</guid>
		<description><![CDATA[This session has been great for me, as this is very much where my head is at right now with ArtsConnectEd&#8230; My live notes follow:
Brian Kelly chairs a session on Search, announcing that with the smaller size both speakers are willing to make this a bit more workshop-like.  Terry Makewell starts by introducing his [...]]]></description>
			<content:encoded><![CDATA[<p>This session has been great for me, as this is very much where my head is at right now with ArtsConnectEd&#8230; My live notes follow:</p>
<p>Brian Kelly chairs a session on Search, announcing that with the smaller size both speakers are willing to make this a bit more workshop-like.  <strong>Terry Makewell</strong> starts by introducing his project: 9 partners making up the National Museums Online Learning Project.  He goes over some of the goals of the project, and the current state of things, and the realization that some sort of federated search was needed to span the partners&#8217; collections.</p>
<p>How to do the federated search?  Multi-institution project meant different technical teams, different technologies, and limited resources in some cases.  See <a href="http://www.archimuse.com/mw2008/papers/makewell/makewell.html">the paper</a> for more details, but the two technologies they considered most carefully are OAI/PMH and Opensearch.</p>
<p>OAI, the path we&#8217;re going down with ArtsConnectEd, uses a central repository and runs the searches there.  Opensearch spools the searches out to each institution and then re-orders them locally and returns the result.</p>
<p>Opensearch fit the project requirements and timeline most efficiently, so that was their choice.  He discusses their prototyping effort: scraping search results to generate the RSS for Opensearch.  They now have a single page with a configuration file they can drop on each partners&#8217; website and it will &#8220;just work&#8221;.  Potential caveats: what if the search result page changes?  Also the Opensearch can only be as fast as the response from the slowest partner.</p>
<p>He shows the working prototype, and I&#8217;m excited to see they&#8217;ve got thumbnails where available &#8211; their scraper must be fairly robust for each partner.</p>
<p>Lessons learned: federated search doesn&#8217;t have to be expensive or complicated, and it can work with small and large museums equally well.  Their method pushes the work offsite, requiring minimal or no effort on the museum&#8217;s part.</p>
<p>(Note to self: end slide show with a kitten and you&#8217;re in.)</p>
<p>Q&amp;A &#8211; Scalibility issues come up, they&#8217;re aware of them coming.  Asked if they considered Google Co-Op: yes, but quickly found that Google was unable to deeply crawl many of the partners&#8217; collections due to dynamic urls.  Lots of twitter traffic in this session too.</p>
<p>Very interesting debate for me to hear on OAI vs. Opensearch.  Many institutions moving towards OAI, but the scope of implementing it is a barrier for most.  My feeling that OAI gives more searchable fields is somewhat refuted by the idea that the average user has no interest or knowledge of these fields (culture, era, etc)&#8230;</p>
<p>(Mike Ellis shows off by building <a href="http://www.museumcollections.org.uk/mc/index.asp">a co-op search</a> during the session.)</p>
<p><strong>Johan Mhlenfeldt Jensen</strong> from the Museum of Copenhagen, Denmark, speaks next on <a href="http://www.archimuse.com/mw2008/papers/moehlenfeldt-jensen/moehlenfeldt-jensen.html">his paper</a>.  Trying to catch up, I was distracted for the beginning.</p>
<p>The example he&#8217;s showing now exposes some fields for filtering, rather than just keywords.  Interesting.   Another example showing map-based searching, says it&#8217;s immensely popular.  Easy to make for photographic collections since the address is known, much harder for other sorts of objects sometimes.</p>
<p>Interesting discussion on &#8220;advanced search&#8221; &#8211; he says studies show it&#8217;s minimally used, Google has changed everything.  People just want a single field.  Hmm&#8230;  Are we wasting time and overbuilding if we have anything more advanced than a single field??  This is the question I&#8217;m banging against as I listen to these speakers.</p>
<p>He asks &#8220;is the best the enemy of the good?&#8221;  Good question.  Do we wait forever getting it right?  Clearly, no, but how far do we go.</p>
<p>They both have good input on the question I ask about overbuilding: move the advanced search behind the scenes and make it more semantic.  Still need the metadata, but don&#8217;t ask users to know about it. Also need a way to drill down after search: start with simple search, and then apply filters.</p>
<p>Very good comment on positioning: where and at what point in the process do you expose filters and result counts?</p>
<p>Brian summarizes the importance of getting static URIs for resources: then Google will &#8220;just work&#8221;&#8230;</p>
<p>(Note to self: implement Opensearch for the Walker and ACE)</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.walkerart.org/newmedia/2008/04/12/mw2008-search/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
