Link Search Menu Expand Document


OOCSI is a message-based communication framework that connects clients across different platforms or programming languages. OOCSI allows to send, receive and broadcast messages with arbitrary content. OOCSI is a message-based communication framework that connects clients across different platforms or programming languages. OOCSI allows to send, receive and broadcast messages with arbitrary content.

The OOCSI mission is to create and maintain a simple systems-interaction fabric for use by designers. OOCSI has a bit of a history, check it out if you like. We also have some future plans.

What does “OOCSI” mean?

Well, first of all, thsi is how you pronounce it: [oo:k:see] (rhymes with “oopsie!”) Fun, right? Do it again.

OOCSI was first an acronym for out of control for semantic interactivity, which is a nod to Kevin Kelly’s book “Out of Control” which is about designing (bio-technological) systems at large scale. The notion of designing systems and all implications of doing so in design were and still are interesting to us. Semantic interactivity is about the way we can communicate of the system with named (“semantic”) pieces of data and using them in interaction and interaction design. Later we started using a slightly different “unrolling” of the acronym: Object-Oriented Communication for Semantic Interactivity which relates to the original vision of object-orientation applying to a system of communicating entities.

And yes, this explanation is way too long to be catchy, but we can’t help it. OOCSI is what stuck with us over the years.

What is it?

OOCSI is a design prototyping middleware that allows ‘clients’ across platforms and programming languages to communicate via a ‘server’ (or ‘broker’ if you prefer middleware terminology). The design prototyping part is that OOCSI was developed specifically for use in design prototyping projects and fast iterations. That means, you can start really fast with OOCSI and get your clients communicate within minutes.

OOCSI has a lot of features that make connecting and communicating between OOCSI clients super easy and versatile. We recommend looking at the OOCSI tools which help with connectivity issues, but also simplify prototyping with OOCSI.

Oh, you want to know more? Great! On the about page we tell you more about the OOCSI mission and on the historical overview page you can read more about the history of the middleware from its roots in 2013 to the newest features and improvements in 2022.

On this website, we explain what the OOCSI system is, what features are available, how you can use it in design and what else you can try out. Also, we provide different types of learning resources that you can use to educate yourself or others about OOCSI. In the about section, we cover history and pointers on how to get started with an OOCSI server and a client library. If you are interested in the OOCSI protocol, for instance to implement a client on a platform that we don’t yet support, we also explain that.

Getting started

Great, you want to try OOCSI! What do you need to do? Two steps:

  1. Locate an OOCSI server or run your own server
  2. Find the right client library and use it in your code

Server and client need to be on the same network, often on the Internet or in a local network. You will need the server IP address (something like or domain name (something like

Learning about OOCSI (or teaching with it)

Check our learning resources and especially the videos. If you are a fellow teacher in Design, Architecture, Creative Technology, Computer Science or beyond, head over to the teaching resources. We would be happy about hearing how you use OOCSI in education. ❤️


The design and development of the OOCSI platform is a voluntary effort driven by design education and research need, and a healthy dose of curiosity. If you have ideas how we can make the middleware more reliable, scalable or more useful to you, let us know: open an issue in the main OOCSI issue tracker on GitHub or in the issue tracker of an OOCSI client library (see clients). The latter is great if you run into trouble with a specific client implementation.


All OOCSI technology, both server and client implementations, are licensed under permissive, open-source licenses: MIT and Apache 2.0. We value sharing of the technology in application to design and other domains, and we welcome contributions to the technology (on GitHub) and to the documentation.

Creative Commons Licence
The work on this website including examples, use-case and media, is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

This documentation site was created by Mathias Funk, Industrial Design, Eindhoven University of Technology. Contact us for feedback, questions and support.

Table of contents

Copyright © 2013-2024 Mathias Funk. test