LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
G-Money

Change the Abort button glyph

Status: New

I think that the Abort button glyph should be changed. I see a lot of new LabVIEW programmers use the Abort button as a Stop button. Aborting normally works fine for very small applications or architectures that you learn in LabVIEW Core 1 but not for anything after that. Aborting a VI can leave things in states that you don't want to be in or references open. Sometimes you do need to Abort the code though (other programming environments use Abort buttons) so I don't think we can get rid of it entirely or should we.

 

I propose a compromise of changing the glyph on the Abort button to something other than a Stop sign. I think that some people associate it in the beginning of learning LabVIEW with properly stopping their running code. Unless they learn differently then they will continue to use the Abort button to stop their code. What the glyph could change to is entirely open for debate but I think that something other than a Stop sign might inform users that this isn't the proper way to be stopping code could help.

 

Here's my idea for the glyph but I know there's something better out there:

 

8-12-2011 11-45-23 AM.png

15 Comments
Darin.K
Trusted Enthusiast

The other option you have when you notice that the natural or intuitive response of a large group of users is undesirable is to change the behavior of the program so this intuitive response behaves as expected.  In this case, maybe stop could really mean stop (graceful) and make 'Abort' a different action.  A few thoughts.

 

Like Visual Studio you could have an easy switch between 'Debug' mode and 'Release' mode.  In Debug mode you have all the buttons available, Run When Opened does not apply, debugging is enabled, and whatnot.  Switch to 'Release' mode and quickly you could have things like the Pause and Run Continuously buttons hidden, debugging disabled, and whatnot.  The default configurations should be modifiable like VS.  Now you can have VIs suitable for operation in the IDE without numerous trips through VI properties.  A third option 'Application' could probably eliminate even more settings and buttons quickly for built applications and save a few steps during the build.

 

As a more radical alternative, I have often thought that a 'Stop' button is a natural companion to the Run button.  LV could provide filter events for 'Stop Pressed' to intercept this action if desired.  Perhaps a VI aborted? event could be used as well in those subVIs that you really do not want aborted.  Unhandled and non-discarded events then proceed to abort.  I would probably also keep Ctrl-. equivalent to pressing the 'Stop' button and add a second keystroke (Shift-Ctrl-.) to mean 'STOP RIGHT NOW!' ie. abort.  Sort of the LV equivalent of Ctrl-Alt-Delete.

 

In short a method of changing the Stop Sign behavior from 'Abort' to a graceful 'Stop' when desired could be interesting for VIs running in the IDE.

SteveChandler
Trusted Enthusiast
Darin, I was just going to post the idea to provide events for abort. You should post that - I will kudos it. It should also be fired when the abort prim is called and have a filter event as well.
=====================
LabVIEW 2012


RavensFan
Knight of NI

I disagree with have an event to capture the abort button.  The abort button is supposed to be the end all be all end the program now stop button.  It is intended to stop runaway programs in the event of a bug.  If you put an event in there to capture the abort, now you've taken away the emergency stop that this button is supposed to represent and put yourself back into code, that is probably not working properly, otherwise why are you trying to abort the program.

 

Now I'm not against changing the icon on the abort button to represent the emergency stop nature.  But overall,  new LabVIEW programmers abusing the abort button as a normal stop is a matter of training them.  And if the user of the LV application are using the abort button when they shouldn't is a matter of the LV programmer designing the program so that they can't do that.

David S.
NI Employee (retired)

I like the jolly roger! 🙂

David Staab, CLA
Staff Systems Engineer
National Instruments
SteveChandler
Trusted Enthusiast

Good point Ravens Fan about abort. There needs to be an emergency stop for runaway applications. Maybe abort could do something like the Windows task manager and warn about killing the VI.

=====================
LabVIEW 2012