Birth of Time Tabler
After using the original time table site from my university for 1 trimester I concluded it was too arduous to use and decided I could do a better job. Time Tabler was built in Rails in 5-6 weeks, half of the effort was really just screen scraping data (it was a nightmare and a mess) and put it together in a meaningful way. Unlike the many assortments of things the original time table site could do, like seeing room bookings, view what lecturers are teaching, and view student group time tables, Time Tabler only has a single goal: Plan your subject sessions.
There was no SEO or Google Ads or any sort of advertising aside sharing on Facebook, but students were very receptive to the project. For the first time since Seraphim, pretty much every student in MMU (Melaka, Cyberjaya campus included; not sure about Nusajaya) knew which lecture and tutorial sessions to choose to suit their time and which lecturers they want in a few seconds. I had fellow MMU students leaving supportive comments on my YouTube video, receiving emails from people I don’t know thanking me, and have groups like MMU Confessions 2.0 and MMU Editorial Board doing publicizing for me, and follow friends sharing my site. I even had one guy trying to get me to woo me to Quintiq.
Here’s the Google Analytics for the site between 21 September and 21 October (the time where people register their subjects):
That’s like over a hundred students using my site everyday; a site that cannot be found from Google search. More than half of all the traffic came from people sharing on facebook.
I felt a deep sense of gratitude for the fellow MMU students for their support. There’s also Hackerspace, headed by Willie, a club that pulled together programmers to build cool stuff. Most of these fellow programmers became my good friends, who offered guidance (most of them are Rails people) and showed great enthusiasm for Time Tabler when I first presented it.
I have initially wanted to build the site as something of a proof of concept, then shut it down after I got the publicity I wanted if MMU decided they are not going to support it. The reason being that it takes time to scrape the data from MMU’s Time Tabling site (it’s not as automated as it should be) and that if the site changes, even a bit, I had to dig in my code to figure out what went wrong. This is exactly what happened when Trimester 2, 2015 subject sessions were released. I spent half a day banging my head.
I didn’t have to scrape MMU’s Time Tabling site daily, so I never bothered to clean up my messy scraping code. Good thing too, because in the coming future MMU Time Tabling is going to get revamped, and I have to read the data from a CSV table file instead of scraping thousands of web pages.
One of the greatest achievements a developer can have is to have built something that benefits other people. Even though I’m not earning revenue (sadly MMU doesn’t want to buy my system ): ), I felt like I’ve done something meaningful with my time.
I have in mind to fit in some of the features students have been requesting. Currently what distinguishes Time Tabler from Seraphim was that Seraphim could figure out the combination of sessions that will not clash, whereas Time Tabler expects you to click away and figure out yourself. Since you could visualize clashes it’s a small matter, though having it automatically generated is a neat feature, not to mention a worthy challenge for me.
I don’t intend to maintain Time Tabler forever. If the data extraction process can be automated, good, but there is little certainty what MMU would change next in their Time Tabling system. Hopefully by that time MMU will either have me integrate Time Tabler to their system, or place the features in Time Tabler in their existing system. Otherwise, it is destined to have the same fate as Seraphim.
Encouragement to Fellow Coders
Before I go, I want to leave a message to fellow coders like me.
If you are just starting out wanting to do some good in the world, here is what I learned: you don’t have to have “arrived” to make a difference. By “arrived” in this context meant being like some demigod in coding and knowing all knowledge of computer science in the world. MMU Time Tabler didn’t have any kind of fancy algorithm shit going on; I merely sort existing data from MMU’s time tabling website and display the data in a user friendly manner.
I have no experience developing with Rails or Ruby prior; so much of the code I’ve written is probably crap, but people use it anyway. Because in the end of the day it’s not how bad ass your skills and knowledge is (don’t neglect it though), what’s more important is finding what frustrates you and use it to drive yourself to a solution. When I saw how hard the original MMU Time Tabling was to use, I have 3 choices: I can continue to complain how bad it is, I can just accept it’s that crappy but it was probably better than what other universities had, or I could see it as an opportunity to build something that could help others.