Jump to content
Neil Pate

NXG, I am trying to love you but you are making it so difficult

Recommended Posts

I first got depressed about NXG at one of the CAB sessions at a CLA Summit.  It was on UI improvements with NXG.  More modern UIs is something that could be significantly improved over CG.  Think of all the techniques demonstrated in web pages or smart phones.  At the very least, I was interested in the improved menus NXG would have (icons? Tip strips?).

Instead  I sat there looking at a giant skeumorphic dial.  Lots of detail, sharp and pretty.  And resizes, which is nice.  But nearly useless to me, as I've had no need of dials in decades.  And as far as I know, NXG has yet to even have short-cut menus on controls, let alone have any improvements.

It is seriously sad that vector graphics resizability is the only thing NXG has going for it, UI-wise.

  • Like 2

Share this post


Link to post
Share on other sites
35 minutes ago, Albert Geven said:

Hi

A lot is solved with quickdrop but not everything...

Speaking of quickdrop... "esseqz" really just flows out of the fingertips does it not? (Thankfully just by typing "Less" in the quickdrop you get want you want). I think the machine learning algorithm that was used to generate these "shortcuts" might need a bit more training data. Pity the algorithm did not at some point put their hand up and say, hang on, this is a bit crazy. Just look at the others,

"ess" for Less...

"erg" for Retain First Error

image.png.8577b417f65f33f6696e983ceca9dca1.png

Edited by Neil Pate

Share this post


Link to post
Share on other sites

Why do web VIs have a different file extension?

Now I have not used these on NXG but I sincerely hope we don't have a different file extension for RT and FPGA VIs.

Share this post


Link to post
Share on other sites

Apparently X is now delete. (As an aside, not sure why the "X" is different sizes on these two icons. Also why do some of these things have blue overlays (like the Create Recursive) but not others (Like Create File Suffix or Check If File Of Folder Exists))

image.png.76f2eb57a24da92738d64e04d1186b13.png

 

oh no wait, it is not. Here X is close.

image.png.ed25fe82b9b1ce8559cff420858d3377.png

Here it is close. And now we use the bin for delete.

image.png.08235ff10ded224ce3a24ec2bce4a0a1.png

 

Sigh...

  • Like 1
  • Sad 1

Share this post


Link to post
Share on other sites

I guess User Interface can be fixed and adjusted later without breaking changes, the same for function groups and shortcuts (or i hope it can be). If they deliver more fundamental things that are pain in CG like problems with relative build paths, unicode, sealed classes, packed libraries linkage, building of multiple layers of libraries without killing labview, out of the box support for source control systems & diff/merge operations... i would for sure try it.

edit

btw, i ve just found this 'hidden gem':

https://github.com/mefistotelis/pylabview

 

Edited by pawhan11

Share this post


Link to post
Share on other sites
3 hours ago, drjdpowell said:

I first got depressed about NXG at one of the CAB sessions at a CLA Summit.  It was on UI improvements with NXG.  More modern UIs is something that could be significantly improved over CG.  Think of all the techniques demonstrated in web pages or smart phones.  At the very least, I was interested in the improved menus NXG would have (icons? Tip strips?).

I totally forgot about that, but I remember feeling the same way about...version 2? I figured since it used microsoft's ui stuff it would have some of the same features like automatic layouts at the minimum, and was disappointed. I know they've since worked on dynamic control instantiation, which is good, but if we're still stuck with finding window bounds and putting the top left corner of a control in right spot, whats even the point?

Has anything like that crept into the more recent versions?

Share this post


Link to post
Share on other sites
On 4/27/2020 at 2:52 PM, Neil Pate said:

 

  • The GUI is so dull in general. The colours are washed out and grey everywhere is just depressing. It sounds silly but it makes me not want to use it.

You are not alone. It is very depressing.

  • Sad 1

Share this post


Link to post
Share on other sites

The GUI of NXG is unfortunately stuck in 2010. Perhaps forever.

The depressing thing is I don't even want to know how much money has been sunk into development.

Edited by Neil Pate
  • Like 1

Share this post


Link to post
Share on other sites
On 4/29/2020 at 10:38 AM, Aristos Queue said:

The directions have changed rather radically on many points in response to user feedback. The new component system is completely redesigned twice from customer feedback, and that's another thing I definitely wish LV20xx could backport. They dropped work on interfaces to prioritize scripting because of overwhelming feedback that the scripting tools were higher priority for getting work done in NXG. (Interfaces help some large apps... scripting helped almost every developer either directly or in the tools written for others.)

I am not on the NXG team, and yet I can point to decision after decision made directly from customer feedback.

For all the complaints I have about NXG, that decision I do agree with.

Share this post


Link to post
Share on other sites

