Raspberry Pi Fulton Hall Map Kiosk: A Hands-on Product Management Experience

At the beginning of the Spring semester, the Tech Club decided to launch a project using a Raspberry Pi, a low-power single board computer. Following in the footsteps of the Product Team last year, which designed an app to notify individuals about missing personal items, the Pi Project set off to find a way to combine the club’s love of technology and interest in providing students with hands-on experience with a useful product for future Carroll classes. The club iterated through several ideas, from a music player, to a digital events calendar, eventually combining a few to land on a computer map kiosk. A map, we reasoned, would be the perfect way to help students navigate the confusing Fulton Hall and the (almost intentionally) ambiguous Bean Counter schedule; it would also give us a highly visible way to show off the MBA program’s tech skills to prospective students, graduate and undergraduate alike. As a bonus, the Pi Project would also serve as an excellent learning experience in high-tech product development and management, and help drive the entrepreneurial movement at BC, recently boosted by Jere Doyle and the Shea Center for Entrepreneurship.

The Logistics Phase

The first hurdle to the project was finding a faculty sponsor. Drawing on the tech enthusiasm that already exists at BC, the Tech Club paired up with Information Systems Professor Sam Ransbotham to mentor the project. Professor Ransbotham is himself a massive Pi enthusiast, and was happy to support our tech initiative at BC. However, Professor Ransbotham was engaged teaching class until Spring break, and would be unable to support the project in full until afterwards. Wanting to take advantage of his availability, this set the start of development for the first week after break. The balance of the semester prior would be spent researching product/hardware requirements, building a team, acquiring supplies, and setting a development timeline.

Even with the seemingly simple idea of a digital map, there were many small design choices and tradeoffs that needed to be made immediately, the most important of which being the computer choice. We wanted to decide on a computer early to have time to order it and any accessories ahead of development. With limited knowledge of web & application development, we chose the Pi to give us a broader range of operating systems, an infinite range of form factors (it comes with no case), and a very low power requirement. We aimed for flexibility in the operating system to allow any developers we recruited to make the best choice for code environment, and then focused on our ability to house and power the computer within Fulton with very limited resources. We ordered the Pi, along with a Pi-specific touch screen, at the beginning of March, and assumed our order would arrive well before testing got underway. During the process, we also discovered that the BC Media Center offered students free 3D printing as a pilot program, and decided to print the case for our kiosk on campus. The whole case took about a day to create, and this provided us with even more flexibility as we ran into size challenges later in the development process.

The next major task was to put together a development team. Without enough coding experience at the graduate school, the Tech Club turned to the undergraduate Computer Science Society, and worked with their leaders to recruit from both the MBA and undergraduate CS programs. Without the ability to pay developers directly, our mission statement to the undergraduates revolved around teamwork and self-development. We offered the opportunity to work collaboratively with graduate students, with access to GitHub, the Pi, and other on-campus tech resources sponsored by the Tech club, hoping to convince CS majors to contribute largely for the love of learning. A survey was sent out in early February to collect signatures until the week of Spring break. Until we had an idea of how many students were willing to commit to the project, we could only speculate on exactly how sophisticated we could make our kiosk.

To close out our time before Spring break, the club began making the connections necessary to give us the data access we would need to be successful. Originally conceived as a partial directory for professors, we wanted to provide our developers with access to that data, on top of class schedules, student events, career events, and pure schematic data on Fulton. We weren’t sure exactly how or where the data was stored, or who controlled access to it, and began our search with Professor Ransbotham and Marilyn Eckelman. Initially, progress was slow as we moved through the bureaucratic chain, but many of the connections developed during this time went on to help us immensely in our quest to centralize Fulton Hall data.

At the end of Spring break, after several emails to the Tech Club and CS Society listervs, and an introductory kickoff event, thirteen volunteers, including 9 CS undergraduates, had signed up to participate in the Pi project. Even assuming students would drop out before the end of the project, we felt we had more than enough manpower to proceed. From here the project moved into the development phase, and the logistics of product design began to come together.

