The brain behind No8am
November 2, 2017
The Creator
In lieu of course registration, most students are playing schedule-tetris, meticulously selecting classes that fit together to create a manageable schedule for the coming semester.
The website no8am.com has aided students for years by providing them with a visualization of class selections; however, most students do not realize that the program was actually developed by University alum Nadeem Nasimi ’17.
After experiencing immense frustration with course scheduling during his first year at the University, Nasimi decided to develop a program that would help all students more efficiently shape their class schedules. In 2014, Nasimi spoke to University staff in order to share his intentions of creating the program.
Using the insight and information he learned in his computer science class, as well as in some independent research, Nadeem spent the summer of 2014 developing no8am. The name for the program was inspired by Nadeem’s inability to identify as a morning person.
“The first year it was released, no8am was very well-received, but mostly used by just the students in my class year. By the next year, after word spread, it was being used by all class years,” Nasimi said.
As time progresses and his knowledge of new programming methodologies and design practices grow, Nadeem has made incremental improvements to the program.
Challenges
“The major challenge I ran into by the second year of no8am was scaling the application to support the number of users on the site. The site was originally designed as a proof-of concept, with no intention of supporting usage by the entire school,” Nasimi said.
The first technical improvement he made to the original version of the program was adding a cache layer to the no8am server, which sped up the site by temporarily saving course data on no8am servers instead of forwarding all requests to University servers. This reduced the amount of time a user spent waiting for a response when they selected a course from the search box; however, users were still experiencing long loading times while utilizing the site.
Nadeem then moved the site from running a single server to a server-less architecture on Amazon Web Services (AWS). He was then able to support the hundreds of concurrent users on the site during course registration period.
“I like it a lot because it provides a visual of my class schedule, but it doesn’t always update during the time of course registration. It’s not always reliable because the course catalog may say there are only six seats left, but no8am may say there are still 12. It’s just not always very reliable in that sense,” Mary Weinstein ’19 said.
“No8am needs more functionality, and sometimes classes don’t get displayed properly, which is a huge problem. More side by side functionality would be helpful, and it should have more artificial intelligence, so you can input into the system a request for no 8 a.m. [classes],” said Jonathan Li ’19.
“I always try to keep in mind the feedback I have received from students when I redesign the user experience. Many features, such as being able to search by CCC requirement or save a schedule, were requested by students. I am currently redesigning the user interface to address some design issues and support the addition of new features such as filtering course results by time,” Nasimi said.
Reception & Perception
No8am is unique to the University, but its implementation into other schools’ course registrations has been considered and deemed overcomplicated. “Supporting multiple universities would require rewriting the code for the interface. For example, one major assumption that is made by the no8am code is that classes end at the 22 or 52 minute mark (i.e. a class will end at 11:22 a.m. or 11:52 a.m., but never 11:42 a.m.). This assumption was used to implement features like the calendar on the right side of the page and the warning users get if they select two sections that meet at the same time. Instead of rewriting these features to support more universities, I chose to implement new features to improve the user experience for Bucknell students,” said Nasimi said.
According to Nasimi, no8am “is currently configured to save course data it retrieves from Bucknell servers for up to 30 seconds before it makes another request to their servers.” To reduce the number of requests the site needs to make to save this course data, Nasimi is currently developing a feature that will significantly diminish the number of seconds it takes to view classes on the site during the course registration period, when the number of seats that remains is constantly changing.
Currently, Nasimi works as a Software Development Engineer at Amazon Robotics, designing scaleable systems every day.
Nasimi indicated that he would love to hear more feedback from students, as he still devotes some of his free time to further developing no8am. If you would like to contact him with any constructive comments, Nasimi is still checking his University email at [email protected].
Aside from some comments regarding minor changes that they would like to see in the functionality of the website, students altogether view the program with great appreciation.
“No8am allows students to visualize their schedule before registering for classes. The spacial arrangement and color coding really helps [us] to understand what the days will feel like,” Kyle Shtern ’19 said.