Some years ago I accepted to work as a teacher for the first time in my life. It was for a master called Digital Environment Design. I had to give only a few lessons, so teaching hard core C++ programming to all those artists and DIYers didn’t seem appropriate… having worked a lot as a system integrator, I decided to focus my lessons on “integration”.
These guys used stuff like MAX/MSP, vvvv and Arduino to develop their projects. The workgroup had to split every project into modules in order to let many minds/hands work on it at the same time. It was quite natural having all those modules (video, audio, 3d, databases, internet) connected together using OSC.
At that time I had only one suitable piece of software to offer to my students: Mocolo. So I added OSC compliance to Mocolo, and gave the application to them.
The results were quite good.
So good, in fact, I started considering adopting this schema for my own work. Eventually I dropped the monolithic approach in favor of a distributed architecture.
The second key of Piccolo Popolo Architecture are names.
I spent seven years of my career working for a company who cared more about bombastic applications’ names than software efficiency and robustness.
I decided to subvert this paradigm too – now you know: the silly names of my applications are by design.
Résister aujourd’hui, for instance, has been a challenging installation, with many projections, IR cameras, switches, encoders and step motors all operating together.
Every aspect of the installation was delegated to a proper application, running under the control of a master – acquiring events and issuing commands.
This architecture allows to run every application on the same PC (that was the case of Résister aujourd’hui), but it also allows to distribute applications across a LAN.
In some projects Mocolo (or Polipo) are set to perform very heavy tasks: in that case Mocolo (or Polipo) runs alone on his own PC and talks to other applications over the network.
Well, “scalability” and “modularity” are buzzwords in software industry, I don’t need to explain that.
Another topic is “openness”.
My Piccolo Popolo applications can fit in third party OSC oriented projects – and I can use third party applications in my projects. I often do that when audio requirements are very complex – like in Anima di Gomma, for instance. Sometime I also used reacTIVision to read fiducial markers in a bar-code fashion, like in Museo della Carrozza.
“Opennes” is a concept I like, not only in matter of software applications.
So, this is Piccolo Popolo Architecture.
In the end, something more than OSC communication and silly names.
®f


Nice. But wtf is OSC? A link would be nice.
Luca
Ok, found it. Sorry, i’m on my dumbphone.