![]() |
Rentacoder.com Usability AnalysisCourse Home Page : One Subsection |
The source of these suggestions are the answers to a mid-term examination question:
Identify three usability problems with rentacoder.com and write instructions to their programmers on how to fix them.Below are some of our favorite suggestions from among the students.
From Michael Murray:PROBLEM 1: There are separate options for browsing and searching the various projects accepting bids. It appears that the only difference between these two functions is that browsing gives the user several categories to narrow down their possible work while search just has a keyword field to search for projects by. This means that coders cannot both narrow down the field by category and then search within that category by keyword. This means that if a user wanted to create a forum in PHP, that user could not just select the "Language Specific > PHP" option and then search for "forum," but would have to either browse the 329 PHP projects for those involving forum, or search for "PHP forum," whose results would likely not be as tailored towards them. SOLUTION: Combine these two functions into one "Find work" option. This page would give both the tree of categories shown on the current "Browse all work" page and the keyword search of the "Search all work" page. Now the search would just be run on the category(s) selected rather than the entire list of projects. If no keyword is selected, then all options within the selected categories would be shown. You should also consider moving the number of open projects in each category from the tree at the left and instead place these numbers by each option in the check box tree. A user could then see if they actually need to use the search option (they won't need to if there are only a few open projects in a given category). This last change may be one to consider even if the functions are not combined, as it seems unnecessary for the user to have to scroll all the way down a very long page just to see how many computer-based training projects are opened.
From Ricky Nguyen:Viewing a category ================== Once viewing a category there is no way to navigate to a higher category or a lower sub category. The only way to get to a different category is by going back to browse all work and choosing the category I want to view. The list of available requests to also difficult to use and there is a lot of white space in each project which is wasted space when the request list is large. There is also no way to sort by bid price and in fact sorting any other columns by clicking on the subtle arrows results in an error (The multi-part identifier "racBidRequest.Title" could not be bound). Clicking on the checkbox to 'unshow' detailed descriptions results in an even less useful listing of requests. The font size of the title decreases and the white space increases, the screen is largely taken up by a progress bar to indicate the phase of the project. We also lose the ability to see the current bid price of each request. Possible improvements --------------------- Get rid of the table view and instead adopt a google approach to viewing results. This maximizes screen real estate Maintain the ability to sort by fields in the request and expand this option to include all possible fields. Make the 'undetailed' description view more useful by showing the bid price and making the title of the request the focal part of the screen. Viewing a request ================= The page to view a particular request is quite cluttered and unorganized. The shortcuts box is quite useless as the majority of options seem to be grayed out for requests. In order to place a bid for a request you have to scroll all the way to the bottom of the screen to 'post a reply'. This wording of this section as reply is generally used for text and so it is unsure from that title if a bid can be placed. Possible improvements --------------------- I think an ebay approach should be adopted to this page. There should be a clear link at the top to place a bid, and also more clear information about the buyer. Sections which contain no data (and grayed out sections) should not be visible, this will free up screen real estate, and avoid a large scroll before placing a bid. Wording of sections should be more conventional. There is a message summary section and a post a reply section. Both of which are mainly used for viewing bid history and placing a bid however this cannot be told from the title. The text size for the important information such as bidding closes dates and current bid is very small and is dominated by other things on the page like the shortcuts panel. Again an ebay approach would help solve this problem so that people can quickly and efficiently view all the important details about a request.
From Ravi Mehta:2) Registration vs. coder account After registering my email address and choosing a password, I immediately began browsing through the bid requests. I had browsed for quite awhile before I realized I had to create a coder account. This was confusing because the registration process was disjoint and two-tiered. Perhaps the registration page flow could include options to create a buyer or coder account immediately upon email verification. For example, after the user types (or pastes) in the temporary password given by email, the user should be prompted to create a buyer or coder account or both accounts, and then proceed to fill out the necessary information. Here is a situation where a home page after login could be useful as well (as suggested earlier). A newly registered user's home page would have no content to display because no buyer or coder account exists, so the home page would provide links to create and edit such accounts.
From Kevin Su:BROWSING IS ONE DIMENSIONAL There is only a single taxonomy for browsing work, and this taxonomy is not very well organized. Users should be able to browse along multiple dimensions including: the platform for which the application is being developed (Mac OS, Windows, etc.), the technologies that must be used by the technology (PHP, Ruby on Rails, etc.), the domain of the application (gaming, social networking, ERP, etc.), the complexity of the application, and the level of experience of the buyer.
From Justin Moe:The first usability problem I will address is located here on the search page: http://www.rentacoder.com/RentACoder/SoftwareCoders/SearchWork.asp. The problem with this page is that its aesthetics adversely affect its usability. What's wrong with this page and suggested solutions: - There is a large amount of wasted screen space. In fact, only the middle third of the page is being used. The website clutters words together, which can lead to poor readability, as shown in the columns of checkboxes, yet doesn't make use of its available real estate. The solution would be to eliminate the one column that constrains information to the center of the screen, don't limit information to just one third of the page. This would eliminate the wasted screen space as well as help ease the problem of word cluttering. - The readability is poor. People like reading from left to right, not right one inch, then down to the next line, then back up 2 inches. It is also not very conventional for checkboxes in the same category to be scattered over a rectangular area. My solution to this would be to drop the 3 column layout, and simply do a list-style layout. Have all the check boxes in the same horizontal space. A good way to think of this is an unordered list in HTML, where the bullets are check boxes. This would improve the readability, as the current text would all fit on one line. Also, instead of an inconsistent amount of white space delimiting different categories to check-off, we would have new lines for each new category. The second page I will comment on is http://www.rentacoder.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=455130. Other than the obnoxious overuse of horizontal rules, I think there are some things on this page that could be placed better, or just aren't necessary at all on this page. - Isn't the point of a bidding system so people can see what the current bid is, and then try to beat it? It seems like this should be the place for it. After all, this is the page with the project description, and where the coder makes his/her bid. A description of the project should describe how much one can expect to make from this. My suggestion is to place some kind of bid history on this page. It is possible that the message summary is supposed to be that bid history, but I visited pages with x number of bids, and saw "None found." under the messages section. This would give users information about bids, allowing them to make better choices. For example, if I saw a 100-hour Philip Greenspun project that had a 10 dollar bid on it, I would be inclined not to bid on it myself. - The actual bidding tool is too far on the bottom. The first thing I did when I visited this page was look for some button in which I could make a bid. When I couldn't find it, I scrolled down a bit, and saw a very long description, and then saw some message summary item. And then I kept scrolling and saw some form, which at a glance, appeared to be part of the message summary interface. So I scrolled back up looking for a bidding button. The shortcuts button didn't really help either. It has stuff named like "post first reply" and "messages summary". I'm looking for the word bid, not reply. The solution would then be to either place the bidding form closer to the top, or make a shortcut that is consistent with the site. Rentacoder constantly refers to bids, (i.e. bidding closes, bidding type on this page) yet when you make an actual bid they say "post first reply." - I have no idea what the purpose of message summary is. Browsing through 10 or so projects, every single one has come up with "None found." My suggestion is to just remove this entirely, only showing it when there are actual messages. It wastes space, and for the most part, it seems like people don't even use it. By removing it, we are simplyfying the page, which itself improves usability. - There is extraneous information. I don't need to know when this project was approved. I just need to know when it's deadline is, because having a deadline implies that it was already improved. My suggestion is to try to remove the extra information, thereby eliminating some of the clutter.
From Pamela Hollingsworth:- SEARCH - Search all work section is very limited Compared to the browse work the search work section is very limited. In browse work you have a set of controls to filter on categories, while in the search work section they are strangely absent. If I were interested in C# projects about zebras (for some strange reason) I would have to put C# in the query string, and hope it was filtered properly. It would seem that the categories (one of which is C#) are perfect for this, and I should be able to filter my searches based on categories. That shouldn't be much more than copying the code over from the browse page and adjusting the form processing to match. - Private auctions that aren't accessible to me are semi-visible As a logged in user, I can search through the results for listings. In them are a large number of private auctions, none of which are available to me. Since I have credentials, it should be simple to add an additional clause in the WHERE statement to filter out an auction if it is both private, and I am not on the list of authorized bidders. Otherwise it's a set of results cluttering those that I could bid on which will simply give me an error if I select them. - Search form gives unclear errors on invalid input. If, for some odd reason I put in -5 for the number of entries on a page I don't get any sort of error, the system simply says I get no results. It would be better to return to the search page with an error on invalid inputs such as that, or even possibly just include an absolute value around the input for pagination features. Rentacoder is in good company, as a lot of commercial software packages don't like invalid pagination results like that either. - Option to create private auction for myself When I'm logged in viewing my own resume, I have options available to invite myself to a private auction, and give myself a bonus. This seems rather silly, as I don't have any need to use Rentacoder to enter a private auction for myself or give myself money. The pages don't even give an error if I'm trying to follow through and create the private auction. This should be a relatively simple test to ensure that the person creating a private auction or bonus is not the person it is being created for.
From John Nham:Looking at a project on a page such as http://rentacoder.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=456193, why aren't the categories links? I feel like I should be able to view this bid request, then quickly view other C# projects. The category "c#" is listed, but what good does it do me? TO THE CODERS: This is a pretty simple fix. Simply make the list of categories into a list of links that redirect to the ShowBidRequests page, with the lngBidRequestCategoryId query parameter set to the appropriate value http://rentacoder.com/RentACoder/misc/BidRequests/ShowBidquests.asp?... &lngBidRequestCategoryId=45... **** PROBLEM **** There doesn't seem to be much personalization of the site, depending on whether I am a coder or a a buyer. When I log in, I get the same home page no matter what my role is...just a list of what buyers can do and what coders can do. What if I want to just start browsing right away? It isn't intuitive for me to scroll to the bottom of the page and click on the Coders: My Bids link, just to get to a page that I can search/browse from. Why doesn't it just take me to this browsing page to begin with? If I am a coder, it could take me either to MyBids or (if I don't have any bids, or if I just set a preference somewhere) to the Newest open work link (which threoretically only displays the newest work that I'm interested in, but I'm not convinced that it does that since I'm getting matches on Visual Basic and I don't even know visual basic. After I'm at the main BidRequests page, why am I able to see the Software Buyers navigation bar? I'm not registered as a buyer...so why is my nav bar cluttered? The right sidebar is the same for both coders and buyers. Maybe as a coder I want to see the top buyers to work for, or maybe as a buyer I want to see my competitors. TO THE CODERS: Determine what type of user is logged in (either a buyer, a coder, or both) and tailor the UI accordingly. It's not too much extra work to redirect to a meaningful page when someone logs in. After all, if I've registered then I don't need to constantly see the nice man in the suit on the front page and all the advertising of your site. I'm already convinced that it's a worthwhile site.
From Lev Popov:THE SIDEBAR The sidebar on the left of the main page has a really annoying feature. When the user clicks on an item with a +/- designation, the page refreshes, opens/closes the proper menu, and snaps to the top of what was just opened/closed. First, the page refresh should be replaced with Javascript code that toggles the menu smoothly and without a refresh. Consider, for example, a buyer creating a private bid request who wants to invite one of the Top 10 coders. If he opens that tab without thinking, he will lose all the information on the current page. Second, I think the in-page anchors used to snap the page to a particular menu really have to go. It is not what the user expects and really disrupts the 'browsing flow'. I also think that the newest bid requests scroller would be better implemented as a slideshow, where the user can click back and forth to go between the most recent jobs. The list could be updated every 15 minutes or so. BROWSE ALL WORK The directory structure to the left of the browse page does not really present new information except for the number of jobs open for a particular category/sub-category. Why not just integrate those numbers on the main browsing form to declutter the page? The category tab of this page has two fairly large problems. First, the 'state' of what boxes can be checked lack consistency. For example, it is possible to have 'All','Database', and 'Oracle' all clicked (this returns results as if 'All' was not clicked). It is also possible to have only 'Oracle' checked (this returns a timeout error). Use Javascript to ensure the checked boxes are always in a consistent state. The second problem is that if the user clicks a main category and not any of the sub-categories, the browse returns a timeout error. After clicking 'Web', the user probably expected all the sub-categories within 'Web' to be returned, which is what I suggest.
From Martin Glynn:PROBLEM: Poor Information Presentation The amount of clutter and lack of information organization on the page can only be matched by those of New York tax forms. The amount of information thrown at user on every page is overwhelming and makes it hard for users to pick out what they are looking for. Lack of visual cues makes grouping related pieces of text difficult, and tiny fonts (increasing which often breaks the layout) only add to the problem. PROPOSED FIXES: The page layout needs a major redesign: the double (sometimes even triple!) sidebars should be scrapped, and replaced with just one. Similarly, the header real estate should be put to use (for navigation links for example) instead of being crowded with advertisements (Their main source of revenue is commissions so compromising usability for a bit of ad income is unreasonable). To manage the amount of information on page, only the text relevant to the user should be shown on most pages - i.e. the coders do not need to see buyer links and top 10 coders on every single page of the site. All of the little information pieces currently crowded in sidebars could be moved to a separate site portal page where users can see all relevant activity at a glance. The way individual information pieces are presented should be changed as well. Using larger (and more consistent!) fonts would greatly improve readability. Items related to each other should have visual cues indicating that they are related. Having boxes with light background under each information group would save user the effort of trying to parse the page into logical sections. The way links for item-specific actions (for example - 'add bookmark' on project page) are presented should be standardized - for example by having a box with action links underneath section's title. This way user immediately knows what they can do with the item, instead of having to scan all of the page looking for an action that might not even exist. PROBLEM: Finding Projects Is Cumbersome The interface for browsing projects is frustrating to use, and project search is severely crippled. PROPOSED FIXES: 'Browse Available Work' seems to ignore the preferences for kind of projects user is interested in that they fill out at registration, and makes no effort to remember what user has browsed for in the past. Application should be able to prefill the browsing filters form saving user time every time they go looking at projects. The preference history can be used even better by letting coder have personalized project listing feeds matching a set of user-defined filters (with RSS of course). The presentation of the list of projects returned by selecting browsing preferences can be improved as well. Each of the listing is showing too much not immediately relevant text, while missing some important information. Most of the text pieces could be replaced with one word or even an icon (like "NDA" tag for example). Each project item should have the following: Buyer WITH average feedback, Title, 2-lines of description, class OR maximum acceptable bid, categories, status(perhaps presented as background color of the listing), DATE posted (not timestamp), number of bids so far, and perhaps average of the bids so far (findacoder.com does this for example, and it should help users to see where they stand). By properly condensing all of those, each listing should occupy no more than 3 lines, allowing user to see more projects per page with less clutter. The ability to bookmark projects can be extended: It would be great to have a project shopping cart - as users browse projects they may (from the listing page itself) add a project to their cart for later review. Searching projects is extremely slow and results in server timeouts half the time. The search results are not sorted by relevance making it all but useless. Fixing search performance and ranking search results would be a great improvement. PROBLEM: There is no site-wide search (or it is buried somewhere users can't find) There is no way of searching static pages or news articles, or coder/ buyer profiles, or really anything but the projects. For example if users want to find legal information about working for rent-a-coder in their country, they are stuck digging through the site looking for relevant links. PROPOSED FIXES: Add site-wide full-text search for the items mentioned above.
From Zak Stone:1. It takes too long to find the registration page. As we've learned in our class, "Some studies show that on each extra click there is a 50 percent chance that a user will abandon the site altogether."( http://philip.greenspun.com/seia/discussion) Why can't I go straight to the registration page from the home page? If I click on the register button I end up on a page describing the experience, but no registration form. The link from that page that tells me to "Register(free)>>" redirects me to a login form. From there I can click "create a free account". I have to make 3 clicks just to get to the account creation page. 2. The two navigation columns on the left and right hand of the screen are confusing and difficult to follow. Even though it would be nice if people read the entire screen in detail, it just won't happen (we have first hand experience with this). Jakob Nielsen, a well respected usability expert did a study in which he found that people tend to read web pages in an F-Shape form (http://www.useit.com/alertbox/reading_pattern.html). This means you should have all your most important links on the left hand side of the page, with the most important at the top. This will likely mean you have to eliminate some of the links on the page; that's OK. The existing interface is overwhelming, even for me, and I'm a genius from MIT. :-) (this layout seems to be site wide, so there is no specific URL to point you to)
Zak is notable in that he prefaced his email to the Rentacoder staff by flattering them...1. The Front Page As a coder visiting RentACoder for the first time, I want to learn what the site does and see whether I want to participate. Though the large image of a hand holding a briefcase suggests business, it doesn't tell me anything that I want to know, and it uses up far too much of the most important real estate on the page. If I view your website on a small screen, that image is all I will see in both the high and low resolution versions of the site, which seem nearly identical in layout. I suggest that you simplify your homepage dramatically to feature _very short_ use-cases for buyers and for coders along with a few short descriptions of representative projects. The use cases can be as simple as the following blurbs, which would be shown in a large, attractive font: "Buyers: Post a project. Approve a bid. Get the software you need." "Coders: Find projects you like. Place your bids. Make money fast." Your homepage currently lists only the newest one of 2068 open bid requests. If instead you displayed five hand-picked project descriptions that exemplify the purpose of the site, both buyers and coders could see at a glance what the site is about and what kind of software they can buy or code. Near these examples, there should be links that encourage visitors to browse and search all project descriptions; the only way to browse projects at present seems to be to click the tiny "2068 open bid requests" link and then the tiny "Browse all work" link in the left-hand column. 2. Searching and Browsing Pages If your front page entices coders enough for them to enter the site, they will want to find a suitable project as quickly as possible. The internal site pages are currently very crowded, and a great deal of space is wasted -- when I navigate to the list of newest open bids, I only see two and a half project descriptions in the window, even in a large window on a large screen . On Google, I can see at least seven or eight search results with excellent short summaries in the same size window, and I really appreciate that. It would be very helpful to group all search and browse features in one place on your internal pages; at present, "Browse all work" and "Search all work" are buried in the list in the left column, "Advanced Search" and the search box are over on the right, and "Newest open work" is repeated on both sides. The browse interface is very frustrating; the boxes with asterisks in the "Show status of" section are automatically checked, but those checks mean that login is required, which prevents coders from browsing for interesting projects before they sign up. It is a real drag to have to manually uncheck seven boxes before every browse operation, and it would be very easy for your programmers to change the default checkbox setting depending on whether the user is logged in. All of the checkboxes and the heavy black dividers between sections make the browse interface seem very complicated; maybe you could push some of those troublesome opti ons off to an advanced browsing page. Whenever a list of results is shown, I would like to be able to filter quickly by the size and expected price of the project, keywords in the project description, the quality of the buyer, and the category of the work. The rating of the buyers should be displayed with every search result; at present, the system lists the _number_ of ratings, which isn't very useful, and I have to click through to the buyer's profile for each project to see whether he or she seems reliable. The profile page summarizes the "Buyer Rating" -- just display that score in the search results! Also, the project descriptions in search and browse results are often too short to understand what the project is about, as many buyers launch immediately into detailed descriptions that are then truncated. Auto-summarization is hard, but you could have your software buyers do the summarization for you by requiring them to fill out a summary field that is exactly the length that you show in your search results. 3. The Project Description Page Most coders viewing a bid request page that is still open for bidding will want to see a very quick summary of the nature of the project, the price range, the quality of the buyer, and the lowest bids that have been made so far. If buyers were asked to enter a _very short_ project summary when they post a bid request, that summary could be used both in the search results (as I suggest above) and at the top of the bid request page. To facilitate browsing, the layout of the page could be tightened up considerably. The large header image and banner advertisement on the current project description page push the title down almost to the middle of the window, and then an oversized shortcuts panel that is almost irrelevant for the casual browser takes up the rest of the screen; all of these things could be compressed or eliminated. If the chat room link below the shortcuts is intended to allow potential bidders to communicate with the buyer, the link should only be shown when the buyer is actually available. Coders should not have to scroll down to get an overview of the project. It should be _much_ more obvious to a coder who is not logged in how to place a bid! At present, coders have to scroll all the way down and locate the following sentence, which is rendered in plain text: "Coders: To place a bid and/or to see any of your own pre-existing bids on this bid request, you must login." A coder would be much more likely to make a bid if there were prominent "Bid now!" buttons at the top and bottom of the page. Any registration that is requested before a bid is placed should be incredibly short and painless. As a logged-in coder, I appreciate the boldface instructions around the bid and comment boxes and the example bid condition. If the bid field isn't on the same screen as the project summary at the top, though, it would be worth listing the expected price range near the bid to save the coder the trouble of scrolling back up to find it. Coders will look at a project description and move on to another description far more often than they will place bids, so it would be extremely helpful to list _related_ bids instead of unrelated new bids on each bid request page. These related bids could be collected simply by full-text search on the project descriptions, but it would be even more effective to connect projects by the coders who bid on them. When coders bid on multiple projects simultaneously or over time, those projects are very likely to require similar skill sets or to be semantically related in some way. So if many coders have bid on projects A, B, and C, it should be useful to list projects B and C as related links on the bid request page for project A.
This shows a real talent for diplomacy.First, congratulations on having such a successful site; most of the programmers I know have heard of RentACoder, and the software buyer I know who has used your service was very satisfied with the work that was done for him. All of my comments below are meant as constructive criticism to help you make the site easier for people to use and to bring in more business.
From David Dryjanski:
I think the rating, percentage of of work accepted out of bids accepted, and security verification give a good indication of a trustworthy buyer. The larger number of projects adds credibility as well. An average project cost history for the buyer would be informative. Problem - The map of the buyer location is a waste of space, as it does not add more information (i.e. the U.S. map for example) Solution - Just a link to google maps would be cleaner and more informative. Problem - When looking at past buyer ratings, there is no sorting or paging ability for the ratings and it is hard to find out about specific ratings. Solution - Sorting and Paging should be implemented and an average project cost history would also be helpful.
From Fivos Constantinou:
From Brian Wu:2. Sorting search results is not functional Each header in the search results page (Title, Project Type, etc) has two clickable arrows, presumably for sorting in either ascending or descending order based on the chosen header. There is however, either no visible change after clicking one of the arrows or an error similar to the following is thrown : Microsoft OLE DB Provider for SQL Server error '80040e14' The multi-part identifier "racBidRequest.Title" could not be bound. /RentACoder/misc/BidRequests/ShowBidRequests.asp, line 1853
From Marios Assiotis:Problem: When browsing for projects, rentacoder.com only shows me 10 projects at a time. If presumably coders are picky, and clicking through page after page of projects is tedious. Suggestion: Allow the user to set the number of projects seen on each page.
From Abdulrahman Tarbzouni:PROBLEM : Speed! The entire site is very slow, especially searching. The number of records is not that big, doing a very very wide search only returns 1300 records. Given the lack of big images, I do not think the slowness is due to bandwidth limitations. Viewing the source code for the page however, reveals that all icons(horrible, please remove) are displayed by a function that performs graphic manipulation. This will probably result in even slower rendering for users with slow computers (CPU bounded). Also, the entire site markup is done using tables which adds quite a few Kb of HTML markup. What is probably the limiting factor though is the database SUGESTED SOLUTION: First, get rid of all the icons, they do not add to the aesthetics of the site, and they are not externally consistent with popular applications (Windows, Office, etc) to add positively to the user experience. Then redo the site layout using CSS which should reduce the size of each page by a factor of 50%. As for the database, I understand it is probably impossible to cache search results due to the huge number of different search option combinations. However, you could encapsulate a "Project" and its "Bids" record into a lightweight object (just a bunch of strings and ints) and cache that.
In the process of completing my bid for an open web project, I noticed that my name and user data were missing because the sign up process didn't ask for neither my name nor any other validating info. I'm identified as "new user" on the welcome page. I cancelled my bidding process and started looking for an "update profile" page. Nothing was there, till I found a "register as coder" link under "coder financials". After completing this registration step, other options appeared on the left hand side of the site pertaining to the account options. Rentacoder.com needs to couple the second registration step (to become either a coder or buyer or both) with the site's registration (the first step of registration). The separation of the two steps doesn't make sense. At the very least (if they do not want to separate the two steps), the first registration step should ask for the user's important info.