A visual programming IDE for object-oriented languages
Welcome to Envision


The Envision project aims to develop an IDE for object-oriented languages that features a visual structured code editor and is used for large-scale software development.

Envision is an open-source project using the BSD license. The project is based on the Qt framework and is cross-platform. Envision is developed at ETH Zurich in the context of Dimitar Asenov's PhD studies.

To read about the motivation for building Envision and find out what are some of the key ideas for the IDE, please see the motivation page.


A short introduction that highlights some of the main concepts in Envision.

A demonstration of how the visualizations and interactions in Envision can be customized for embedded domain-specific languages.

Our CHI'16 talk presenting the results of a user study which shows that Envision's rich visualizations can substantially improve the understanding of code structure, compared to syntax highlighting.

Development status

Envision is still a proof of concept prototype and can not be used for programming yet. Nevertheless the current version illustrates some of the key visualization and interaction concepts for the IDE.

Envision currently runs on Linux and Windows. Development is done in Linux. There are two code branches on GitHub:

Implemented features

Missing features required for basic usability

Developer documentation and guidelines for contributors

NOTE: This developer documentation is continuously being updated with new content and is not yet fully complete. If there is something particular you would like to see here, let us know.

For an introduction to the project's design and organization for contributors, please check out the architecture of Envision.

Contributions to the project are welcome. Please visit the contribution guidelines for more details.

How to compile and run Envision?

For building Envision from source see the compilation instructions.

For hints on running Envision see the "Try Envision" page.


To see a complete list of contributors check out the credits page.