LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Kirk

Cleanup Failure Should Show Dialog

Status: Declined

Any idea that has received less than 4 kudos within 4 years after posting will be automatically declined.

Sometimes when you hit the Cleanup button in a block diagram it doesn't work.   There seem to be many reasons, complexity of the block diagram, certain objects make it fail, etc.  This idea is not how to fix those failures, but when they do occur, the cleanup routine should give some response back to the user.  A dialog explaining what is wrong, should be shown.

 

Currently if you hit cleanup and it is going to work, you get the spinning blue circle and it cleans up.  If it doesn't you get NOTHING.  As if  your click wasn't registered.  There should be some response.

 

9 Comments
X.
Trusted Enthusiast
Trusted Enthusiast

Never seen the Cleanup fail. Can you show some examples?

But then, I never use the Cleanup tool (past a handful of objects on my diagram)...

Kirk
Member

I use clean up a lot and I have had it fail many times.  I can't post any examples here.  Usually it is with very large VI's.  However this idea is not on how to prevent it or diagnose it from failing, but that when it does fail, it should give some indication to the user.

 

 

AristosQueue (NI)
NI Employee (retired)

The algorithm never fails. As far as it is concerned, it produces a clean diagram every time. If it knew that it failed, it would clean some more. What you're seeing is the results of the clean diagram algorithm.

 

If you have proposals for augmenting the algorithm that do not involve "build an artificial intelligence into the product", those are helpful... please post those as specific ideas. But diagram cleanup is one of those very very hard problems -- we quite literally have univeristy researchers who study that problem for research products, and every version we try to incorporate the latest ideas. But it isn't straightforward.

 

I'm going to suggest that this idea be closed because what it is asking for is impossible -- the algorithm never fails.

Kirk
Member

The algorithm DOES fail.  At least from the user perspective it does.  Many times I click the cleanup button and nothing happens.  That is a failure.  No circling wait cursor or anything.  And my block diagram is still messy.   Other times I can select a section of the code and click cleanup and it works.  Cleans up the diagram and the wait cursor happens, and all is well.  I am just asking that when it does fail, that a dialog be put up to explain what caused the fault.

 

I can post a video of a failure if you like.

 

-Kirk

AristosQueue (NI)
NI Employee (retired)

> Many times I click the cleanup button and nothing happens.

 

Um... are you sure you don't have items selected when that occurs? If you have anyhting selected, the algorithm cleans only that selection. Try hitting ctrl+U twice (the first one clears the selection list so the second one hits the whole diagram).

 

But if nothing happens the second time, that just means the diagram is already clean from the algorithm's point of view.

 

> At least from the user perspective it does

 

Yes. But that's not a failure. That's just a diagram that is cleaned in a way that looks bad. Big difference, and one that matters from a technical standpoint.

The algorithm has no way of knowing that it failed. It is, by definition, a cleaned up diagram regardless of the results.

 

 

RavensFan
Knight of NI

Here is an example of a VI that might be considered a failure.  http://forums.ni.com/t5/LabVIEW/Help-with-troubleshooting-program/m-p/3287007#M960659

 

It has a messy, complicated architecture.  It's block diagram is pretty large.  I was able to clean up one set of case structures with BD cleanup in a few seconds.  But trying to clean up the whole BD at once, it has taken over 10 minutes and the cursor is still sitting there spinning.  Is it just taking an extremely long time and will eventually return?  Is it locked up somewhere in its algorithm and will never return?  I have no idea.  I can see how having some feed back on the process would help in knowing how patient I would need to be.  Once my patience ran out, all I could do was to crash LabVIEW when it failed to respond.

 

UPDATE:  I wasn't patient enough.  It did return from BD cleanup after about 12 minutes.  My opinion is that this idea would be better if it was asking for a diagram cleanup progress bar pops up during the process if it takes longer than X seconds.  My guess X should be about 10-15 seconds.

Manzolli
Active Participant

When the user asks for a clean up, pops up a modal window with a progress bar (%), a chronometer showing the elapsed time and a "Cancel" button to allow user to interrupt the process. The window should wait couple seconds to appear in order to avoid useless pop ups in extremely fast cleanups. How about that?

André Manzolli

Mechanical Engineer
Certified LabVIEW Developer - CLD
LabVIEW Champion
Curitiba - PR - Brazil
AristosQueue (NI)
NI Employee (retired)

Can't do a progress bar... the algorithm is open ended... it faces the Turing Halting Problem... no way to know how much time it'll take to run except by running it.

It could definitely have a time elapsed display.

Darren
Proven Zealot
Status changed to: Declined

Any idea that has received less than 4 kudos within 4 years after posting will be automatically declined.