Week of May 26th – Oculus Rift and 3D chocolate printers

On Monday and Tuesday half of CDOT was at OCE Discovery, Canada’s leading innovation-to-commercialization conference. Highlights included a 3D printer that printed using chocolate and the Oculus Rift. While there were many exhibits created by talented and hardworking individuals, the Oculus Rift, ironically an already existing product, stood out the most. I say ironically because the 3D chocolate printer was fully built and designed by two Waterloo students, while the guys demoing the Rift paid $300 to have a dev kit shipped to their house. So sure, the Rift isn’t exactly an example of Canada’s burgeoning innovation, but it is a glimpse into the future of immersion – and damn does it look good. For the unacquainted, the Oculus Rift is a  high field of view, low-latency, consumer-priced virtual reality head-mounted display.

Eye candy at its finest.

Yeah you look like a total nerd wearing these, but once you put them on you start to realize just how awesome it is to be a nerd these days. Your body almost instantly forgets where it is. The simulation that was demoed for me was that of a roller coaster, and if the exhibitor hadn’t offered me a seat I surely would have fallen over. From the moment I put the Rift on my body was tricked into thinking it was in the seat of a roller coaster and not in a chair surrounded by eager attendees waiting to try it on. The optics on the device caused the image I was seeing to almost completely wrap around my field of vision in stereoscopic 3D. As I moved my head to look around, the view inside the simulation shifted accordingly in a virtually 1:1 mapping. Looking down the tracks at the peak of the ride made my body instinctively brace for the drop that would never come. At each bank of the ride I felt my body trying to compensate for what would have been a sharp turn. Looking down to find that my legs were not recreated in the simulation created a spooky sense of disconnect from reality. By the end of the simulation my face was breaking out in sweat and my eyes were aching, but I was convinced that this is the future of virtual reality immersion. Dev kits are on sale now for $300 and will ship in August. Needless to say, I’m looking forward to August.

Week of May 19th

This week started off slowly but ended off in a flurry of activity. I haven’t had a chance to show off the prototype to Fardad yet so I asked Chad to help me set up the database in my virtual machine. The production website will be run in Linux so it’s important that any coding I do from now on will be in an environment similar to the production server. It took a bit of Googling but we finally got NetBeans running on Windows to communicate with the MySQL database running in the VM. I also finished writing documentation to help others wanting to work on the project get started. Thursday and Friday were spent configuring the networks and machines we’ll be using at OCE to work with BigBlueButton.

Week of May 12th

This week has been delightfully short. I took a week off for a much needed vacation and got back on Thursday. Since Thursday I’ve been working on finishing up the layout prototype. I had an issue getting prepared statements in JSP to work, but Chad helped me come up with a workaround.  It’s now more or less finished and ready to be reviewed by Fardad. Bo “The New Guy” Li has finished writing the SQL script for our database so once the prototype gets approved/tweaked, I can start working on a production prototype. I’ve also been writing up a tutorial on how to get the prototype working on other computers. Right now it’s somewhat janky, involving moving files around and importing archives. Netbeans has support for GIT versioning, but it requires its own repo. I’ll speak to Fardad and see what he thinks.

Week of April 28th

I spent the past week working on the prototype. The good news is that I’m almost done. The bad news is that I’ve been alone all week so I couldn’t get any input from Chad or Justin to see if I’m on the right track with the flow of events. I’ve done my best to replicate some semblance of state persistence by passing values from page to page using the request attribute. There are different user roles (student, professor, admin) and different links are displayed for each role. Each user role also sees different events on the calendar. The events are hard coded but the professor can’t see the student’s meetings and the admin can see all events. Students can see the details for each schedule lecture but cannot edit the lectures’ settings. Managing events, user settings, and class settings are done. Next week I’ll finish Managing professors and users and I should be done the prototype.