Mimas is the graphical interface for rubyk and any oscit (open sound control it) enabled devices. The source code for the application is released under the MIT license but the application as a whole is GPL (GNU General Public License) since we are using the excellent juce framework.
The application will run on Mac OS X, Windows and Linux but currently only compiles on Mac OS X.
We have not released any version of mimas yet.
The source code can be retrieved with git on github.com/rubyk/oscit.
If anything seems wrong with this library, please open a ticket (if this seems too much, sent an email to the mailing-list).

The name comes from the smallest natural satellite in the solar system that is spherical (looks like a moon).
Mimas has a big crater which makes it look like some sort of giant eye, and that’s what the graphical interface is about: “see and master it all”.
The development of mimas is advancing quite well and proving that the oscit library is actually built on a strong usability ground.
The interface now handles asynchronous updates: when you enter “edit” mode and move a widget to some other location, a couple of interesting things happen:
You can see an example of a ghost being moved in the example below.

ghost being moved in “edit” mode
As you can see on the screenshot below, “minimas” (oscit controller for iPhone) now also has little sliders magically appearing when an oscit enabled device is connected to the network.
And yes, this works on my iPhone through wifi and it’s super cool !
Now I just have to implement the same ”.views” parser as in Mimas (view is provided by the remote application as xml).

Ok, these screenshots of mimas are not very impressive but they are a proof of concept.
Let me get into the details: the two windows are two instances of mimas, each of which has a zeroconf browser opened listening for “oscit” devices on the network. Each application has found the same two devices “beatbox” and “receive”. Through automated url discovery using oscit protocol, the browsers have discovered that there is a "beatbox"/tempo url that can be represented with a slider (range). The slider’s minimum and maximum values represent the advertised type of “tempo” and moving the value of one slider updates the other one (since both are registered as observers).


This is just the beginning, but it works damn well for a first shot and its the basis upon which all the rest will be built.
Once the patterns of what does what are clear, the rest is much easier…
Let’s code this into iOscit (iPhone app) !
Funding from the Swiss Federal Office of Culture to write the graphical frontend to rubyk !
General ideas for the design of rubyk.