Posts Tagged ‘usability’

31
5/09
6

To Cancel, Don't Click Cancel

I have been reasonably happy with Webbynode, where HappierHour is hosted, both in functionality and service and was happy to see some new features the last time I logged in. While poking around the new pages, I found this on the “Close Account” page:

Cancel Warning

Bad dialogs and button combinations have always existed and will probably continue for quite some time, but this one surprised me coming from Webbynode. It is not so bad, but I am disturbed by “Otherwise, click cancel.” There is not a “Cancel” button, and the only button with the word cancel on it does the opposite of what the user wants.

Luckily for Webbynode, it is probably not an oft-visited page, but one accidently canceled account will make it an expensive mistake.

3
2/09
0

Ruby Was Meant For The Web

Usability of programming languages is not something you think about all the time. I am not talking about the learning curve or whether or not it uses pointers usability, but the usability of a language for a variety of purposes. One such purpose is web programming, and specifically writing code embedded in HTML. Out of all the languages that are used to do it, I have not come across any better than Ruby. Compare these examples:

PHP

<?php foreach($array as $val) { ?>
    <li><?php echo $val ?></li>
<?php } ?>

C#

<% foreach(var val in array)
   { %>
       <li><%= val %></li>
<% } %>

Ruby

<% array.each do |val| %>
  <li><%= val %></li>
<% end %>

The PHP code is similar to ruby, but the curly braces always tend to get lost when they are surrounded by so much else. They are so skinny compared to other code, and they are usually not given any sort of syntax highlighting to help identify them.

The C# code is close to PHP, but Visual studio will adjust your code to fit C# coding style standards. Dropping the open curly brace to new line looks code in the C# editor, but not so much in the HTML editor. I have never been a fan of line-wrap in any code, and with the indent-happiness of HTML, line-wrap can quickly lead to code that doesn’t follow the visual hierarchy and becomes much less readable.

Finally, the Ruby code. While it does require fewer keystrokes to type the equivalent code in this case, Ruby has other benefits. Instead of curly braces, Ruby uses the keywords do and end. When writing this code in an editor, the keywords have syntax highlighting making them all the more easy to distinguish from the surrounding HTML.

Small differences in the design of a programming language can make big differences in its usability. The ease of embedding Ruby in HTML is just one of the many reasons why this language rocks.

29
1/09
0

Line Numbers

One of the most used features of an IDE or a text editor, whether you realize you are using it or not, is the line numbers. When compiling, how do you know where to find the mistake you made when the compiler didn’t succeed? When debugging, how do you find exactly where an exception was thrown?

Line numbers are a valuable, time-saving feature of an IDE, yet, they are so rarely turned on by default. Remember the last time you installed Visual Studio, or any other text editor/IDE for that matter, and when coding your first project, you wanted to see which line you were on? Without cheating, what is the process for turning on line numbers? If the process isn’t, “Nothing. Line numbers are already turned on,” your editor is doing it wrong.

Why must developers, designers, anyone, go through so much work to see something that should be there by default? Some IDEs, like Netbeans, make it a little easier to turn on line numbers; the option is in the highest level of the View menu. But why does Visual Studio tuck this option away? It doesn’t just tuck it away, it makes you come back for each langauge you are writing in. Finally figured out how to turn on line numbers in C#? Now go figure out how to do it again when you open a XAML file.

Perhaps the only developers who don’t appreciate line numbers are the developers of IDEs. Or perhaps they haven’t learned to eat their own dog food.

13
1/09
0

Download Links

Downloading anything from a website is such a common practice, but providing nice and usable methods for the user to do the actual downloading is much less common. A lot of sites I visit are software websites and the only thing I am interested in doing on these sites is downloading their latest release. If this is my, and most other users’ only intent, why do sites make it so difficult to do exactly what I came there to do?

One site I visit regularly to download from is WordPress. WordPress makes it incredibly easy to download the latest release. From the WordPress.org homepage, it takes one (well-highlighted) click to reach the download page, and one more to download the release. Not only is that second click simple, but it is a direct link to the file you are actually downloading. So if you like, you can copy the link location and use it elsewhere, such as from the terminal for a wget http://wordpress.org/latest.zip.

Another site I have been to a few times recently is the NAnt site. Just like WordPress, all I want to do on the site is download the latest (stable) release. On the NAnt page, there is no download link on the page when you first visit it. You can even try using your browser’s find tool and search for “download” and you will get nothing. To find the download link, you must expand your way down the “Releases” tree view. After a few clicks, you are finally given the option to download what you were looking for.

Luckily for WordPress and NAnt, their target platforms do not vary widely enough that they need to have separate release for different operating systems. But a product like Firefox does, and once again, most users are only visiting the site to download it. Thankfully, the Firefox website does some work for the user by presenting the user a link to the download the correct, operating system specific release. When I visit the site on my Mac, I get a link to download a disk image, and when I visit it on a Windows machine, I get a link to download an exe installer.

Unfortunately, the developers of many products’ websites have not caught on to these huge improvements in usability, and leave you to do the unnecessary link-hunting on your own. But the good news is as I continue to find software worth downloading, I am finding more and more sites are improving the way a user downloads from them.