Software development is hard. There need to be tools to make it easier.
The rooms we work in have whiteboards filled with diagrams that help us visualize the software being built. But why can't those diagrams live in the computer, and build the actual software in the process?
I believe it's possible. Not by inventing a new language that everyone has to learn, or making a new modeling tool, but by a different approach.
The idea is to layer a new kind of visualization on top of existing languages. Something that draws out all the "connections and effects" to let you see exactly what's going on at a glance.
This approach will keep the diagram we draw in sync with the code at all times and let you work solely in the code or solely in the diagram.
Think of how easy it is to navigate a map or arrange photos on an iPad. I plan to bring the same sensibility to coding and code navigation.
But better usability and good visualizations aren't solely what makes the iPad so popular, it's when people can communicate easily that great things become possible, so part of this vision is collaboration tools that will let developers work with each other, with testers, and with product owners, in more direct ways.
Some keys to this product are:
It will show you everything that matters as you write and debug software so you're never confused about what's going on or what just happened.
It will allow you to re-play almost anything so you aren't left with that sinking feeling of "oh, that last change worked better than this one... now what did I do again?"
It will automate what it can, so that you're spending less time doing "busy work", and more time building great software.
© co3de LLC