Library Hat Rotating Header Image

web

Usability in Action (2) – The Role of a Homepage

What to place and where to place the many elements of a website’s homepage is often the result of a delicate negotiation and compromise between what users want and what the site owner wants.  While the most ideal case is surely when these two things completely match, this doesn’t happen often for reasons you can easily guess.

I have recently worked with a vendor of a database called UpToDate to implement their new feature of automatic CME (Continuing Medical Education) Credit tracking through the EZproxy of my institution. This new feature brought some interesting changes to their database homepage, which I thought would be a great example to discuss in the context of Web usability.

Their homepage used to look like this. Very clean and to-the-point. Their Googole-like homepage offered exactly what users want most, searching their database for the information they need often at the point of (medical) care.

Previous Homepage

After the introduction of the automatic CME tracking feature, however, their homepage has changed as shown below. To be exact, they show the new homepage first-time when a user enters the site and then every 15 days or so to prompt users to register.

New Homepage

 

There are some pretty obvious usability issues in this new homepage due to the prominent Log in box and Register box as well as the big heading that reads “Earn CME with UpToDate.”

  • To a new users, the whole purpose of this database appears to be Earning CME.
    (I am pretty sure this is not the first impression this database wants to give to its first-time visitors no matter how well known the database is!  The most important role of a homepage is to answer the question for a user: “What does this site do for me?”)
  • To a user who just got to this database, seeing another Log-in vs. Register box makes them doubt if their initial authentication was successful.
    (If you run a website, you do not want to make your user to worry if their first action to get into the site was a failure!)
  • To experienced users, it is confusing where to do what they used to do, which is what they really want from this site. That is, running a search for clinical information.
    (You don’t want your user to “THINK about” how and where to do the most primary action in your site, ever! It should be obvious.)

In designing a homepage, try to provide satisfying answers to these three questions. Then you are on the right track. If you need to add additional information, do so without making the homepage fail to answer these questions first.

  • What does this site do for me?
  • What first action should I take to try what this site promises?
  • Where and how do I do that action (at this second without a need to think)?

Now that you have given a thought about the usability of this example, how would you re-design this page while providing information about the new feature that requires log-in and registration? I will leave that as something for you to think about!

 

Tips for Everyone Doing the #codeyear

***   This post has been originally posted to the ACRL TechConnect blog.  ***

Learn to Code in 2012!

If you are a librarian interested in learning how to code, 2012 is a perfect year for you to start the project. Thanks to CodeAcademy (http://codeacademy.com), free JavaScript lessons are provided every week at http://codeyear.com/. The lessons are interactive and geared towards beginners. So even if you do not have any previous experience in programming, you will be able to pick up the new skill soon enough as long as you are patient and willing to spend time on mastering each lesson every week.

A great thing about this learn-how-to-program project, called #codeyear in Twitter (#libcodeyear and #catcode in the library-land) is that there are +375,443 people (and counting up) out there who are doing exactly the same lessons as you are. The greatest thing about this #libcodeyear / #catcode project is that librarians have organized themselves around this project for the collective learning experience.  How librarian-like, don’t you think?

Now, if you are ready to dive in, here are some useful resources.  And after these Resources, I will tell you a little bit more about how to best ask help about your codes when they are not working for you.

Resources for Collective Learning

Syntax Error: Catch the most frustrating bugs!

Now what I really like about #codeyear lessons so far is that some of the lessons trip you by trivial things like a typo! So you need to find a typo and fix it to pass a certain lesson. Now you may ask “How the hell does fixing a typo count as a programming lesson?”

Let me tell you. Finding a typo is no triviality in coding. Catching a similar syntax error will save you from the most frustrating experience in coding.

The examples of seemingly innocuous syntax errors are:

  • var myFunction = funtction (){blah, blah, blah … };
  • var myNewFunction = function (]{blah, blah, blah … };
  • for(i=0,  i<10, i++;)
  • var substr=’Hello World’; alert(subst);
  • –//This is my first JavaScript

Can you figure out why these lines would not work?  Give it a try! You won’t be sorry. Post your answers in the comments section.

How to Ask Help about Your Codes      

by Matteo De Felice in Flickr (http://farm4.staticflickr.com/3577/3502347936_43b5e2a886.jpg)

I am assuming that as #codeyear, #catcode, #libcodeyear project progresses, more people are going to ask questions about problems that stump them. Some lessons already have Q&A in the CodeAcademy site. So check those out. Reading through others’ questions will give valuable insight to how codes work and where they can easily trip you.

That having been said, you may want to ask questions to the places mentioned in the Resources section above. If you do, it’s a good idea to follow some rules. This will make your question more likely to be looked at by others and way more likely to be answered correctly.

  • Before asking a question, try to research yourself. Google the question, check out the Q&A section in the CodeAcademy website, check out other online tutorials about JS (see below for some of the recommended ones).
  • If this fails, do the following:
    • Specify your problem clearly.
      (Don’t say things like “I don’t get lesson 3.5.” or “JavaScript function is too hard” unless the purpose is just to rant.)
    • Provide your codes with any parts/details that are related to the lines with a problem.
      (Bear in mind that you might think there is a problem in line 10 but the problem may lie in line 1, which you are not looking.) Highlight/color code the line you are having a problem. Make it easy for others to immediately see the problematic part.
    • Describe what you have done to troubleshoot this (even if it didn’t work.)
      : This helps the possible commenter to know what your reasoning is behind your codes and what solutions you have already tried, thereby saving their time. So this will make it more likely that someone will actually help you. To believe it or not, what seems completely obvious and clear to you can be completely alien and unfathomable to others.

Some JavaScript Resources

There are many resources that will facilitate your learning JavaScript. In addition to the lessons provided by CodeAcademy, you may also find these other tutorials helpful to get a quick overview of JavaScript syntax, usage, functions, etc. From my experience, I know that I get a better understanding when I review the same subject from more than one resource.

If you have other favorite Javascript please share in the comment section.

ACRL TechConnect blog will continue to cover #libcodeyear / #catcode related topics throughout the year!  The post up next will tell you all about some of the excuses people deploy to postpone learning how to code and what might break the mental blockage!

Protest against SOPA and PIPA to protect the open Internet

***Protest against SOPA and PIPA to protect the open Internet.***