Programming Software: Less text, more graphics.

Since introduction of CRTs and keyboards programming software has been doing writing plain text. Initially using simple text editors, then evolving to the Integrated Development Environment which incorporated also the rich features of Graphical User Interfaces. Most of the graphical development work was related to designing visual interfaces (arranging windows, buttons, lists, etc.) and drawing diagrams (for design and documentation). But the programming itself is mostly text-based.

Currently, most (source code) programming interfaces look like this one…

However, the use of graphical feature towards programming is growing. Either to simplify the error-prone text programming, or to rise the level of abstraction used in writing software. Let’s see some products and ideas going on this direction…

1.- Constant Velocity IDE.

This is just a concept vision project of a future idealistic programming environment.

 Just see how a class (a programming abstraction) can look like:

2.- Code Bubbles.

This project is pretty interesting in about how to make programming more fluent. Instead of having long text files with code, it represents code parts as “bubbles” which can be graphically arranged, linked, annotated and grouped together as needed.

Let’s see this innovative environment…

3.- 12 Blocks.

This is my favorite, a product for Robotics which present programming parts (sentences, loops, calls, etc.) as jigsaw alike pieces called blocks.

You can see the simple, but intuitive design, showing connectable/pluggable parts, nested loop zones and their parameter inputs…

I know that the idea of graphic programming has been around since the GUI inception in the 70s but, due to complexity of software programs, it has not advanced so much it productivity and acceptance. Hopefully, the current trends of making software more descriptive (less “how to do”, more “what to do”) will rise the abstraction level enough to take advantage of graphics and depend less on detailed text code.