mirror_report

The current design of Mirror is a bit difficult to work with. From the user's perspective, the users may find the mirrored items to be a bit cluttered with little organization other than that they are alphabetically organized. Users are also not given much information about the organization's purpose, other than inferring it from the contents of the site. Since the site only consists of one page, the aesthetic placement of the site's content may be a bit overwhelming to the user. Currently, the news, mirrored software, contact info, and graphs are all listed sequentially. As Mirror adds more items in the future, the site will most likely overwhelm the user's ability to intake the information at once. Furthermore, should users have quick questions or requests regarding the content of Mirror, users don't have the option to contact Mirror unless they use their own email service. This is only a small issue, but it would be nice to have an alternative for asking quick questions. From the administrator's perspective, the site is difficult to update. There is no easy way to quickly add in a new item such as a new mirrored software, or to add in news. One must log into the system and manually write raw html. This is time consuming and inefficient.
 * The Problem**

Kevin Woo - Mirror project
 * Credits**

The audience of Mirror is anyone who uses the site, which include people interested in using linux and free software to those who directly maintain it. This is mainly because Mirror is open to the public, so anyone may access/download from it. Because this project aims to resolve some of the problems associated with Mirror, the audience must also include administrators of the site.
 * Audience**

There are no competitive solutions since we are part of a larger community. However, many other universities also have open source and free software mirrors. Some of them are listed below, along with comments on their designs.
 * Competitive Solutions**

> >
 * [|MUUG] - This is the Manitoba University Unix Users Group who also mirrors open source and free software. Instead of just listed items about their mirror, they combined their organization's information with their mirrored items. They have a main page which breaks down the organization's content into different sections with links, such as their mailing lists, About page, and other updates. Their mirrored software list can be FTP'd and sits in a separate section of their site. The downside to this is it means more information needs to be displayed. MUUG's main page seems a bit cluttered with links and their mirrored software seems hidden at the top of the page.
 * [|UMFLINT] - This is University of Michigan's open source and free software mirror. The layout of this site is in direct contrast to MUUG. The user is immediately presented with the file directory, with a small header at the top which lists options such as their forums, donation link, etc (see CentOS). This minimalist design is a bit aesthetically displeasing, but it serves its purpose of providing mirrored software well. However, the header which displays the forums and such seems only present in CentOS and not anywhere else.
 * [|Unix Support] - This is University of Cambridge's open source and free software mirror. This site contains general information about the site, its purpose, and instructions on how to obtain the mirrored software. The layout of this site is a compromise between the previous two sites. It contains little information about the service Unix Support is providing to their users, but it contains the mirrors, instructions, and other limited general information such as contact information and security information etc.


 * Solution**

The aim of this project is to provide a modification of Mirror so that the contents are better organized, allow users to contact Mirror, and provide a way to allow maintainers to easily update the site. This will reduce the cognitive load on users (especially new users who were just introduced to linux and other free software), and save valuable time for administrators. The solution consists of different sections, each confined within their own page. For example, the contacts is no longer listed on the main page. Rather, it has its own link to its own page. The breakdown of these sections will be described in more detail below along with screenshots.
 * Overview:**

Main page

This is the main page of Mirror. It consists of Recent News, Software Mirror List, and the Status of the mirror, similar to the design of the original site. Originally, the design idea was to separate each of these items into their own page rather than list them sequentially. However, the usability study found that this would not be optimal for several reasons. The first reason is that the site has had this layout for years, and to switch to a new design suddenly to something else may disorient the existing users. Therefore, a slow transition would probably be best. Second, the main page describes a lot of information about the mirror at once which is nice if one wishes to gain an overview of the entire site. New improvements over the old one allowed the solution to retain the old layout of the site, but it is easier to decipher the information. Recent News will only display news that have recently been created (up to 3 of them). This limits the amount of reading the user may have to do, and frees up a lot of space on the page. The Software Mirror List was redesigned to query from a database and display the result in a table depending on the type of software. Different Linux distributions would go under 'Linux Distros', and open source and free applications such as GIMP would go under 'Applications'. The color scheme was also added so that the user could easily and immediately distinguish the mirror list from the rest of the main page. At the bottom, the Status of the mirror remains.

The rest of the information was placed into their own page. At the top right, News, About, and Contact are all clickable and will take the user to its respective page. Also near the top right is an Admin Navigation panel which is only visible to admins. However, because of limited time, I was not able to fully implement user access controls and login/logout system. Thus, a Wizard of OZ type of approach is needed here. This admin navigation allows the admin to add news and new software to the mirror list.

News

This is the News page. It queries for all the news ever created and displays it in a list fashion. The date and time are bolded and underneath it is the news specific to that time. This page allows all users to see a history of news in case anyone would like to look at it. It is also helpful since it acts as documentation (ie, if users want to see when Ubuntu was added to the software mirror list).

About

This is the About page. It describes the purpose of the group as well as some other information about the site. For testing purposes, I just added a few descriptions.

Contact

