Welcome to OOCSI

What it is

A prototyping middleware for design education and research designed and developed at the Industrial Design department of Eindhoven University of Technology. OOCSI is completely open-source and published under a permissive license. Consider contributing on GitHub.

How to learn more?

We are currently preparing some more information material about OOCSI and a series of short video lectures. In the meanwhile, you can read more about OOCSI on the wiki.

What is going on right now

An OOCSI server can be busy at times; currently, this is happening:
More metrics.

The following clients are currently connected (refresh page to update): heyOOCSIClient, http-web-request, echo, webclient_1716935441313, webclient_1716935441265

The following channels are currently open (refresh page to update): heyOOCSIClient, http-web-request, echo, heyOOCSI!, webclient_1716935441313, amazonBuyChannel, synced_text_channel, webclient_1716935441265,

bigger version
(Your client does not have any emoji? Well, check heyOOCSI how to add one.)
This is a public server that allows open connectivity. Please use it responsibly and be aware that all data is in principle visible to all other users. Do NOT send confidential, personal or secret information. Fair use applies.

The server will not store any information. Log files may contain OOCSI-specific connection meta-data, but no personally identifiable information such as IP addresses, email addresses etc.

What you can do here (on this server)

  • - Build and test prototypes that need connectivity
  • - Test and evaluate OOCSI for your use-case
  • - Try some examples

How to do that? Check out the connection options below.

How to connect

OOCSI can be used by many different platforms and has libraries or bindings for different programming languages. See below for some options:

  • Processing
    Connect to this server:
    OOCSI myOocsi = new OOCSI(this, "my_unique_handle", "ADDRESS");
    More information: setup & use.
  • Arduino / ESP (C/C++)
    Connect to this server:
    OOCSI oocsi = OOCSI(); oocsi.connect(OOCSIName, hostserver, ssid, password, processOOCSI);
    More information: setup & use.
  • Python/Micropython
    Connect to this server:
    oocsi = OOCSI('my_unique_handle', 'ADDRESS')
    More information: setup & use.
  • Websocket (Javascript)
    Connect to this server:
    More information: setup & use.
  • Java/Android
    Connect to this server:
    OOCSICommunicator oc = new OOCSICommunicator(this, "my_unique_handle"); oc.setReconnect(true); oc.connect("ADDRESS", 4444);
    More information: setup & use.
  • Command line
    Send message to a channel on this server:
    curl -X POST https://ADDRESS/send/testchannel -d "sender=myhandle&param1=1.6&param2=text"

With these different languages OOCSI can be accessed on most popular platforms on desktop (Windows, Mac, Linux), mobile (iOS, Android) and embedded (Raspberry Pi, ESP, ...).