Technology Requirements for MLIS Students

Recently on Hack Library School, Amy Frazier posted about her idea of the ideal library school with higher-level technology classes and require more tech skills for librarians-to-be.

Librarian By Name, Geek By Nature.

The post generated quite a lot of comments including my own. It’s definitely an issue that I have seen discussed more often in the last year or two. When I was in school, a number of students (including myself) expressed the desire for more technology courses in our program.

Including More Technology Courses

One side of the discussion is getting MLIS programs to offer more tech courses. While personally, I could have used more tech courses, I don’t necessarily think that it’s viable for a lot of schools. It’s difficult enough for schools that librarianship is very broad, add to that that many MLIS type jobs are not in libraries, and you get the basic problem of “how do you offer courses to cover all topics of interest in a single library school?”

Basically, you can’t. It’s impossible. At my school, there is a PhD program, so at the Master’s level, it even needs to cover all the research side of things.

Option 1: Partner with the CS department

One way is to possibly have the faculty partner with the CS department to allow students to take lower level programming classes or recommend CS classes that aren’t programming heavy. Unfortunately, like at my school, universities will normally not allow credit to be given for lower level courses when in a master’s program.

Option 2: Partner with other LIS schools

There is always the option of partnering with other schools to offer classes (this includes non-technology related courses). This already happens in many schools, but due to different schedules and the difficulty of getting through other schools’ admissions for classes and such, it is traditionally not particularly convenient. Improving the shared courses system would definitely help though.

Option 3: Offer 2-3 introductory courses

I would say that, at the least, LIS schools should at least have introductory courses (again possibly in partnership). At my school, they offered a 1-credit class as an introductory course (a regular class is 3 credits). I think for its first time, it did quite well and a lot of students had signed up. What I would like to see is for additional 1-credit classes to be offered to introduce the basics of other languages or a 3-credit course, which can almost be a survey type course where you’re introduced to the basics of a couple of languages and taught the process in making decisions on which to use when. An existing class covers technology management and what we dubbed “systems 101”. Schools might consider partnering with professional associations to offer these sorts of classes.

But if you want tech…

In the end though, if students want a library program that is very tech heavy, then perhaps they should do more research into which schools already offer that sort of program before applying. Much like at the undergraduate level, different schools emphasize different things, so it’s up to a student to do the research and do their best to get in.

Requiring More Technology Skills

The other big idea that came up in the discussion is requiring the completion of a course which involves a higher level of technology skills. While I think library students need to graduate with at least a basic amount of technology skills, I think what’s more important is knowing how and when to integrate technology into library services to best support users.

Solution?: Technology Integration

Some of the commenters also proposed this idea, at least to a degree (I admit that I have not read every single answer though).

The biggest issue I had with my required technology class (other than the fact that we couldn’t be exempted even if you had a CS background) was that much of what we learnt was not put into a practical context.

If you want students to learn how to make a PowerPoint presentation, don’t make them do something that involves lots of different animations (no one does this, or at least should do this in a real presentation), but instead, tell them to make a presentation that pitches an idea or teaches a skill for example.

In an instructional class, have students make a video a la research minute for example. Get them to work with a real library and upload it to their YouTube channel when done.

My favourite classes were ones where we got a practical project that involved learning a new technology. For example, I took a class on digital collections, so we read all the usual papers, sat through all the lectures, and we learned how to use DBTextWorks and ContentDM. That means that I now can (with a bit of wrangling) build a digital collection should I see the need (or become responsible for that sort of thing).

More than anything, I think students need to learn the situations where it would be beneficial for them and patrons to integrate technology, and if they need help, then to go ask their systems team.

Branding the Library Website: Making a Flexible WordPress Theme

In moving our website to WordPress, I wanted to create a theme that could be used by our staff when working on online projects which would sit outside our main website, but in which we would host. Obviously they have the option of using other themes, but then someone (likely from our team) would have to make sure it meets accessibility guidelines, and as there are very few of those, I thought it best to just make our theme flexible.

No CLF

This is just a disclaimer that the main reason we could even do this is because we do not have a Common Look & Feel policy from the university administration, which most universities do. On the flip side, that’s one reason I wanted to do it. I would like that the library “products” are recognized as such. Doing it through a theme would also provide a more consistent user experience across the sites that use the library’s theme.

The Header

Our existing site already used a consistent header. However, it also includes the “Ask Us” logo, which would take you to the “Ask Us” page with all the myriad ways to contact the library for help. For other sites, it’s more likely that they will want to list specific contact instead, so I added an option to remove it.

new site header
New Header with Custom Menu and Google Search Bar

In addition, of course, for any sites using the theme, they will want the name of their site in the header, so I added a text box input for that in the options page and used font-face to pick a different font to make it stand out a little more.

The Menu

The navigation was built into the original theme so that you can either use a custom menu or it will fallback to using pages. However, the way our sites are made, some of the subpages menus would have been so long as to go past the end of the page, so I added the option to take out submenus.

