In past few weeks I’ve been working on a project called Graph. I always wanted to create a visual language, a data-flow based language like Grasshopper and SAM Space. And well that actually needs some serious UI coding. I had done some complex UI like the one in Comment IV:
However this is no match to the complexity of the visual language we’re going to build. In other views, visual language is not just a widget application. It’s about coding a very complex graphical view.
When it comes to UI I have done nothing in native UI development. However I have had a lot of codes written in console and web. Kary Framework is truly a remarkable approach in creating UI in console. The note is one really good example of power you can get by using the Kary Framework. notice that everything is happening on a textual console. All the lines are actually sequences of characters, look how the text is justified around the note number.
And it’s not just that, you could create so much more complex UIs with Kary Framework. Intactus is a library within the framework that let’s you generate mathematical formulas and charts with just text.
I like to think of myself as a master of string manipulation and string based UI. I love making text based UI. It’s the mot playful computing hobby I have. It’s a very good practice in coding UI but is not an actual thing. I have done UI with GTK+, Qt, WPF, Windows.Forms, Cocoa… But I never had anything serious doing with those stuff. Web on the other side was the coolest thing I had.
With web you could do so much. Aside from how much you can layout and style perfectly, you can really create nice graphical views. I mean how you’re going to compare SVG tooling with any of the native stuff you get? No way right? It’s just so cool to have all of these. Web is really the best place to work.
At KF we made some experiments on SVG to create a graphing tool. Some of the first ones can be found in our public playgrounds like this one the Experiment 4 in a series of projects code named as “Hedron”.
We started this to explore the interactive graph view implementations. And it led to very awesome stuff. We started to add into it so that it could have multiple connections:
And from there the Graph started. A software that combines a visual graph editor with a powerful programming model. There could be so much done:
Graph brings an interactive Mathematica Notebook that visualizes your code’s result with a great detail on Graph specific stuff:
So the next thing is the visual editor and the code editor for plugins. We’re currently working on directed graph and self connections:
So I’m not going to more detail on this. Let’s save it for the later post! However if you ever liked it come join us in this awesome project!
So it’s our beginning of making this kinds of projects and we are really having fun about it. It now seems that complex UIs are not that complex when you do it very very modular, maybe of those applications that suits the OOP so very much.