Most software systems are incredibly complex – think large monolithic software, distributed systems, or systems composed of microservices (or self-contained systems). When something goes wrong or the system needs to be changed, developers and administrators have a really hard time figuring out what’s going on inside it.
According to the Economist, David Gelernter once said that “beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity.” Since reading about Gelernter’s “Mirror Worlds” ten years ago, I’ve been dreaming of a SimCity-like visualization of software systems, processes and workflows that shows us messages and data moving between their different parts, and lets us inspect and interact with it. Wouldn’t it be amazing to see data moving back and forth as traffic on the streets? Isn’t it unfair that gamers have access to such amazing graphics, while our admin and devops tools are stuck in the 1980s?
Dockercraft, a Minecraft-based admin UI for Docker containers, is the closest thing I could find so far. The CodeCity and UrbanSim projects (the latter evolved from ViziCities) are neat city visualizations. But the thing I’m dreaming of doesn’t seem to exist yet.
I hope that someday, 3D game engine tools become so easy to use that this medium-skilled Web dev can use them to build “city visualizations” all by himself. Please let me know which tools you can recommend, or whether what I’m looking for is already available!