new header with subsite title
Header with Subsite Title, Fallback Menu, and WordPress Search

Finally, the original website search bar redirects the user to the university’s Google search of the library’s directory, so I made the option to change it to the standard WordPress search bar to search within the current site.

The Footer

Since each site may have different links in the footer, I also made an option to include custom links in the footer, such that the ‘Home’ link is the only hard-coded link (which is always the link of the home page of the site you’re on).

new full footer
Full Site Footer with Custom Links and Social Media Icons

While it’s possible to make the social media buttons customizable, until there is a demand or need, I decided to simply put in the option to take them all out.

new basic footer
Hardcoded Part of Footer

The rest of the footer (copyright) is always there. Again, unless there is a demand or need, I didn’t make the copyright holder changeable.

Templating

As many sections of our website (e.g. catalogue/OPAC, Research Guides) are not part of the CMS, I am currently working on taking the WordPress template (minus the options) and creating a plain HTML and then a ColdFusion template to use in those sections.

New Site: Moved to WordPress CMS

We moved our site this morning to a new domain and it’s now running on WordPress. After a few issues with the redirect that central IT had to fix, it seems to be running smoothly.

There is still a lot of work to be done in terms of cleaning up content, especially since there are still many pages using tables for layout purposes (insert big cringe here). I also still need to finish going through the accessibility reports (only did the front page so far), and writing guidelines for staff. Training has still yet to happen for staff as well (since we focused on getting the site up first).

Spot the Differences

The website has actually changed very little on the front end. Think you can spot all the differences?

old home pagenew home page

I’ve made an answer key if you care to play (red = added/removed, blue = moved, orange = small difference).

Rationale

I think most people will understand the rationale in going to the CMS. The move in this case was much more for internal reasons, primarily so that staff can update pages. Of course, this actually should have a positive impact (at least in theory) as staff will be assigned pages and be responsible for keeping them current. Putting this system in place should also free up time of those involved in maintaining the website to do other things.

Finding a WordPress Image Slider Carousel Plugin (Again)

UPDATE: Please consider not using a carousel at all: Death to the Website Carousel

I previously posted on this same topic not all that long ago, but that slider broke when we updated to the most recent WordPress (3.4) and since new plugins come out all the time, I thought I’d just find a new one. Continue reading “Finding a WordPress Image Slider Carousel Plugin (Again)”

The Ends do not Justify the Means: The Necessity of Code Review

Hopefully this post does not sound like just a rant as I admit that this post has come up from my frustrations from using other people’s work, but I think this is particularly symptomatic of areas where there are not always IT experts, as is the case with many libraries. I also do not boast that I always know what I’m doing, but that’s why I think it’s invaluable to have some kind of code review process.

Making it Simple

As a general rule, better to make things as simple as possible rather than using complex methods if they both achieve the same things. I’ve been told that simple and clean code is the best kind of code.

There may be efficiency concerns involved, but then that seems to be left behind in the cases I’m talking about anyway. (Case in point, our website had 5+ CSS files, not all which had clear purposes, many of which were overwriting each other’s classes, which I had to rework into two files.)

Document and Comment

While some of the simple things might be obvious and self-explanatory, I don’t think I’ve ever seen anything over documented/commented in the ‘real world’ (as opposed to school work), so more is (generally) better. I think it’s doubly important where the creation of a product/tool might be outsourced, but the maintenance of it is done in house (as frequently seems to happen), that the code can be understood by a new/beginner programmer-type person.

Too often I have looked at code recently and thought “what does this do?” or “how many pages does it affect?” While I admit that it’s not always easy to know what or how much needs to be documented, because you don’t always know who will look at it in the future and things you write yourself tend to make sense, but do at least a minimal amount of documentation and commenting.

On a side note, do not name files or functions after yourself (one former student’s name is now unforgettable for that reason and this was created months before I started).

Get Feedback

Ideally, there is someone who is an actual programmer on your team or in your unit who you can ask to take at least a quick look over what you’ve done and give you feedback on whether you’ve done it correctly. If there’s no one ‘inside’, consider asking someone on the ‘outside’.

Within a team or unit, if there is more than one programmer-savvy person, consider establishing a Review/Feedback step in the process as you typically see before code commits (if this doesn’t already exist of course).

If you really can’t get feedback from someone else, then much like editing your own writing, step back from it (for, preferably, a couple of days) and look at it with fresh eyes and ask yourself some of the important questions, but namely:

would someone else be able to step in and easily understand what your code does?

Supervising Students

I believe that all the above points apply when working with students too. It’s okay if you’re not a programmer. At least take a brief look at the code, see if commenting is done, ask about the general process/framework, ask if they think a beginner programmer would be able to understand their code easily, etc. If you ask, it will at least make him/her think about it!

My Point

The end product does not mean it is what you want. Other people also need to be able to maintain and customize/modify. This all seems so obvious, but I think it bears reminding sometimes.