A look inside the flaws of UW Ace (Angel)
UW Ace (Angel learning software) makes for a great case study on how not to build an online application. Below I focus on its follies and try to get to the real root of the problems. While you're reading this remember that this is a large company, presumably with software developers, and testers. You also pay for this application with your tuition. These aren't small problems, they are wide spread. Their design decisions effect hundreds of thousands on a daily basis.
Bookmarkable Pages
A single document written by Tim Berners-Lee details the real root of many of Angels' problems; improper URLs. The inability to bookmark a page in Angel means if your session ID gets invalidated (a common occurance) you are taken all the way up to the root of the website, no matter how far you've drilled down prior.
If the URL contained information about your location within Angel, then it could be used to take you somewhere after you finish your authentication (think Facebook). Imagine for a second, if every time you logged into Facebook you were taken to your profile, and there was no way to send a link to a friend, or bookmark for later consumption. That would suck – and thus the suckage of Angel follows.
Page structure
Divitis – the condition suffered by webpages who's authors use <div> tags too frequently. How many div's do you think the highlighted section below requires? Two for each of the modules (8), one for each graph (4), one up top (1), and perhaps two more to columnize the modues (2). 15 sounds reasonable enough.
Actually, square that guess then add another 100 for good measure! There are 328 div tags used to create that portion of the screen. The main content is nested 10 divs and 2 tables deep. Someone obviously doesn't understand the concept of semantic page structure, nor how to properly use CSS. Take a look at this code snippet and see if you can tell what it creates:
...
<div class="minwidth"></div>
</div>
</div>
</div>
<div class="box_bl">
<div class="box_br">
<div class="box_bottom"></div>
</div>
</div>
</div>
<div class="box nuggetBodyBox">
<div class="box_tl">
<div class="box_tr">
<div class="box_top"></div>
</div>
</div>
<!--top-->
<div class="box_left">
<div class="box_right">
<div class="box_middle">
<div class="minwidth"></div>
<div class="nuggetBody">
<div class="normalDiv"><small><span class="descriptionSpan">There are no bookmarks to display.</span></small></div>
</div>
<div class="minwidth"></div>
</div>
</div>
</div>
<!--middle-->
<div class="box_bl">
<div class="box_br">
<div class="box_bottom"></div>
</div>
</div>
<!--bottom-->
</div>
</div>
...
It simply outputs "There are no bookmarks to display." nothing more, and no less. In the midst of all those divs they couldn't even find one to latch some CSS on to decrease the font size. Instead they opted for inserting a <small> tag around the content. By now you should be thinking "I can't believe Ace isn't down more than it is!".
Graphs
Graphs, with their infinite power to draw attention often hold relatively small amounts of useful data, or mean nothing at all. For the student viewer, each of the graphs pictured below are completely useless and would not be missed. Up until a few months ago, the graphs actually plotted the days activity followed by the next 6 days (which are always 0... cause it's the future). Now, lets take a closer look at what they are plotting.
- Logons
- Provides an accurate view of the number of times Ace has kicked you out to the login screen. Useful for calculating the time you've wasted on Ace each day.
- Mail Messages
- Zero, perpetually. I use this thing called email, thanks.
- Discussion Posts
- How about showing me how many posts other people have made. How many are new? Unread? Have mine been read? You know, something... useful? Submissions
- Just incase you forget how many projects you did this week.
Navigation tabs
Resources
In case your having trouble finding Google or Wikipedia online they've created a page with a search box for both in n convenient locations (where n is the number of courses). It is buried under one login page and 3 navigational clicks. Oh, and each course has their own unique combination of these services. Some have Wikipedia, some don't. This might be speculation, but I bet this is a big selling feature.
Calendar
All those activity graphs we saw earlier should really look interesting when plotted on my calendar. Wait, they're not shown.
All of my assignments on Angel have due dates. I know this well because half the time it messes them up and prevents people from submitting. Calendar must be a quick and easy place to see what you have due in the next few weeks. Nope, my calendar for this week (and all weeks) is empty, despite three assignments being due in ACE this week alone.
I might be willing to forgive them for all that if they let me import my calendar into Outlook or Google Calendar. Maybe importing or exporting via the hCalendar microformat? Nope, no such luck. How about importing my class schedule from another source – that way I could budget my time and projects together. Nope. Still haven't found anything that Calendar can actually do.
Report
The report tab was constructed by people much too familiar with early M$ office products. 3D Graphs, diagonal gradient background fills, drop boxes with only one option, and seemingly infinite number of radio buttons which lead to empty reports. This feature was driven by the need to fulfill the vision of this power point graphic, I guarantee it.
Proprietary storage - The sales pitch
Let me pitch you a product, if you're interested I can help hook you up.
My application stores all types of information, including email, newsgroup messages, grades, assignment submissions, and course information. This application makes pretty reports circa 1999 – which makes it really easy for teachers/professors to see just how badly their students procrastinate. This application stores all the data in a proprietary format developed specially by my company, and likely has no formal documentation. The application runs in your browser, so it always up to date.
There is no way export data from my application. If a new browser comes out that is not supported by my application you must not upgrade, because it might not work. Even if the browser has been available to my company for developement purposes 4 months before it's release, don't upgrade. If my company never updates it, you're screwed. When my company is eventually made obsolete by software developers who know how to write web applications that are reliable, fast, and don't use 385 divs where 15 will do, we will shut our doors. Your data is still on your servers (don't worry), but it won't work with any of the normal tools such as email clients, calendar applications, or be of any use as reference for future classes. Effectively, every piece of data you put in will never come back out. Its' value is directly proportional to the time left in the term. In essence, all data will expire within 4 months.
Because of this, all marks will need to be input both on my application and on your own database where you can actually use them for useful things.
Does this interest you? Apparently its very appealing to institutions of higher education.
Jul 6, 2007
7:37 pm
Having experience as an administrator with Moodle, an open-source Learning Management System (LMS) I find Angel to be terrible for many things including some of the ones mentioned above. I found some bugs in Angel and I reported them to UW-ACE help so that they can be fixed and I just found another recently. It is unfortunate that UWaterloo has chosen to use this poor application.
Jul 7, 2007
11:03 am
Good on you for taking this on, T. I've never quite marshaled the energy to plough ahead with it, in part because I've only really experienced ACE in two contexts: PDEng, which uses it very heavily, and my regular courses, which use it as a fileserver for posting PDFs behind a login.At any rate, my own criticisms regarding the use of ACE by PDEng have been less to do with technical retardations in the software, and more to do with ways in which it hampers good UI design. Compare an average ACE page with 4-5 difference pieces of unnecessary navigation to this very unfinished mockup:http://sandbox.mikepurvis.com/design/pdeng/If you generalized that basic layout and threw a fileserver in there as a sixth tab, it would be exactly what the doctor ordered for 99% of the things we use ACE for. (plus maybe a grades-viewing panel of some kind, but even that... questionable.)I'd offer to develop this for the school next summer, but unfortunately the persons in charge of the decision would never be able to give me the freedom to develop exactly the kind of opinionated software that they so desperately need. A back-of-the envelope calculation says I'd do it for about $85k... $10 for hardware, the rest to split equally between myself, a second developer, and a third person to guide UI design by doing use-case research among profs, and running experiments with prototypes. $25000 sounds like a lot of pay for a workterm, but it's partly because I'd need the best people possible, and it's partly to make up for lost opportunity cost for having to spend a final work term on such a ludicrous project.
Jul 7, 2007
11:05 am
Holy crap, Terrill. Fix your paragraphs!
Jul 11, 2007
3:21 pm
I'm sorry about the formatting issues Mike. It's totally my fault. Hopefully I can correct that sooner rather than later.
Sep 24, 2007
3:00 pm
Terrill: Cool! Can you do the same kind of analysis with the same level of depth for jobmine as well? With screenshots and everything.Mike: Could you say the same thing for jobmine as well? I'll give myself the benefit of doubt on that one and say no.Terrill: You should be able to get the paragraphs working, at least temporarily, with a simple $text = nl2br($text);
Oct 19, 2007
1:59 pm
haha great. and someone's already done this for jobmine, and put it on wikipedia.... but i just looked now and that article has been deleted
Nov 20, 2008
2:24 pm
As someone whose a double degree, at WLU and Waterloo. Angel despite its shortcomings is amazing compared to Laurier's Webct. In my experience I love Angel, it just works. Not like Webct which any task you want to do, you have to do twice if your lucky.
Nov 28, 2008
10:44 am
'Nobody'... are you sure you aren't a troll from Angel just trying to improve Angels online image? Comparing two pieces of crap and saying one looks nicer doesn't really say much about either - they're still crap.
Dec 7, 2008
10:58 am
ahahah no lol, I'm actually a Laurier students, but I'm in the double degree I take a lot of courses at Waterloo so I have to use UW-ACE. If you've ever used laurier system you know what I mean. When you click on the webct, you feel thats its your day if its up and actually running. Then you navigate to course notes try to download, but a security warning pops up and your sent back to the home page (how long have they had to make it IE7 compatible?!?!?.) So I try running it in opera it looks even more fucked up. But then I eventually figured out if you the action twice in IE it finally downloads. I think if an application can't get the downloading perfect, the have a long way to go........
Dec 7, 2008
11:00 am
when i mean download twice, the 2 nd time you have to start from the main page all over again, after you've spent 5 min drilling down into the folders to get the file you wanted.
Jan 15, 2009
8:51 am
This is incredibly funny to read after having issues on ACE at 9 am in the morning!
Feb 9, 2009
11:13 pm
You know, I find it quite humorous, really. I completely agree with everything written here: the CSS is terrible. I too have noticed the "amount of times logged on" and thought it to be pretty useless. It's good in ONE, and ONLY one scenario. Perhaps if you haven't logged on for a week and it says there's three logons, hopefully you would notice that someone has your password and is accessing your account. But even then, I'd prefer something on the side saying "Last 5 IP's accessed this computer," logged with when it was accessed as well.Actually, in my opinion, I also highly dislike the UWaterloo website as well. I can't seem to find anything I need, and it seems to just always give me useless information. Just when I think I find the solution to my problem, it links me to a UW website of another faculty, again unanswering any questions. The same information is also copy and pasted in many different areas, and the funny thing is, only some of them will update to newer information.Funny, isn't it? For a school which has such a high reputation for Computer Science, you'd figure they could at least make some decent webpages?
Feb 24, 2009
1:13 am
UWACE is the bane of my existence
Feb 24, 2009
4:43 pm
No kidding. PD courses suck, UWACE sucks, and the Waterloo website has shoddy updates.Cheers to the author from a fellow UW student.
Feb 25, 2009
1:01 am
YES PD CORUSES ARE THE WORST. Im donig PD2 right now.....I want to off myself. Luckily the workload is extremely minimal. But back to the point...UWACE SUCKS