Hacker News new | ask | show | jobs
by Theodores 4433 days ago
I am elderly enough to remember IRIS Explorer on SGI Workstations way back in the 1990's, when having a 2Gb hard drive was just about unimaginable.

Here is a quickly Googled screenshot:

http://wwwasdoc.web.cern.ch/wwwasdoc/lhcpp/irisexplorer.gif

IRIS Explorer was awesome, but hardware was not really up to the job in those days. There was also a rich market in GIS and other applications that did what you needed so there was no way you were going to roll your own with IRIS Explorer.

However, the scope and ambition to do stuff with it was incredible. It was far beyond the flat (as in non-3D) internet we have ended up with.

IRIS Explorer was 'flow programming'. You did not have to use it to overlay a vegetation map over a terrain map to render it in 3D and step through the seasons, with widgets to control al aspects of the show, you could use it to render something lame if you wanted to.

Despite the awesome-ness of IRIS Explorer it failed in the marketplace. This was not because of hardware or that there weren't milliions of code modules to casually wire up. For me, trying to do things with it, the problem was because of the 'black boxes'. Sure they had pretty controls on them and you could pump your data in and out of them with a few mouse clicks. However, at some stage you had to go inside those black boxes and work out what was going on. A box could have '2 + 2 = 4' inside it but there was all kinds of toolkit code to take the inputs and set the outputs. A couple of lines of code would do, but those black boxes had a lot of cruft with them. All very off-putting. So, if 'flow programming' with flowhub is to get anywhere, there needs to be an easy gradient between the 'as per the video' way it works and the reality, i.e. inside the black boxes.

2 comments

IRIS Explorer seems really interesting! I agree with you about that "loose of control feeling". I think it is a common effect that happens every time we go to a higher level or alternative paradigm. We have to create ways to easy go trough those levels and back again.

With Flowhub you can always go inside the 'black boxes' creating your own components as reported in the "Component Editor" section of http://bergie.iki.fi/blog/flowhub-beta. It is also possible to create and remix subgraphs that is another way to abstract a complex group of components.

I believe the British 'NAG Group' bought IRIS Explorer and that it is still being used in academia. You should approach them, explain what you are doing and try to get a demo.

Reason being that wheels get reinvented, and, in IRIS Explorer, there were lots of ideas that were far ahead of its time. Some of those ideas have been lost and some bright spark just needs to pick them up again...

I agree wholeheartedly with being able to go inside the black-boxes, and the transition be smooth. In NoFlo, one of the the main runtimes for Flowhub, the components are JavaScript/CoffeScript|. They can be viewed and modified from within the UI. The API is pretty simple, and was improved further with NoFlo 0.5. I'm experimenting with some ideas from the functional and automata/finite-state-machine world on how we can improve things further. I also think it is important that people can freely chose how much and on what level you use text/code OOP and which level you use nodes/graphs FBP. Embed NoFlo as a DSL for a particular problem area, use as general purpose language, or just as a coordination layer between your high-level modules.

| In MicroFlo, another runtime for microcontrollers, they are C++