I've been having fun in Krakow at the eCLA summit 2019 with 200 of my LabVIEW friends. Related to my Immediacy research one of the things that really interested me was a discussion about Semantic zoom. I think we're beginning to create a common language and I think if it can be pulled off it will really shake things up. The point of this article is as a design conversation piece.
Caveat: This is all blue-sky, none of this exists except in a few peoples heads, nothing is promised.
Here's some of the terms and a definition. I'll be diving deeper into this at NIWeek
I view this as the seamless navigation from one part of the system to another. Even if it isn't actually seamless in the background, my brain needs to think it is. It allows me to do quite complex things without breaking context.
Flow State/Task Absorption
When you are totally engrossed in your activity and lose track of time, more on this at NIWeek. There are physical and mental benefits to attaining this state as often as possible. Good design helps here.
Context Switching / Breaking Context
This is when you have to stop thinking about one thing and start thinking about another. Spoken as a block diagram fundamentalist, it is any time I am removed from the block diagram to do my programming. Breaking context uses up valuable brain slots and pulls you out of the flow state.
I don't want to think about moving from the visible manifestation of the problem to the area of code for the solution. It's a waste of valuable brain slots.
I'll try adding more terms as I come to them, language is important here....
The video below is how I would like to see a State Transition Diagram in the LabVIEW block diagram, it's important to note that I don't want a separate editor (or if it is separate I want to be ignorant of it - seamless navigation is the target here). I did it in Prezi and it really gave me the feeling I was after for the block diagram.
This should be applicable to UML, ERDs, Actor diagrams, System level hardware or whatever else we can think of and could consist of a graphical object that can be placed on the block diagram and when clicked it should navigate to the code (or another diagram). Having some hooks associated with it would be nice too. By hooks I mean LabVIEW code related to actions on the graphical object.
Also I don't want NI to provide the diagrams, I want them to provide the APIs to allow us to build our own tools.
If the LabVIEW devs could crack on and get this to me I'll be very happy.
By the way the eCLA summit was a triumph again, thanks to Professor Piotr Maj and everyone at AGH for being an excellent hosts and everyone at NI who made it happen. Having the product owners over in force again was fantastic and hopefully will be repeated on an on-going basis. Very encouraged by the direction things are going on various fronts. So Kudos to all!