Nailing the Blackboard
When I entered middle school, I was proudly presented access to an online course management system so I could submit assignments online, check my homework even if I missed class, etc. I found the concept exciting, and so did the administration of my school. Such "e-Learning" software helps education a ton, after all, and it's the wave of the future. Imagine my surprise when I saw a notice on its front page that Internet Explorer was required for its operation.
Naturally, I used Firefox with it anyway, and it worked fine (other than a few visual quirks). Not a major defect, meh. However, a few weeks later, my middle school hosted a special "class" to learn to use various Blackboard features -- on this particular day, the forum. Having finished the given assignment, and being bored, I started looking at the source code of the page. More specifically, I looked at the Javascript scripts, which seemed to be a very heavy part of Blackboard's operation. There I found some functions of the sort:
function createPost(postID, /*some arguments*/) { /* ... */ } function editPost(postID, /*some arguments*/) { /* ... */ } function deletePost(postID){ /* ... */ }
All fine and well, but looking at the HTML in the page, I could only see "onclick" references to the createPost and editPost functions. This makes sense, of course, you wouldn't want a button to delete posts visible for students. But of course, you wouldn't use this as security... would you?
So I called deletePost on the ID of an innocuous post made by a classmate. It worked.
Is it bad that I have used this so much that I know the URL to include in my posts by heart?
This is terrible. It would be as if you could simply edit this blog entry by navigating to http://blog.opensourcenerd.com/nailing-the-blackboard/edit. It's just... no!
Then again, Blackboard is a huge product. What if it's developed by only a small team of developers without much resources? A security hole here and there is excusable. But no. Later that week we were visited by a rep from Blackboard Inc. to tell us about how great Blackboard is, and how sweet it would be if we became programmers and worked for them.
He could get a job at Blackboard!
Fast forward past my internship/work with the SchoolTool school management system, past my starting this blog, to today. I am trying to navigate course documents on my college's Blackboard site to find the information I need to do my homework for tomorrow. I try to load the site and am confronted with this, plus a loading signal from my browser.
So I check my e-mail. Blackboard's still loading. Facebook next. Blackboard's still loading. Maybe the Poly servers are just being slow? Nope, Poly's main site runs just fine. Hey look, Blackboard loaded!
Well, a little. So in my newfound free time while waiting for my homework to load (what a concept) I looked up some data about Blackboard. In doing so, I came upon this interesting page.
Aside from the fact that Chrome and Opera don't exist, Linux doesn't exist, and the vague terminology of "partially tested but should function properly", there is one curious thing there:
Internet Explorer 8 is tested in Standards Mode. Some known issues can be resolved by using Compatibility Mode (emulates IE7 behavior).
Really? Compatibility is not compatibility if you need special options to make it run. Plus, I love the way the "supported" Firefox looks (once the page finally loaded).
So what's the point of my whining? Not much, really. I just find it infuriating that Blackboard is so popular despite all its flaws. School districs and universities must really like throwing money at them for no reason at all.
What about Moodle? It's free and open source! Oh wait, it's not backed by a monolithic corporation. Hm. It probably requires too much skill to set up. Plus, where could we find a developer who could do it? Well, if you wanted to hire people to do it, there is no shortage.
Still, if you have a server and a computer science undergraduate student in his sophomore year, you might not need those people: http://opensourcenerd.com:13103/moodle.
Brandeis uses Moodle. And Google for email now. We are just cooler than you, FYI.
Looks okay in Firefox at JHU. To bypass the wait, try using the Courses tab instead; I find that actually has an instant load time compared to all the "modules" on the homepage.