We had a meeting about GDIF at McGill yesterday, and I realised that people had very different thoughts about what it is and what it can be used for.

While GDIF is certainly intended for formalising the way we code movement and gesture information for realtime usage in NIME using OSC, it is also supposed to be used for offline analysis. I think the best way of doing this, is to have a three level approach as sketched here:

gdif-storage.png

The realtime communication is done with OSC, usually over UDP/IP, while we could use SDIF tools available in FTM for storing the streams (it might be better to just use some binary format for storing the OSC streams). Then, after discussing with Esteban and Jordi from Pompeu Fabra, I have been convinced that it is probably a good idea to use XML for creating structured files for offline analysis.

When it comes to what to store, I think it is important to separate the data into different layers to avoid confusion:

gdif-namespace.png

Not all the streams will have to be communicated all the time (which would obviously create quite a lot of overhead), but they could. The raw data level would typically not be useful for most realtime applications, but for analytical purposes it is crucial to be able to get back to the original data.