<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Matthew Reidsma Talks</title>
<link>http://www.matthewreidsma.com</link>
<description>Matthew Reidsma on Libraries, Technology, and the Web</description>
<language>en-us</language>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mreidsma" /><feedburner:info uri="mreidsma" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item> 
<title>Fear, JavaScript, and Progressive Enhancement</title>
<link>http://www.matthewreidsma.com/?b=14</link>
<description><![CDATA[<p>I recently redesigned one of our hosted services, and the vendor was afraid of JavaScript. It&#8217;s no wonder; for years, developers used JavaScript to build sites that wouldn&#8217;t work unless JavaScript was enabled.<sup><a href="#fntxt1" id="fn1">1</a></sup> Some of those developers even did nasty things with JavaScript, so it ended up with a bad reputation. But JavaScript isn&#8217;t inherently bad. Used as the basis for a philosophy of <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>, it can be a developer&#8217;s best friend. Here&#8217;s how to use JavaScript to responsibly enhance your library&#8217;s website.</p>

<h4>Progressive Enhancement</h4>

<p>I start every webpage with semantic <abbr title="Hypertext Markup Language">HTML</abbr>. No <abbr title="Cascading Style Sheets">CSS</abbr>, no JavaScript, no thought to presentation. I just make it well-structured in <abbr title="Hypertext Markup Language">HTML</abbr>. After I have a semantic page, I go back through and write separate <abbr title="Cascading Style Sheets">CSS</abbr>. Here I&#8217;ll add classes and wrap content in divs to help with presentation, but I never make a change to the structure that doesn&#8217;t fit with the semantic nature of the document. After I&#8217;m done with the presentation, I go back through and add any interaction JavaScript. I never put JavaScript inline in the <abbr title="Hypertext Markup Language">HTML</abbr> document. I include it all in a separate file, so that JavaScript is not required to read the content or interact with the forms. After all, I want each of these layers, semantics, presentation, and interaction, to be separate. As the user&#8217;s device supports more features, I progressively enhance the experience.</p>

<h4>Example of the Big Stuff: Getting Animated</h4>

<p>When I met with our Scholarly Communications team to tart up our <a href="http://scholarworks.gvsu.edu">institutional repository</a>, it became clear that the <abbr title="Institutional Repository">IR</abbr>&#8217;s homepage would primarily be a marketing tool to entice faculty and departments to get on board with Open Access<sup><a href="#fntxt2" id="fn2">2</a></sup>.  I suggested a slideshow of images to highlight faculty who are already depositing their work in the <abbr title="Institutional Repository">IR</abbr>. Not only would this serve as a great and highly visible marketing tool for the Scholarly Communications, but it would help to break up a text-heavy website that serves as a repository for text-heavy articles. </p>

<p>For the slideshow, I chose <a href="http://jquery.com">jQuery</a>, a powerful JavaScript library, as well as <a href="https://github.com/Wilto/Dynamic-Carousel">Mat Marquis&#8217; responsive carousel</a>. The script works by taking an unordered list of images and showing one at a time, animating the transitions between images. As you can see, the markup is nice and semantic.</p>

<pre><code>
&lt;ul&gt;
    &lt;li&gt;&lt;img src="img/image1.jpg" alt="Professor Smith presenting at Awesome Conference 2011" /&gt;&lt;/li&gt;
    &lt;li&gt;&lt;img src="img/image2.jpg" alt="Students being studious" /&gt;&lt;/li&gt;
    &lt;li&gt;&lt;img src="img/image3.jpg" alt="Professor Jones with her nose buried in a book" /&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>

<p>There is a downside to this, though. If JavaScript isn&#8217;t available, this is what you get:</p>

<div>
    <img src="http://matthew.reidsrow.com/img/nojs-image-list.jpg" alt="Images bunched on top of each other when JavaScript isn't available" />
</div>

<p>The unordered list is displayed as just that: a list of images. This creates an incongruous pile-up of images that confuses users. So how can we address this consequence of using JavaScript? Is it by running in fear? No. The answer is JavaScript<sup><a href="#fntxt3" id="fn3">3</a></sup>.</p>

<p>Since the slideshow will only work when JavaScript is available, why not make the unordered list available only when JavaScript is available? Using jQuery, this is a piece of cake. Instead of hard-coding the list into our homepage, we&#8217;ll add an appropriate element for non-JavaScript browsers and then replace it with JavaScript if we can.</p>

<p>I decided to use the first image in our list as the &#8220;non-JavaScript&#8221; fallback, since semantically a slideshow is just one image at a time and visually the design would be unchanged. This is the markup:</p>

<pre><code>
&lt;div id="slideshow-image"&gt;&lt;img src="img/image1.jpg" alt="Professor Smith presenting at Awesome Conference 2011" /&gt;&lt;/div&gt;

&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat...&lt;/p&gt;
</code></pre>

<p>This is nice, semantic markup, and using CSS, we&#8217;ll make it look sharp. But when JavaScript is available, we want to change the markup to work with the slideshow. Using jQuery, we simply need to include the following code in our script:</p>

<pre><code>
$(document).ready(function() {
    $("#slideshow-image").html('
        &lt;ul class="slidewrap"&gt;
            &lt;li class="slide"&gt;&lt;img src="img/image1.jpg" alt="Professor Smith presenting at Awesome Conference 2011" /&gt;&lt;/li&gt;
            &lt;li class="slide"&gt;&lt;img src="img/image2.jpg" alt="Students being studious" /&gt;&lt;/li&gt;
            &lt;li class="slide"&gt;&lt;img src="img/image3.jpg" alt="Professor Jones with her nose buried in a book" /&gt;&lt;/li&gt;
        &lt;/ul&gt;');
});
</code></pre>

<p>Now the content of the slideshow-image div will be replaced with the <abbr title="Hypertext Markup Language">HTML</abbr> above<sup><a href="#fntxt4" id="fn4">4</a></sup>. Add in the code to animate the slideshow, and we have a seamless enhancement for users who have JavaScript-enabled browsers. It&#8217;s a win on the semantic level, a win on the presentation level, and a win on the interaction level. Everyone gets a version of the page most appropriate to their browser&#8217;s abilities. It&#8217;s like the Web version of a Montessori school.</p>

<h4>The &#8220;Small&#8221; Stuff: Accessibility</h4>

<p>This method of layering JavaScript over semantic <abbr title="Hypertext Markup Language">HTML</abbr> is used throughout our site. We use it for high-impact things like slideshows and our drastically simplified link resolver, but we also use it for small things that make accessability a priority while not shackling great presentation. One example of the latter is our Summon search bar, present at the top of every library webpage.</p>

<div>
<img src="http://matthew.reidsrow.com/img/summon-box.png" alt="Summon Search Box at Grand Valley State University Libraries" />
</div>

<p>To be semantically correct and accessible, this input field needs a label, but visually, we want to use placeholder text to replicate the label. So we used progressive enhancement to solve these seemingly conflicting needs. I see four scenarios I needed to account for:</p>

<ol>
<li>Browser with native placeholder and JavaScript support</li>
<li>Browser with JavaScript support but no placeholder support</li>
<li>Browser with neither JavaScript nor placeholder support</li>
<li>Browser with placeholder support but no JavaScript support</li>
</ol>

<p>First, we started with semantic <abbr title="Hypertext Markup Language">HTML</abbr>:</p>

<pre><code>
&lt;div id="summon-search-box"&gt;
    &lt;label for="search" id="summon-label"&gt;Find Books, Articles, and more&lt;/label&gt;&lt;br /&gt;
    &lt;input name="search" placeholder="Find Books, Articles, and more" type="text" /&gt;
&lt;/div&gt;
</code></pre>

<p>Here is what we need to do in each scenario:</p>

<ol>
<li>Hide the label, since placeholder support will show the text the way I want it. </li>
<li>Hide the label and use JavaScript to patch placeholder support. </li>
<li>Nothing. The label will be visible and will remain semantic. </li>
</ol>

<p>In the last scenario, there isn&#8217;t much we can do. We&#8217;ll have both a label and a placeholder visible. In our case, this rarely ever happens, so I didn&#8217;t worry about it. In any case, the form is still functional, there is just label redundancy. I decided I could live with it. So the presentation and interaction work needed to focus on the first two scenarios.</p>

<p>In both of the scenarios when JavaScript is available, we need to hide the label. So I started with this jQuery:</p>

<pre><code>
$("#summon-search-box").find("label").hide();
</code></pre>

<p>That takes care of the first scenario. For the second scenario, I detected placeholder support with the JavaScript library <a href="http://modernizr.com">Modernizr</a>. If placeholder was not supported, I used a script to look for placeholder text and swap it out to the value until the input is focused on. This duplicates the functionality of the native placeholder text. The code I used was written by <a href="http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html">Nico Hagenburger</a>, and it works great. The full code is below:</p>

<pre><code>
if(!Modernizr.input.placeholder){ 

    $('[placeholder]').focus(function() {
      var input = $(this);
      if (input.val() == input.attr('placeholder')) {
        input.val('');
        input.removeClass('placeholder');
      }
    }).blur(function() {
      var input = $(this);
      if (input.val() == '' || input.val() == input.attr('placeholder')) {
        input.addClass('placeholder');
        input.val(input.attr('placeholder'));
      }
    }).blur();
    $('[placeholder]').parents('form').submit(function() {
      $(this).find('[placeholder]').each(function() {
        var input = $(this);
        if (input.val() == input.attr('placeholder')) {
          input.val('');
        }
      })
    });
}   
</code></pre>

<p>So we can give our users engaging, rich experiences on the Web without breaking our sites for people with less-capable browsers (including many mobile phones). We just have to get over that irrational fear.</p>

<hr />

<ol id="footnotes">
<li class="footnote" id="fntxt1">Summon, I&#8217;m looking at you. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li class="footnote" id="fntxt2">Most of our <abbr title="Institutional Repository">IR</abbr> traffic comes from Google directly to the PDF stored in the repository. Of the rest, I suspect a significant portion are &#8220;vanity searches,&#8221; with <abbr title="Grand Valley State University">GVSU</abbr> faculty searching for either their own work or for the work of colleagues. <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
<li class="footnote" id="fntxt3">Sadly, <a href="http://bepress.com">the vendor</a> was too afraid of JavaScript to let me use any of the code I wrote, so were stuck with a crummy, ugly slideshow that doesn&#8217;t have a semantic <abbr title="Hypertext Markup Language">HTML</abbr> fallback for non-JavaScript users. (I&#8217;m not sure how that is better, but after 4 months of arguing with them, I gave up. You pick your battles. <a href="#fn3" title="Return to footnote 3 in the article">↩</a></li>
<li class="footnote" id="fntxt4">I know jQuery has <a href="http://api.jquery.com/replaceWith/">replaceWith</a>, which would allow me to eliminate the div, have the id on the img tag, and then just swap out the <abbr title="Hypertext Markup Language">HTML</abbr>, but support for replaceWith is spotty in IE7 and below. And we&#8217;re in academia, where IE7 sometimes seems like the cutting edge. Oi vey. <a href="#fn4" title="Return to footnote 4 in the article">↩</a></li>
</ol>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=14</guid> 
</item>
<item> 
<title>How we do usability testing</title>
<link>http://www.matthewreidsma.com/?b=13</link>
<description><![CDATA[<p>Although I’ve worked in academic libraries for the past 8 years, my web development experience is from running my own shop, outside of the University world<a href="#fntxt1" id="fn1"><sup>1</sup></a>. This is a land where results matter more than statistics and reports, and everything you do has a price tag attached to it. As such, usability testing is frequently done on the cheap without a committee to write questions and do recruiting. I’ve kept it that way here at <abbr title="Grand Valley State University">GVSU</abbr>. The basic tenets of my usability test plan are:</p>

<ol>
<li>Do one test every month.</li>
<li id="tenet2">Focus on what users *do*, not what we’d like them to do.</li>
<li>No more than 5 questions for a 30 minute test.</li>
<li>Test no more than 3 students or faculty a month.</li>
<li>Invite everyone from the library to observe. <strong>EVERYONE</strong>.</li>
</ol>

<p>I can tell you from experience that getting librarians, front-line staff, and administrative staff all in a room together will get you better feedback than a room with only librarians or <abbr title="Information Technology">IT</abbr> staff. I also guarantee you’ll get buy-in on making changes from all levels. First, you’re letting everyone see what is wrong with the site by showing actual users interacting with it. It’s pretty hard to ignore problems when they are encountered in actual use. Second, you’re letting everyone participate in the discussion. Not only does this get you better feedback, but it also means employees across all levels of your organization will appreciate getting a chance to contribute to something as visible as the website<a href="#fntxt2" id="fn2"><sup>2</sup></a>.</p>

<p>First, let me say that you can learn everything you need to know about usability testing from Steve Krug’s book <a href="http://rocketsurgerymadeeasy.com"><cite>Rocket Surgery Made Easy</cite></a>. We’ve adapted a few things to accomodate the special needs of a University library, but those might not be appropriate for your situation. </p>

<h4>Setting up the test</h4>

<p>The test is simple. We set up two spaces: a space for the test and a space for observation. I use my office for the test, setting up a monitor, a keyboard, a mouse, and a USB microphone hooked up to my laptop. Upstairs in the conference room I set up the observation room. For that I use my student’s laptop, hooked up to the room’s projector and sound system. You want to make sure that the observers can see the user’s screen and hear what is being said. That’s it for setup: I bet you already have all that stuff in your office.</p>

<p>For the first few tests, I also ordered food for the observation room, as a way to bribe staff into coming. Once I got a good turnout, however, everyone realized the importance of the tests and comes whether or not there is food.</p>

<p>Since we use Macs, we run Apple’s built-in AIM chat client iChat on both machines. iChat has a screen sharing feature that allows us to share the screen and audio from my office up to the conference room. It’s built-in and easy to use, and it doesn’t cost anything. If you have PCs, <a href="http://www.skype.com/intl/en/features/allfeatures/screen-sharing/">Skype has a similar feature</a>. </p>

<p>That’s it for gear? Surely there is something fancier we can do? Getting fancy with your gear is just a distraction from getting the work done. Once you’ve got a few tests under your belt, then see if you feel like you need to invest in something better. After all, the goal here is to make your website better, <strong>not</strong> to do usability tests. Usability tests are just the vehicle to get you to a better site. If you want to get in shape, do you go running or do you buy newer, fancier running shoes? Which is going to help you trim your waistline?</p>

<h4>What happens during the test</h4>

<p>While I walk the user back to my office, I run through the basics of the test. Even though we’ve asked them to look over the <a href="http://gvsulib.com/usability/Consent_form.pdf">consent form</a>, they never do. I want them to know that I’m planning on recording them<a href="#fntxt3" id="fn3"><sup>3</sup></a> and that other people can hear our conversation before they are committed. No one has ever backed out, but they appreciate the warning before I spring it on them with a live microphone. I then read <a href="http://gvsulib.com/usability/Script.pdf">from a script</a> all the details of the test. Once I’m done, I ask the user to sign a consent form that allows me to record the session. </p>

<p>I then ask a few questions about the user’s major, interests, and internet use, mostly as a warm up. I also want to find out if he or she has had any library instruction in their classes, although sometimes I wait to bring this up until we work through tasks. </p>

<p>Now we get to the heart of the test. I have 5 tasks that I have written up as scenarios that I read aloud to the user. I ask him or her to follow the instructions in the scenario, and to talk aloud about the choices he or she makes on the site. This is where you’ll learn the most about how well your site is succeeding.</p>

<p>Here’s an example: I wanted to see how users found articles with incomplete citation information, so I wanted them to find a newspaper article by Lawrence Lessig about Google and copyright. That’s the task. To make it into a scenario, I provided some context: </p>

<pre><code>You meet with your Computer Science professor about an upcoming paper on intellectual property and the Web. She mentions an article by the lawyer Lawrence Lessig about Google and Copyright published in a newspaper, but she can't remember the paper or when it was published. Find this article.
</code></pre>

<p>Notice that I don’t have any tasks asking users to find our policies pages, or to learn more about a particular database. That’s because users don’t actually do these things; librarians do them. And, as <a href="http://matthewreidsma.com/articles/12">I’ve said before</a>, the website is for users, not librarians. (See also: <a href="#tenet2">website tenet #2</a>.)</p>

<p>When all the tasks are over, I ask the observation room for follow-up questions. I then give the user a thank-you gift (in our case, t-shirts) and get ready for the next test. One test takes about 30 minutes.</p>

<p>Once all the tests are completed, I join the observation room and we spend an hour hammering out what we saw, what was a problem, and how we are going to address it. I try to limit the actual to-do list to 3-4 items, to make sure we can get them all done by the next test. There is no report other than an all-staff email that breaks down the tasks we’re going to work on over the next month, and no follow-up meetings, except for the next test. </p>

<p>We routinely have 12-18 people in our observation room, and almost universal buy-in on changes made to the website. In the past six months alone our website has transformed, from a typical library link farm to a usabile, simplified search engine our faculty and students seem to enjoy using. Below you can see the transition we’ve made in successive iterations, all as a result of usability tests.</p>

<p><video controls="controls" poster="/media/web-revisions.jpg" style="max-width: 100%;">
<source src="/media/web-revisions.ogv" type="video/ogg">
<source src="/media/web-revisions.mp4" type="video/mp4">
<object width="480" height="360"><param name="movie" value="http://www.youtube.com/v/X1s8pAqjpYM?version=3&hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/X1s8pAqjpYM?version=3&hl=en_US" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</video></p>

<p>We’re not done. We keep testing and making changes to the site, and will keep doing so. It is the single most important thing we do to make our library experience better for our users, since 100% of our patrons come through the website while only 50-60% come through the front door. It’s easy to do and only takes a little bit of time to yield incredible insights. So what are you waiting for?</p>

<h4>Resources</h4>

<ul>
<li><a href="http://gvsulib.com/usability/GVSU_Test_Protocol.pdf"><abbr title="Institutional Review Board">IRB</a> test protocol <span class="ftype">PDF</span></a></li>
<li><a href="http://gvsulib.com/usability/Consent_form.pdf">Consent Form <span class="ftype">PDF</span></a></li>
<li><a href="http://gvsulib.com/usability/Script.pdf">Test Script <span class="ftype">PDF</span></a></li>
<li><a href="http://gvsulib.com/usability/instructions-for-observers.pdf">Sample Packet for Observation Room, with scenarios <span class="ftype">PDF</span></a></li>
</ul>

<p><hr />
<ol>
<li class="footnote" id="fntxt1">Some call this the “real world.” <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li class="footnote" id="fntxt2">Always make sure to give credit where credit is due. When someone else comes up with an idea, remember to always attribute it to them. You’ll do enough awesome things in your job, there is no sense stealing other people’s good ideas. Who knows, they might bake you cookies! <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
<li class="footnote" id="fntxt3">You don’t need to record the sessions, but i find it useful to go back when I’m working on improvements to the site and watch exactly how the users had problems. Plus, we already had a license for <a href="http://techsmith.com">Camtasia</a> so it wasn’t an additional expense. <a href="#fn3" title="Return to footnote 3 in the article">↩</a></li>
</ol></p>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=13</guid> 
</item>
<item> 
<title>Why We Do Usability Testing</title>
<link>http://www.matthewreidsma.com/?b=12</link>
<description><![CDATA[<p>At Grand Valley State University, we do monthly usability testing on our website. (Yes, I said <em>monthly</em>.)  I&#8217;m going to just let that sink in for a moment. </p>

<p>We don&#8217;t have a huge budget for testing; our direct costs run about $30-40 a month. We don&#8217;t have a huge Web team; it&#8217;s just me and one 10-hour a week student. We don&#8217;t have a dedicated room for running the test or for doing observation; instead we use my office and a conference room. We don&#8217;t have a lot of technology dedicated to the test; we use my laptop and a decommissioned MacBook from 2008, along with a USB microphone. We just know that usability testing and the constant, iterative improvements it helps us make to our website are important, so we make it work.</p>

<p>I was fortunate when I arrived at <abbr title="Grand Valley State University">GVSU</abbr> last year, because the staff already knew that they needed someone to perform regular usability tests on the website. In normal universities, that means once a year the Web team dusts off some really expensive software <a href="#fntxt1" id="fn1"><sup>1</sup></a> and takes the storage boxes out of the usability testing lab, and sets up a big, 3-day event with a lot of statistics-collecting and silly question writing and whatnot. Nothing on the website ever gets changed because of these tests, but someone will probably wrangle an article full of charts and graphs out it, and maybe a few conference presentations where they fly across the country to read a bullet list out loud to a room of over-caffeinated librarians. The reason university libraries run their usability tests this way is because the website is made for the librarians, so why wouldn&#8217;t the usability tests benefit the librarians as well?</p>

<p>I have a mantra that I repeat in meetings and presentations. &#8220;The website is not for librarians.&#8221; Say it with me. If you&#8217;re a librarian (as I am) look in a mirror and repeat after me:</p>

<p>&#8220;The website is not for you.&#8221;</p>

<p>The website is for our users. Our students. Our faculty. And yes, our staff. But mostly for our students and faculty. Look at your average university website and see what sorts of things you can do on the site. You can probably read an <abbr title="Frequently Asked Questions">FAQ</abbr> with 300 entries, see folders full of policies, choose from a number of non-user friendly research tools (Database A-Z lists, Federated search engines, library catalogs, etc.)<a href="#fntxt2" id="fn2"><sup>2</sup></a>. That&#8217; s because all of this stuff is what we librarians want, and what we like to do. We love writing policies. You know who never looks at policies? Our users<a href="#fntxt3" id="fn3"><sup>3</sup></a>. We like looking at Database titles. We know, for instance, that you&#8217;ll find different things in a Knovel database than in Lexis Nexis. But you know who doesn&#8217;t know that, and frankly, shouldn&#8217;t have to care? Our users. They hate Database A-Z lists. Don&#8217;t believe me? Try asking one of them, or better yet, have them use one in a usability test. I won&#8217;t even say &#8220;I told you so.&#8221;</p>

<p>Here&#8217;s what our users do on our websites: find stuff. <strong>That&#8217;s it</strong>. And when I say &#8220;stuff,&#8221; I don&#8217;t mean policies, old assessment reports, strategic plans, and mission statements<a href="#fntxt4" id="fn4"><sup>4</sup></a>. I mean articles. I mean books. I mean sources that will help them with research. They want to find that stuff and they don&#8217;t understand why it&#8217;s so hard. If they want a book, we tell them they need to use the catalog. If they want to find an article, they need to know the best subject-specific database (and all of its idiosyncrasies). Looking for help with your research? You need to know that Subject Guides or Libguides is the right place for you. This is ridiculous. Users have enough going on in their lives, they shouldn&#8217;t have to know all of this library jargon. They want to have one big fat search box that they can find stuff in, like Google. How do I know this? Do I have any statistics or fancy reports to back this up? No, but every month I sit down with actual users of our website to see how they find stuff and to ask them what they want. And I can tell you, they&#8217;re not itching for more policies pages.</p>

<p>This frustration brought <abbr title="Grand Valley State University">GVSU</abbr> to <a href="http://gvsu.summon.serialssolutions.com">Summon</a>. Summon is a web-scale discovery service from Serials Solutions. It&#8217;s not perfect, by a long shot. But it&#8217;s a start. And one of the first things I set out to do when I got here was to see how our users were using it. We&#8217;d already spent a good deal of time looking at usage statistics and comparing and contrasting things. Statistics can tell you a lot, but they can&#8217;t give you the context of why or even how someone uses something. The only way to find out how and why someone is using your website is to sit down next to them and watch them. Ask some questions. And then determine what got in their way and try to fix it. That&#8217;s it. By shedding the usual statistics-and-report dance, we keep the tests focused on what really matters: improving the website. </p>

<p>Google is great at improving its site to be better for users. <a href="http://matthewreidsma.com/articles/6">It has to</a>. One of the most powerful tweaks they&#8217;ve made in the past few years shows you results from Web, images, shopping, and places all from a single search. Summon does show results from databases, our catalog, digital collections, and LibGuides all on one screen, but it does so poorly. Based on watching our users interact with Summon during our usability tests we&#8217;re working on improving the search results screen so that users don&#8217;t need to know which tool is appropriate before they search. A few places have already done this to good effect. The University of Michigan does this with their search tool <a href="http://www.lib.umich.edu/mlibrary/search/searchtools%3Bmirlyn%3Bejournals%3Blibguides%3Bwebsite%3Bdigitalcollections%3Bwebsite_users%3Bdeepblue/stress">Deep Blue</a>, although they do not use Summon, and do not search articles. (They have written a lot about <a href="http://www.lib.umich.edu/mlibrary/search/searchtools%3Bmirlyn%3Bejournals%3Blibguides%3Bwebsite%3Bdigitalcollections%3Bwebsite_users%3Bdeepblue/stress">usability testing on their Deep Blue</a>, though.) <a href="http://www.lib.ncsu.edu/search/about.html">North Carolina State University</a> has one of the <a href="http://www.lib.ncsu.edu/search/index.php?q=stress&x=0&y=0">cleanest search results screens</a>, pulling articles from Summon, books from the catalog, hits from the website, as well as database and journal recommendations. </p>

<p>This kind of change is not just something that we&#8217;ve heard our users say they want. We could scrap usability tests and do surveys and get that kind of information. Instead, this is something we see is needed because we watch our users trying to use our site like this now, even though the capability isn&#8217;t there yet. We&#8217;d never know that if we didn&#8217;t watch a few people use our site every few weeks and then try to fix their problems for the next time. It&#8217;s another channel we&#8217;ve opened in a dialogue with our users about how we can help them be awesome at their work. Running regular tests reminds me that the library website isn&#8217;t an end in itself, another trap libraries fall into. (Who goes and searches library websites for fun?) The library website is a just tool that should get out of the user&#8217;s way and help him or her do her job.</p>

<p><hr />
<ol>
<li class="footnote" id="fntxt1">I&#8217;m looking at you, <a href="http://www.techsmith.com/morae.asp">Morae</a>. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li class="footnote" id="fntxt2">If your library website is like most you can probably also get to any page on the website right from the home page. Libraries love links so much that most of them look like spam link farms, designed to trick Google. Every other successful website on the planet gave that up in the late &#8217;90s, but not libraries. We librarians <em>like</em> to see a big list of resources because it makes us seem more relevant. &#8220;Look at all this good stuff we have! We&#8217;re not just for novels anymore! We won&#8217;t shush you, either!&#8221; <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
<li class="footnote" id="fntxt3">I have a theory that policies exist on the website so that public service staff have something to point to when they tell a patron they owe money, or can&#8217;t do something like eat in the library. &#8220;I&#8217;m sorry, but eating isn&#8217;t allowed in here. It&#8217;s stated clearly in our policies, on the website.&#8221; <a href="#fn3" title="Return to footnote 3 in the article">↩</a></li>
<li class="footnote" id="fntxt4">I know, your provost wants those things on the website. That&#8217;s ok. Just understand that no one besides other provosts and librarians will ever look at them and you&#8217;ll sleep better at night. <a href="#fn4" title="Return to footnote 4 in the article">↩</a></li>
</ol></p>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=12</guid> 
</item>
<item> 
<title>jQuery for Customizing Hosted Library Services </title>
<link>http://www.matthewreidsma.com/?b=11</link>
<description><![CDATA[<p>Link resolvers are the backbone of any robust electronic resource collection, connecting users with the full-text items or abstracts that they need for their research. They are often the last piece of the library-controlled Web that users see before being shuttled off to a vendor database. Yet they are consistently the least user-friendly, ugliest, most neglected part of the eResource toolkit. </p>

<p>Grand Valley is a <a href="http://serialssolutions.com">SerialsSolutions</a> shop: Summon Discovery Service, 360Link link resolver, and the SerialsSolutions <abbr title="Electronic Resource Management System">ERMS</abbr>. While Summon locks us out of changing the user interface, 360Link offers some options for customization. Yet our installation was essentially &#8220;out-of-the-box&#8221; three years after we launched. In one of our first regular usability tests, it became clear that the poor stock design of the link resolver was an impediment to our users (<a href="#fig1img" id="fig1">Figure 1</a>). Our users could not tell which of the links they were supposed to click, since they relied more on visual cues than on text. We observed most users clicking on the name of the database, the last place you want them to click. (The article link is where we want them to go.)</p>

<p><figure id="fig1img">
<a href="http://matthew.reidsrow.com/img/linkresolver-old.png"><img src="http://matthew.reidsrow.com/img/linkresolver-old.png" alt="Old, stock design of the 360Link link resolver." class="inline-image" /></a>
<figcaption><i>Figure 1</i>: Our stock 360Link Installation</figcaption>
</figure></p>

<p>However, when I got under the hood and started making changes to the interface, I realized that I had my work cut out for me. While SerialsSolutions offers the ability to add a custom <abbr title="Cascading Style Sheets">CSS</abbr> file, their <abbr title="HyperText Markup Language">HTML</abbr> was so full of syntax errors and depreciated practices that it would be very difficult to make any significant changes without asking SerialsSolutions to make changes on their end. My experience with this kind of request led me to seek another solution, and I realized I could make any of the changes I wanted with <a href="http://jquery.com">jQuery</a>, a lightweight but powerful Javascript library<a href="#fntxt1" id="fn1"><sup>1</sup></a>.</p>

<p>I had three goals in redesigning our link resolver:</p>

<ol>
<li>Clean up SerialsSolutions bad <abbr title="HyperText Markup Language"><abbr title="HyperText Markup Language">HTML</abbr></abbr></li>
<li>Change the layout to improve usability and conformity with Grand Valley&#8217;s branding</li>
<li>Enable progressive enhancement, so that these changes would not lock users into needing Javascript</li>
</ol>

<h4>Inline Styles, we hates them.</h4>

<p>360Link is full of nested tables, inline styles, and duplicate IDs. Class names are applied inconsistently, and any custom <abbr title="Cascading Style Sheet"><abbr title="Cascading Style Sheet">CSS</abbr></abbr> will just be putting a coat of paint on a bad layout. My first step was to address the obvious <abbr title="HyperText Markup Language">HTML</abbr> errors and remove them.</p>

<p>First, I added jQuery and my own script, 360Link-Reset.js, in the footer section of the 360Link&#8217;s administrative interface under Branding<a href="#fntxt2" id="fn2"><sup>2</sup></a>. Those are all the changes we <em>need</em> to make to 360Link, although you should certainly include all of your library&#8217;s branding.</p>

<p>The first thing I did was remove all of the pesky cruft that SerialsSolutions left in the <abbr title="HyperText Markup Language">HTML</abbr>: inline styles, unnecessary classes, and duplicate IDs. This was handled by the simple jQuery function .removeAttr. Tables were the worst offenders, with initial table tags that look like this in a stock 360Link installation:</p>

<pre><code>&lt;table class="CandyWrapper" border="0" cellspacing="0" cellpadding="0" align="left" id="CandyWrapper"&gt;
</code></pre>

<p>I needed to remove the border, cellspacing, cellpadding, style and align attributes of <em>all</em> tables, so I added these lines to jQuery:</p>

<pre><code>$("table").removeAttr( "align" );
$("table").removeAttr( "cellspacing" );
$("table").removeAttr( "cellpadding" );
$("table").removeAttr( "border" );
$("table").removeAttr( "style" );
</code></pre>

<p>Now, jQuery will remove these attributes once the page loads so the browser will see the following line<a href="#fntxt3" id="fn3"><sup>3</sup></a>:</p>

<pre><code>&lt;table class="CandyWrapper" id="CandyWrapper"&gt;
</code></pre>

<p>I then repeated the same same procedure with table rows and cells, paragraphs, and spans. Now my 360Link page was devoid of <em>inline</em> styles. </p>

<p>We now have removed all of SerialsSolutions offending inline styles and replaced them with our own. Now let&#8217;s start making some more drastic changes.</p>

<h4>Everything is in the wrong place</h4>

<p>Even replacing our styles won&#8217;t let us make serious interface changes to the link resolver, since all of the good content is wrapped up inside of tables (and tables within tables). We need to scrap this table-based layout and replace things with standards-based <abbr title="HyperText Markup Language">HTML</abbr>. The trick is that the information we want to display to our user is locked up within those tables, and it changes with every display of the link resolver. So we need a mechanism to pull the data from the page, store it while we erase the tables, and then place it inside of our new standards-based <abbr title="HyperText Markup Language">HTML</abbr>. Fortunately, jQuery is up to the task. I&#8217;ll show you how I replaced the ridiculous citation display table with a standards-based div.</p>

<p>First, we need to grab the data from page. jQuery gives us a lot of options here, and fortunately, SerialsSolutions has used unique IDs for each of the table cells that display citation information. Here I&#8217;ll detail those used for articles, which have the format variable set to either &#8220;Journal&#8221; or &#8220;JournalFormat&#8221;:</p>

<pre><code>* Author Name (Last, First) = span.fn
* Journal Title = #CitationJournalTitleValue
* Article Title = #CitationJournalArticleValue
* Journal Volume # = #CitationJournalVolumeValue
* Journal Issue # = #CitationJournalIssueValue
* Journal Date = #CitationJournalDateValue
* Article Page Range = #CitationJournalPageValue
* Journal ISSN = #CitationJournalIssnValue
</code></pre>

<p>Since these unique IDs change depending on the format of the item retrieved by the link resolver, we first need to make sure we are dealing with a Journal. The first line of our new function is:</p>

<pre><code>if (format == "Journal" || format == "JournalFormat") { 
</code></pre>

<p>This way the code will only be executed if the variable &#8220;format&#8221;, which is set by a script loaded by SerialsSolutions, matches either &#8220;Journal&#8221; or &#8220;JournalFormat.&#8221; We&#8217;ll eventually want to do a check for every value SerialsSolutions returns for the format variable<a href="#fntxt4" id="fn4"><sup>4</sup></a>. [fn: ] Now we&#8217;ll grab the values SerialsSolutions has retrieved from their database for these items. I&#8217;ll show you how to grab the Journal Title and you can apply the idea to any of the variables you need to grab. The jQuery method text() will grab the textual value shown to the user on the screen and store it as a variable of our choosing.</p>

<pre><code>var journalTitle = $("td#CitationJournalTitleValue").text();
</code></pre>

<p>This line first declares a javascript variable, journalTitle, and then assigns it the value of the text inside the table cell with the ID CitationJournalTitleValue. That&#8217;s it. We can repeat the process for each of the variables we need on the page, although first we want to add one step to clean up any excess white space in our variable with the jQuery method trim():</p>

<pre><code>journalTitle = jQuery.trim(journalTitle);
</code></pre>

<p>Once we&#8217;ve finally retrieved and cleaned up all of our variables, we can replace the existing table with a more semantic <abbr title="HyperText Markup Language">HTML</abbr> div with our citation. Feel free to use whichever citation format you want, although we use a bit of a hybrid since we want to display <abbr title="International Standard Book Number">ISBN</abbr> and <abbr title="International Standard Serial Number">ISSN</abbr> numbers. First, I want to create the div in <abbr title="HyperText Markup Language">HTML</abbr> to make sure it will look the way I want:</p>

<pre><code>&lt;div id="citation"&gt;
    &lt;span id="CitationJournalAuthorValue"&gt;Smith, Bob.&amp;nbsp;&lt;/span&gt; &lt;!-- our js var authorName --&gt;
    &lt;span id="CitationJournalDateValue"&gt;(2011).&amp;nbsp;&lt;/span&gt; &lt;!-- our js var journalDate --&gt;
    &lt;span id="CitationJournalArticleValue"&gt;An Awesome Article.&lt;/span&gt; &lt;!-- our js var articleTitle --&gt;
    &lt;!-- etc --&gt;
&lt;/div&gt;
</code></pre>

<p>The final table has the class of SS_CitationTable, and it is the only table with this class, so the following line will replace the table with our div. We&#8217;ll replace our dummy values with our javascript variables, like so:</p>

<pre><code>$("table.SS_CitationTable").replaceWith( '&lt;div id="citation"&gt; &lt;span id="CitationJournalAuthorValue"&gt;' + authorName + '&lt;/span&gt;. &lt;!-- etc --&gt; &lt;/div&gt;');
</code></pre>

<p>The jQuery method will replace the table with the class SS_CitationTable with the <abbr title="HyperText Markup Language">HTML</abbr> we&#8217;ve included. And with that, we&#8217;ve removed one of the pesky tables with some some semantic, standards-based <abbr title="HyperText Markup Language">HTML</abbr>. </p>

<p>One thing we had SerialsSolutions add years ago was a link to export the citation on this page to <a href="http://refworks.com">RefWorks</a>. However, the function was never used because the link was all the way at the bottom of the page, rather than up with the citation where it logically belongs. With jQuery, we were finally able to move it from the bottom of the page and tie in in at the end of our citation to allow students to take advantage of this tool. Getting the value of this link was a little more difficult than citation values, because SerialsSolutions did not include a unique ID to the custom links, and in fact, abuses tables and classes in the custom links area. Since our RefWorks link is <em>always</em> the last link on the page with the class of AnchorButton, we could get the href value with the following method:</p>

<pre><code>var refworkslink = $("a.AnchorButtom:last").attr("href");
</code></pre>

<p>However, it is always possible that SerialsSolutions could slap in another anchor link with that class after the RefWorks link. So a better method is to tie this into the static value of the link text, which always says just &#8220;RefWorks&#8221;:</p>

<pre><code>var refworkslink = $("a.AnchorButton:contains('RefWorks')").attr("href");
</code></pre>

<p>The &#8220;contains&#8221; selector is an incredibly useful tool for grabbing values from vendor pages and rewriting their code. jQuery also supports <abbr title="Cascading Style Sheet">CSS</abbr>3 selectors, so you should be able to nab any piece of content and store it in a variable, no matter how crummy the vendor&#8217;s code is.</p>

<h4>In which we start to hate SerialsSolutions default stylesheet</h4>

<p>Now that we&#8217;ve moved some things around, we&#8217;re ready to start making things pretty with some <abbr title="Cascading Style Sheet">CSS</abbr>. But we still have the crummy SerialsSolutions-supplied <abbr title="Cascading Style Sheet">CSS</abbr> to content with. I decided to simply replace SerialsSolutions styles with my own, rather than write styles to counteract theirs. Since our replacement code will only be loaded when javascript is available, I chose to remove their styles and load our own styles through jQuery. With jQuery&#8217;s remove() method, it was easy.</p>

<p>First, I wanted to remove all of the stylesheets loaded in the <head> element. These are the stylesheets that SerialsSolutions loads automatically. One simple jQuery method will do this:</p>

<pre><code>$("head link").remove()
</code></pre>

<p>Now we need to load our own stylesheets. To make it easy to load multiple stylesheets, I created a variable called cssPath, which is simply the path to all <abbr title="Cascading Style Sheet">CSS</abbr> files. I first loaded a reset stylesheet that resets the styles on all <abbr title="HyperText Markup Language">HTML</abbr> elements to better ensure cross-browser support, and then I load the custom stylesheet I have created for our link resolver using the append() method, which appends data at the end of an element (in our case, the <head> element):</p>

<pre><code>$("head").append( '&lt;link rel="stylesheet" type="text/css" href="' + cssPath + 'linkresolver.css" /&gt;');
</code></pre>

<p>The great benefit to this method, rather than adding your styles to SerialsSolutions &#8220;Custom <abbr title="Cascading Style Sheet">CSS</abbr>&#8221;, is that our styles will only be loaded when javascript is available. Users who cannot use javascript for some reason will simply get the terrible <abbr title="HyperText Markup Language">HTML</abbr> SerialsSolution ships with 360Link as well as the default styles, and users with Javascript will get the benefits not only of a rewritten page, but also of better styles to match.</p>

<p>If you have a lot of visitors who don&#8217;t have javascript available, you may want to write a stylesheet for SerialsSolutions default styles and load it through the 360Link control panel. Then remove it with jQuery. Users with javascript will still get all of the custom rewrites and better styles we just developed, but users without javascript will have the benefit of some improved styles for the default layout. At the very least, make some changes to the &#8220;Article&#8221; link to make it more visible.</p>

<h4>Caveats</h4>

<p>Rewriting vendor websites with jQuery can be a great tool for solving certain problems. It&#8217;s great for rapid prototyping of an idea or getting something workable in front of real users quickly, without having to wait for the vendor to make changes or for your development team to build a custom interface using <abbr title="Application Programming Interface">API</abbr>s. In these cases, it can be a great first step along the way to a larger development project, but it wouldn&#8217;t be a long-term fix by itself. However, there are times when  vendor has so apparently abandoned development on a product (like 360Link), that jQuery might be your best option for making dramatic changes. (360Link does have an <abbr title="Application Programming Interface">API</abbr>, but good luck finding documentation on it.)</p>

<p>This is not necessarily a rock-solid, reliable solution for long-term changes to vendor products, however. For starters, your code is dependent on the bad practices the vendor uses. If the vendor changes their code, even changes IDs or classes, your code will break. In addition, you&#8217;re limited to the data the vendor already provides on the page itself. Unlike an API, you don&#8217;t have the option of grabbing data that the vendor has stored in a database; you can only grab data that is already displayed on the page. Finally, you must remember that not everyone has javascript, so you shouldn&#8217;t require javascript for your changes to at least be functional.</p>

<p><figure id="fig2img">
<a href="http://matthew.reidsrow.com/img/linkresolver-new.png"><img src="http://matthew.reidsrow.com/img/linkresolver-new.png" alt="New, jQuery enabled design of the 360Link link resolver." class="inline-image" /></a>
<figcaption><i>Figure 2</i>: Our current 360Link page</figcaption>
</figure></p>

<h4>Styling FTW!</h4>

<p>We&#8217;ve tweaked our layout based on user testing and feedback, and so far things are going well. We&#8217;ve also packaged up the scripts we&#8217;ve used to make these changes and distributed them <a href="https://github.com/mreidsma/360link-reset">on Github</a>, so feel free to grab the source and just plug and play, or feel free to make (or contribute!) changes. Just this week I gave a little talk at <a href="http://wiki.code4lib.org/index.php/Midwest">Code4Lib Midwest</a> in Chicago on the progress we&#8217;ve made using jQuery to &#8220;enhance&#8221; hosted vendor websites. I focus mostly on 360Link, but I also talk about some work we&#8217;ve done with getting <a href="https://github.com/mreidsma/hasMedia-">CONTENTdm to use remotely-hosted video</a> (and HTML5 video, at that) as well as some progressive enhancement work we&#8217;ve done with our institutional repository. You can grab the slides from that talk below.</p>

<div id="__ss_8718508">
<strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/msreidsma/customizing-hosted-library-services-with-jquery" title="Customizing Hosted Library Services with jQuery">Customizing Hosted Library Services with jQuery</a></strong>
<iframe src="http://www.slideshare.net/slideshow/embed_code/8718508" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> </div>

<hr />

<ol>
<li class="footnote" id="fntxt1">As an added bonus, you can make immediate changes to 360Link when employing this method. Since 360Link updates only once a day, any changes you make through the SerialsSolutions administrative console take 24 hours to be applied. But since the only real change you&#8217;ll make to the console is to include a javascript file which handles all of the interface changes, changes to the javascript file are applied immediately. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li class="footnote" id="fntxt2">Including your own scripts in the footer section allows the browser to render the page before loading scripts, as well as allows users to see content even if the script fails. You should do this whenever you can. <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
<li class="footnote" id="fntxt3">if you View Source in your browser, you will still see these attributes. But if you use Firebug or Safari and open the Web Inspector, you&#8217;ll see that the DOM as rendered does not include these attributes. <a href="#fn3" title="Return to footnote 3 in the article">↩</a></li>
<li class="footnote" id="fntxt4">You can see the variables I&#8217;ve discovered both in the <a href="https://github.com/mreidsma/360link-reset">source code for 360link-reset</a>. <a href="#fn4" title="Return to footnote 4 in the article">↩</a></li>
</ol>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=11</guid> 
</item>
<item> 
<title>Typefaces as Identity</title>
<link>http://www.matthewreidsma.com/?b=10</link>
<description><![CDATA[<p>What strikes me most about the visual identity of libraries is how little attention is paid to the <em>actual</em> identity of the institution when aesthetic design choices are made. This is most evident in choosing a typeface<sup><a href="#fntxt1" id="fn1">1</a></sup>. Let me explain.</p>

<p>A great example of typeface appropriateness are the neighboring schools in Cambridge, Mass <a href="http://harvard.edu">Harvard University</a> and <a href="http://www.lesley.edu">Lesley University</a>. They are literally across the street from one another, but each uses their typeface to tell you what kind of school they are: <a href="http://matthew.reidsrow.com/img/harvard.png">Harvard uses Georgia</a> for its text, although that first choice is likely because <a href="http://new.myfonts.com/fonts/adobe/utopia/">Utopia</a>, the more elegant and &#8220;Harvard-esque&#8221; typeface, is not a very commonly installed font<sup><a href="#fntxt2" id="fn2">2</a></sup>. Helvetica is the sans-serif compliment that is relegated to small text and links. These use of so much Georgia on the page says that Harvard is a sophisticated, elite school. <a href="http://matthew.reidsrow.com/img/lesley.png">Lesley uses the same typefaces</a>: Georgia and Helvetica, but in exactly the opposite proportion. Helvetica is the predominant typeface, with Georgia buried in secondary pages as the typeface for quotes and news headlines. Helvetica is a light, modern face that is practical and highly readable. They say that Lesley is a school unburdened by the trappings and rituals of history. </p>

<p>I thought about these choices a few years ago when I worked with the <a href="http://gvsu.edu/business">Seidman College of Business</a> to redesign their website. As West Michigan&#8217;s premier business school, they needed a sophisticated, modern visual identity. Their website at the time was the default University template, which used the font <a href="http://en.wikipedia.org/wiki/Arial">Arial</a> (with <a href="http://en.wikipedia.org/wiki/Helvetica">Helvetica</a> as a backup) for nearly everything.</p>

<p>Arial does not scream &#8220;business school&#8221; to me:</p>

<p><img src="http://matthew.reidsrow.com/img/arial_bizschool.png" class="scale" alt="The words Business School in Arial regular font" /></p>

<p>Arial is a sans-serif typeface, which means it does not have the little details at the end of each stroke, and seems more casual than you would expect from a reputable business school<sup><a href="#fntxt3" id="fn3">3</a></sup>. (This has as much to do with the typeface as it does with what we associate with business schools.) Look at the same phrase in <a href="http://en.wikipedia.org/wiki/Didot_(typeface)">Didot</a>, an elegant serif typeface with very thin strokes:</p>

<p><img src="http://matthew.reidsrow.com/img/didot_bizschool.png" class="scale" alt="The words Business School in Didot regular font" /></p>

<p>Which of the two business schools is better? In my unscientific survey at the office, 100% of respondents picked the school that used Didot. And why? Because it looks more refined, more sophisticated, and moneyed. Exactly the qualities we expect from a good business school.</p>

<p>So when redesigning the Seidman website, I switched the headings of the over to <a href="http://en.wikipedia.org/wiki/Georgia_(typeface)">Georgia</a>, a sophisticated but not snobby serif typeface that was designed for the Web. It looks great in all caps, lending an air of class, but it doesn&#8217;t have such slender strokes that it seems better than you. Georgia is a serif typeface that wears a suit, but still mows its own lawn on the weekends in shorts and a t-shirt. </p>

<p>I felt it was the perfect face to balance Arial on the business school website, because visually it says business school while still staying true to Grand Valley&#8217;s identity.</p>

<p>One recent advertising campaign for Grand Valley State University also does well, I think, in choosing typefaces. <abbr title="Grand Valley State University">GVSU</abbr> is a state school known for quality teaching, affordable prices, and a great football team. We&#8217;re not known for research, endowments, or ivy and brick. In the past, our marketing teams paired very elegant fonts like Optima and Palatino that seem to be claiming that <abbr title="Grand Valley State University">GVSU</abbr> is a very different school. However, the most recent ads and publications return things to normalcy by using what appears to be <a href="http://www.theleagueofmoveabletype.com/fonts/7-league-gothic">League Gothic</a>, a great workhorse sans-serif, paired <a href="http://matthew.reidsrow.com/img/mba_recommendation.gif">sometimes with Georgia</a>.</p>

<p><img src="http://matthew.reidsrow.com/img/mbaad.png" class="scale" alt="A recent Grand Valley State University Ad for the Full-time Integrated MBA program" /></p>

<p>So what does this have to do with libraries? Everything. Take the following example. What kind of library do you think this is?</p>

<p><img src="http://matthew.reidsrow.com/img/comic_library.png" class="scale" alt="The word Library in Comic Sans regular font" /></p>

<p>If you guessed Children&#8217;s library, then you&#8217;re starting to understand how typeface choice tells us a lot about the identity of the institution the letters represent. (If you said &#8220;public library,&#8221; then that is just a sad commentary on the state of public library design budgets.) As a side note: please <strong>never</strong> use Comic Sans. For anything (except maybe a lemonade stand sign).</p>

<p>Now look at this library:</p>

<p><img src="http://matthew.reidsrow.com/img/garamond_library.png" class="scale" alt="The word Library in Garamond regular font" /></p>

<p>This is Garamond, the typeface of choice for the Newberry Library, an independent research library in Chicago with an amazing collection of manuscripts and rare books. Can you imagine their logo in Comic Sans?</p>

<p>The old expression that it&#8217;s not just what you say, but how you say it could be applied to the selection of fonts: it&#8217;s not just what you write, but what font you display it in<sup><a href="#fntxt4" id="fn4">4</a></sup>.</p>

<p>So when redesigning your library&#8217;s logo, your website, or making a sign for the bathroom door or the circulation desk, take this advice: know your library, then pick a typeface that suits you. Smart companies pay people a lot of money to make these decisions, and while we don&#8217;t have the money these choices are just as important.</p>

<hr />

<ol>
<li id="fntxt1">The difference between a typeface and a font was succinctly summarized by <a href="http://fontfeed.com/archives/font-or-typeface/">Norbert Florendo</a> as &#8220;font is what you use, and typeface is what you see.&#8221; I am sure I misuse them in this article. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li id="fntxt2">Until <a href="http://typekit.com">recently</a>, specifying a font on the Web was a probability game, since the viewer had to have the font installed on their computer. So you&#8217;d specify the font you&#8217;d <em>like</em> to show, in this case, Arial, and then give backup options in case that font wasn&#8217;t available. <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
<li id="fntxt3">Not all sans-serif typefaces are casual. <a href="http://matthew.reidsrow.com/img/museo_bizschool.png" title="The words Business School in Museo Sans 500 font">Museo Sans</a> is a wonderful, sophisticated sans-serif typeface. <a href="#fn3" title="Return to footnote 3 in the article">↩</a></li>
<li id="fntxt4">Frank Chimero demonstrated this in <a href="http://issuu.com/stewf/docs/cure_for_common_font_sxsw">a talk from <abbr title="South by Southwest Interactive Festival">SXSW</abbr> earlier this year</a> by resetting the New York Times in Comic Sans. (See slide 20). <a href="#fn4" title="Return to footnote 4 in the article">↩</a></li>
</ol>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=10</guid> 
</item>
<item> 
<title>How to create OpenSearch plugins for your library</title>
<link>http://www.matthewreidsma.com/?b=8</link>
<description><![CDATA[<p>I&#8217;ve long been a fan of <a href="http://www.opensearch.org/" title="Learn more about OpenSearch">OpenSearch</a>, the XML format that allows you to add custom search engines to many browsers. Although most users are unaware that they can change the default search in Firefox, Chrome<sup><a href="#fntxt1" id="fn1">1</a></sup>, Opera, and even Internet Explorer, I still find these tools useful, especially for power users. I created a few OpenSearch plugins for our heaviest users (subject librarians and desk staff) that search both <a href="http://gvsulib.com/labs/search" title="GVSU Library search plugins for common browsers">Summon and our library&#8217;s catalog</a>.</p>

<p>I thought that other libraries might be interested in creating their own search plugins for Summon and Millennium<sup><a href="#fntxt2" id="fn2">2</a></sup>. I&#8217;ll walk you through creating the files, adding autodiscovery to your website, and creating an installation link. It shouldn&#8217;t take more than 10 minutes.</p>

<h4>OpenSearch for Summon</h4>

<p>In your favorite text editor, open the template below:</p>

<p><code>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz= "http://www.mozilla.org/2006/browser/search/ "&gt;<br />
  &lt;ShortName&gt;<span class="edit_me">LIBRARY NAME</span>&lt;/ShortName&gt;<br />
  &lt;Description&gt;Search library holdings with Summon&lt;/Description&gt;<br />
  &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;<br />
  &lt;Image width="16" height="16" type="image/x-icon"&gt;<span class="edit_me">PATH/TO/favicon.ico</span>&lt;/Image&gt;<br />
  &lt;Url type="text/html" method="GET" template="http://<span class="edit_me">YOURLIBNAME </span>.summon.serialssolutions.com/search?s.q={searchTerms}"&gt;&lt;/Url&gt;<br />
&lt;Url type="application/opensearchdescription+xml" rel="self" template="<span class="edit_me">PATH/TO/OPENSEARCH.xml</span>" /&gt;<br />
  &lt;moz:SearchForm&gt;http://<span class="edit_me">YOURLIBNAME </span>.summon.serialssolutions.com&lt;/moz:SearchForm&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
</code></p>

<ol>
 <li>Replace <span class="edit_me">LIBRARY NAME</span> with a short name you&#8217;d like to see in the browser&#8217;s dropdown menu. I used &#8220;GVSU Libraries&#8221; for our Summon search.</li>
  <li>Change <span class="edit_me">YOURLIBNAME</span> to the Summon <abbr title="Uniform Resource Location">URL</abbr> prefix for your library. Our Summon <abbr title="Uniform Resource Location">URL</abbr> is <a href="http://gvsu.summon.serialssolutions.com">http://gvsu.summon.serialssolutions.com</a>, so we put &#8220;gvsu&#8221; in place of <span class="edit_me">YOURLIBNAME</span>.</li>
 <li>Create a little icon, called a &#8220;favicon,&#8221; for your plugin. (Your University probably already has one. Check with your Web team. Here is <a href="http://gvsulib.com/labs/img/favicon.ico"><abbr title="Grand Valley State University">GVSU</abbr>&#8217;s favicon</a>.) You can convert any image to a favicon with a <a href="http://tools.dynamicdrive.com/favicon/">simple online tool</a>. Upload your favicon to your server and replace <span class="edit_me">PATH/TO/favicon.ico</span> with the <abbr title="Uniform Resource Location">URL</abbr> of this file.</li>
 <li>Decide where you want to host this plugin and what you&#8217;ll name it. Enter the <abbr title="Uniform Resource Location">URL</abbr> and file name in place of <span class="edit_me">PATH/TO/OPENSEARCH.xml</span>.</li>
 <li>Finally, save your file with the name you chose in step 4 and upload it to your server.</li>
</ol>

<h4>OpenSearch for Millennium <abbr title="Integrated Library System">ILS</abbr></h4>

<p>In your favorite text editor, open the template below.</p>

<p><code>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz= "http://www.mozilla.org/2006/browser/search/"&gt;<br />
  &lt;ShortName&gt;<span class="edit_me">LIBRARY NAME</span> Catalog&lt;/ShortName&gt;<br />
  &lt;Description&gt;Search the library Catalog&lt;/Description&gt;<br />
  &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;<br />
  &lt;Image width="16" height="16" type="image/x-icon"&gt;<span class="edit_me">PATH/TO/</span>favicon.ico&lt;/Image&gt;<br />
  &lt;Url type="text/html" method="POST" template="<span class="edit_me">PATH/TO/CATALOG</span>/search"&gt;<br />
   &lt;Param name="searchtype" value="X"/&gt;<br />
    &lt;Param name="searcharg" value="{searchTerms}"/&gt;<br />
  &lt;/Url&gt;<br />
&lt;Url type="application/opensearchdescription+xml" rel="self" template="<span class="edit_me">PATH/TO/OPENSEARCH</span>.xml" /&gt;<br />
  &lt;moz:SearchForm&gt;<span class="edit_me">PATH/TO/CATALOG</span>&lt;/moz:SearchForm&gt;<br />
&lt;/OpenSearchDescription&gt;<br />
</code></p>

<p>The catalog OpenSearch <abbr title="eXtensible Markup Language">XML</abbr> is a bit more complicated than the Summon script because Millennium uses a different <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr title="Hypertext Transfer Protocol">HTTP</abbr> Request method</a> than Summon<sup><a href="#fntxt3" id="fn3">3</a></sup>. For this reason, you cannot use the OpenSearch Millennium plugin in Internet Explorer.</p>

<ol>
  <li>Replace <span class="edit_me">LIBRARY NAME</span> with a short name you&#8217;d like to see in the browser&#8217;s dropdown menu. We called ours &#8220;GVSU Library Catalog.&#8221;</li>
  <li>Replace <span class="edit_me">PATH/TO/CATALOG</span> with the <abbr title="Uniform Resource Location">URL</abbr> of your Millennium installation. Our catalog is at <a href="http://library.catalog.gvsu.edu">http://library.catalog.gvsu.edu</a>, so we&#8217;d put this in place of <span class="edit_me"> PATH/TO/CATALOG</span>. <strong>Note:</strong> Make sure you leave the &#8220;/search&#8221; at the end of the path in the <span class="code"><Url></span> tag. The search will not work without it.</li>
 <li>Use the URL of the favicon you created in the first step in place of <span class="edit_me"> PATH/TO/favicon.ico</span>.</li>
   <li>Remember to choose a different name than your Summon plugin, and use this filename and the path you used for your Summon plugin to replace <span class="edit_me"> /PATH/TO/OPENSEARCH.xml</span>.</p>
  <li>Upload the file to your server.</li>
</ol>

<h4 id="install">Installation and Autodiscovery</h4>

<p>Adding these lines to the <span class="code"><head></span> of your website will tell browsers OpenSearch plugins are available:</p>

<p><code>
 &lt;link rel="search" type="application/opensearchdescription+xml" title="<span class="edit_me">LIBRARY NAME</span> Summon Search" href="<span class="edit_me">PATH/TO/SUMMON/FILE </span>.xml"&gt;<br />
    &lt;link rel="search" type="application/opensearchdescription+xml" title="<span class="edit_me">LIBRARY NAME</span> Catalog Search" href="<span class="edit_me">PATH/TO/CATALOG/FILE </span>.xml"&gt;
</code></p>

<ol>
 <li>Replace <span class="edit_me">LIBRARY NAME</span> with your library&#8217;s name.</li>
 <li>Change <span class="edit_me"> PATH/TO/CATALOG/FILE.xml</span> and <span class="edit_me">PATH/TO/SUMMON/FILE.xml</span> to the <abbr title="Uniform Resource Location">URL</abbr> of the appropriate plugin.</li>
</ol>

<p>Our link for Summon looks like this:</p>

<p><code>&lt;link rel="search" type="application/opensearchdescription+xml" title="GVSU Libraries Summon Search" href= "http://gvsulib.com/labs/search/gvsusummon.xml"&gt;<br /></code></p>

<p>Use Javascript to create an installation link. Add the following script to your <span class="code"><head></span> on your page:</p>

<pre><code>
&lt;script type="text/javascript"&gt;
  &lt;!--
    function installSearchEngine(engineURL) {
      if (window.external && ("AddSearchProvider" in window.external)) {
        // Firefox 2 and IE 7, OpenSearch. Note: Catalog search won't work with IE
        window.external.AddSearchProvider(engineURL);
      } else {
        // No search engine support (IE 6, Opera, Safari, etc.)
        alert("This browser does not support adding search engines. Try Firefox!");
      }
    }
  // --&gt;
&lt;/script&gt; 
</code></pre>

<p>When creating the installation link, pass the <abbr title="Uniform Resource Location">URL</abbr> of the OpenSearch plugin to this script and it checks to make sure that the browser supports OpenSearch plugins before installing. Here&#8217;s our Summon plugin link:</p>

<p><code>&lt;a href="javascript:installSearchEngine( 'http://gvsulib.com/labs/search/gvsusummon.xml' )" title="Install Summon Search in your browser"&gt;Install Summon Search&lt;/a&gt;<br /></code></p>

<p>That&#8217;s it. Now your users can search Summon or your catalog right from their browser search bars. At <abbr title="Grand Valley State University">GVSU</abbr>, we are building these plugins into our lab computer image, but I suspect that only power users will use them (or be aware of them).</p>

<p class="download"><a href="/files/opensearch.zip">Download the templates</a> <span class="ftype">ZIP</span></p>

<hr />

<ol class="footnotes">
   <li id="fntxt1">Chrome allows you to install OpenSearch plugins, but they aren&#8217;t as intuitive as Firefox or Internet Explorer. We&#8217;ve created <a href="http://www.youtube.com/watch?v=IjtoZ4X5IBs">a short tutorial video</a> that explains how to use these plugins in Chrome.</li>
 <li id="fntxt2">Unlike the <a href="http://www.libx.org/">LibX toolbar</a>, these search plugins are unobtrusive and simple. LibX looks like the spam toolbars that get installed whenever your 11-year-old niece uses your computer to watch Hannah Montana videos.</li>
   <li id="fntxt2">Summon uses GET, which passes the search query along in the <abbr title="Uniform Resource Location">URL</abbr> string, while Millennium uses POST, which passes data in the body of the request. Internet Explorer does not support POST through OpenSearch because Bill Gates hates the internet. I have no idea why Innovative Interfaces, <abbr title="Incorporated">Inc.</abbr> (the creators of Millennium) uses POST for catalog searches, other than keeping true to their core mission of making their products cumbersome and nearly unusable.</li>
</ol>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=8</guid> 
</item>
<item> 
<title>Organizing Web Content</title>
<link>http://www.matthewreidsma.com/?b=7</link>
<description><![CDATA[<p>This afternoon, I’m giving a talk at work about Information Architecture (IA). I’ve long thought that <abbr title="Information Architecture">IA</abbr> (and User Centered Design techniques in general) shouldn’t be hidden under the Web professional’s bushel. <abbr title="Information Architecture">IA</abbr> helps content creators make their stuff easier to find, and nearly everyone is a content creator. Have a Facebook account? Twitter account? Flickr photostream? You’re a content creator.</p>

<h4>The Web is not Aunt Mildred’s Closet</h4>

<p>The underlying problem for most organizations&#8217; websites (and certainly most library websites) is that no one has ever asked <em>why</em> the website exists in the first place. Who is it for? What do we want them to accomplish? Trying to decide if your website is a “success” is useless if you don’t have some idea of what you are trying to do. Simply printing out page views and making a colorful graph isn’t going to tell you anything.</p>

<p>In all organizations, once or twice a week someone stops by the office of the Web Wrangler™ to ask, &#8220;can we put this document somewhere on the Web?&#8221; The implication is that the person who created it doesn’t know where it should go, so stuffing it into the website seems like the easiest solution. The website then becomes the kitchen junk drawer, or Aunt Mildred’s closet, full of stuff that has no home, but collocated in one place for anyone who needs to find something.</p>

<p>Your website is not a junk drawer. It isn’t Aunt Mildred’s closet. Do you <em>like</em> rifling through your junk drawer? Have you ever found what you’re looking for in Aunt Mildred’s closet? What makes you think your users want to do this?</p>

<p>The point is that if you don’t know where something should go on your website, then your users certainly won’t know where it is. You created it! If you have content that doesn’t either help your users meet their goals or help your organization meet their goals, then it shouldn’t be on your website. It’s just clutter.</p>

<p>So today I’ll talk about how we can make our content useful once we know why we’re creating it in the first place. You can see the slides below. Feedback is always welcomed, via Twitter <a href="http://twitter.com/mreidsma" title="Matthew Reidsma on Twitter">@mreidsma</a>.</p>

<div id="__ss_7669627"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/msreidsma/organizing-web-content-or-the-web-is-not-aunt-mildreds-closet" title="Organizing Web Content, or, the Web is not Aunt Mildred’s closet">Organizing Web Content, or, the Web is not Aunt Mildred’s closet</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/7669627" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>

<p></p></p>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=7</guid> 
</item>
<item> 
<title>Lunchless</title>
<link>http://www.matthewreidsma.com/?b=6</link>
<description><![CDATA[<p><p>Libraries used to have a monopoly on information, but the Internet changed that. Libraries are only now starting to notice this change. For the past decade we&#8217;ve tried to convince our users that searching the library is often a better solution than searching Google. There is nothing wrong with this, since it&#8217;s often true. But all of our energy went into making these arguments instead of genuinely improving our user&#8217;s experiences. We ignored our clunky, complicated online catalogs, quickly tossed up long, convoluted help pages filled with library jargon, and tried to convince users that on the other side of these unpleasant Web pages lay the research promised land. Every question answered, every need satisfied. It was easy, we said:</p>

<blockquote><p><a href="http://elibrary.mel.org/search">Our site is simple</a>. Just type some keywords, select from the radio buttons (Title or Series Title? What do you mean &#8220;you don&#8217;t know?&#8221;). Oh, don&#8217;t forget to select your region from the dropdown menu (Are you region #4 or region #5?). Subjects? Well, do you mean LCSH or MESH or Children&#8217;s, little Susie? Now just click Find it!</p></blockquote>

<p>Well, that wasn&#8217;t so hard. What could that single search box have that libraries don&#8217;t? How about a stake in making great user experiences?</p>

<p>Google cares desperately about it&#8217;s users. It has to. Literally billions of dollars a year are at stake, since Google&#8217;s entire business model is designed to get people to use and reuse and depend on it&#8217;s services. If you use Google&#8217;s search, or Gmail, or Google calendar, they can sell your attention to advertisers. They can&#8217;t get you to use their services without making the experience the best on the Web. Imagine if Google&#8217;s search interface looked like some of our library search pages. Larry Page and Sergey Brin would be working at Jimmy John&#8217;s and you&#8217;d be <a href="http://en.wikipedia.org/wiki/Ask_jeeves#History">asking Jeeves</a> for directions and &#8220;Yahooed&#8221; would have been a <a href="http://www.americandialect.org/index.php/amerdial/2002_words_of_the_y/">useful word of the year</a>.</p>

<p>One of the reasons libraries seem to be waking up from their jargon-filled delusion is that <em>we</em> suddenly have a financial stake in making experiences better for our students as well. Budgets are getting slashed and library directors are being asked to justify the existence of expensive library resources, especially when so many students skip the library and head to Google.</p>

<p>In her excellent <em><a href="http://www.abookapart.com/products/the-elements-of-content-strategy">The Elements of Content Strategy</a></em>, Erin Kissane warns those with monopolistic products that they can&#8217;t afford to ignore the needs of their users just because they have no competition. She writes,</p>

<blockquote><p>If you’re the only one offering a desirable product or service, you might not see the effects of narcissistic content right away, but someone will eventually come along and eat your lunch by offering the exact same thing in a user-centered way.</p><cite><a href="http://www.alistapart.com/articles/a-checklist-for-content-work/">Kissane, p.9</a></cite></blockquote>

<p>That&#8217;s basically what happened to libraries. Google came along and offered up answers to questions (i.e. information) that was easy to use. It&#8217;s not that libraries didn&#8217;t care about our users, it&#8217;s that what our users wanted us to care about changed, and we decided that our fancy MLS degrees gave us the right to decide that what we thought they <em>needed</em> (comprehensive, subject-specific but difficult to use resources) was more important than what they said they <em>wanted</em>.(ease of use). We just stuck our fingers in our ears and chanted &#8220;Our search is better! Our search is better!&#8221; How&#8217;d that work out for us?</p>

<p>Google ate our lunch.</p>

<p>So now libraries are rushing to hire &#8220;User Experience Librarians&#8221; and talking about simplifying their websites and jumping on google-like discovery tools like Summon. But will these small changes make a difference? Probably not, because these are superficial solutions. It&#8217;s not just that our users want a better gradient on our search buttons, or more white space between results. They want a library that doesn&#8217;t yet exist, one that understands that the world has changed and takes that change seriously in its mission and into its makeup.</p>

<p>Part of the problem is built-in to our organizational charts.</p>

<p>Take a look at most academic libraries. They offer a wealth of print and electronic resources, but these are <em>all</em> accessed through the library website. Want to see if the library has a book? Search the catalog, through the website. Access to a journal? Search for it through the website. This means that nearly everyone that walks through the library&#8217;s door <em>and</em> everyone that logs on to the website interacts with the library website. So while only a portion (a large portion, granted) of our users walk through the front door, nearly 100% come to the website.</p>

<p>Now look at the organizational chart. How many people are responsible for in-person service? How many people are responsible for the Web? See the discrepancy<sup><a href="#fntxt1" id="fn1">1</a></sup>?</p>

<p>Google&#8217;s business is online, and their organizational chart shows that. The academic library&#8217;s business is largely online, as well, but you wouldn&#8217;t know it by looking through a staff directory.</p> 

<p>I&#8217;m not advocating tossing our organizational structure and hiring a bunch of Web developers. But as libraries continue to fight for resources and as our users move more and more to the Web for <em>everything</em>, we need to be ahead of the game and planning for how our libraries will survive into the next 10, 20, 30 years.</p>

<p>How do we start? Train the people we have. Every librarian on staff should know how to write <abbr title="HyperText Markup Language">HTML</abbr>. Everyone should know the difference between hits, views, and visits. Everyone should understand how a relational database works, and how pages are generated dynamically. Most importantly, everyone should know why these things are important! These are foundational skills that no student can leave library school without demonstrating. These are the necessary skills for being a librarian in 2011<sup><a href="#fntxt2" id="fn2">2</a></sup>.</p>

<p>In the automotive field, mechanics who don&#8217;t want to learn how to work on cars with computers are soon out of work. Why? They ignored their users desires to have their cars fixed. If we, as librarians, don&#8217;t start taking the Web seriously, we&#8217;ll all be sitting on a park bench, feeding pigeons with some mechanics, reminiscing about the &#8220;good &#8216;ol days.&#8221;</p>

<p><strong>Epilogue:</strong> <em>As I was adding in links for this article, I visited our &#8220;premiere&#8221; library publication, <a href="http://libraryjournal.com">Library Journal</a>, and found their website <a href="http://matthew.reidsrow.com/img/libraryjournalfail.png">in this state</a>, which just goes to emphasize my point.</em></p>

<hr />

<ol>
<li class="footnote" id="fntxt1">Please don&#8217;t make some silly argument like &#8220;but building a website takes less work than manning a service desk.&#8221; This just tells me that you&#8217;ve either never built a website, or have done a poor job at the ones you&#8217;ve created. Websites take constant attention, testing, and updating to stay relevant and usable. Think of how often Facebook changes its layout. Think they do that because they want to annoy you, or get you to join another &#8220;<a href="http://www.facebook.com/group.php?gid=58051653927">1,000,000 users against the new Facebook Layout</a>&#8221; group? No. They change the layout to make the site more usable, which keeps you around longer, which gives them more of you to sell advertisers. In short, they change the layout because they <em>have</em> to care about users. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<lI class="footnote" id="fntxt2">Foundational skills are important, not just <a href="/?b=5">blind allegiance to technology at all costs</a>. Start by understanding how the Web works and why that is important, not by pasting up <a href="http://en.wikipedia.org/wiki/QR_code"><abbr title="Quick Response Codes">QR codes</abbr></a> on every book range. <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
</ol>
</p>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=6</guid> 
</item>
<item> 
<title>The Technology Trap</title>
<link>http://www.matthewreidsma.com/?b=5</link>
<description><![CDATA[<p>It is no secret that libraries have embraced technology over the past few decades. We moved our card catalogs online in the eighties, began offering public access to Internet-connected computers in the nineties, and continue to bring users into the library by harnessing new and varied technologies. Yet libraries are still running as fast as they can to keep up with five years ago. Why is that?</p>

<p>When it comes to collections, we aren’t curators as much as custodians. The job of a curator is to separate the wheat from the chaff, and that runs counter to the librarian’s call<sup><a href="#fntxt1" id="fn1">1</a></sup>. But the problem is that users have specific needs, and the job of sorting through the ever-growing pile of resources is handed over to the user. This behavior finds its way into our technology adoption, as well. We want to offer every new technological marvel, somehow, to our users. There has to be value somewhere, right? We try things out, and when the next new thing comes along, we toss our formerly-beloved gadgets into the closet.</p>

<p>Five years later, we read an article about how some library managed to stop the merry-go-round long enough to successfully integrate some older piece of technology to actually improve user experience. We have a committee meeting, and someone remembers that we bought a dozen of these whiz-bangs five years ago, and we dust them off and follow the lead of another library. But then we climb back on the technology train, having learned nothing from the experience, content to let others handle our curatorial responsibility of asking if the technology meets our users needs. This is what keeps us five years behind.</p>

<p>When we inundate ourselves with the latest gadgetry without performing some essential curatorial functions, we lose focus on what’s important, which is helping our users. We adopt technology for technology’s sake, and have no time to learn and really integrate new technology because we’re always moving on to the next big thing. We sense that there is something that can be improved about the way we provide service, and we’re sure that this next gizmo or that whiz-bang will fix the problem. But it won’t, because the problem isn’t that we’re missing the right piece of technology. The problem is more fundamental.</p>

<p>Users have work to do at academic libraries, and that work does not <em>require</em> technology<sup><a href="#fntxt2" id="fn2">2</a></sup>. We should adopt technology because it makes our users’ work easier. When you think of the best technology you’ve ever used, wasn’t it great because the gadget got out of the way and made your work easier? Ignoring the reasons why we use technology in the first place will only pile up technological barriers between our users and what they are trying to do.</p>

<p>We need to become technical curators. We need to understand what are users really are doing or want to do (and not what we <em>think</em> they are doing or want to do). Using that information, we should evaluate every piece of technology that is proposed. How will this help users do their work? Will this make their work easier, without burdening them? Will this have longevity? Do users even want what this provides? (I’m looking at you, <a href="http://en.wikipedia.org/wiki/QR_code" title="QR Codes"><abbr title="Quick Response Codes">QR codes</abbr></a>.)</p>

<p>As <a href="http://merlinmann.com">Merlin Mann</a> says, if you want to make lists, don’t buy a new notebook. Just make lists! If we want to provide better service for our patrons, no technology is going to do that for us. If we want to provide great service, we need to start by providing great service. Technology should only build on that foundation, not try to mask fundamental problems.</p>

<hr />
<ol>
<li class="footnote" id="fntxt1">Librarians pride themselves in offering up access to as many resources as we can. Collection development librarians perform some high-level curation to ensure that the resources match the collecting goals of the library. But this isn’t strict curation. <a href="#fn1" title="Return to footnote 1 in the article">↩</a></li>
<li class="footnote" id="fntxt2">Yes, I realize that if something is online, technically you need a computer to read it. Unless, of course, the text is printed out for you. But here the technology involved, an Internet-capable computer with a Web browser, actually makes searching for articles much easier than sifting through paper stacks. Research can and still is done without any online component, and this is primarily what users are doing in academic libraries: research. <a href="#fn2" title="Return to footnote 2 in the article">↩</a></li>
</ol>
]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=5</guid> 
</item>
<item> 
<title>What is Design?</title>
<link>http://www.matthewreidsma.com/?b=4</link>
<description><![CDATA[<p>Most people think that design is just one part in any creative process, something you use to change the look of your creation after you've already put in all the working bits. On a website, design means changing the typeface to something sexy, or adding a big photo to give a splash of color. In this way of thinking, design doesn't have to <strong>do</strong> anything except look good, like Marilyn Monroe in <em>Gentlemen Prefer Blondes</em>. But this view of design is misguided (and perhaps a little dangerous)<sup><a href="#fntxt1" id="fn1">1</a></sup>.</p>

<p>Design is not one task among many, something you use to paint a facade on your working website. It's a mindset, a framework through which the whole act of creating needs to be seen. Every decision is a design decision, and seen this way, the parts of your website need to do more than just add color. Changing the link color isn't going to improve a list with too many elements. Adding a photo isn't going to make users any happier about navigating a clumsy interface. And adding gradients certainly isn't going to make up for a nonsensical taxonomy. The old idea that form (design) and function are in conflict is misguided. Form and function are two sides of the same coin; how something works and how something looks are intimately linked.</p>

<p>We build websites for users, but it's hard to think of users when you parcel off design into an afterthought. If design is relegated to an aesthetic afterthought, then we distance ourselves and our website from our users by putting a ill-fitting veneer over a poorly built structure. Our users now have to muscle their way through a layer of questionable aesthetics even to get to the content of our site.</p>

<p>When libraries held a monopoly on information, we might have been able to get away with this disregard for our users. Where else were they going to go? But that time is a sweet memory, and we've lost the battle in trying to convince our users that if they just cut their way through the brambles and piles of garbage to get to the Very Expensive Database&trade; we provide for them, their research will be easier. It's not easier, and even if the content inside that Very Expensive Database&trade; is more relevant and more trustworthy than what can be found on Google our users don't see the point in wrestling with our poor design choices to get their work done.</p>


<hr />
<ol>
<li class="footnote" id="fntxt1"><a href="http://marco.org" title="The Website of Marco Arment">Marco Arment</a> has <a href="http://www.marco.org/769340032">summed up</a> why this view is bad for users by looking at the role of design in Android phone development: &#8220;Nearly every usability detail appears to be an afterthought, as if &#8216;design&#8217; is relegated to a coat of paint at the end of the development cycle rather than a deep-rooted philosophy throughout it.&#8221;&nbsp;<a href="#fn1" title="Return to footnote 1 in the article">&#8617;</a></li>
</ol>]]></description>
<author>mreidsma@post.harvard.edu (Matthew Reidsma)</author>
<pubDate>Sat, 25 Feb 2012 12:00:00 -0500</pubDate>
<guid>http://www.matthewreidsma.com/?b=4</guid> 
</item>
</channel></rss>