Development Phase

The development phase picked up after Spring break finished, and immediately jumped into collaborative product design. Over the first two weeks after break, the MBAs and CS undergrads met to work together on product specifications & requirements, wireframing, timeline, and general division of labor. An important decision during this time was to implement the map as a website, meaning that the computer kiosk would function as a very limited web-browser. With input from the undergraduates, this option provided a greater amount of platform flexibility (desktop vs. mobile access) while still being within the scope of languages they had experience with. We focused on differentiating between wishful and priority product features, making sure to take into account ease of coding, availability of data, and the utility to the user of each feature. The responsibilities of OS/hardware research and development was assigned to the MBA students, since it required less coding expertise, while the CS undergraduates handled web development. The team scheduled a check-in meeting two weeks before the end of classes, and the four-man strong MBA group set about creating the kiosk itself and gaining data access, while our undergraduate counterparts assembled the web page.

reqs

wireframe_default

Despite planning on paper, there were many hurdles that needed to be overcome during the development process. The most significant of these was access to data, since the various features required extremely decentralized sets of information. The easiest items to find were the schematic drawings of Fulton Hall necessary to create a map. However, we soon found out that room information, student event information, course information, and career event information were all controlled and stored by different entities. To make matters worse, course information was hardly stored at all, and was instead only maintained on a mysterious server system known as ‘The Mainframe’. Many BC students are familiar with The Mainframe through using its MSDOS-esque UI to register for courses, which was apparently the only way to access the data. Given this complication, and the disorganized nature of the remaining data, the team was able to obtain access to only professor data and student life events during the course of the project.

To compound this issue, despite receiving our Pi in early April, the complementary touchscreen monitor we had ordered (from the same vendor at the same time) did not ship until the end of the month, after our deadline for a team check-in. As Murphy’s law dictates, the original screen arrived at the same time as the Amazon replacement, but this was still late enough to delay initial testing. Our 3D printed case had also not anticipated the height of the cables needed to attach the screen, but this was easily solved by reprinting the midsection of the case with a few extra centimeters of depth. Here, the flexibility we opted for choosing 3D printing saved the project, as it would have been difficult to have a custom case made quickly any other way.

pi_finalpost

By the time of our check-in, our web development team had slowly dwindled, due to busyness and inexperience, to two members. While both are extremely capable coders, we realized that our resources were limited, and chose to focus on only map and student life features to put out a beta version of the kiosk before the end of the semester. The two developers heroically completed the website before the end of finals period, and the MBA students finished assembling the physical kiosk, including a display stand, before turning over the system for installation.

Ev_pi

demoday_pi

Demonstration and Conclusion

The Pi Kiosk did not make its scheduled demonstration without putting up a few final fights in the 11th hour. After being returned by the developers, during final testing it became obvious that the Pi’s native operating system could support touch, but not touch gestures. This left a 7 -inch tablet screen without an ability to pinch-to-zoom in on maps, necessitating one final fix before the kiosk went on display. After attempting to install several driver and software solutions to the gesture problem, the team landed on the Iceweasel browser, which balanced image size while maintaining the CSS and Javascript running on the site. Though gestures simply would not work on the Raspbian distribution of Linux, navigation looked smooth and the images displayed large enough to make out detail. The demo was saved, and beginning at 5pm our classmates began to meander over to the graduate lounge to test out the product of our semester-long endeavor.

Even though we ended up with only a handful of the features we originally set out to incorporate, the Pi was very well received by our classmates. Through our struggles with logistics and coding, we had not only learned valuable lessons about the product development process, but we had managed to excite our classmates about technology. During the last-minute assembly process, we fielded more questions about the project than we had in a month of Tech Club email bombardment. As one of the core goals of the Tech Club, sparking an interest in tech was the greatest achievement of the Pi Kiosk project. Hopefully, this is just the beginning of involvement and excitement over technology at BC.

Leave a comment