Monday, July 31, 2006

Microsoft & my own private hell

I generally do not care to partake in the sport of Microsoft bashing. [not only is it often misplaced (other vendors can be just as bad), but when it's not misplaced, it's all too easy a target!] But there are definitely some Microsoft-based headaches that I've been dealing with -- things that have made my hackles rise -- and they've all hit me at the same time:

(1) my home machine - WinXP SP2 - is booting ungodly slowly & then showing one of those lovely error dialogue boxes that pops up when an application refuses to behave properly - "Microsoft Genuine Advantage has generated an error". So I tried to figure out what on earth Microsoft Genuine Advantage was & how I could remove it. It turns out that Microsoft actually sent out a so-called security update that is uninstallable, known as - you guessed it - Genuine Advantage. It's a nasty little piece of spyware that is designed to counter piracy. That part would be fine if - (a) they'd informed me that they'd downloaded it; (b) had allowed me to opt out of it; or (c) when it started misbehaving, they'd allowed me to uninstall it. But there are no fixes. I've posted to a Microsoft tech forum to find out what to do. I've read that some users have had so many problems with the thing that they've reformatted their hard drives & reinstalled Windows - worse still, it hasn't fixed the problem! Strong argument for any OS other than Windows.
P.S. The G.A. product didn't find any problems (and I knew it wouldn't) with the genuineness of my software - so that's not why the thing is misbehaving. Not to worry, yup, I've spent plenty on licensing!
(2) both work & home machines - trying to run test web servers (one IIS, the other Apache). I'd followed the instructions assiduously. All should have been running well. But the security embedded in the SP2 - particularly the Windows Firewall - does not allow you to run a web server. You have to monkey around a bit if you want to leave the firewall on. Better still, turn it off. That's a heck of a security system, isn't it? Make it so unwieldy and anti-functional that everyone will disable it just to get their work done. Then, if they get hit by hackers, blame them for having turned off their firewall. It's a win-win for the Win folks, I guess. It'd be nice if - instead - they made flexible, functional, user-friendly security programs that still allowed people to do their jobs.
(3) we use database results wizards in FrontPage to pull information from Access dbs into many of our pages dynamically. These things are great when they work. Today, all I did was work in a separate subweb to try & create a form that would allow staff members to easily edit the Access databases in question. I did so in a separate, protected subweb, in hopes of not affecting other db pages. YET, of course, suddenly, all pages that use this functionality throughout the website started displaying an ugly yellow message "Database Results Wizard - Unspecified error" (or something close to that). I tried a couple of things to fix it, but the real fix would likely come from restarting IIS altogether. I'd do this, but all of our public access machines run on a program that lives on the same IIS server, so it would freeze patrons mid-session & frustrate the public services staff. So obviously, I can't even try this until after 5pm. If it doesn't work then, I'm in a heck of a pickle. Now, why on earth can I not work in one subweb, with its own global.asa, permissions, etc., etc., without affecting everything else?

So that's my Monday. Hope yours is going well & that you're staying cool.

Wednesday, July 26, 2006

Dogmas are meant to be broken...

Steve C. forwarded this on to me & Michael Stephens just blogged about it, too, so figured it was about time I weighed in. This is about website redesign folks & - guess what - it applies to our little world, too:
Web Dogma ‘06
Anything that exists only to satisfy the internal politics of the site owner must be eliminated.
Anything that exists only to satisfy the ego of the designer must be eliminated.
Anything that is irrelevant within the context of the page must be eliminated.
Any feature or technique that reduces the visitor’s ability to navigate freely must be reworked or eliminated.
...
And there are several more, so I suggest you go to http://www.boxesandarrows.com/view/dogmas_are_mean & see it for yourself... now, it dawns on me that we could likely come up with a CSL Web Dogma, too. What do you think? I'm opening the blog up to posts & hopefully won't get spammed. We'll see how it goes - I may have to moderate, but would love your feedback, anyway!

Monday, July 24, 2006

Library2.0 workshop wrapup

