Venue — An open source digital attendance tracker

by Mary Martialay on September 1, 2016

(The challenge: Create a mechanism that makes it possible for instructors to track students and for student to earn credit for their attendance or participation in activities like theatrical events, concerts, exhibitions, or lectures, regardless of whether they are on or off campus. The answer: “Venue,” an attendance validation app and web platform being developed by the Rensselaer Center for Open Source (RCOS). In this post, Severin Ibarluzea, an RCOS mentor, core Venue developer, and senior in computer systems engineering, discusses the process of building Venue.)

First a word from our sponsor, the Rensselaer School of Science, which is supporting the development of Venue. Curt Breneman, dean of the School of Science, came up with the idea, and here’s what he said about his original vision, and how he hopes the Institute will use the platform.

We wanted to create a mechanism that will enable students who take part in unique cultural and intellectual activities both on and off campus to be recognized; especially activities related to Art_X@Rensselaer events and as part of the upcoming Summer Arch, where off-campus activities will be integral to student experiences during the summer after their Sophomore Year, and also when they are away from campus during the following fall or spring semesters. More generally, it will allow Student Life and other Rensselaer organizations to create events (for NRB or club activities) and monitor student participation across a world-wide ‘virtual campus.’

And now back to the conversation with Severin Ibarluzea (pictured on the right).

What’s the problem that you’re trying to solve?

It’s important for faculty to be able to create assignments that require students to attend external events, because those events can inspire creativity — and that’s something you want when you’re solving problems. But right now, if an instructor assigns an external event, there’s really not a good systematic way to know who attended. This resonates with me because a lot of times my instructors have notified the class of events downtown or at EMPAC, and they had no way of making it an assignment because the only option is for the instructor to sit there and validate students at the door, which is tedious.

What’s the solution?

We’re building an attendance validation platform that makes it possible to track student attendance at events outside of regular classes.

How does it work?

We’ve created a website and an app. On the website, instructors create courses and course sections, and populate those sections with students, either by adding students themselves, or by inviting students to join the section on the website. Then, the instructor creates events, along with a GPS location for each event, and assigns the events to each applicable section. The instructor can also create an assignment – like submitting a photo of an important part of the event, a description of the content, or a more detailed assignment related to the experience.

On their end, students download an Android or IOS app to their smartphone. Their phone submits the GPS coordinates through the app, and they can also submit a photo or other assignment through the app.

What if you don’t have a smartphone?

Some means of validating yourself is necessary, but not necessarily a smartphone. There’s an upload via the website where you can upload a photo or enter a description. Your attendance won’t be marked as validated because we can’t get your GPS information, but the instructor can manually review what you’ve submitted.

For those who might understand this part, how do you build software that does that?

We use a lot of web technologies to make Venue. We use a professional generator. Our service is built around the MEAN stack, which is a free and open-source JavaScript software stack for building dynamic web sites and applications. MEAN includes MongoDB (a document-oriented database), Express (a web application framework for Node.js), Angular (a front-end application framework), and Node.js (a JavaScript runtime environment). We use a professional MEAN stack generator to ensure that the platform is secure and it follows best practices.

What’s next for Venue?

We’d like to see Venue put into use and right now we’re working with the Division of the Chief Information Officer (known at dotCIO at Rensselaer) to trouble-shoot and test the software, and make sure that it meets standards for use at the Institute. So deployment is our first goal. We see this as a great tool for Art_X@Rensselaer (a Rensselaer program that helps students discover “the art in, and of science, and the science in, and of art.”)

Long-term, we’d like it to be a tool that any school can use. We’re an open source platform. We’d like it to be adopted and used throughout multiple schools.

We’d also like to build some additional capabilities, for example social aspects that allow students to take a selfie or a picture and share it on their social networks so people will see it and know they had a good time, which might motivate other people to go to the next showing of that event. And we’d like to test some new validation methods that maybe are harder to fake or are more interesting, or allow multiple people to submit as a group.

How is working on something like this a benefit either to your education or your career path?

This is beneficial because we’re working as a team and we’re working professionally together. We have to manage this large project, and we have to organize these issues and prioritize. It’s really a professional atmosphere. We work with a lot of people who aren’t developers who give us advice and feedback and we have to iterate on that. Just learning how to work under this deadline, build this complex application, take feedback and use that, is pretty rewarding.

Who’s on the team? Take a bow.

Core/Android Developer: Severin Ibarluzea
Core/Android Developer: Joseph Lee
Core Developer: Kiana McNellis
Product Manager: Samantha Lee
iOS Developer: Jim Boulter