I
Interface Vision
blog.interfacevision.com · Personal blog · on HN since 2010
Blog on visual programming languages, mental models of programming and software design, covering tools, specifications and developer culture.
What HN saysCommenters link its visual programming language snapshots as a valued resource, while others dispute its claims about no-code tools and where visual languages fit.
16HN people shared it
11linked it in comments
18stories submitted
404story points
2 years agolast shared
2010people per year2026
Most-shared posts
- 1Visual Programming Languages – Snapshots11 people · 276 points · first shared 2014 · 125 comments on HN
- 2There Is No Single Mental Model for Programming2 people · 4 points · first shared 2014 · discussion on HN
- 3Message-Oriented Programming with JavaScript2 people · 4 points · first shared 2014 · discussion on HN
- 4Feeling Dirty on Hacker News1 people · 83 points · first shared 2011 · 38 comments on HN
- 5How to use BDD to discover value-add for your startup1 people · 21 points · first shared 2011 · 16 comments on HN
- 6Developers: Give Each Other a Fighting Chance1 people · 4 points · first shared 2011 · 1 comments on HN
- 7Mocking With Paper 531 people · 4 points · first shared 2012 · discussion on HN
- 8A Programming Language Based on Composition1 people · 2 points · first shared 2014 · discussion on HN
- 9Should the Class Object Be Enumerable?1 people · 1 points · first shared 2012 · discussion on HN
- 10Specifications and Quality1 people · 1 points · first shared 2010 · discussion on HN
- 11JavaScript and Homoiconicity: Source-code That Is a Data-Structure1 people · 1 points · first shared 2014 · discussion on HN
- 12Hacking: The Universe Had it Right From the Start1 people · 1 points · first shared 2011 · 2 comments on HN
- 13You see Coding as a Loosing Game if You Focus on Testing1 people · 1 points · first shared 2012 · discussion on HN
- 14I Now Understand The Importance of Early Adopters1 people · 1 points · first shared 2012 · discussion on HN
- 15Example visual language pwct 01.png1 people · first shared 2014
What HN people wrote when they linked it
rendall · 2022-01-02
You give two examples (spreadsheets, Autohotkey) that actually contradict your central thesis of no good tools. Seems like those are examples of ordinary people successfully using no-code to make their lives easier?
There are so many free programming languages available to anyone interested, ranging in human comprehensibility from (the incomprehensible) brainfuck [0] to natural language interpreters for writers of interactive fiction [1], and everything in between. Visual programming languages [2], languages for children [3], languages for visual artists, for musicians, for stock traders. There's even a language using power ballad lyrics [4]!
I love your sentiment that programming is for everyone, but with respect I utterly disagree that there are no good tools for ordinary people to use. If anything, there is an overwhelming, embarrassment of riches.
But, maybe you are right? Maybe you have an insight that could be helpful? Share it, man! The world needs you!
> ...we kneecap them with awful tools
Who is this "we", Kemosabe?
If you want to help make interactive narratives easier and less prone to bugs, I have a fallow side project I need help with [5]. These people seem cool [6] and could use your insights, I'm sure (seem to be defunct, but perhaps from lack of interest? Jump start it? Track them down, find out what happened?)
[0]
https://en.wikipedia.org/wiki/Brainfuck
[1] http://inform7.com/
[2]…
mottosso · 2019-06-14
I love these. Here's one more: http://blog.interfacevision.com/design/design-visual-progarmming-langu…
djedr · 2021-02-08
Cool stuff. Wish I found this a few years ago when I dug into this topic for a thesis. Back then I analyzed this incredible resource (warning: clicking this link will load looots of images): http://blog.interfacevision.com/design/design-visual-progarmming-langu…
and came up with my own provisional taxonomy where major categories were "Line-connected block-based", "Snap-together block-based", "List-based", "Enhanced text", and a few others.
Looking back I still think that the most promising direction when it comes to real-world applications of visual programming is the hybrid approach: make a language which has "real-time" interchangeable text and visual representations -- you get the best of both worlds this way (that was basically the topic of my thesis[1]).
I thought it was an original idea when I started out with my research, but sure enough there were attempts in the past. And towards the end (4+ years ago) I discovered a fresh one which seems to be still going strong, albeit rebranded: https://github.com/enso-org
Last time I checked they were making what I consider a bad design choice by leaving the structuring of the visual representation entirely up to the user, but maybe that's fixed now.
Anyway I think it's a cool topic and worth keeping an eye on.
[1] If anyone is interested it's available here: https://djedr.github.io/masters_thesis.pdf
tomek_zemla · 2014-06-05
It's a fascinating discussion. Maybe we can meet half way?
> I definitely believe that there is value in artists learning to think with the rigor that code encourages. It's a fascinating cross-pollination...
I agree!
> Design is remarkably accessible...
But this... Well it depends on the point of view. Design can be as intimidating for geeks as programming is for artists.
I have nothing against making programming tools more user or artist friendly. In a sense Photoshop is such a step - it allows many creators make sophisticated images without learning to draw and without learning to program. And certainly many many amazing works were created with it and similar tools.
The point I am trying to make here is that the visual/artistic power or possibilities of generative art and design are very much driven and dependent on the artist's fluency to program. There were many attempts to create programming tools [1] that let you avoid having to slog through typing the code, but seems like none of them would match the expressive possibilities of 'raw' coding and gain any wider adoption. In other words all of them have significant limitations and this would be a step back from the point of view generative artist.
And just to make it clear, I don't think that using any of these higher level tools is wrong or produces works of lesser value. It's just that these works are outside of unique possibilities of generative art driven by traditional coding.
[1]…
dyarosla · 2016-12-19
I've done a lot of research into other VPLs as well, and in theory, all of these ideas are sound.
Unfortunately, it seems like VPLs only work well for well-defined domains (say, a VPL for shaders, a VPL for compositing, a VPL for EE, a VPL for business logic)
Once you try to go general, and add "zooming in" and "zooming out" mappings, the number of ways that people would prefer to visualize each becomes exponentially more complex to display/interact with; so much so that then simply using text seems like a general-enough solution.
I'm still hopeful that a general purpose VPL could exist and work for 'real' programs, but so far my search has come up empty.
A good reference list to look at for existing VPLs:
http://blog.interfacevision.com/design/design-visual-progarmming-langu…
vmorgulis · 2016-03-09
I rediscovered TreeSheets from another thread about visual programming:
https://news.ycombinator.com/item?id=11244558
http://blog.interfacevision.com/design/design-visual-progarmming-langu…
http://strlen.com/aardappel-language
ThomPete · 2016-03-08
Here is a comprehensive list of different visual programming languages.
http://blog.interfacevision.com/design/design-visual-progarmming-langu…
The issue isn't visual programming but rather that we haven't found many good cases to use it still.
I do think visual programming is going to have a bigger and bigger impact in things like robotics, space exploration etc where you need more tactile access to computation power.
It's kind of like with the idea of a 3d interface. It only make sense when the holistic whole rather than the details are important.
It makes no sense to create a 3d warehouse I can walk around when I could just do a search and a list.
But you wouldn't necessarily want to control a robot doing repairs on your spaceship by having to program it every time you wanted it to do something new.
_random_ · 2014-11-12
To be fair visual programming is a known territory for designers:
http://blog.interfacevision.com/design/design-visual-progarmming-langu…
Also Unreal Engine will be fixed soon ;) - Xamarin is working on C# scripting for it.
ericHosick · 2014-04-14
Apple's objective-c and associated framework were designed to be coded against (and even though it supports message passing, it still heavily uses parameterized sub-routines).
A lot of 3d modeling software provides frameworks where you hook things up instead of coding out solutions (Foundry Modo, Eyeon Fusion, Dynamo are a few). These are very domain specific and not designed to work as general purpose languages/frameworks.
We are working on some ideas for a general purpose compose-able framework and language that uses messages with behavior as the abstraction for communication between sub-systems (http://blog.interfacevision.com/design/design-composition-based-langua…
TeMPOraL · 2014-02-21
Yup. My first reaction to this:
http://blog.interfacevision.com/assets/img/posts/example_visual_langua…
was 'omg, lisp displayed with TreeView; and let me guess what the serialization format of this is' (probably XML).