drjdpowell Posted May 2, 2020 Report Share Posted May 2, 2020 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. 2 Quote Link to comment
Albert Geven Posted May 2, 2020 Report Share Posted May 2, 2020 Hi A lot is solved with quickdrop but not everything... Quote Link to comment
Neil Pate Posted May 2, 2020 Author Report Share Posted May 2, 2020 (edited) 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 Edited May 2, 2020 by Neil Pate Quote Link to comment
Neil Pate Posted May 2, 2020 Author Report Share Posted May 2, 2020 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. Quote Link to comment
Neil Pate Posted May 2, 2020 Author Report Share Posted May 2, 2020 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)) oh no wait, it is not. Here X is close. Here it is close. And now we use the bin for delete. Sigh... 1 1 Quote Link to comment
pawhan11 Posted May 2, 2020 Report Share Posted May 2, 2020 (edited) 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 May 2, 2020 by pawhan11 Quote Link to comment
smithd Posted May 2, 2020 Report Share Posted May 2, 2020 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? Quote Link to comment
Stagg54 Posted May 2, 2020 Report Share Posted May 2, 2020 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. 1 Quote Link to comment
Neil Pate Posted May 2, 2020 Author Report Share Posted May 2, 2020 (edited) 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 May 2, 2020 by Neil Pate 1 Quote Link to comment
Stagg54 Posted May 2, 2020 Report Share Posted May 2, 2020 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. Quote Link to comment
Neil Pate Posted May 2, 2020 Author Report Share Posted May 2, 2020 (edited) 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 May 3, 2020 by Neil Pate Quote Link to comment
Michael Aivaliotis Posted May 3, 2020 Report Share Posted May 3, 2020 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. Quote Link to comment
Popular Post Dataflow_G Posted May 3, 2020 Popular Post Report Share Posted May 3, 2020 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. 12 hours ago, Michael Aivaliotis said: 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. Here's hoping for a LabVIEW NXG: Despecialized Edition! 2 4 1 Quote Link to comment
Neil Pate Posted May 3, 2020 Author Report Share Posted May 3, 2020 (edited) 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 😞 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. Edited May 3, 2020 by Neil Pate 1 Quote Link to comment
Michael Aivaliotis Posted May 3, 2020 Report Share Posted May 3, 2020 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. Quote Link to comment
Popular Post Neil Pate Posted May 3, 2020 Author Popular Post Report Share Posted May 3, 2020 1 hour ago, Michael Aivaliotis said: So I guess NXG doesn't support dot notation unbundling. You mean like this? 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?. 3 Quote Link to comment
Neil Pate Posted May 3, 2020 Author Report Share Posted May 3, 2020 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. Quote Link to comment
crossrulz Posted May 3, 2020 Report Share Posted May 3, 2020 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. Quote Link to comment
Neil Pate Posted May 3, 2020 Author Report Share Posted May 3, 2020 (edited) 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 May 3, 2020 by Neil Pate Quote Link to comment
Mads Posted May 3, 2020 Report Share Posted May 3, 2020 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 😞 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. 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... Quote Link to comment
Michael Aivaliotis Posted May 4, 2020 Report Share Posted May 4, 2020 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. Quote Link to comment
Popular Post Dataflow_G Posted May 4, 2020 Popular Post Report Share Posted May 4, 2020 6 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. Thanks. It was mostly to satisfy myself I wasn't missing some game changing feature or workflow in NXG that was hidden behind its slow and drab exterior. Like you, I haven't seen any examples of large projects running under NXG so wanted to document at least a small project. There was one NXG product owner who saw it and took the time to respond, and noted the event structure feedback was useful. 4 hours ago, Michael Aivaliotis said: So I guess NXG doesn't support dot notation unbundling. I think it had some support for clusters of clusters (see Neil's example), but definitely not for classes and references. Here's a few more issues that I ran into: There's no auto-save VI recovery feature. Save often. Seriously. Accidentally mousing over the wrong thing can crash NXG. If I've gone to the trouble of finding and downloading offline help files, NXG should be able to locally search them (really, they should be included). The wire direction when wiring is wrong after the first anchor point. LabVIEW 20xx selects either vertical or horizontal based on the initial mouse move direction after starting a wire, and for each click when anchoring a wire. NXG respects the initial direction, but anchor clicks do not. I'm constantly tapping the spacebar to change wire direction. This really slows wiring down. Holding the spacebar and click+dragging allows scrolling around the block diagram (panning). If I've just clicked a structure (selected an event), pressing spacebar does nothing. I have to give 'focus' back to the diagram by clicking it first. The different library, tag, SLI (and probably other) views have no consistency in their look and function. Granted they each do different things, but it doesn't feel coherent. No case structure auto complete for enums. Can't type first few letters of enum in case and have it auto complete. Frustrating for very long enum values. There's no way to set the Z-order of front panel controls (I think there used to be in previous NXG versions?) I have to move controls to unplaced items and place them again to get the correct order. No icon view for cluster constants. More often than not, converted VIs don't have the structures, nodes, wires, etc placed on the block diagram's 5px (?) grid. This means any wiring changes can never be aligned properly without moving entire structures, tunnels, nodes, etc. Single wire segment can't be moved in large steps with shift + arrow keys. This is incredibly annoying. Let me disable animations. Palette flyouts/drop downs, pane show/hide, anything. Visual accessibility doesn't seem to be high on the list of NXG design goals, but at least let animations be disabled for performance reasons. 3 Quote Link to comment
Popular Post hooovahh Posted May 4, 2020 Popular Post Report Share Posted May 4, 2020 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. 3 Quote Link to comment
LogMAN Posted May 4, 2020 Report Share Posted May 4, 2020 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? Yes, this is a single VI. NXG 4.0 has a terminal limit of 128x126x126x128. Yay, no more clusters Quote Link to comment
LogMAN Posted May 4, 2020 Report Share Posted May 4, 2020 This is what happens when you change the UI scaling while NXG launches (because what else is there to do?) And icons can be a little frustrating at times... Icons make me happy.mp4 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.