Why you (yes, YOU!) should use Quick Drop

It has come to my attention in recent weeks that a shocking number of LabVIEW programmers aren’t taking full advantage of Quick Drop. Even some experienced LabVIEW programmers I’ve spoken with seem surprisingly skeptical that Quick Drop will make them faster, and the majority of novice LabVIEW programmers weren’t even sure as to what ‘Quick Drop’ is! Consequently, I felt the urgent need to post about the value of Quick Drop and how you (yes, YOU!) can easily make the switch and improve your programming experience.  If you find yourself loosing a significant amount of time fumbling through palette after palette in LabVIEW looking for some dawg-gone VI (only to mistakenly hover over the wrong item and have to start over) then please read on – my singular and unabashed goal in today’s entry is to convince you that Quick Drop (a feature you already have in any LabVIEW version after 8.6) will save you a tremendous amount of time.

It’s been said that ‘necessity is the mother of invention,’ and this was especially true of Quick Drop.  The original version was written by my friend and colleague, Darren Nattinger (many of you may know him from the forums as dnatt) because he was tired of fighting with palettes to find what he needed. It’s worth noting that Darren currently has a trophy at his desk touting his place as the worlds fastest LabVIEW programmer, and his blazing fast speed is made possible by Quick Drop. If you ever want to compete with him (or if you just want to save a tremendous amount of time in your day-to-day programming experience), I highly recommend learning Quick Drop.

So what is Quick Drop?  It’s an alternative to the palettes that allows you to place items (VIs, primatives, controls, indicators, etc..) by typing the name of the item you want.  To launch Quick Drop at any time, simply press CTRL+Space.  Like the palettes, the items that are available from this dialog depend upon whether the block diagram or front panel was active when you launched Quick Drop – unlike the palettes, Quick Drop can also place items (subVIs, controls, classes) that you have in your Project Explorer.

When you press CTRL+Space on the block diagram, you’ll see Quick Drop:

Try typing the name of a common function – for example, begin typing ‘Basic Function Generator.’  After only a few letters, the function we want will appear in the list – continue typing until Quick Drop has auto-completed the name (you should only need to type ‘Basic F’)  At this point, you can quickly place this item on the block diagram by left clicking where you want it to go – to be clear, once auto-completed, you DO NOT need to explicitly click the item in the Quick Drop window.  All you need to do is type the name and click once on the block diagram to place it.  Note: if the item you want appears lower on the list or is not auto-completed, you can explicitly click on it to select it before clicking on the diagram to place it. However, I’ll discuss some techniques that will help you avoid this in a minute.

Once you’ve mastered this, your LabVIEW workflow quickly becomes 1) type 2) click once 3) wire 4) repeat.

In addition to quickly placing items on both the block diagram and front panel of VIs, Quick Drop provides additional functionality that can save you time with common and repetitive tasks.  Take, for example, the ‘Basic Function Generator’ VI we just placed on the block diagram – for most people the next step is to wire up constants to define the signal parameters – this requires hovering over the terminal, right-clicking, and mousing-over ‘create > constant’ for every single item we want to wire in.  Instead, try the following:

  • left-click the VI on the block diagram to select it
  • with the VI selected, press CTRL+Space to launch Quick Drop again
  • once opened, press CTRL +Shift + D
  • press CTRL + U

Quick Drop will run scripting code to place constants for all input terminals and wire them up.  The final shortcut (CTRL+U) will quickly clean-up this newly created code.  Consequently, you should now see something like this:

Think of how much time we just saved simply by using a series of keyboard shortcuts!  However, we’re only just now beginning to tap the full potential of Quick Drop. Other shortcuts that you can use on selected items from within Quick Drop include (not all available in older versions):

  • CTRL+D: Place and wire all controls and indicators
  • CTRL+R: Remove and wire-through item
  • CTRL+P: Replace selected item with auto-completed item
  • CTRL+I: Insert auto-completed item on all selected wires
  • CTRL+SHIFT+I: Insert a single-instance of auto-completed item and wire
  • CTRL+T: Shift labels for controls, indicators and constants to appropriate locations

To fully optimize the process of finding items in this rather large list, we want to make sure that the most commonly used functions always boil up to the top.  For these items in particular, we also want to minimize the amount of typing we have to do in order to find them – to this end, Quick Drop allows you to create shortcuts to specific items. Ideally, these shortcuts are all entered using the left-hand (or whichever hand typically stays on the keyboard), so that your remaining hand is always ready to immediately click and wire.  You can create your own by clicking ‘Shortucts’ from the Quick Drop window, or you can copy those of the world’s fastest LabVIEW programmer, here.

Finally, in a recent Virtual User Group on Tips and Tricks for LabVIEW Development, Darren pointed out one more tip that can make the most advanced Quick Drop users even faster.  LabVIEW parses a DLL containing associated keywords for each function – when you get ultra fast this search can actually slow you down (and sometime add items to the list that aren’t a perfect match).  You can actually disable this keyword searching simply by adding ‘QuickDropFastSearch=True’ to your labview.ini file.  For more on this (and other tidbits on Quick Drop), I recommend clicking the link above to hear Darren’s webcast.

