tag:blogger.com,1999:blog-246389292024-02-20T02:09:43.120-05:00Library WebHeadLibrary WebHead is the blog of one librarian who focuses on web technologies (per a former colleague - a library "webhead"). In it, our webhead talks about the work she's doing with that library's website, which is, inevitably, a work in process! She also highlights some of the latest trends in web development and libraries. The views expressed here are the library webhead's <em>only</em> and do not necessarily represent those of her employer (or of any other organization or person).Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.comBlogger257125tag:blogger.com,1999:blog-24638929.post-48495541510908374712014-04-08T00:30:00.002-04:002014-04-08T00:33:56.476-04:00Computers In Libraries, Day 1 Keynote - David Weinberger<span lang=""></span><span style="font-size: small;">The wonderful David Weinberger, Co-Director of the Library Innovation Lab (</span><a href="http://librarylab.law.harvard.edu/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://librarylab.law.harvard.edu/</span></span></span></u></a><span style="font-size: small;"><span lang="">) at Harvard University and author of <i><u>Too Big To Know; Everything is Miscellaneous</u>: <u>The Power of the New Digital Disorder</u></i>, & Co-Author of <i><u>The Cluetrain Manifesto</u></i>, gave a rousing keynote on "hacking the library" to start out the 29th annual Computers In Libraries conference this AM at the Washington Hilton. You can review it now at </span></span><a href="http://www.infotoday.com/cil2014/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://www.infotoday.com/cil2014/</span></span></span></u></a><span style="font-size: small;"><span lang="">. </span></span><br />
<span style="font-size: small;">
</span><br />
<span style="font-size: small;">(And, yes, in case you're wondering, the keynotes are -- tech gods willing -- livestreamed for free at the Information Today website - </span><a href="http://www.infotoday.com/cil2014/live.asp"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://www.infotoday.com/cil2014/live.asp</span></span></span></u></a><span style="font-size: small;"><span lang="">)</span></span><br />
<br />
<span style="font-size: small;">
<br />
Because the theme of this year's conference = "hacking the library", David identified the why and what we mean by hacking the library. The why includes the cuts in library budgets occurring along with the call to raise the value proposition the library offers. David noted that we're talking about "white hat hacking", which is about adding value (vs. "black-hat" hacking, which is value negative). He mentioned that the type of value-adding (hacking) measures he's citing are easier than ever now due to increasing move toward open access resources, engagement lifecycle, and the power of the network.<br />
<br />
While libraries were always portals to information, in the past they had exclusive importance. Today, the network itself is the portal and it allows people who connect with one another around any topics. The network even allows today's readers (library users or not) to connect directly with authors. The value of information itself is determined by the cultural uptake of the materials. In the past, average people were left out of the important conversations and such conversations were held behind closed doors. In the new networked ecosystem, libraries are wondering where they fit in and how they can get into the game. Often, librarians want to resume the position we traditionally held, of being the sole/primary information portal for a community.<br />
<br />
The reality check for libraries seeking to return to that portal to the community's information is that libraries can't be everything to everyone. The Swiss army knife, for example, is a hack that anticipates a number of items that an individual user might need. But that hack isn't scalable. The Swiss Army knife is born of anticipation -- the idea that you might possibly need item x, y, or z, that it includes. In the pre-digital world, the publisher was a gatekeeper who only allowed a small percentage of potential titles to be published. Only those that offered mass (read: profitable) appeal were produced.<br />
<br />
In the web world, there is no more gatekeeping - all potential titles can be published. But what adds value is the added weight of majority recommendation, for example. Items are filtered forward on the web, not filtered out. When you "curate" materials online, you are filtering those materials you which to guide users to, but the users can also go outside of your walled garden and find other materials. The curation just makes the user's path to the materials more straightforward.<br />
<br />
Traditionally, libraries, too, have had to filter their work with physical collections. We acquire items to build collections, then catalog, shelve, circulate, and build services around them. We do that in one way, not in all possible ways. Even as we digitize materials and decide which metadata to capture / how to map existing metadata, we are filtering. David then spoke about their digitization of materials from the Tibetan Buddhist Center. There was no element in the traditional metadata schemas for the "reincarnation of" information.<br />
<br />
So how do we build a future that isn't guided by the impossible goal of perfect anticipation? There are 3 paths: <br />
<br />
1. The Library as Platform: you have the library as portal, as one applciation/one service, but also you offer up open data, e.g., anonymized usage data, bib data, user reviews, annotations - upon which other folks - many of them web developers, for example, civic-minded or otherwise - can build tools. Much more value can be extracted from our resources when we feed our data out in ways that others can use and manipulate. Since the library is not the only source of information in a networked world, the community doesn't have to come to you or approach in the way you imagine. <br />
<br />
-- enables people to access this data as though it's local - so you as a library don't have to figure out which & only which services we provide; we want 14 & 15 year olds around world to do this<br />
</span><span style="font-size: small;">-- successful platforms offer up APIs (Application Programming Interfaces - </span><a href="http://en.wikipedia.org/wiki/Application_programming_interface"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://en.wikipedia.org/wiki/Application_programming_interface</span></span></span></u></a><span style="font-size: small;"><span lang="">) to allow others to use their data e.g., Facebook, New York Times, Internet Archvie, OpenLibrary, Data.gov, DPLA</span></span><br />
<span style="font-size: small;">
</span><br />
<span style="font-size: small;">Harvard's Innovation Lab provides LibraryCloud - </span><a href="http://librarycloud.harvard.edu/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://librarycloud.harvard.edu/</span></span></span></u></a><span style="font-size: small;"><span lang=""> - offers up open data - an API with all 13 million bibliographic records in Harvard Libraries. Built on top of that, for example, is a visualization tool that allows you to see the coverage of topics in Harvard's libraries. It's called Stacklife - </span></span><a href="http://stacklife.harvard.edu/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://stacklife.harvard.edu/</span></span></span></u></a><br />
<span style="font-size: small;"><span lang=""></span></span><br />
<span style="font-size: small;">David notes that a well-done platform should not only add community engagement but should also add that community-provided data back into the system. He also mentioned the Harvard Labrary design project </span><a href="http://lj.libraryjournal.com/2013/05/buildings/lbd/looking-through-the-labrary-lens/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://lj.libraryjournal.com/2013/05/buildings/lbd/looking-through-the-labrary-lens/</span></span></span></u></a><span style="font-size: small;"><span lang=""> that reimagined the future of the library. Additionally, he pointed listeners to another interesting experiment - the Awesome Box - </span></span><a href="http://awesomebox.io/"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://awesomebox.io/</span></span></span></u></a><span style="font-size: small;"><span lang=""> - which helps library patrons recommend books through simply returning those books to an "awesome box" next to the more traditional library return box. </span></span><br />
<br />
<br />
<span style="font-size: small;">
</span><br />
<span style="font-size: small;">2. Linked Open Data (see </span><a href="http://en.wikipedia.org/wiki/Linked_data"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://en.wikipedia.org/wiki/Linked_data</span></span></span></u></a><span style="font-size: small;"><span lang="">). David says that we can start to build core library systems with linked open data. Linked open data describes the types of relationships between data, so that computers can map meaning. It allows data to be mashed up to move their value beyond the boundaries of the rich siloes that we've been building all of these years. He mentioned the linked data for libraries project (</span></span><a href="http://library.stanford.edu/news/2013/12/stanford-cornell-harvard-libraries-awarded-grant-linked-data-project"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">http://library.stanford.edu/news/2013/12/stanford-cornell-harvard-libraries-awarded-grant-linked-data-project</span></span></span></u></a><span style="font-size: small;"><span lang="">) </span></span><br />
<br />
<span style="font-size: small;">
<br />
3. Build graphs. David talked about Facebook as a social graph and how the knowledge graph at Google builds the informational box sometimes seen on the right-hand side of the search engine results page (for example, if you search on Theodore Roosevelt). Google uses an algorithm to automatically create a meaningful representation of information on the topic you've searched. He mentioned that libraries should be the place that people come to hack their own library experience. We need to hack the future, how we address the future, and to move ahead. Relationships are crucial to this enddeavor, supported by the values of community and openness. Building a graph would allow us to provide an infrastructure of knowledge online where [libraries] are not nearly as present they should be, he pointed out.<br />
<br />
Though roads may be built to take you just one way and we may never give up on roads, we also need to allow people the freedom to wander off the road, as needed, by offering them the library. Finally, David called on us to live "with less anticipation and more possibilities"<br />
<br />
For more David Weinberger:<br />
</span><span style="font-size: small;"></span><a href="https://www.blogger.com/www.johotheblog.com"><u><span style="color: blue; font-size: small;"><span style="color: blue; font-size: small;"><span lang="">www.johotheblog.com</span></span></span></u></a><br />
<br />
<span style="font-size: small;"><br />
<span lang=""><br />
self@evident.com<br />
<br />
Twitter @dweinberger<br />
<br />
David Weinberger <br />
<br />
Finally, it was suggested that if we liked the keynote, we should go to the Tues. evening program ("Extreme Makeovers & Mindshifts: People & Places" - 7:30pm, International Ballroom East).</span></span>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-9574647177986411062014-04-04T17:23:00.000-04:002014-04-04T17:23:01.841-04:00Why & How to Learn Git<br /><b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><br /><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For a while now, I’ve needed to really just wade through git (see: </span><a href="http://git-scm.com/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://git-scm.com/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) . to that end, I took the Code4Lib preconference workshop on Git. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Why? </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">First, all the cool kids are using it. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">But seriously, many of the people who are working on projects that matter to me in the world - open-source projects in particular - use git (and often have links to their publicly accessible code repositories) on github. So if you want to take advantage of, build upon, or work collaboratively in an open-source software development project, you usually use git. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">git is version-control software. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">What that means is that git saves information about changes you’ve made in the code that you’re writing. This way, you track your progress and/or roll back to earlier code states (e.g., if new work you’ve done has the unintended consequence of introducing a bug). It also allows you to compare versions so if that dreaded bug introduction occurs, you can zoom in on where it may have arisen. It creates a record - a kind of documentation - with each commit of the code, moreover, so you can leave little notes for yourself (or, if working collaboratively with others, for them) as to why you’ve made a change. This way, even if you don’t touch the code you’ve worked on for a long time, you’ll be able to recall why you made certain design/development decisions. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Traditionally, you worked with git using a command-line interface. It’s very easy to work with command-line in either Macs or linux machines and not have a certain kind of funkiness that can occur in today’s Windows machines. But even in Windows machines, you can work with Git via command line. Also, there are graphical user interfaces for git. But if you’re doing the type of code work that benefits from git usage, you’ll probably eventually have to get more comfortable working in the command-line. That’s just a heads up.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Never forget, working in the command-line builds character (bonus points if you learn something like command-based vi/vim for editing files on your machine). Plus, all of the “cool kids” are doing it. And imagine how empowered you’ll feel as you grow more comfortable in the high-tech environment of textual displays. You’ll feel all old-school hipster-ish. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">But seriously, when it comes to git use - you might ask why it’s taken off. Well, there is a style of code development common in website work today that is “agile” and “iterative”. This means that feature sets are designed in small pieces and the coding is done in short cycles by teams. Using version control systems like git makes that workflow easier to manage. It also makes collaboration with other code developers easier to manage than it otherwise might be. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Git, you see, is a distributed version control system. I don’t really care to get too far into this because while I think I understand the difference between centralized, local, and distributed version control systems, I didn’t rise up through the ranks of computer programming and I don’t want to describe these systems incorrectly. But the bottom line is that you can get a copy of a code repository on your local machine to do development work. You can do so by making your copy a separate “branch” from the original/”pristine” codebase. This makes it easier to develop off of the original codebase at the same time as someone else is, too, on their own branch. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Anyhow, there are much better explanations out there than I am providing. But suffice it to say. git is worth learning for librarians who are moving into the world of code (and many of you should at least try to do so). </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Git project documentation & videos - </span><a href="http://git-scm.com/doc" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://git-scm.com/doc</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Github offers a basic setup guide at </span><a href="https://help.github.com/articles/set-up-git" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://help.github.com/articles/set-up-git</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Basic git commands for git can be found in this “simple” site (there’s also a link to a cheatsheet here) - </span><a href="http://rogerdudler.github.io/git-guide/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://rogerdudler.github.io/git-guide/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<b id="docs-internal-guid-d6f5cdb4-2e9d-6451-7707-27b7a1ee879c" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">About heated debates on how to use git </span><a href="http://readwrite.com/2014/04/03/git-three-most-heated-debates#awesm=~oAu2iixc2DohLB" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://readwrite.com/2014/04/03/git-three-most-heated-debates#awesm=~oAu2iixc2DohLB</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></b>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-63440705563147912462014-03-29T09:44:00.004-04:002014-03-29T09:52:04.822-04:00Preconference: RailsBridge: Intro to programming in Ruby on Rails (Code4Lib 2014 – Monday, March 24, 2014)<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
<w:UseFELayout/>
</w:Compatibility>
<w:DoNotOptimizeForBrowser/>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<i style="mso-bidi-font-style: normal;">Keep these 2 concepts
in mind:</i>
<br />
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto; mso-list: l1 level1 lfo1; text-indent: -17.95pt;">
<span style="mso-list: Ignore;">●<span style="font: 7.0pt "Times New Roman";">
</span></span><i style="mso-bidi-font-style: normal;">software is
eating the world (and libraries are no exception)</i></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto; mso-list: l1 level1 lfo1; text-indent: -17.95pt;">
<span style="mso-list: Ignore;">●<span style="font: 7.0pt "Times New Roman";">
</span></span><i style="mso-bidi-font-style: normal;">the web is eating
software (ditto)</i></div>
<div class="MsoNormal">
<i style="mso-bidi-font-style: normal;">Ergo, it’s worth the
pain/joy/effort of wrapping your mind around things that might seem difficult
to understand. Remember, you don’t have to grasp it all the first go ‘round,
but awareness of developments in the world of code is crucial to libraries. If
you don’t understand why, email me and I’ll do my best to convince you.</i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I kept hearing all of the hype about Ruby on Rails. At last
year’s (2013, Chicago) Code4Lib Conference, it became clear to me that, Ruby on
Rails (shorthanded as writing Rails apps) is the hotness in coding among
library technology rockstars. </div>
<div class="MsoNormal">
It’s heavily used by libraries doing some of the best
discovery layer and digital collections work through the use of Ruby gems (i.e., "plugins") like
“Blacklight” (see: <a href="http://projectblacklight.org/">http://projectblacklight.org/</a>) for discovery, and the complex of code and system that is “Hydra”
(see <a href="http://projecthydra.org/">http://projecthydra.org/</a>), which uses Blacklight in a typical setup. </div>
<div class="MsoNormal">
I should add that even the Drupal community may leverage
Rails apps to output cleaner and more compact (thus more performant &
easier-to-maintain) CSS through the use of SASS (see <a href="http://sass-lang.com/">http://sass-lang.com/</a>)/COMPASS. They don’t use
Rails for the actual sites’ rendering, but in the work on themes that leverage
that SASS/COMPASS combination.</div>
<div class="MsoNormal">
So what is Ruby on Rails? Wikipedia can explain it better
than I can (see: <a href="http://en.wikipedia.org/wiki/Ruby_on_Rails"><span style="color: #1155cc;">http://en.wikipedia.org/wiki/Ruby_on_Rails</span></a>).
But the basics are that Ruby is a high-quality programming language developing
in the early 1990s and Rails is the framework (see <a href="http://en.wikipedia.org/wiki/Web_application_framework"><span style="color: #1155cc;">http://en.wikipedia.org/wiki/Web_application_framework</span></a>)
that uses Ruby as the basis for developing web applications. (Developing for
the web in the 2010s is a kind of software development, so we are truly writing
“applications” or “programs” that we deliver through the web browser or mobile
applications).</div>
<div class="MsoNormal">
Anyhow, bottom line, Rails is showing up everywhere now (and
probably has been for a very long time in some crowds, but it’s busting out all
over the libraries with developers “in the know” about these things). </div>
<div class="MsoNormal">
Although it’s open-source like other scripting languages
used to build websites, Ruby on Rails was designed in a way that most traditional
software programmers can respect - a more “correct” way to write code. There
are some characteristics that make it this way and I’ll list the first ones I
noticed - it’s bee, object-oriented at its core since Day 1 (as opposed to some
other languages commonly used by web/software developers such as PHP) and uses
the best practice MVC (Model-View-Controller, see <a href="http://en.wikipedia.org/wiki/Model-view-controller">http://en.wikipedia.org/wiki/Model-view-controller</a>) structure (which is being using
by some super-popular n(ewer Javascript frameworks, like Angular.js, which I
hope to post about more sometime since there was a great presentation at C4L
about these JS frameworks). </div>
<div class="MsoNormal">
Why does this matter? The result of working with such code
is a more easily tested, high quality web application than you might see
working with some other forms of web coding. Theoretically, even as you
iteratively improve your web app/site, if it’s built like this, it’s less likely
to break. </div>
<div class="MsoNormal">
Now, I’m no computer scientist, so correctness and elegance
in code, while they sound like good ideals, aren’t my top priority. And there
are lots of details here that I’m not fully conversant in. But the bottom line
was that - given the growing interest in and use of - Rails apps in libraries,
I figured that I should at least take an introduction to programming in Ruby on
Rails and begin to grok some Rails essentials.</div>
<div class="MsoNormal">
So this year I decided to take the RailsBridge: Intro to
programming in Ruby on Rails preconference session. It follows a very specific
tutorial that anyone can use, but we had the advantage of being led through it
by experts.</div>
<div class="MsoNormal">
In fact, there’s a group called RailsBridge (<a href="http://railsbridge.org/about"><span style="color: #1155cc;">http://railsbridge.org/about</span></a>)<span style="mso-spacerun: yes;"> </span>that worked to get more women involved in the
open-source project. They’ve developed an excellent, easy-to-follow,
well-tested curriculum that is maintained by volunteers and run workshops to
get people involved with Ruby on Rails</div>
<div class="MsoNormal">
You start with the multistep installation process -
Installfest, it’s called by RailsBridge. You can find it at <a href="http://docs.railsbridge.org/installfest/"><span style="color: #1155cc;">http://docs.railsbridge.org/installfest/</span></a>
</div>
<div class="MsoNormal">
Then you can get started with Rails using the tutorial for <a href="http://docs.railsbridge.org/intro-to-rails/"><span style="color: #1155cc;">http://docs.railsbridge.org/intro-to-rails/</span></a></div>
<div class="MsoNormal">
DETAILS:</div>
<div class="MsoNormal">
The first bit of the tutorial introduces you to use of
“Interactive Ruby” - a console wherein you can immediately see on-screen the
results of the commands you are sending. F you test it with some math, see how
it just works. Then, you learn how to set variables and how to use math with
them; how variables can be arrays (multiple values in a list), how to add and
remove array elements; how to discover what type (class) the variable you’re
working with is (e.g., string, array, fixednum); how to list the methods
available to members (“instances”) of a given class; how to chain methods
togeher; how to use each to loop through and puts to print out something and a
new line to the end; and how to make your own method & use it. </div>
<div class="MsoNormal">
The second part of the tutorial, called “Getting Started” -
at <a href="http://docs.railsbridge.org/intro-to-rails/getting_started?back=ruby_language"><span style="color: #1155cc;">http://docs.railsbridge.org/intro-to-rails/getting_started?back=ruby_language</span></a>
- no longer uses the Interactive Ruby, but has you writing & working with
Ruby on Rails as you would for a regular web application. That means a website
that has some interactive programming. In this case, the “<code><span style="background: #F2F2F2; font-size: 13.0pt; line-height: 115%; mso-fareast-font-family: Arial;">suggestotron</span></code>”
exercise.</div>
<div class="MsoNormal">
In the tutorial,
they have you build out the site’s shell, then create a Git repository to track
the work that you’ve done with your work, but we skipped that step, and I don’t
really have time to explain it here. You’ll have to check out my notes on the
Git intro workshop when I publish them.</div>
<div class="MsoNormal">
Instead, we
skipped to running the rails server to be able to see our work (this step
starts at <a href="http://docs.railsbridge.org/intro-to-rails/running_your_application_locally?back=add_the_project_to_a_git_repo">http://docs.railsbridge.org/intro-to-rails/running_your_application_locally?back=add_the_project_to_a_git_repo</a>).
</div>
<div class="MsoNormal">
So what we do is
create a database-backed website, in which interactions can “automatically”
update/change the database’s contents. There’s a ton of important concepts that
are touched on here. If you don’t know what we mean by a database-backed
website, take some time to understand what it means and why it matters. Then,
you’ll see the power of web applications. The interaction of the web with
stores of information is what makes it powerful, as you can imagine. Rails does
this in a way that seems at first blush, too easy to be true. (my other
hand-written db interactions, e.g., PHP/ASP have required some important and
specific code that has to be dealt with carefully in order to protect the
database from being hacked while allowing the necessary interactions to write
to it so that information can be stored, edited, and removed, as needed).</div>
<div class="MsoNormal">
The tutorial is excellent,
so if you’re interested in this, I’d recommend you try going through it. I will
give you a couple of warnings, because I know that even I get overwhelmed by
things like this:</div>
<ul>
<li>·
recognize that a good bit of the battle to
understand is characterized by recognition of the language used around it – all
the weird terminology here signifies deeper concepts, but the terminology itself
at first feels unfamiliar and off-putting; At first, you probably won’t
understand the concepts, you’ll just have to feel comfort with the terms and
then start wrestling with the concepts. </li>
<li>·
The act of working through the tutorial, though it
will at first be a kind of rote exercise, in which you just follow directions,
is designed to help you understand the concepts behind the terms. Eventually,
it will. </li>
<li>·
Just don’t panic, feel overwhelmed, and think
you “can’t”. Because you can. You don’t have to be the quickest in the world at
picking this stuff up. You don’t have to be as quick as anyone. Give yourself a
pat on the back for not only every successful step you take, but everything you
learn, even if it’s what doesn’t work (eventually, you’ll come to realize your
mistake, but you may not for a while… working through the mistakes and finding
solutions, even if it means starting a step over again or blowing things up, is
part of the process). Having the courage to try something new and hard to you
is always a good thing and worthy of reward.</li>
<li>·
Take breaks when necessary, but always return,
never give up. </li>
<li>·
When you understand enough, teach someone else.
The act of teaching will further your learning.</li>
</ul>
Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-1612857089091926172014-03-29T08:55:00.003-04:002014-03-29T09:51:45.592-04:00Notes from Monday, March 24, 2014 Code4Lib<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
<w:UseFELayout/>
</w:Compatibility>
<w:DoNotOptimizeForBrowser/>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
My Code4Lib Notes: (Monday, March 24, 2014) </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I did two workshops today, then really enjoyed the
discussions at a “newcomers’ dinner” (to which all were welcomed, newbies and
veterans alike (+ we had some great sushi, I even liked the octopus one of the
folks there was kind enough to let me try!)). </div>
<div class="MsoNormal">
From dinner, I learned that both Ruby on Rails and Drupal
have similar issues and their users face similar frustrations (even though the
code-lovers out there might feel horrified that I’ve juxtaposed a proper coding
framework with Drupal, which is technically a content management system written
in a specific coding language (PHP)). </div>
<div class="MsoNormal">
As application frameworks (Ruby on Rails, aka, Rails) and
codebases (Drupal) mature, they inevitably grow and become more complex. This
creates issues with tweaky little dependencies – differences in versions of
code are nontrivial and dependencies on other segments of code (with the
correct specific versions of those code segments) matter. That having been
said, the Rails folks will probably also be quick to remind me that their
framework is developed on principles that reduce entropy. But apparently, there’s
no eliminating it.</div>
<div class="MsoNormal">
If you’ve ever wondered why the systems folks are scrambling
when a new version of software x comes out (and that it seems to inevitably
break things or create anomalies), it’s due to this issue. The more we demand
of our code, the more complex our code becomes. The more complex our code becomes,
the more there is to break. </div>
<div class="MsoNormal">
It’s like having the car with power everything – windows,
locks, seats, digital readouts for the dashboard, and the like vs. having my
car – in which you have to crank down the window by hand (old school). You’re
going to run into more expensive problems than I will. My husband (or I, with
his help – reality check, he has experience with all things mechanical, far
more than I do) is likely to be able to fix the basic mechanical issues I’ll
run into, whereas you’ll be in the dealership when your dashboard goes blank and
you can no longer tell how much gas you have in the tank or how fast you’re
going (yes, I speak from experience). </div>
<div class="MsoNormal">
But the convenience and positive user experience of those
extras makes us continue to add complexity to our systems.</div>
<div class="MsoNormal">
So when it comes down to brass tacks, it seems that neither
the (more code4lib favored) Hydra (Rails apps on Fedora, see <a href="http://projecthydra.org/">http://projecthydra.org</a> ) nor Islandora (Drupal
on top of Fedora, see <a href="http://islandora.ca/">http://islandora.ca/</a> )
are painless digital repository systems, though both can provide beautiful
solutions for digital repositories. Both require staff with expertise (or staff
who are ready, willing, able (and given the time) to learn and practice until
they gain said expertise). </div>
<div class="MsoNormal">
That’s the one thing that our library leaders too often
forget -- you can’t just choose a tool to meet complex system needs and expect
it to be painless and staffless. Moreover, though our tools are getting better,
our skillsets ALSO need to be improved to keep up. We can do more and we can do
it better, but we constantly need more training to work with them at the level
our library directors and users are seeking. The best tool implementations out
in libraryland have required code developers. Often librarians and archivists
take on this role successfully (hence Code4Lib), of course, so it’s not like
you necessarily require computer science grads to take on these projects. You
do, however, need to give your librarians and archivists who are entering those
muddy waters more support by ensuring they’re not on their own, sending them to
serious code training and professional development, and giving them both time
and space to improve their skillsets. </div>
<div class="MsoNormal">
So our code-related needs are expanding geometrically in
complexity as our resources dwindle. This creates an inevitable tension. We
need more skilled human labor to deal with systems and technology. you can’t
get by today on one systems librarians. Today, you need digital teams /
library-technology departments. </div>
<div class="MsoNormal">
I’ll post my notes on my 2 preconference workshops
separately:</div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -17.95pt;">
<span style="mso-list: Ignore;">●<span style="font: 7.0pt "Times New Roman";">
</span></span><a href="http://librarywebhead.blogspot.com/2014/03/preconference-railsbridge-intro-to.html" target="_blank">Intro to Programming with Ruby on Rails</a></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -17.95pt;">
<span style="mso-list: Ignore;">●<span style="font: 7.0pt "Times New Roman";">
</span></span>Intro to Git</div>
<div class="MsoNormal">
<br /></div>
Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-63195404057841168172014-03-28T22:09:00.002-04:002014-03-28T22:09:54.418-04:00A couple common Code4Lib skillsetsLast year was my first Code4Lib (2013, in Chicago). It was both a stretch and a good thing for me to be around so many people who were not only passionate about libraries, technology, and the future, but who were actively building things to evolve libraries into 21st-century organizations.<br />
If Computers In Libraries is more of a consumption-based model, wherein we discuss the use of technological tools in service of the library, Code4Lib is about the production of such tools. Don't mistake me, those tools are built on other tools, but the role of the technologist is less that of a systems administrator and more that of a programmer.<br />
Or, another way to think about it is the difference between the mechanic and the engineer. The mechanic doesn't have a lot of latitude, s/he works with the systems that they've been handed. Yes, they can tweak those systems and yes, this is critical, much-needed work. But no, they can't redefine the fundamentals to meet a customer's needs.<br />
If I bring my '96 Subaru Legacy into the shop, I can't expect a mechanic to turn that into a luxury car. I can't have them change the experience of my Subaru in any of its essential ways. Coders/developers have more latitude than that. They can iteratively improve experiences that their users have. <br />
In Code4Lib 2013, though I never got a chance to post about it, I realized that I had to learn/master certain toolsets. I gained awareness of them, but had only dipped my toe in the water. This year, however, I dove in... a bit. These skillsets, which seem common to so many Code4Libbers (& important to any 21st-century librarian) include:<br />
<ul>
<li>Github</li>
<li>Ruby on Rails Programming </li>
</ul>
and then there's the favorite communication tool of Code4Libbers - IRC. But I'm not going into that now & to be honest, I don't often use it myself. But know that it's out there, in case you want to get more heavily involved. I'll follow up with my notes from the preconference workshops on Github & Intro to Ruby on Rails. Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-52994327655963686152014-03-28T22:00:00.000-04:002014-03-28T22:00:47.134-04:00Why the Code4Lib Community & Conference?<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So I just finished up an amazing week for <a href="http://www.code4lib.org/conference/2014/schedule" target="_blank">Code4Lib 2014</a> here in (an unseasonably cool) Raleigh, NC. It’s been great. I have so much to post about it. But for the uninitiated, here’s my C4L primer and the explanation of the group’s value to me (and for so many of my colleagues around the world).</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">What is <a href="http://www.code4lib.org/" target="_blank">Code4Lib</a>? It’s an open community of, by, and for people who work with technology to further the mission of libraries. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Another way to describe Code4Lib is -- a self-organized, grassroots-driven library adaptation engine that embraces the (r/)evolutionary “digital mindset” that Aaron Dignan describes in this 99U session - </span><a href="http://99u.com/videos/23495/aaron-dignan-digital-isnt-software-its-a-mindset" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://99u.com/videos/23495/aaron-dignan-digital-isnt-software-its-a-mindset</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If, as cofounder of Netscape & longtime internet guru Marc Andriessen puts it, software is eating the world (</span><a href="http://online.wsj.com/news/articles/SB10001424053111903480904576512250915629460" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">http://online.wsj.com/news/articles/SB10001424053111903480904576512250915629460</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">), it’s the Code4Libbers - who are making the needed evolution of libraries happen by building and tweaking software - or “coding” to build out new efficiencies, create value, and better promote the library’s mission.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Why does Code4Lib matter to me? I’ve often had colleagues show me something amazing on University X, Y, or Z’s web presence, and had them ask me to “make it so”. What they never seem to understand is how deep the teams who made those “websites” have to be from both a man-hours and skillset perspective. </span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There’s a reason that drop-dead gorgeous and intuitively navigable digital collections look the way they do and - more importantly - function the way they do. There are usually many people building them who have mad skillz -- software creation chops. A team works better than a solo developer because the team adds a breadth that = problem-solving efficiency. If you don’t have your own in-house team to turn to, as was my case for many years, your next best bet is to find other people to talk with who are grappling with similar problems.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So when I discover a community like Code4Lib, in which colleagues with far greater depth than myself are willing to share what they know, I run toward it with open arms… and I hope that one day, I’ll be able to help my colleagues as they’ve helped me.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">These colleagues inspire me because they don’t simply complain about the challenges they experience at their workplaces. Nor do they simply whitewash the issues. Instead they identify them and work toward solutions</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In the past, I’veI hit the wall with some other library conferences and groups, where I seemed to see the same topics and approaches used year after year (with lots of shiny shown off and not much transparency about the behind-the-scenes work it took to create the shiny (either due to jealously guarded secrets or due to their status as vendor-provided interfaces)... It was just frustrating to feel like I couldn’t build on work that others had done. Worse, these events often seemed to be scratching the superficial aspects of the library, rather delving in deeply to the processes and methods of evolving our organizations forward through the digital medium. They were easier to grasp, well-polished, adn digestible events that were easy to attend, but also easy to leave behind.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">on the flip side, Code4Lib - which I attended for the first time last year - challengeand inspired d me to evolve beyond my own comfort zone. It also inspired me to do so. In fact, I can best describe Code4Lib as providing the kind of leadership that our libraries need so desperately right now.</span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-4f7438cf-0b8d-bd66-78d3-858c288fbc67" style="font-weight: normal;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I think that most of us will have to engage with code and collaborative communities in the future if we are to be successful in libraries. As such, I highly recommend that you join me and join in with the Code4Lib organization. <a href="http://osulp.github.io/code4lib-pdx/" target="_blank">Next year’s conference will be held in Portland, OR</a>. I’m hoping to get involved as a volunteer. Maybe you can, too!</span></b></div>
<br class="Apple-interchange-newline" />Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-85120666092845958872014-01-28T10:08:00.001-05:002014-01-28T10:13:55.990-05:00I got my blog back AND a new jobI finally figured it out... how to get back into this blog and update it...<br />
When I created this blog eight years ago, I didn't know how to build a Drupal site. I was working with straight HTML and CSS and a sprinkling of ASP and PHP. So Blogger was the easiest way to get my information online.<br />
<br />
For awhile, I've had problems getting into this site. The history goes like this... the IT at my old place of work (more on that below) changed email systems and domain names. I'd built the blog with the old email domain name. I tried getting in that way, but couldn't recall the password. Unfortunately, the password just got sent to the no-longer-extant email address. Anyhow, a few other things had changed since I'd been able to post, further complicating matters. I'd changed jobs -- moving from the Connecticut State Library, where I'd spend over seven years -- to the library at Central Connecticut State University so I no longer had access to the newer State Library email account, either.<br />
<br />
But I finally figured it out. I had left a backdoor email address, so was able to get in. In the future, I look forward to building my own blog site that won't be so reliant on a third-party platform and its limitations, only on my own imagination (and the time it takes me to build things myself).<br />
<br />
As always, thank you for reading and please note that what I post here represents my own opinion, not those of any organizations I work for or am affiliated with. At my new job, there is the concept of intellectual freedom and I'm grateful for that. But I want to be clear about my voice. It's my own. Right or wrong, good, bad, or in-between. Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-9472230103131010622012-09-19T22:16:00.000-04:002012-09-19T22:24:49.135-04:00Puttin' on the Big Girl PantsOk. I had a conversation today that felt painful to me. It was a design conversation. I thought it'd go a lot more like - "oh wow, that's so amazing" or the like, given how many months I've put into developing an architecturally complex website on the Drupal platform and in migrating over (& exploding into many discrete pieces) existing static html webpages. Instead it revealed all of the myriad, minute problems that I have to address from the perspective of several people. It was good to have a spirited discussion about the issues, but it left me a bit gun-shy for the next such conversation.<br />
<br />
While I'd been slugging it out with the final pieces of site development, I'd occasionally glanced over at the Twitter at the end of the day. I'd seen all of the optimistic, library-world-changing tweets out of the R-Squared library innovation conference. I remembered when I used to feel the way those conference participants felt. I remembered that I'd promised that I would have the "design conversations" with my stakeholders. That an open, transparent, and conversational process would make the development of a Drupal-based site a smoother process. I didn't realize how much push-back I would deal with during those conversations. How it wouldn't really feel like we were working as a team toward the same goals, but would rather feel like I was a vendor trying to build them something that they didn't want to buy...<br />
<br />
There's just such a dichotomy between the idealistic and hopeful atmosphere described in this <a href="http://infospace.ischool.syr.edu/2012/09/19/r-squared-game-changer/" target="_blank">blog post about R-Squared</a> conference and the reality that I run into when I try to make these things happen in my own organization, that I'm left feeling a bit demoralized. I'm sure I'm not the only one that this happens to, but I don't know what to do about it. In my dreams, all librarians would work together to empower one another to make the necessary changes in their field and their organizations.<br />
<br />
So back to the Drupal site -- I still think that having these "design conversations" is the right thing to do (even when a part of me wonders if the people I have those conversations with will ever be fully satisfied). I guess for now I'll put on my big girl pants and get back to work so that I can have another "design conversation" tomorrow.Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-20977520314628885962012-03-22T13:38:00.001-04:002012-03-22T13:40:00.023-04:00Of Lipstick Tubes & Librarian Webmakers<b id="internal-source-marker_0.1521803862415254" style="font-family: 'Times New Roman'; text-align: -webkit-auto; font-size: medium; "><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">So I watched Luke Wrobleski’s opening keynote for DrupalCon, Day 3. It was a kick in the butt to move us ALL IMMEDIATELY into mobile first. And I couldn’t help thinking to myself, if I’m struggling with this, what are our library vendors doing to make sure that they’ve rebuild their web interfaces with a mobile-first focus? Have they reduced the amount of content they expose in their interfaces by 80%? Have they replaced checkboxes with larger targets? Have they thought about just highlighting what the user needs - only showing the minimum of what they want first, and then only more if they ask for it? Are they converting to HTML5 with media queries?</span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">Our database vendors, our integrated library system vendors, our providers of digital repositories/asset management systems (like contentdm) - what are their plans for dealing with the mobile revolution? What’s their path forward? We should demand to know. </span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">This is the joy of taking on the role of being a true creator of websites rather than just being a webmaster or content author. Every library needs a full, professional (by which I mean, web professional, not librarian whose done a little html) web team (or at least 1 full-time web person). Or else, they need to keep a full team on retainer & keep rehiring them every year to keep up with technological developments. If libraries want to remain relevant, they have to truly be the bridges across the digital divide. They can’t do that if they can’t even build good websites or understand today’s web methodologies. They won’t even know what to demand fro their vendors. That much is clear to me. </span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">It’s like libraries (& worse still, library administrators who keep allocating resources to other activities, i.e., hiring MLS’ to do copy cataloging instead of using their money on web workers) built html pages in 1999, then decided that’s all they ever needed to do. As the web evolved in technique, process, methodology, and capability, most libraries did not (even though there is an annual conference called “Internet Librarian”!) So they don’t even realize how far behind they are. Nor do they respect the skillsets required for true web development. It’s not willful ignorance. It’s just - as my sister reminded me - “you don’t know what you don’t know”. </span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">Just as your average librarian / white collar worker of any sort doesn’t realize how much talent, skill, and technology goes into the building of the smallest part, they don’t realize what it takes to really build meaningful web presences. Before you get your dander up (unless you’ve been doing true web development yourself, in which case, I can only apologize for my own earlier ignorance), consider this: how do you make a lipstick tube?</span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">Couldn’t just anybody create a lipstick tube? It’s a simple piece of metal, often wrapped with plastic or capped by plastic these days.</span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">My husband is a tool-and-die maker. Tool-and-die making is a common profession (less so these days) in the industrialized northeast. It means he builds the tooling that make the parts. You may not even realize that there is a maker behind the scenes who makes the modular tooling that gets used by the larger presses, as one example, that push out the parts. The toolmaker also has to debug the process, so that when they hand it off to the lower-level (well, fewer hours of education) machinists for straight production using that tooling. Unlike your pre/misconceptions about manufacturing, this job requires a lot of work and education. It requires at least 4,000 hours of work and a lot of classroom-based work which requires an understanding of geometry and trigonometry. They have to learn how to run specific types of machines, to understand the tensile strength and hardening properties of metals. I don’t even understand all that goes into it. I do know that it was intensive. Additionally, there are different kinds of toolmakers. There are, for example, progressive toolmakers, like my husband. And then there are eyelet toolmakers. Eyelet toolmakers create tubes - for example, lipstick tubes. The process of making a lipstick tube includes drawing out metal into a tubular shape bit by bit. Beyond broad brush strokes I’m giving you here, I really don’t understand this stuff. But I respect those who do because I can see how much knowledge and technique goes into it.</span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">At Drupalcon, I feel like I’m learning to be a webmaker and like I’m becoming professional for the first time (despite having had my MLS for quite a while). I can’t believe that professional librarians would have more trouble grokking how to do metadata and build taxonomies than the people who work as professional web developers do. Moreover, I find it somewhat shocking that many librarians are unaware of how google results are altered by the concerted efforts of a subsector of the professional web world - Search Engine Optimizers. I find it frustrating that we don’t think about user experience first, THEN look at making our many systems work together to create that experience, that we don’t put the person who handles the website in charge of working with all aspects of their web presence in order to make that possible, that we silo the systems we use & accept that a catalog would ever be a separate experience than the rest of the library’s website. </span><br /><span style="font-size: 15px; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap; ">We need to all learn to be (or at least respect and hire professional) webmakers.</span></b>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-48464452944282670272012-03-22T00:06:00.003-04:002012-03-22T00:18:26.165-04:00Calls to Action from DrupalCon thusfar<ul><li><span >Encourage librarians to go to The Risk & Reward Conference in CO this September (rsquaredconference.org)</span></li><li><span >Get on version control for real (I'd tested with a "clean build", but not kept up with the latest iteration of the Drupal build I'm doing... I'd thought, I'm not really writing my own code & that I was the only one building the site, so why use version control, but everyone says that I should already have it as part of my process, so there we go, back to SmartGit)</span></li><li><span >Do even more with drush</span></li><li><span >Learn my way up the drupal ladder & help others to do the same -<a href="http://learndrupal.org/"> learndrupal.org</a></span></li><li>Contribute to the community - help them improve - web experience management, content authoring experience for D8</li><li>Use & encourage others to use the <a href="https://wwws.whitehouse.gov/petitions">We the People petition section of the White House website</a></li><li>Try out the "conditional fields" module to only exposed "advanced" (more complex) settings to authors who've chosen that mode</li><li>Learn more about the Symfony PHP framework</li><li>See if I can get more staff members (besides myself) working with Drupal</li></ul>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-14398798858932486152012-03-21T23:32:00.002-04:002012-03-21T23:54:33.256-04:00DrupalCon Day 2Drupal 8 is on its way. The target timeframe for the release is August 2013, which isn't too far off. Fortunately, the Drupal community continues to grow & improve its processes. As Dries pointed out in his <a href="http://bcove.me/ehw8jepn" style="font-style: normal; ">Tuesday keynote</a>, the heart of Drupal is not a specific technology, it's the community. The community's mission is to continue to innovate and collaborate using open source technology to build amazing user experiences. Drupal 8's headed in the right direction already, with a key focus being mobile-first. As such, output from D8 will be in HTML5, which, with the help of media queries, can ensure that the users get the content/functionality they need optimized for the device that they're using to access it. There's a huge push to get out-of-the-box Drupal to offer a robust content authoring experience, something it had only done through contributed modules before. Drupal 8 will also leverage the Symfony PHP framework, which is also a strong community-based open-source project. Like Drupal, it's modular. It's also well-tested and offers an architecture that the most innovative and high-level developers can look forward to working with.<div style="font-style: normal; ">There are so many ways in which the past 2 days have validated by belief that Drupal would serve as innovation platform for my organization for at least the next half decade, if not indefinitely. Drupal's very openness and the strength of its community results in constant evolution and adaptation.</div><div style="font-style: normal; ">Working with Drupal has made me more professional in my web work than I had ever been before. It keeps me on the cutting edge. I'm always learning from people building the most amazing sites on the web. There's a lot of big ideas that I bring back from Drupalcons, such as the need for agile development processes, community-driven and mission-driven (rather than specific product or service-driven) strategies to sustain an organization that can constantly innovate and adapt to changing circumstances. </div><div>Mitchell Baker, head of the Mozilla foundation (the nonprofit organization with a mission to keep web-based technologies open to all, rather than locked up by proprietary vendors) gave today's keynote (Wednesday, March 21, 2012). The video should be available online so you can hear her yourself. It was fascinating to learn how much Mozilla is doing and how it's doing its work (through a large & committed volunteer community as well as a broad workforce of developers). They're always seeking solutions to help all people build a better life online. Though we all think of Mozilla as the providers of the Firefox browser, they do <i>many </i>more things than that. They are utterly mission-driven, rather than simply being product and profit-driven. Again, this mission - similar to the mission of today's libraries - is to allow all people to create their best possible lives online. Mozilla, heck, open-source software itself is about empowerment and freedom. These are core tenets that all librarians can embrace.</div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-63441369588418424722012-03-21T03:55:00.003-04:002012-03-21T04:01:24.918-04:00Link to Drupalcon Keynote summaryDries' keynote from Tuesday (first day of DrupalCon Denver) wrapped up nicely (& yes, you can view it again) & videotaped - see <a href="http://www.ostraining.com/blog/live/dries-keynote-from-drupalcon-denver/">http://www.ostraining.com/blog/live/dries-keynote-from-drupalcon-denver/</a><div>Big takeaway, Drupal 8's gonna change the world & will be here in August 2013 - get ready! All the right things are happening - it'll be mobile-first, offer RESTful web servies, and better content authoring out of the box. Developers can look forward to leveraging the well-tested & proven Symfony PHP framework. (reusable, quality code, great community - like Drupal's - should bring new high-level developers into Drupal also).</div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-65492475836744572072012-03-20T10:47:00.003-04:002012-03-20T11:02:05.903-04:00Drupalists can fix anything1st day at Drupalcon & I discovered that I'm not registered!!! So that means no early-bird pricing, so all that hustle I got on in what, late January, was for naught (worse still, since the state doesn't pay for a single dollar of professional development, all of the costs associated with this conference are out of my own pocket (and no, they really don't pay well enough for me to underwrite these extras, but I truly believe in what I'm doing... I may be wrong on this) ...<div>But it turns out that not only do the folks at the registration booth seem to feel empathy for my plight, they actually went into the transactional db (I think that's what they were doing) & found my transaction still in checkout process, not finalized - from a couple of months ago. Further, they were able to complete it. So, early bird pricing retained. Tears of frustration on a Tuesday morning averted (I'm tired enough that almost anything can make me cry right now - hoping Dries' keynote isn't too inspirational! ;) )</div><div>As a wonderful woman at registration pointed out, "we can fix anything". </div><div>And that's what I love about the Drupal system and - more importantly - the Drupal community. Would that I could bring that ethos, empathy, and helpful attitude back to all state agencies who have to deal with the public. </div><div>Maybe if we empowered those state workers with a system that allowed them to "fix anything"??</div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-45735534737176324692012-03-19T21:32:00.003-04:002012-03-19T22:30:52.263-04:00DrupalCon Denver v. Computer In LibrariesI arrived in Denver this evening, ready to join the DrupalCon attendees starting tomorrow. Unfortunately -- for at least these past two years in which I've been attending -- DrupalCon North America coincides with the Computers In Libraries conference. I miss CIL, but Drupal is complex enough that I need to attend as many DrupalCamps, Conferences, and meetups as possible. CIL usually leaves me wanting to do a million different things, but doesn't get as much into the details of how I can get them done. It also doesn't connect me with people who are professional web innovators outside of the library sphere. Given the "echo chamber" concers we've heard from thought leaders in libraries, that seems to be an important factor in DrupalCon's favor.<br />Drupal offers the framework, the toolkit, the community, and the skillset to build, support, and continue to iterate & improve on a library's digital branch. As a result, a lot of librarians find themselves making the same hard choice I did & many choose DrupalCon. The library "birds of a feather" sessions pack the rooms that they are held in at DrupalCons because so many librarians now attend. (This year, we're even having a library luncheon hosted by the amazing folks at <a href="http://www.anythinklibraries.org/"> Anythink </a>libraries.)<br />It's unfortunate that so many librarians who would make up a prime CIL constituency (not to mention a potential pool of presenters) are forced to decide between the two. Maybe it was just bad timing and maybe in coming years the folks at InfoToday (or whoever may be in charge of choosing the dates) can talk with the Drupal Association & make sure that the two conferences aren't in direct competition. (It may or may not be possible, I don't know, but it would certainly be nice.)Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-78830031708363693182012-03-13T21:17:00.003-04:002012-03-13T21:36:59.778-04:00Agile - Scrum<span><span style="font-size: 100%;">So I went to my first-ever scrum masters' user group in CT last night. I've been hearing a lot about the use of agile project management/development methodology in web work. Though we don't really have a team of developers at MPOW, we do have a lot of projects, particularly digital projects. I've personally found it challenging to run some of these collaborative efforts and have been searching for ways to improve my own processes.</span></span><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">If you've never heard of agile, here's a few starting references:</div><div><ul><li><span>The Agile Manifesto - </span> <a href="http://agilemanifesto.org/">http://agilemanifesto.org/</a> (I've always thought we should have an agile library manifesto... but maybe someone's done that already...) </li><li><a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile software development</a> on wikipedia </li><li><a href="http://scrummethodology.com/">Scrum</a>, a particularly effective agile methodology that uses specific predefined principles & rules - conducted as sort of a game in a way, with rituals, rules, and roles that I'll try to describe (from my own layperson's perspective) in future posts</li><li>An<a href="http://www.mountaingoatsoftware.com/topics/scrum"> introduction to scrum</a></li></ul><div>I think today's librarians have to increase the speed of technological adoption and adaptation. How do we do that? How do we run complex and collaborative projects efficiently in ways that are user-centered? These are the questions that make me seek out the professional developers. They've learned how to deal with the fast-changing world of technology. They've come up with strategies for developing services and software that are game changers. They've transformed their organizations into machines that innovate and evolve with the times. So I'm trying to glean what I can from them & bring it back to the world of the library and the governmental agency.</div><div><br /></div><div>Yes, there's a lot of work to be done. The question becomes, how do we get it all done before the point is moot?</div></div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-46434061162769500372012-03-01T09:37:00.002-05:002012-03-01T09:46:45.574-05:00The Work of the New LibrarianAn article that one of my brilliant library tweeps (sorry, can't remember who started it) pointed out recently - Google-Trained Minds Can't Deal with Terrible Research Database UI - from The Atlantic (see: <a href="http://www.theatlantic.com/technology/archive/2012/02/google-trained-minds-cant-deal-with-terrible-research-database-ui/253641/#.T00oo737U_p.twitter">http://www.theatlantic.com/technology/archive/2012/02/google-trained-minds-cant-deal-with-terrible-research-database-ui/253641/#.T00oo737U_p.twitter</a> ) makes me think that it's true - the work of today's librarians should be to expend more resources on improving the usability of the UIs our patrons have to deal with and fewer on telling our patrons that they need to work differently & here's how. <div><br /></div><div>In order to improve UIs, we have to understand how they're built. Then we have to be able to fix them. At the very least, we have to close the feedback loop between our users and commercial database vendors. It's a mind-shift to go from saying here's the workaround & providing documentation on how to deal with a lousy experience to building a fix for the fundamental problem (it's been said before & again, sorry if I've failed to attribute it, I don't recall from whom I heard this wisdom 1st, but it's worth reiterating) - "it's not the user, it's the interface"! (nice blog post on ui principles at <a href="http://drupal.technicat.com/writing/ui.html" style="font-size: 100%; ">http://drupal.technicat.com/writing/ui.html</a>)</div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-40912199325445009632012-02-17T09:35:00.003-05:002012-02-17T10:11:29.713-05:00Why Publishers Should Not Only Allow Libraries to Lend Ebooks But Pay Them<span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;" id="internal-source-marker_0.5341658972546101">In the library lending vs. ebook publisher controversy, one thing that we keep forgetting to add into the equation is that we libraries have always provided the value added service of free marketing & reputation building. As we move ever further into the world of digital media, reputation becomes a key asset. We’ve never charged publishers for our free marketing and reputation-building services. Maybe we should.</span><br /><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">If (or when?) public libraries shutdown due to an ebook revolution that cuts libraries out of the distribution loop, the big publishers will have no more ground force, nor will they continue getting reputation support for free. Without libraries, the publishers will end up paying more for social media/marketing services. Even so, their customers will know that these services are bought and paid for so they will have less impact than librarians currently do with their clear-eyed, unbought, but passionate advocacy for the publishers’ products.<br /><br />Further, if the public -- who love their libraries -- learned that the publishers' unwillingness to sell ebooks to libraries for lending purposes had destroyed their libraries there would be no amount that those publishers could pay to erase the blot on their reputation (for at least a generation). If you think the idea of Microsoft as "an evil empire" held some sway and helped build a strong pro-Apple & open-source environment, imagine how strong the bias against the companies that "killed libraries" would be. </span><br /><br />Though we librarians don't spend much money (since we don't have much in the first place) on marketing, polling, focus groups, and social media, we know that corporations do. Our services to them are an unpaid-for bargain that we haven't capitalized on yet. Since we've reached a crisis point, it's time that we cash in our chips.<br /><br />Forbes magazine recently reported that the era of branding is over, that instead reputation is everything (see: http://www.forbes.com/sites/onmarketing/2011/12/16/the-era-of-brand-imperialism-is-over-long-live-the-reputation-economy/). So let's<span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> rethink our value in libraries and start demanding that publishers take better care of our future, just as we have always ensured theirs.</span>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com1tag:blogger.com,1999:blog-24638929.post-24170725896243250972012-01-22T08:28:00.003-05:002012-01-22T08:54:24.682-05:00Going deep into the world of web development<span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;" id="internal-source-marker_0.2950747335897643">It’s been so long since I’ve blogged, I’m not even sure who’ll find & read this post! But it matters not. Half the time I think that I’m writing to better understand my own thoughts, so the process always yields something good.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">For as long as I’ve been building out the library’s Drupal-based content management system, like for 2 years now, I’ve been struggling, caught between two worlds - the world of the library and the world of main-stream web design. I learn more from the latter. It’s harder facing the latter. I feel less expert and confident, but I really need to know how professionals get their work done. By professionals, sadly, I don’t mean folks with Library/Information Science degrees.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">When I’m at DrupalCamps and DrupalCons - as I was yesterday (at DrupalCamp Western Mass.) - the presenters usually ask what your role with Drupal is. The choices are usually:</span><ul><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Drupal developer (concentrates on writing code, modules, structuring information, uber-geeky back-end stuff)</span></li><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">or a Drupal themer (someone who creates a design for the site, concentrating on the front-end look, feel, and usability. Though from the librarian’s perspective, this involves code work - in everything from CSS to basic php templating and jQuery (a javascript library) techniques.)</span></li></ul><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Sometimes, there’s a third category, for project managers or high-level managers who run web development shops.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Although a lot of folks who are free-lancers end up taking on all roles, they usually have a specialization that makes them identify themselves on one side of the spectrum or other.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">So which are you, my library colleague - a front-end designer or a developer?</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Or are you a project manager?</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Did you learn how to do any of the above - I mean, really do them - in your Master’s degree program? I sure didn’t.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The web has leapt ahead while librarians weren’t looking. I’ve been trying to understand why. But in the meantime, I’ve had to expend most of my minimal resource of time on professional development that’s web-specific, rather than library-specific. So no, I’m not in Dallas at ALA Midwinter. Yes, I missed ALA, New Orleans in 2011. And yes, I miss the greater comfort I have with my colleagues in libraries - because I actually know them and where they’re coming from - it’s easier to interact and to feel confident. But in the past couple of years of web development learning, I’ve challenged myself more than I’ve ever done focusing on library-specific technology. Sorry to say.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">It seems like the web world is something of a do-ocracy, but our world of professional librarianship is one of slow change, big theories, and a few baby steps forward at a time. It's structured, hierarchical, and slow moving. I don’t have time for that. I have to focus on learning how the pros do what they do so brilliantly & bring that back to my library. Let’s admit one thing - web developers been increasingly successful. We in libraries have not. Not that we aren’t great at what we’ve always done. Not that the people don’t need us. Not that there aren’t amazingly innovative libraries and people out there. But we just don’t have critical mass. There aren’t enough of us innovating and translating our high concepts about changing how we do business into reality.</span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">A while back, I recognized that my library wasn’t going to get the money to hire its own web development firm every time we needed move forward, especially given the rate of change in technology and user expectations. It seemed to me that the closest thing we could come up with for a future-proof strategy was to understand, respect, and leverage the knowledge of professional web developers - basically, to become professional web developers ourselves. I wanted us to learn how to build and grow without needing to put in change orders every time we found usability issues in our online presence. We needed to close that feedback loop.<br />So that’s where I’ve been for the past year - going DEEP into the world of web development, rather than spreading myself around many technologies. And what I discovered - because I didn’t know how much I didn’t know - is that even in this technological area that librarians still lump together as being the realm of the "webmaster" or the "web librarian", practitioners have had to specialize in one aspect of the technology or another. There’s no way to do it all and do it in a way that allows us to evolve. The jack-of-many trades model isn’t scalable. </span><br /><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">So why don't all libraries have teams with specialists in:<br /></span><ul><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">project management</span></li><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">content strategy / search engine optimization strategy</span></li><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">information architecture</span></li><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">development (code - functionality)</span></li><li style="list-style-type:disc;font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">front-end design / user experience design / interaction design</span></li><li style="list-style-type: disc; font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">system administration & architecture<br /></span></li></ul><p>Because make no mistake - ALL of what you're doing online is about the web these days. From the end users' perspective, your "online branch" is the website*. Although this branch gets far more use per year than your busiest bricks and mortar branch, your library is probably lucky to allocate as much as 1% of your staff resources to working on that branch.<br /></p><p>(* From the end users' perspective, your catalog is your website and your website is your catalog. Same with digital collections. The main usability issues we'd identified at our library related to the lack of integration of those resources. Hence, the website is everything. It's where all of your resources need to come together. Users shouldn't have to know the difference in systems and staff responsibilities. The end result should all = the website, as it does in the users' minds.)<br /></p>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com2tag:blogger.com,1999:blog-24638929.post-5915486238933617812011-10-05T09:31:00.000-04:002011-10-05T09:32:43.534-04:00Killing Librarianship - Inspiration from the New England Library Association Conference<div style="background-color: transparent; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">I’ve spent the past couple days at the <a href="http://www.nelib.org/">New England Library Association (NELA)</a> conference in lovely Burlington, VT. The conference began with a rousing keynote from R. David Lankes, entitled “Killing Librarianship”. He spoke much more eloquently than I can summarize, so I encourage you to follow him on Twitter @rdlankes, read his work, and view his presentations - see </span><a href="http://quartz.syr.edu/rdlankes/" style="font-family: 'Times New Roman'; font-size: medium; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">http://quartz.syr.edu/rdlankes/</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> (to actually experience the keynote, go to </span><a href="http://quartz.syr.edu/rdlankes/blog/?p=1258" style="font-family: 'Times New Roman'; font-size: medium; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">http://quartz.syr.edu/rdlankes/blog/?p=1258</span></a><span style="font-size: 9pt; font-family: Verdana; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">). </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; font-size: 11pt; background-color: transparent;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">For those who just want a summary, I’ll do my best. </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Lankes explained that what threatens librarianship most is </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">not </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Google, Amazon, or ebooks, but a lack of imagination. The new role of librarians is to support innovation, participation, and democracy, addressing some of our society’s most pressing needs. He summarized today’s librarianship in this formula:</span><br /><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Innovation + Participation + Democracy = Librarianship</span></p><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">He spoke about the death of innovation and big ideas in America (referencing Neal Gabler’s essay in the August New York Times - </span><a href="http://www.nytimes.com/2011/08/14/opinion/sunday/the-elusive-big-idea.html?_r=1" style="font-family: 'Times New Roman'; font-size: medium; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">“The Elusive Big Idea)”</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">. Lankes told us that the librarian’s role </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">today </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(regardless of what it was yesterday and regardless of why a librarian may have entered the field in the first place) is to innovate and to support innovation. He also made it clear that this is </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">every </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">librarian’s responsibility. Referencing Gabler, he pointed out that innovative ideas are being destroyed by the commercial marketplace which too often requires innovators to find the fastest route to profit and extinguishes many great ideas in their early stages as a result. A prime example of this is the seed accelerator/venture capital model, wherein investors require internet startups to “pivot” to a new idea the moment the original concept is under threat of delay or profit estimates suddenly drop off. (You can imagine what would’ve happened had such a marketplace tried to invent the original internet.)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">The public library invests in the marketplace -- not the marketplace of capital -- but the marketplace of ideas. The library allows its </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">members </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(note the use of the term “members”, rather than “users” or “patrons”) to grow in their knowledge and understanding. This support allows people to bring the most </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">important </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">ideas -- </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: italic; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">not just the most immediately profitable one</span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">s -- to light. </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Lankes also reminded us what a big idea our profession is. The public library is - in fact - one of the pillars of our democracy. To the extent that our public libraries are under threat of being cut or closed, our American democracy is threatened. </span><br /><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">There is not such a cradle of </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">democracy upon the earth as the </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Free Public Library, this republic of </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">letters, where neither rank, office, nor </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">wealth receives the slightest </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">consideration. </span></p><p dir="ltr" style="font-family: 'Times New Roman'; font-size: medium; text-align: center; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">- Andrew Carnegie</span></p><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; font-size: 11pt; background-color: transparent;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">The public library allows our citizens to govern themselves more effectively by providing equal access to the information they need to support their decision-making. Those of us working in public libraries burdened by budget cuts, staff cuts, threats of closure, and members’ increasing needs (note that I use the term “members”, not “users”, or “patrons”, per Lankes), know that these cuts and closures cost our society dearly in the long run. </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">A session I attended on Net Neutrality on Monday underscored the current threats to the free exchange of information online and how we, as librarians, need to be actively involved in the fight to ensure that as many sources of information as possible are equally and freely available to all. A final session by Jessamyn West on Tuesday provided a checklist of how we can ready ourselves to help lagging community members bridge the </span><a href="http://www.librarian.net/talks/nelavt/" style="font-family: 'Times New Roman'; font-size: medium; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">Digital </span></a><a href="http://www.librarian.net/talks/nelavt/" style="font-family: 'Times New Roman'; font-size: medium; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">Divide(s</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">) (there are several - economic, usability, and empowerment) that plague our nation.</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">To quote Lankes, “the Mission of Librarians is to Improve Society Through Facilitating Knowledge </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">Creation in Their Communities”. </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">This is indeed a big idea. </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(So it sounds like I’d better get back to work - there’s a lot to do!)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; font-size: 11pt; background-color: transparent;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> </span></div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-89782843526061184092011-04-29T07:52:00.003-04:002011-04-29T07:59:16.005-04:00Use of Web Technologies = Library Success!You must review the report just put out by the Library Research Service (a unit of the Colorado State Library) on the use of web technologies in libraries, which tells us that only 32% of libraries in 2010 had a Facebook page, but that the libraries who were "early adopters" of social media (those who had FB pages in their 1st 2008 study, for example), showed a significant increase in all traditional measures of library success - increased circulation, library visits, & program attendance - even when you adjusted for the levels of expenditure of libraries in the study.<div><div><ul><li>A nice summary appears here: <a href="http://www.lrs.org/news/2011/04/28/new-closer-look-report-u-s-public-libraries-and-the-use-of-web-technologies-2010/">http://www.lrs.org/news/2011/04/28/new-closer-look-report-u-s-public-libraries-and-the-use-of-web-technologies-2010/</a></li><li>The full 56-page report / PDF is at <a href="http://www.lrs.org/documents/web20/WebTech2010_CloserLookReport_Final.pdf">http://www.lrs.org/documents/web20/WebTech2010_CloserLookReport_Final.pdf</a></li></ul></div><div><div><br /><div><br /></div><div><br /></div></div></div></div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-1079491957976977002011-03-17T07:50:00.005-04:002011-03-17T12:19:51.838-04:00On the Why Grow Coders from inside of Libraries questionYou have to take a look at this great <a href="http://www.bohyunkim.net/blog/archives/1099">Library Hat blog post</a> on "Why Not Grow Coders from the Inside of Libraries?" Author Bohyun Kim's opening paragraph makes a compelling argument about the benefits of having in-house developers at libraries:<br /><blockquote><br /><span style="font-style: italic;">How fantastic would it be if every small library has an in-house developer? We will be all using open-source software with custom feature modules that would perfectly fit our vision and the needs of the community we serve. Libraries will then truly be the smart consumers of technology not at the mercy of clunky systems. Furthermore, it would re-position libraries as “contributors” to the technology that enables the public to access information and knowledge resources. I am sure no librarian will object to this vision. But at this time of ever-shrinking library budget, affording enough librarians itself is a challenge let alone hiring a developer.</span><br /></blockquote><br />Bohyun Kim (@bohyunkim) mentioned the difficulty of luring an IT professional into libraries. But at DrupalCon, I met several people who'd migrated into libraries from the world of "commercial web development". I know that this just anecdotal, but it reinforced other times recently when I've watched IT pros go into either libraries or state government from the commercial world. They were often pained by the pay cut, but in the current jobs environment (not to mention with the rising cost of healthcare and the outsourcing of IT), it may not be so hard to hire those IT folks after all.<br /><br />On the flip side, I totally agree that those librarians who are so inclined, with enough of a technical background, could and should become developers. It would help libraries... a lot! Moreover, I think that the libraries should commit to providing resources and support for these staff. But we do, as a profession, derive a benefit from getting people from outside the library world to work with us. They give us new perspectives on the best way to do things. And there's a part of me that thinks that it may be easy for developers to come into libraries with the right skillset already in place and adapt their mindset, principles, and concepts to the library environment. Developers are used to working for all sorts of different agencies and organizations - everything from nonprofits and government to for-profit. If they're user-centered, they'll learn the library environment & be good additions to it, regardless of their background.<br /><br />But what I wanted to point out most was what I feel the real issue is - a lack of vision and leadership in regards to the library's role and how technology plays into this vision. If you think that the library is nothing more than "books" (which is what most of the non-library-using world thinks it is - that's our "brand", if you will), then you wouldn't put resources into information technology. Instead, you'd expend time and create jobs (and whole departments) for aspects of handling those books.<br /><br />And that's just what happened.<br /><br />What we really need is to cement the vision of libraries as providing support for the community's information needs. And given that so much information is online (and, in fact, that we're putting it online) this commitment means that we need expertise in information technology. There are some library leaders who are committed to this. In some cases, they were committed enough to - like Darien Library - change the organizational structure to reflect their values. They've done away with the cataloging department and instead created a technologically-inclined user experience department. I don't mean to kill the sacred cow (and there are places where catalogers are still needed, but for most public libraries, honestly, they need to build better systems more than they need original cataloging).<br /><br />But what do you think? I know it's a bit of the same old argument we've been making since (at least) the 1990s, but I think it's worth getting to the root of the issue and then establishing a way forward that will resolve that issue. To me, it means that all library directors have to buy into the need for (and complexity of) better technological support. Solutions include library directors supporting staff who want to code, integrating IT with all of the library, and hiring from the non-library world. There are a number of methods to deal with this problem. It's just that the people with the hiring power and the budget have to agree that it's a problem.Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com1tag:blogger.com,1999:blog-24638929.post-49317044334611397752011-03-10T23:01:00.003-05:002011-03-10T23:38:30.166-05:00The Unintuitive Nature of Creating Intuitive Designs - Jared Spool Keynote Day 3 - DrupalCon ChicagoJared Spool was funny and right on, a great final keynote speaker for DrupalCon, reminding Drupal developers about how hard it is to create “intuitive” designs, but exhorting us to use several techniques that will help us achieve such designs. This long-time human factors engineer is truly a usability guru - he knows his stuff. When Spool speaks, all web developers/designers must listen... (content developers must listen, as well...)<br /><br />Jason Samuels, who I met at DrupalCon & who was a fellow tweeter at the conference, has done a great writeup on this session at: <a href="http://goingtodrupalcon.wordpress.com/2011/03/10/jared-spool-keynote-speech-notes/">http://goingtodrupalcon.wordpress.com/2011/03/10/jared-spool-keynote-speech-notes/</a><br /><br />Also, take a look at the DrupalCon Chicago site to view the video of the keynote (not sure if it will remain at this url, but it is currently visible at <a href="http://chicago2011.drupal.org/live">http://chicago2011.drupal.org/live</a>. It’s definitely worth it!<br /><br />I’ll just give you my raw notes, because I don’t have a lot of time to post about everything I saw and learned here at DrupalCon Chicago. Hopefully, they’ll be helpful to someone.<br /><br />Avis went against understood design patterns - * next to optional (v. required) fields... to avoid a senseless waste of asterisks!<br />learned unintuitiveness - the asterisk (now means required)<br /><br />What is an intuitive design?<br /><br />AIGA website in the 90s (Am Inst. of Graphic Artists) - “they built the damn thing in Flash” - created scrollbars in Flash, to keep visual integrity in place, but scrolling didn’t work well only went up 1 line of pixels at a time<br /><br />the problem was that they didn’t understand how to build a scrollbar (which is actually really complicated, as simple as it sounds, it’s hard to do. Only like 7 people are left who know how to do this, but we don’t need to build new ones - it’s a done project, take it off the list... it’s perfectly functional, as is.) But AIGA built scrollbars from scratch, nonetheless and, of course, didn’t know how to build them so they created tremendous usability issues. This took focus off of the content and instead focused the user on the site’s unintuitiveness.<br /><br />Intuitive design keeps user focused on their objective<br /><br />It’s not noticeable. It’s invisible.<br /><br />it’s not the novelty that makes something unintuitive... could you have an unintuitive design in a simple page?<br /><br />YES...<br />found 1 a while back at the U.S. Dept. of Agriculture - Hay Net - how can you screw this up - very simple, you either need hay or have hay... but end-users didn’t know if you the link labelled “Need Hay” would give them list of people who needed hay or was for people who needed hay.<br /><br />Intuitiveness has nothing to do with complexity vs. simplicity<br /><br />it has to do with being invisible; if I have to take focus off what I’m trying to accomplish, I’ve lost intuitiveness<br /><br />hard to put up pictures of good design - you don’t notice it<br /><br />like air conditioning, only notice it if too hot or too cold<br /><br />An intuitive design is personal, though, so we have to know about our users<br /><br />ATM may be most intuitive thing we’ve designed; but there are confusing ones - 1 in India - 3 similar options: “Cash withdrawal”, “Fast cash”, “Ultra fast cash”<br />What does that mean?<br />could invent an unusable ATM - put everything on it, but in another language - but this is similar to this is often what we do with design<br /><br />just look at anything Microsoft has ever designed - unintuitive (I think he played this one just for laughs - it worked... it was a good example from the Access 97 days, I think).<br /><br />You would think after years of selling subway tickets, it would be simple to do, but as the photo of the fare card purchasing machines (& their instructions) shows, it’s not!<br /><br />current knowledge is what they come to the design with<br /><br />target knowledge is what they need to know to use design<br /><br />so the difference between the two is called the “knowledge gap” -<br /><br />only design for this gap... nothing above, nothing below<br /><br />current knowledge should be = target knowledge for design to be intuitive<br /><br />2 ways to fix gap:<br /><br />1. train user (bring them up to target knowledge)<br /><br />2. simplify design (bring design to them)<br /><br />- ongoing cost option = training<br /><br />options: training v. simplifying<br /><br />Wang word processing machines in the late 70s - so much training required - paid $14K for A week-long course simply to load file, save file, and print file... The advanced course included italics and bold...<br /><br />original Wordperfect - the little cardboard/keyboard templates to put around the function keys to show all of the features - so many features!<br />we go from raw technology to something with lots & lots of features (too many for most users) to simplicity... The one designed to be simple takes the prize (Microsoft Word v. Wordperfect in the early days of pcs / word processing programs)!<br />... then shift back to wanting more features<br />the same thing happens in hardware world<br /><br />raw technology-->more & more features-->simplified experience<br /><br />you can make the shift from features to experience<br /><br />Problem with extra features is that they create a gap between current knowledge and target knowledge<br />users bring their own current knowledge to the table... they’re all over the map, though<br /><br />multiple domains of knowledge, too... that’s what makes creating something intuitive REALLY HARD<br /><br />What techniques can we use to make it easier?<br /><br />used these techniques for years, very effective:<br /><br />1. field visits - have the makers meet the customers (“Jane Goodall” experience)<br /><br />1a. helps identify who the users are and their current knowledge<br /><br />2. usability testing (not user testing, because not testing user, testing design)<br /><br />3. quick tests:<br /><br />- paper prototyping<br /><br />- five-second tests<br /><br />Handbook of Usability Testing is recommended book<br /><br />paper prototyping - using their finger as a mouse (the original pointing device - "mouse classic")<br /><br />shows us about flow<br /><br />and if the labels that you’re thinking of are working<br /><br />also recommends book Paper Prototyping, Carolyn Snyder<br /><br />five-second tests (which you can do in 10 minutes) (5-seconds to memorize screen then write down all you remember about it & rate it)<br /><br />just username/pwd, live chat boxes -<br /><br />support cases - 8<br /><br />challenge: watch users interacting with your design: at least 2 hours every 6 weeks<br /><br />this is not rocket science<br /><br />when upgrading to a more usable version - don’t bring the whole system down!<br /><br />"Facebook has mastered the art of screwing with its users"<br /><br />like your kitchen cabinets got all rearranged when you were sleeping - the usability fairies change everything - you didn’t ask for it, but they’ve decided to do it - the goal wasn’t to have a more efficient system, but to get kids off to school, which the new changes don't help with (beware of turning into the usability fairies)<br /><br />destroying the users’ current knowledge<br /><br />so how do we deal with this?<br />mitigate pain of change with bubbles, overlays to show what the new functionality is<br /><br />but have to think about the process of designing for the change<br />design the process of change for the user base<br /><br />we have to give them some control over this<br /><br />- an intuitive design is invisible, personal, when the user is focused on their objective<br />- when current = target knowledge<br />- when design is focused on experience<br />- different users have different current knowledge<br />- you need to collect feedback about your users and their knowledge<br />- design for embraceable knowledge<br /><br />spend at least 2 hours in the next 6 weeks to watch users interact with your designSharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-41843920928176103632011-03-10T00:57:00.004-05:002011-03-10T08:40:26.226-05:00Clay Shirky's Keynote PresentationI loved Clay Shirky's keynote (see: http://chicago2011.drupal.org/live)<br />He reminded all of the web developers in the room that "the most valuable thing attached to a computer is the user" and covered the new "C's" in CMS (not just Content, but) Community, Convening, Culture. He believes that we're moving into Community Management Systems (vs. Content Management Systems) and, further, that these are evolving into cultural management systems. People who work in libraries, museum, and governmental agencies should be participating in movements like the open-source Drupal community, if for no other reason than that [my aside]. <br />I know that there were those tweeting during the keynote about how this was just a rehash of the old Web2.0 paradigm that we've been hearing about for nearly a decade, but I think Shirky added some new pieces to the discussion and refocused the Drupalists on how we build our systems.<br />1. he challenged web developers' conception of the user<br />Shirky pointed out that we often develop for personas, as though people behave consistently - always good or bad, for example. He mentioned what psychologists term "<a href="http://en.wikipedia.org/wiki/Fundamental_attribution_error">the fundamental attribution error</a>", wherein we see others' actions as though they are a distillation of everything about those people (so when they behave in destructive ways on some occasions, we imagine that they are always destructive) vs. seeing them, as we see ourselves, that is to say, behaving due to context and circumstances. (e.g., when I cut off that person in traffic, I was rushing to the hospital, but when someone else did, they were showing how selfish and narcissistic they were).<br />This <span style="font-style: italic;">does </span>remind us that the use of "personas" - and our design for personas can actually have a negative flip side, in having us design systems for "people" who we imagine behave in certain ways all the time. The scenarios we put those personas in are more important. The context is crucial in figuring out how to build systems to work best for people. Which brought us to his second challenge:<br />2. he spoke about targeting <span style="font-style: italic;">behavior</span> as a 1st-class object<br />As we build community systems, we have to build them to accommodate behaviors, not single-dimensional personas. We have to build systems that reinforce the behaviors we want and reduce the effects of behaviors we don't want. He used the example of del.icio.us and how, as the social bookmarking service was designed, there were debates over how it might be mis-used. Sure enough, many of the designers were concerned about the possibility of spammers bookmarking spam sites & gaming the system until those bookmarks were highlighted, reducing the value of the community tagging of sites. But they decided that as long as they built the system to not allow those spammy bookmarks to rise to the top, it didn't matter if spammers were using the service. If there's spam on the system, but none of the real community is affected by it, does it matter?<br />Through the social aspect of the bookmarking system, they actually leveraged the greater number of community members - who wanted to use the system legitimately - and used their collective input to highlight which tagged sites were valuable. In choosing this approach, they stopped themselves from designing onerous barriers to legitimate community members which they would've had to include if they were designing more heavily around the "spammers". Instead, they concentrated their efforts on a system that would enhance/highlight the legitimate behaviors of the many and reduce the effects of the illegitimate behavior of the few.<br />3. he talked about including users in redesigning the system as we go<br />This one isn't so revolutionary - you've heard it a million times nowadays. There's two parts of this statement: (1) that you include the community in building the system and (2) that you build iteratively. The bit that he added in that I personally hadn't thought of (in this way) before was about how you can't pre-design the system for the user. It's real-time use that shapes how you build. You'll never be able to fully anticipate how people are going to use what you provide, so instead of pre-designing for all of the edge cases, you need to design the system with community input and more importantly, design a system that easily enhanced/changed/redesigned in response to community demands.<br />Along the way, Shirky also pointed out some interesting things about organizations & organizational culture - that, for example, successful open-source movements are led by people who might be described as "benevolent dictators". In other words, they neither micromanage, nor are they simply charismatic visionaries, the leadership options we so often see in the corporate world. Instead, they are "roadblock clearers" whose commitment to the continuation of the community trumps the disputes that inevitably arise when there are so many impassioned developers involved.<br />He spoke about Linux's creator Linus Torvalds, who, at one point did source control by having community members send their work zipped via email to him and he redistributed it via email. He did so until he could find a technical solution that "fit" the linux community's culture. So he cleared the roadblock, kept things going until he ultimately resolved the dispute with a technology that fit into their community practices.<br />He also said that in such impassioned communities, what worked best was for the communities to have a space to "take it to a room" for debates, without affecting the development of the project overall. So online spaces for such communications are crucial infrastructure for open-source movements.<br />He pointed out the difference between what's been called "single-loop organizations" and "double-loop organizations". The former, he said, fix problems; double-loop organizations, however, fix problems <span style="font-style: italic;">and </span>the situations that cause the problem.<br />He didn't say that the open source movement was definitely going to survive and persist and that it would all work out. Instead, he said that the people at DrupalCon (and active in other open source communities) represent "the experimental wing of political science".<br />I think that the endless feedback loop of the community with its resulting "continuous, iterative improvement", the participation of believers who are most impassioned about the project (along with the space for other folks, who may be less involved, but whose contributions may nonetheless be helpful) will ensure the continued success of the amazingly powerful, open-source Drupal project. I think Dries, and so many others who've gotten involved, are correct to emphasize the community aspect of their work.<br />Being here, right now, with the Drupal community, gives me a lot of hope about the future.Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0tag:blogger.com,1999:blog-24638929.post-71365526525564855092011-03-09T11:57:00.009-05:002011-03-10T00:56:47.019-05:00Organization of Intention<p>So awhile back, I posed the question about centralization vs. decentralization when it comes to systems - which is better?<br /><br />I’ve just been in a great keynote by Clay Shirky given here at DrupalCon Chicago. In it, he spoke about how those great old concepts of Web2.0 are playing themselves out and what our challenges we face as website developers moving forward. I’ll summarize it in a separate post - it’s worth a whole post. But bottom line, we have to stop considering the audience the audience, but rather as collaborators. We have to cede control of our web presence to the community of users.<br /><br />So you’d think I’d be all about having everyone just do everything. But what I’ve been watching - both in the larger world and more close to home - is the political power of organizing intention. The less empowered, the less resourced you or your organization is, the more important it is for you to rely on community and to bring the community together. So, when it comes to the question of centralized, high-control systems vs. lots of little grassroots projects that don’t even know about one another, neither is ideal (in most cases). Instead, depending on context (which is key in an analysis of needs), most systems work best when they facilitate collaboration. That’s the key. It’s not whether or not the system itself is centralized or decentralized. It’s whether or not the system helps people to work together, leverages and harnesses their strengths, empowers them at an appropriate level. Importantly, those who are empowered have to work together, within certain parameters. That's the only way it all works. That's why there are legal systems and governance in complex societies.<br /><br />A lot of times with library systems we make a huge mistake. We have databases, “digital collections”/archives/repository systems, a catalog, a website, some web2.0 tools. And these don’t work together. They’re under the control of different people. Each of those people is an advocate of their little world and in control of their little world. But they aren’t sharing with others. Often times, they’ll create a little blog on the side because they’re nervous about the high control folks saying no. All of those constructions can only be fractionally successful, at best. They are unsustainable without the one or two people who are behind them. They are really constructions of ego. They are built of fear. Fear of loss of control. I empathize, I really do, but I also see the negative results of diffusing our efforts. I see it in poor user experiences. If you want the end user to support your larger organization, you have to harness your efforts with the efforts of the larger organization. And if you're not supporting the larger organization, then who are you working for? On the flip side, the technology should be supporting us as staff to be empowered to innovate. And empowerment of staff can lead to great innovation. It's just that we need to harness all of this - we need to have collaboration, communication, and agreement about our overall mission.<br /><br />With the many little independent projects, neither harnessed nor collaborative, there is no overall sense that we are creating what either the user or the organization needs to fulfill their goals. The scaffolding of all of these endeavors must be collaboration. The construction must be worked on together. We have too few resources - too few people and too few funds for little fiefdoms.<br /><br />And yes, Drupal is a technology designed to help us harness and empower the collective staff intentions in service of users’ needs.</p>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com1tag:blogger.com,1999:blog-24638929.post-88195037794255279872011-03-08T21:45:00.004-05:002011-03-09T08:29:57.824-05:00Wrapup of Webform module sessionThis session was a great introduction to the Webform (contributed) module for Drupal. It also showed those of us who've looked at Webform the awesomeness of Webform 3 and how well it plays with not only Drupal 6, but Drupal 7. (btw, link to the Webform project page is <a href="http://drupal.org/project/webform">http://drupal.org/project/webform</a>)<br /><br />Personally, I find a few things particularly great about Webform for my library's use (not specific to Webform 3, also true of earlier versions):<br /><ul><li>webform will allow my colleagues to easily make forms and polls/surveys (of whatever complexity they want, with many possible methods for data collection) without them ever having to come close to code</li><li>webforms created using this system will be more secure than we might come up with from scratch - keeping our form creation activities from opening up new security holes on the server... also, can apply form spam blocking techniques (such as the use of CAPTCHA or Mollom modules) </li><li>that it actually offers at least as much functionality and ease-of-authoring and data collection as SurveyMonkey, but gives us a lot more flexibility</li></ul><br />My notes are found below (BTW, some rockin' new aspects of Webform 3 are highlighted - take note!):<div><br /></div><div><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.6684953925419062">Webform 3</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Nathan Haug </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">“quicksketch” on d.o. - Lullabot Consulting, Development, training</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Webform</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- the tool for making surveys on Drupal </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- easier to use than CCK</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">-- no it’s not based on CCK</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">-- no it’s doesn’t use Entities in D7</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- designed for end-users, not administrators (people who just want to make a survey)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- many-to-few method of collecting data - many fill out form, just a few receive the results/submissions</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- not a data creation tool, but users </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><i><b>can </b></i></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">see their own submissions, if you’ve granted them that permission</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; "><b>New Features in Webform 3</b></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><b><i>ability to have conditional logic</i></b></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"> - can show fields / multi-pages based on what the answer to previous questions were submitted (so many people who aren't in development have no idea how difficult this functionality can be to add in... but now anyone can do it!)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- user can now save drafts & resume later</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- you can webform-enable for any content type</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- basic Views module support (a good start, not fantastic/fully implemented yet)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- much better data integrity - info is stored in the db more efficiently & makes it usable by Views</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- Form Builder Integration* </span><a href="https://docs.google.com/document/d/1duAVZnI3nbwyXqrMa_SX_7P6Aqs4saLoYO4Ph1m8Sfo/edit?hl=en&pli=1"><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;">(http://drupal.org/project/form_builder)</span></a><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"> - which will blow your mind! ;)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Holy APIs!</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- module-provided components - additional fields (E.g., a grid field full of text fields in web form, similar to cck)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- more hooks (for save/insert/update/delete submission)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- hooks for pre-built select lists (heading toward Views integration for select lists)</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- renderables used in forms, e-mails, and viewing submissions, even in D6</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; "><b>Webform 3 v. 2</b></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- shorter node form - just title, body, all settings elsewhere - 1st save node, only then there will be a webform tab on top of node - </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; text-decoration: none; vertical-align: baseline; "><i>then you can </i></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">click on the Webform tab to do settings like email</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">-- save node 1st! then make web form in Webform 3</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">-- in webform tab, there’s a form components tab, an emails tab, a form settings tab</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">-- can send out templated email response / confirmation upon submission of webform - tokenized</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; "><b>Excellent tools for getting data out of Webform 3 </b></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- including basic analysis capabilities built in</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- Basic analysis tools built in</span></div><div><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- Table view of form submission data</span></div><div><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><i><b>- Downloadable form submission data</b></i></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">This is AWESOME! Bye bye Survey Monkey!!!</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Date module & jquery ui on your D6 </span></div><div><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><b><i>You can use date popup calendar ui in form</i></b></span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 15px;"><b><i><span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; font-style: normal; font-weight: normal; "><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; ">showed Webform 3 off in Drupal7 environment - still has popup calendar, doesn’t need Date module and jquery ui native to D7</span></span><br /></i></b></span></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"><br /></span></div><div><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><b><i>Can skip page if none of the components show up in a given page - conditional logic coolness</i></b></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; "><b>Payment systems</b></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"> - combo of Pay module & Webform 3 module </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><i><b>can map fields to payment component </b></i></span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- payment gateway</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">(of course with all cautions about implementing using HTTPS)</span><br /><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; text-decoration: none; vertical-align: baseline; "><b>Form Builder</b></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">system to make it really easy for users to build and construct forms</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">creates kind of a wysiwyg looking interface for building webforms </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><b><i>drag and drop fields, then add the fields’ attributes</i></b></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">ability to add check boxes - by adding the Options Element module - ability to easily define lists of things</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">webform has basic token capabilities, so can take advantage of logged in username info, for example - e.g., %username - can do this with any core profile fields the user has... </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">you can hook into the webform_components from other modules webform_webform_components</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">how to handle form spam - CAPTCHA or Mollom modules - make sure you’re using latest versions of webform and mollom - </span><i><b><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; ">Mollom now allows you to natively add Mollom protection to any form </span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; ">NEVER expose a webform to the public if without this type of form spam protection</span></b></i><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">other cool things you can potentially do / combine with Webform:</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><i><b>check out Webform integrations listed on project page</b></i></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- </span><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; text-decoration: none; vertical-align: baseline; "><i><b>mime mail module - to send html emails to users (so they look like my website/can embed images, for example)</b></i></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">can you populate select list from db table?</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">- can load prebuilt select list coming from some php - only way to handle this currently is to create a module that hooks into webform webform_options - but pretty simple-looking to do</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">is webform3 generating html5-compatible code for things like email? not currently</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">Elements module makes sure you have html5-compatible elements</span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;">is the arrange fields module compatible with form builder? two different interfaces, so prob should work together, but doesn’t know, hasn’t tried it</span><br /></div>Sharon c.http://www.blogger.com/profile/08620654895389689344noreply@blogger.com0