ARSino: Audience Response System powered by web2py


This is a little project that started in Autumn 2017 when I decided to develop something to make my lectures more interactive. With small classes of up to 2-3 dozens of students, interaction is easy. With classes of over 100 students, it becomes much more difficult to get students directly involved.

Previous art

I’ve looked into existing Audience Response Systems (ARS). I remember coming across a very simple one written in PHP quite a few years ago: ARSenic by Michael L. Richardson.  I’ve looked at it, but found it didn’t fit my needs and would not be easy for me to expand (although I have developed in PHP in the past, I now prefer Python). There are of course commercial alternatives, including the one Newcastle University has licence for. The problem would be that either it works for you or it doesn’t. In particular, the much flaunted tight integration with Powerpoint was, for me, an issue (I use Libreoffice Impress).

Python framework

First, I found, which is optimised for python environments and frameworks. They introduced me to web2py, which I found simple to use, with great documentation and perfect for my application. In a few evenings, while watching TV with the family, I put together ARSino.


Students liked ARSino and how I used it in class. The following screenshot shows the data collected in the last session of MEC3015 in December 2017, after we had used ARSino for several weeks.

MEC3015 students’ opinion of ARSino. ARSino scores 91% (“ARSino was good and useful”)

What’s in a name?

The name ARSino, as you might have guessed, is inspired by the aforementioned ARSenic written by M. L. Richardson and by Arduino, perhaps, or rather the fact that being Italian, when I think of something small and cute, I tend to attach ino at the end of it (it’s a vezzeggiativo or check Treccani for a good definition in Italian).

Michele Pozzi
Engineer and scientist