And I had totally forgotten Run Continuously has been removed.

Like all good citizens I don't use this for actually running anything, but it is so helpful when debugging.  In Current Gen when I have a VI that is misbehaving and I already have all the data "pre-loaded" in the controls I turn on the Retain Wire Values, click Run Continuously and I can just hover my mouse over the wires and can usually very quickly spot the mistake in my code.

Why is a feature like this removed? Sure, it is not a great thing to use this to actually run my application, but why removed it? Hide it away somewhere if you are worried it is going to be abused.

I raised this issue in the technology preview forums years ago.

Again, surely there are others who use this feature regularly?

Edit: so I was probably too harsh here, sorry. It seems that in NXG if you have Retain Wire Values turned on and you hover over wires after the VI has run you do actually get a small tooltip type popup that displays the value on the wire. I need to play a bit more with this implementation.

Edit2: actually I forgot another useful scenario where I still use run continuously. Simple VI prototyping. I write some code that does some kind of data manipulation and want to test it quickly manually with a bunch of input vectors. Hit run continuously and very quickly test a bunch of the input values and manually observe the outputs. Now in NXG I will have to create a new VI, drop down a loop of some sort, wire drop in my sub VI etc etc. What a pain in the ass...  🤮

 

Edited by Neil Pate

Share this post


Link to post
Share on other sites
10 hours ago, Neil Pate said:

The depressing thing is I don't even want to know how much money has been sunk into development.

Considering development was started years before even the CABs were a thing. i'd say too much money. For a product that is not used by the majority of veteran developers, this is a problem. This is similar to the Star Wars franchise that was taken over by Disney. They decided to move forward with new characters and stories and burn the past.

I'm hopeful that this will still evolve and improve over time. ...while I'm still alive.

Share this post


Link to post
Share on other sites
1 hour ago, Dataflow_G said:

Thanks for putting down all your thoughts and providing examples, Neil. I agree with every point you've made. Have you used the Shared Library Interface editor yet? That's some next level UI inconsistency.