Note: I do also want to point out that Quick Drop has significantly improved since the original version (8.6).  Many of the features I mentioned are only available in later versions, and it’s gotten a lot faster.  If you’ve tried it before, you may remember that it could take a very long time to open when launched for the very first time, and while not completely eliminated, this load time has been reduced significantly thanks to the fact that it (and other LabVIEW components) are now loaded in the background while the processor is idle.

I myself have made a habit of almost always using Quick Drop, and I can’t even imagine having to develop a large project in LabVIEW without it.  If you still haven’t tried it, you have nothing to loose by giving it a shot – it may take some getting used to, but I promise that it’s well worth it!

As always, let me know if you have other questions or want further clarification.

11 thoughts on “Why you (yes, YOU!) should use Quick Drop

  1. sth

    Just for completeness, to activate QuickDrop on the Mac the magic sequence is CMD-Shift-Space. All the other commands are CMD- instead of Control-

  2. David Clark

    I didn’t know half of those shortcuts existed!

    On a train 30 minutes from work – think my first task of the day (after the required intake of coffee) will be to try some of these out.


  3. 2 design approaches; 1. just put it there and wait for people to use it… then for somehow realize that they aren’t.. then try to spread the word and explain, but they already had their habits and still don’t use it… 2. proactively design your “product” for perception, grade the feedback for what should be perceived first (menu designs, visual feedback, help files, tutorials etc — don’t hide behind the stupid old windows design guides, just hire a “good” graphic designer and see where it can go)… and users need less help and your product value increases…

    Please people just understand that shortcuts belong to the last century, to the “DOS age”… it is the most painful way of remembering, doing things… most of the users even don’t know they exist… even on windows….

  4. Designing a good UI and having keyboard shortcuts are not mutually exclusive. As an example, Word prominently displays the ‘B’ and ‘I’ buttons because they are so commonly used for bold and italics, but while writing a paper, switching from the keyboard to a mouse to go click ‘B’ is generally much more inefficient than pressing CTRL+B or CTRL+I. Yes, designing a UI to prominently display important and commonly used items is important, especially for users that are still learning, but shortcuts continue to be a way that power users streamline common and repetitive tasks by minimizing context switching. The days of DOS where you have to learn every possible key-combination are long-gone, but shortcuts aren’t going anywhere – at least not until we find a way to invoke these operations just by thinking 😉

    1. You’re talking about a revolutionary programming interface like “labview” which overcomes the stupid syntax of text based programming tools, and defending keyboard shortcuts for using it?.. that looks like a bold contradiction to me as an industrial designer.

      Days of windows and keyboards (and the remaining keyboard shortcuts) are also over… It may take time for industry to admit it, but this doesn’t change any thing…

      By the way, I saw a video about the brilliant work of people working on labview for ipad… hope corporate interests and hassles won’t strangle it before being a product…

  5. DavidPL

    I am glad ekerry finds QuickDrop so useful. However, I find that I can go through the palettes faster then finding a VI by typing in ever the first few letters of the VIs name.

    Some people are verbal, and other people are conceptual. It takes a click and two moves of the mouse to get to the most frequently used VIs once the palettes are set up properly. This is not the default palette layout that comes with the latest version of LabVIEW. This is the way the palettes used to come, with the programing top categories showing, and the other categories (Measurement I/O, etc.) open as text lines. I don’t know why NI sends out LabVIEW with only the express icons showing- I don’t really find the express functions that useful.

    1. I am one of the conceptual types also, and cursed with a weak memory to boot. The biggest obstacle to using keyboard shortcuts is that I use shortcuts with so many applications (Word, Excel, LabVIEW, Visual Studio, UltraEdit, StarUML, etc….) that I can’t keep them all straight in my head. Add to this the fact that I can’t touch type, even after 30+ years of being a software developer, and keyboard shortcuts actually slow me down rather than make things faster since I have to look at the keyboard when I type.

      For me, it’s easier to just have a lot of screen real estate and pin the palettes I use the most onto the desktop while I write code. Then it just becomes a simple drag and drop operation for 95% of what I need and I don’t have to look down unless I’m typing constants or comments, which I usually do after I’m done laying down the graphical components.

      I’ll never be as fast as Darren, but then again, after watching him in action at NIWeek in Austin this year, I think he would be just as fast in any language because he has a strong memory and a natural affinity for working with keyboards rather than mice. For those of us not so blessed, we use what works for us.

  6. Paul Conaway

    One of the neat additions to the Quick drop features was the LabVIEW Speak. It was initially in 8.6 then improved in 9.0. But then it totally dissappeared What happened to it? can it be resurrected?

    1. Yair

      I don’t think that LV Speak was ever hooked up to QD. It was always a separate project and never an official part of LV (if memory serves, Norm even started it before he was at NI). You can search for it on LAVA and download whatever the latest version is from there.

  7. Jerome

    I guees I’m from the DOS generation, as I like those shortcuts which can save me time! As a beginner in LabVIEW, I don’t always know where to find items I need. To me, QuickDrop looks like an helpful tool. Thanks for this résumé.

  8. Pingback: Why you NEED to use Quick drop if you’re using LabVIEW

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s