This is the Contact form. Users can contact us using this form regarding any questions they have or if they'd like to suggest new content for the software mirror list.

Admin Navigation: Add News

This is the page which allows the admin to add in a new news. All the administrator has to do is type in the content of the news and press submit. The date and time fetching and saving is automatically handled by the web framework. News is displayed in two areas of the site: on the News page and on the Main page. The Main page will hold up to 3 most recently created news while the News page will list everything. This solves the problem of having to update manually by writing raw html code. The admin can simply write whatever.

Admin Navigation: Add Software

This is the page which allows the admin to add in a new software for the software mirror list. The admin specifies the name, url of the software's main page, the mirror download link, any notes, an rsync, size, and a classification. A Classification describes the software (such as 'Linux Distro', 'Applications' as seen on the main page) and can be added by selecting the 'Specify New' from the dropdown menu and then providing a new classification in the textbox below it. This automatically adds a new classification to the database, and it will show up on the main page as well as in the drop down menu here. This solves the problem of having to update manually by writing raw html code. The admin can simply add whatever.


 * Transition diagram**

The transition among all the pages are pretty straightforward. The main page contains most information about the site while the buttons on the top right are specific to their purpose. The user can traverse back and forth just by clicking on the buttons or the Linux Users Group header for the main page. In general:

Main <=> News <=> About <=> Contact <=> Add News <=> Add Software <==| (loops back to main) ^^^^========================================================|


 * Tutorial**

Users were given the site with admin panel (since we are doing a Wizard of OZ type of testing). They had free reign over the site, and didn't require too much of a tutorial other than pointing out the buttons and admin features.


 * Usability Study #1 Gather information**

Due to limited time, this usability study was constricted to admins of the site and a few friends. Each participant was given the original site to use. A series of short follow up questions were asked on topics of what they liked/disliked about the site and suggestions for improvement. Afterwards, I provided them with a list of problems that I felt were wrong (as I had stated in the Problem section of this wiki page) and a compiled list of their suggested improvements. What I found was surprising at first. My initial suggestion to place the contents on the main page on separate pages received negative feedback from admins of Mirror. This lead to the reuse of the old design on the main page with several improvements. Users were generally receptive of my proposed changes.

In addition to what is listed here, other improvements compiled included: 1. Create a push mirroring system so that users who want to mirror us can register that. This will save bandwidth and processing on the server for upstream and downstream users. 2. Create a user access control system that will distinguish admins and anonymous users. 3. Login/logout forms. 4. Automatically update news after a new software mirror as been added to the mirror list.


 * Usability Study #2 Prototype**

After the prototype was finished, the same users in Usability Study #1 were recruited to do test again. Because of limited time, I was not able to implement everything on the compiled list of solutions. Since user access controls has not been fully implemented, this prototype will use Wizard of OZ testing and pretend that all users are logged in as admins (so they are given the admin navigation to play with). Users were asked to play the part of an administrator as well as a general user. Tasks included:

Administrator role: 1. Create new Software to be listed in the list of mirrored software. 2. Create a new news.

General User role: 1. Browse the information on the main page. Locate "Ubuntu Linux" and see if it was easily located. 2. Browse the News page to see all news that have been created. Can user locate where and when we added "BerliOS"? 3. Browse the About page. 4. Browse the Contact page. Submit a test message through the form.

In each task, the user successfully completed them with little trouble. However, there were several complaints:

1. The most heavy complaint was the lack of feedback to the user after a successful completion of the form. While incorrect form input was caught and alerted to the user, successful submission of the form did not specify that the submission was successful. All that had happened was the form cleared, making it look like the fields were cleared.

2. There are some alignment issues with form fields. Some of the form fields are misaligned, making it a bit distracting.

3. Adding software to the mirror list is a slow process because one has to input each field. It may be easier to give a keyword and then have it search within the server for a particular config file (for automatic adding).

4. Adding an instructions page would be very good. It would allow customization of instructions for different software. Currently the Notes table column on the main page is not sufficient for this.

5. Edit/Delete software mirrors

Since this is a first prototype, it is not possible to fix these problems within the time frame given for this deadline.


 * Usability Study User Demographics**

Number of users is 3. The users who were part of the Usability studies are aged 21-25 with college degrees/perusing a degree. Two of the users have a technical background (one male, one female), while the last user has a non-technical background (male). For the most part, each user tends to spend roughly 25 hours or more in front of a computer. One of the users with a technical background has a job involving programming.


 * Open Issues and Future Work**

There are several known issues. Three main categories are: New problems listed from the second Usability study, features on the original list of solutions that have not been implemented yet, and security. The security problem lies in submitting the forms. Users who submit using the Contacts form (or any forms) is not encrypted. Also, the Contacts page is not protected from bots, so we are potentially open to relentless attack by spammers. Future work on this will include fixing the new usability study as a first priority. The other features should also be implemented at some point since it will greatly expand the use of Mirror. Security should also be looked at. These issues must be fixed before the final deployment otherwise the integrity of the site is compromised.