I wrote a couple of blog posts on my experience converting a small (< 100 VIs, < 10 classes) LabVIEW project to NXG (see Let's Convert A LabVIEW Project to LabVIEW NXG! Part 1 and Part 2). During the process I made a lengthy list of issues and came to the same conclusions many people have voiced in this thread. Of the issues uncovered during the conversion, some were due to missing features or bugs, some a lack of understanding on my part, but a surprising number were due to interesting design choices. The TL;DR of the blog is there is nothing in NXG for me to want to continue using it, let alone switch to it from LabVIEW. Which is sad because I was really hoping to find something to look forward to.

Here's hoping for a LabVIEW NXG: Despecialized Edition!

 

Your two blog posts are really interesting reading, thanks for taking the time to document your experience. You really are persistant! This is a really nice writeup that will probably be totally ignored by all the managers and c# developers at NI and their sub contractors.

Your example of setting the scale ranges just screams .net interface! Yuck 😞

image.png.223f3ed020ca54ea4bda197d9b355366.png

 

Same with this unbundling drama in classes. No LabVIEW developer would look at the technique in NXG and come to the conclusion that is a good experience.

 

image.png.8e3e4766a37fad273725ada0a6150d00.png

 

Edited by Neil Pate
  • Sad 1

Share this post


Link to post
Share on other sites
1 hour ago, Neil Pate said:

Same with this unbundling drama in classes. No LabVIEW developer would look at the technique in NXG and come to the conclusion that is a good experience

So I guess NXG doesn't support dot notation unbundling.

Share this post


Link to post
Share on other sites

I am not sure if I have mentioned that the fist time NXG starts it essentially freezes my computer so hard I cannot even click anywhere else (like the Windows start menu) or bring up the Windows task manager. This hard freeze lasts anywhere from 30s to 60s. Thankfully things are better after subsequent launches.

 

Share this post


Link to post
Share on other sites
On 5/2/2020 at 8:21 AM, Neil Pate said:

Speaking of quickdrop... "esseqz" really just flows out of the fingertips does it not? (Thankfully just by typing "Less" in the quickdrop you get want you want). I think the machine learning algorithm that was used to generate these "shortcuts" might need a bit more training data. Pity the algorithm did not at some point put their hand up and say, hang on, this is a bit crazy. Just look at the others,

"ess" for Less...

"erg" for Retain First Error

Those are the same as what is default in LabVIEW 20XX.  They were chosen by Darren specifically to only have to type with the left hand.

 

On 5/2/2020 at 3:47 PM, Neil Pate said:

And I had totally forgotten Run Continuously has been removed.

I remember being part of the discussion to remove it.  I thought it was supposed to turn into a right-click option on the run arrow.

Share this post


Link to post
Share on other sites
5 minutes ago, crossrulz said:

Those are the same as what is default in LabVIEW 20XX.  They were chosen by Darren specifically to only have to type with the left hand.

I am not convinced this is a good idea to promote these to mere mortals though. Someone new to LabVIEW might actually try and use and remember this (instead of just typing the "<" symbol which also works...)

Also, as a leftie my right hand hovers on the arrow keys when programming, so nowhere near the left hand side of the keyboard.

Edited by Neil Pate

Share this post


Link to post
Share on other sites
4 hours ago, Neil Pate said:

Your two blog posts are really interesting reading, thanks for taking the time to document your experience. You really are persistant! This is a really nice writeup that will probably be totally ignored by all the managers and c# developers at NI and their sub contractors.

Your example of setting the scale ranges just screams .net interface! Yuck 😞

image.png.223f3ed020ca54ea4bda197d9b355366.png

 

Same with this unbundling drama in classes. No LabVIEW developer would look at the technique in NXG and come to the conclusion that is a good experience.

 

image.png.8e3e4766a37fad273725ada0a6150d00.png

 

Nice examples. The CG code shows how a good graphical programming language allows you to express a "thousand words" with a simple picture. Not just due to the graphical code, but by the fact that the process of selecting an item, and the information from that selection process, is separated from the resulting code.  NXG  takes a step backwards, and operates closer to how it  is/has to be in text programming (dot notation included).

Seeing the rise of touchscreens, Microsoft thought we would all love Windows 8 and its Metro UI. Someone should have told them that if touchscreens were all we had, someone would make a hit inventing the mouse...

Share this post


Link to post
Share on other sites
4 hours ago, Neil Pate said:

That is possible. Obviously for the sake of change a colon is now used to separate the elements, because hey they were changing everything else, right?

Oh, so it selectively only works for clusters then. Well at least NXG is consistently inconsistent.

Share this post


Link to post
Share on other sites

Oh you're drugging up more of my old complaints.  WebVIs were to me the most important bullet point to use NXG.  Today almost all of my non FPGA code is written to work on Windows/RT/Pharlap/Linux/Mac.  I try to do my best to not lock it down to an OS as some arbitrary limitation.  So when WebVIs came around I figured I'd just think of it as another target, and the same VI for Windows can be used for WebVIs...nope.  New file extension, and various limitations.  The reason for this is that the controls on a WebVI aren't the same controls as Windows.  The WebVI controls are HTML5 compatible controls that look and behave as closely as the Windows-only counterparts.  Almost 2 years ago I was told that NI was moving toward having both platforms use the same control technology, thereby making them more compatible with each other...but well that apparently hasn't happened yet.  My specific complain is that in current LabVIEW I can go to Tools >> Web Publishing Tool and create a HTML file that allows me to view and control a VI running in Windows or on RT without having to write any code.  Yes it is very limiting on the browsers it supports, and it has issues.  But in a couple minutes I can be controlling a VI running on any non-FPGA target from a computer on the network.  NXG can do something similar, but there needs to be lots of code to handle communication.  And updating one application means having to update the other.

Another thing you touched on was the front panel UI.  Ugh.  Okay so I harp on the fact that we are missing System Controls every chance I get.  NI usually pushes back and is like "Well why do you need system controls?" Most likely trying to gauge the importance of it.  I say: Look at most LabVIEW front panels and you can know right away that they are written in LabVIEW.  I don't want that.  I want a program to just look like a normal native system looking program.  And when the software is installed on a new system, my application will use those new system looking controls and now look native to that system.  Look at how old and drab LabVIEW UIs look, that is why I want system controls.  The majority of LabVIEW UIs look like they are old and stuck in the early 2000s.  I had one person from NI say "But NXG is new and fresh and modern and doesn't look old".  And I said "Well for now, but in a few years all NXG programs will have the same problem, they will all look the same and dated by the new UI standards."  And here we are.

  • Like 1

Share this post


Link to post
Share on other sites

One thing I absolutely like about NXG is the fact that it goes to extreme levels for absolutely no reason. What could possibly go wrong?

1882229783_Decisionsweremade.png.5e18e3efe577f044d3fe86586e6af361.png

Yes, this is a single VI. NXG 4.0 has a terminal limit of 128x126x126x128.

365334558_Finallyenoughterminals.png.4de5fb5cd177c9e7576eda098a56ed3c.png

Yay, no more clusters :shifty:

Share this post


Link to post
Share on other sites

This is what happens when you change the UI scaling while NXG launches (because what else is there to do?)

566088830_Startupscreenoffcenter.png.ed58665283ac3f9db4896315bde605f7.png

And icons can be a little frustrating at times...

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.