Lots & lots of great points in this presentation by Jenny Levine & Michael Stephens last Wed. (can you believe almost a week has gone by! got tied up in stuff as soon as I returned - oh well, here's the wrapup).

First, this is a huge "thank you" to both Darien Library & the Ct. Library Consortium (CLC) for putting this innovative, useful, and timely workshop - can't say enough good about this experience! BTW, if you haven't heard of Jenny & Michael, L2.0 (library2.0 that is) fame, you should get acquainted. Their weblogs are, respectively, The Shifted Librarian and Tame The Web. I would also add to this Blyberg.net, the blog of the lead guru who developed Ann Arbor District Library's award-winning website. [There are others - see links at the end of this entry.]

Now, when you hear about Web2.0 and Library2.0, you usually also hear about key technologies, such as blogs, wikis, social tagging/bookmarking (e.g., del.icio.us, Furl, etc.), LiveJournal/MySpace, Flickr, mashups, AJAX, etc. What matters, however, is not the individual web services or pieces of technology - what matters in Library2.0 is that the librarian is reaching out to the user where they are and providing the user with services that they can use in whatever way they want. It is, in equal parts, a user-centric reconceptualization of our online services and an extension of all of our services into the world of the users - users who live more and more of their lives online.

We used to enthusiastically offer our patrons only what library vendors provided for library catalogs and databases. Neither we nor those vendors really began providing services by asking end-users (or potential end-users) what they wanted and how they wanted it delivered. We never started with a conversation, but rather with a set of assumptions based on our library-centric way of understanding the world.

In the new world, however, Michael and Jenny noted that Librarian2.0 (some of these are direct quotes, some paraphrasing through the filter of, well, me, though I've tried to keep that to a minimum):

  • harnesses the social tools of Web2.0
  • understands the Long Tail
  • uses the Wisdom of Crowds
  • embraces Web2.0
  • controls technolust (technology is a tool, nothing more & if it does not fit, it must not be implemented)
  • is willing to go through techno-divorce (just because you've paid a lot of money for it, selected it, or found it useful in the past is no reason to cling to a technology/system)
  • makes good and quick decisions, based on evidence
  • pays attention to successful libraries and emulates them
  • pays attention to innovation broadly - in other fields - reads other literature beyond library-land
  • plans through user-centered design
  • asks users what they want, doesn't tell them what they need
  • finds new ways to deliver services to meet their users' needs
  • is transparent
  • listens to staff & users
  • involves staff & users in planning
  • tells stories
  • plays with new tools & technologies

Decision-Making for Librarian2.0 - Factors to Consider (direct quotes from Jenny & Michael's Librarian2.0 handout):

  • Does it place a barrier between the user and the service?
  • Is it librarian-centered or user-centered in conception (e.g., is it born from complaints from librarians about users)?
  • Does it add more rules to you bulging book of library rules, procedures and guidelines
  • Does it make more work for the user or the librarian?
  • Does it involve having to do damage control before you even begin the service? If so, you might want to rethink!

Librarian2.0 gets "content" - in the new world of Web2.0/Library2.0

  • Content is conversation
  • Content is organizing itself
  • People are connecting to each other via their content
  • Users will define their own channels of content streaming in
  • Libraries can play a role: (1) offer content; (2) offer the mechanism to create content

And here's a practical section of the presentation that I hadn't really put in my mind in the context of L2.0, about managing projects & meetings:

  • Learn to have effective meetings - see Death by Meeting, by Patrick Lencioni
  • Get stuff done - see Getting Things Done, by David Allen [I'd have to add the LifeHacker blog to this, as well]
  • Establish a point person

Overall, there was a lot of emphasis on the playfulness aspect of L2.0 - how a "gamer mentality" (gee, let's try this, oops, didn't work, no big deal, try something else, until you achieve your ultimate goal) can be helpful in your library's evolution and in innovation. [I'd have to add that I've seen a few organizations in which innovation was totally squelched by a lack of openness to failure - perfection is the enemy of good, I think someone once said... so lighten up and just get into the mix - try it out - nothing too horrible will happen. Reminds me of doing help desk - when I'd go out to a library whose staff were inexperienced with computers, that was easy to deal with, but I'd have to start by getting them relaxed about playing around with the things.]

I'm pretty proud of Steve C. & me, as I think that - gauging from Michael & Jenny's workshop - our blog workshop was definitely on the right track (though I'd LOVE to get Michael & Jenny here to speak - which would take us all to the next level). We even referred to many of the same resources (e.g, my personal fav, "The Cluetrain Manifesto"). To refresh yourself on our blog workshop (or if you didn't get to go) - link to http://cslblogshop.blogspot.com.

There are lots of links I can give you that Michael & Jenny handed out - also they went over so much more than I touched on here, but given that you may already have had some exposure to blogs and/or wikis (particularly through the great DLD-sponsored, NELINET-run classes on these topics, or through our CSL blog workshop), I didn't think it made sense to take up space here. Here's a few links, though:

Finally, last - but definitely not least, if you feel a deep need to "unconference" your inner geek, there is a very intense Library2.0 Camp being held on Sept. 25 at Darien Library. There will be a lot of techie talk, but if you're up for it, I'd encourage you to sign up, as I already have! http://wiki.library2.net/index.php/Library_Camp_East,_2006_Sign-up_Page

BTW, Chris Bradley just posted about the workshop on her "Between the Bookends" blog - see http://ctlibrarians.blogspot.com/2006/07/never-fail-to-communicate.html

Waterfall design vs. iterative

One commonly cited "best practice" for developing websites (or redeveloping, as the case may be) is to carefully plan all aspects of the development through a series of preset steps and processes.
(see the definition below from Wikipedia -http://en.wikipedia.org/wiki/Waterfall_model):
The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance

And certainly it sounds like it makes good sense - as with any system migration, planning would seem to be key. But at issue is the degree to which the planning stages are immutable and linearly aligned, as opposed to allowing for iterative development. Interestingly, the same Wikipedia article mentions that the inventor of "waterfall design" favored "iterative design". Anyhow, someone in my PHP programming class mentioned this whole debate between waterfall and iterative design and it articulated for me a conflict that I've noticed - the conflict between preplanning the entire redesign of a large-scale website before even beginning to do the work and between starting to actually do the work informed more loosely by a set of objectives and iteratively improving the system.

Thursday, July 20, 2006

Librarian 2.0 in demand as Netscape pays off the masses...

Yup, I've been busy & I will have a ton of links for you - that having been said, I'm finally cleaning up some gmail at home this evening & a fav source of mine (Good Morning, Silicon Valley, a leftover from my CA days, perhaps) reported the following story:
http://blogs.siliconvalley.com/gmsv/2006/07/is_that_a_wad_o.html
about Netscape paying off people who do social tagging. Here's one analyst's prediction about what paying off those who are actively online bookmarking and rating web content:

At J. LeRoy's Evolving Web, the host writes: "By introducing a profit motive into social bookmarking the entire system changes. Before 5:10 pm last night, social bookmarking was a reputation phenomenon. Your reason to bookmark was to get noticed. It was fun, you were part of a community, you got some fame -- but all of that was borne from your quality of bookmarking. ... Jason's motivation is a perfectly sound business decision. It is a disastrous community decision. The saving grace will be that, after Netscape has been gamed into utter irrelevance, people will learn something from the experience. The Netscape site will not be a trusted news source. People will return to sites with truer folksonomies."

Now here's where librarians come in. Yup, librarians. C'mon 2.0 wannabes, you know that you were waiting for an opportunity to play with the big boys. Let 'em try and "monetize" everything - one thing that librarians have ALWAYS done is to keep their integrity - to ignore the market forces and nonetheless adhere to the principals of finding and referring others to quality information. We've NEVER done it for money, never will. That, in and of itself makes us invaluable in a world of rampant capitalism. All of those pathfinders that librarians were building & so many gave up on a few years back - that will be back in vogue as librarians take back the decidedly unsexy but useful role of web cataloger. The users can trust us - they always have!

Something to look forward to - wrap up of the Library2.0 Workshop at Darien

Like the rest of you, if I go away for a day, I return to a piled-up desk, voice mail waiting, and several dozen (yes, that's all - most of my listservs go elsewhere) emails. So, later today, I'll offer a detailed (read: too long) posting on yesterday's excellent workshop provided by the Connecticut Library Consortium and Darien Library (the library also played host - very hospitably, I might add) on Library2.0.

Our much-esteemed presenters, Jenny Levine, of The Shifted Librarian blog fame and Michael Stephens of Tame the Web blog (if you go to his blog, you'll already see a pic of Jenny that he posted as they were presenting) fame, were great! I can't say enough about them. But, in the meantime, here's some links you can look at. Jenny has some of her presentations - including the one on RSS - up on her Presentations wiki - go to http://theshiftedlibrarian.pbwiki.com/ (the one we viewed yesterday was How to Use RSS to Know More and Do Less), though they also did quite a few other "modules" during the day. One thing that they taught me a lot more about was Flickr - so just to give you a taste, here's a link to the photos Michael Stephens has online with the tag "darien" - http://www.flickr.com/photos/michaelsphotos/tags/darien/
gotta get back to nitty gritty - later! Also, I suspect that Chris Bradley, CLC's director, who also attended (as well as helping to organized & sponsor the event) will soon have a posting about it on her Between the Bookends blog. She's more careful in what she writes than I am, so it may be a little later in the day or week.

Tuesday, July 18, 2006

Tuesday and what I'm up to...

Yes, it's now Tuesday evening & only now did I find time to complete yesterday's post (at least I got it online before Blogger had a chance to go offline - outage scheduled for 8 pm Eastern)!

I'd been alerted by some of the reference people that pathfinders we'd built on the OCLC CORC system that are obsolete, or, in some cases, just their links are. Some pathfinders have been converted to OCLC's Connexion system, others have gone by the wayside altogether. So I've been doing a global search for the corc.oclc links - it's slow with so many pages on our site, but at least this method should capture all live instances of the links (I hope!) ... I'll delete out the pathfinders that the librarians are completely purging (those that are too outdated) and for the remainder of the obsolete pathfinder links, I'll change them to connexion.oclc. I'm sure that I've changed some of them in the past, the issue sounds familiar, but clearly not all of them. I started on this - then got nervous about deletions & felt the need to double-check with our ref librarians - a few of the links I'm still awaiting replies on before I remove them. Now, here's a usability question that I haven't had time to research - do our patrons understand the term "pathfinders"?

For the same group of librarians, who've apparently developed a set of pages using FrontPage (hurrah!), I've been working on a simple template setup to convert those pages. Did you realize that FrontPage 2003 supports the .dwt template function that Dreamweaver (and Contribute) have used so effectively in recent years? (Unfortunately, I discovered that people with FP2002 or earlier can't take advantage of this new feature - oh well...)

I simply created a .dwt file that had the include file for header & footer (I may look at changing at least the footer over to an IIS-provided addition, BTW, as I was investigating some things on IIS today & it reminded me that the server could do all of the heavy lifting - no include files required!!) and a link to the global stylesheet & attached the dynamic web template (yes, that's what .dwt stands for) and the work was converted into very nice versions of the pages that they'd developed - versions that are in line with the overall site.

BTW, I tried out the FP table of contents component to create a dynamic listing of files in a given directory and/or via categories that you designate in each page's properties settings. It works well, but you can't format the output flexibly. Perhaps I'll use ASP to achieve the same thing... but it'll have to wait - my priorities are elsewhere at the moment.

Not only are the pathfinder projects strong arguments for a flexible, high-quality content mgt system (which would allow our reference team to update things like this), but it's also a little poke in the side to remind me that I'd better learn how to write macros for the web tools I use. Automating the tedious and slow global changes would save an outrageous amount of time. If only I can set aside the time to learn all of this!

Today's other highlights included:
* Grappling with my local implementation of IIS (my development web server, running on my local Windows XP machine) - I want both its FrontPage Server Extensions (version 2002 is the latest) and ASP to function - but have been having troubles that require reinstallation & the CD for it. Oh well.

Perhaps I shouldn't leave my little cubicle, given how much work there is before me, but tomorrow I'll be off to see Michael Stephens and Jenny Levine of Library2.0 fame at Darien. I'm so excited - they'll be discussing social software - I'll give you the lowdown once the event is over. I also begin my course in PHP and MySQL programming (PHP & MySQL are the backdrop to a number of popular open-source, some for fee, some free, applications (e.g., WordPress, Drupal, ContentDM, MediaWiki, and so on)) tomorrow. No more acronyms for today, time to call it a day!

Monday, July 17, 2006

Mopping up Mondays...

So today is about - what else - mopping up on a Monday! It's always a challenge when a site has grown gangly (overgrown like the hollyhocks at my house that my husband calls "trees" that have fallen over from their own weight - no stakes large enough to support them) to decide what to prioritize - prune it, tie it, take the whole thing out & start from scratch.

There are 680 pages left that do not have the include file for the footer - how could that be, I wonder, when I thought that I'd hit them all? Well, we do have some decentralization of page authorship (and even site admin). Decentralizing authorship & the control over publishing, within reason, is something that I've been a big advocate of all along. I'd like to figure out how to get more granular in my control over permissions, however, to ensure that folks don't mistakenly overwrite the code fixes that I've put in place. The site admin end probably needs to be tighter and the authorship broader, but more carefully guided. Eventually, I believe, we'll need to move over to a more tightly controlled content management system, to ensure that the information we publish is not duplicated, overwritten, or disorganized. What every library struggles with, no doubt, until they find a system that works. (See Library Hi Tech Vol. 24, No. 1, 2006, for articles on CMS')

Wednesday, July 12, 2006

Public & Special Acts 2006 in an Iframe?

OK, so the frameset was loading too slowly, especially given that the contents of this index to CT's Public & Special Acts (2006) prints out to anywhere from 57-60 pages long, depending on your printer setup. So, I went to an iframe setup. And this actually helped the WebXact validator to understand some of the pointers & not claim that there were broken links (though there were not... I think the complexities of the frameset, used in conjunction with other tech, like include files, had the validator confused!). Hence, the page shows up as being "error free". And the iframe version loads up more quickly. There are still other issues - re: this website's lack of full accessibility compliance and the fact that it hasn't been converted to XHTML, but these are other problems for another time. Also, I have to work on improving database access from the page http://www.cslib.org/connga.asp, per a request from a webmaster at the General Assembly. I'll see what I can do!

Tuesday, July 11, 2006

Public & Special Acts Index, 2006

Busy, busy, busy! What I’m working on today:

(1) Public & Special Acts Index for 2006: our indexer has done a great job making the content work and massaging some of the code at this page ( http://www.cslib.org/indexing/psindex06 ).

I put this index in the same format as the last one we worked on together – in a frameset. I hear your collective gasp of horror. Frames have been hated since they arrived on the scene years ago – blamed for everything from global warming to accessibility problems. Some have been legit complaints, some of which have been overcome since frames first made their appearance on the internet. Other complaints are due to poor implementation of the code on the part of clueless webmasters. And many complaints are vague and unknowing, just that someone had heard that they were “bad”.

So why did I use frames on the indexes? (Besides the Public & Special Acts 2006 index, the Subject Index to Research Resources was done this way. It can be found at http://www.cslib.org/indexing). Primarily, it was the quickest & dirtiest way I could think of updating/adding these indexes and overcoming the original index format’s problems. The original format is still visible at http://www.cslib.org/psindx05/index.htm. The real problem here was that you couldn’t keep your navigation controls – your alphabetical guides - on the screen while you viewed the entries, so you always had to return to that navigation page in between looking up acts.

I’ll admit that there are some problems with the my current setup (for example, if I’m in my Netscape 8 setup and click on an external link, then use the back button to return to the index, the frameset seems to load slowly, probably due to the number of files incorporated in the page). I think that I’ve defeated any major accessibility problems with this setup, in providing careful descriptions of individual frames and in using an extensive noframes section of code, which ensures that a frames-free user can still get to the content. I haven’t checked all of the search / web crawler implications to this setup yet.

Clearly there’s a better way to do the indexes, but I needed to get them up fairly quickly, so this was the route that I took. So I’m open to rethinking the whole deal (though I have to admit that my first attempt at a redo has been based on a page with an inline frame, so I’m not radically rethinking yet… by the time I radically rethink, we may have a content mgt system in place.) In the meantime, try the index out & let me know what you think. The other stuff for today – well, I’ll have to save that for another blog entry!

Wednesday, July 05, 2006

One more flight of stairs to the Snickers bar… on learning things the hard way

I decided that if it was too much for me to haul myself up the 3 flights of stairs to the candy vending machine, I probably didn’t need that Snickers bar. I mean, it’s not honestly that I like Snickers, it’s more like I thought to myself that the nutrition of a Snickers bar was likely better than that of a Milky Way – because of the peanuts’ protein.

Anyhow, what’s this have to do with code? Well, like most systems librarians, I fell into the trade because of an affinity for computers and by that, I mean only a lack of fear, not some vast stores of knowledge from a previous career in IT or anything of that sort. So over the years, I’ve moved from the training wheels version of computing environments to the automobile version.

This slightly fractured trail to library web work means that I’ve missed some webmaster 101 stuff along the way. The way that I’ve learned my trade (to the degree that I have thusfar) is to force myself to walk that figurative 3 flights of stairs – even though I really don’t want to. For example, I never thought that I’d really need to know how to hand-code html – heck, I had my own personal website on Geocities and it didn’t require html knowledge to create it! I never thought that I’d really need to know command line UNIX or its lovely vi editor. You get the picture. At some point or another, though, I ran across a need. And at that point, I forced myself to do the ugly blow-by-blow learning of those technologies. And everything I’ve learned at one level has somehow helped me at the next.

As I’d mentioned in my last entry, using the feed to javascript server at Maricopa wasn’t working out for me very well. I mean, it worked, and I was grateful. It got me started, but then the response time was poor – the feed loaded ever so slowly into the body of the web page. And then the server out there went offline (I think), so when the page finally did load up, the major portion of it was blank. Very bad! So I used the RSStoHTML ByteScout ASP code to pull in my WordPress blog-based feed and display it in the body of the webpage (see http://www.cslib.org/new.asp) Then I wanted to tweak how it displayed. Primarily, I wanted the hyperlinks in the body of the blog entries to be fed into the webpage as hyperlinks, not as plain text. I looked into the code – both the ASP and the XML of the RSS feed - and eventually spotted the XML tag that the script was calling upon – I noticed that it was the plain text version of the entry. Within the RSS feed, however, there was another tag that enclosed an encoded version of the same entry. The encoded version had the appropriate hyperlink information in it. So I changed the ASP code to call on the tag of encoded content. As I worked on the script to tweak the display of the RSS feeds just a little more, I ended up with a script that was hanging up the server altogether.

What was causing the trouble? I went through the script code – couldn’t see anything really odd. Then I remembered to look at the quotation marks and – sure enough – in the body of a bit of code that was within another set of quotation marks – I’d put double quotes – instead of singles. Could that have made the difference? Previous experience has taught me that the code often lives and dies on issues so seemingly minor as this – so I replaced them with single quotes and voila! The whole thing worked… Would I have known how crucial the quotes might be without a history of making myself learn seemingly arcane and detailed technical skills – probably not - so all of that forcing myself to traipse up the stairs was worthwhile! Now time out for that candy bar…