Jump to content
Aristos Queue

Coining a phrase: "a left-handed scissors feature"

Recommended Posts

Lately, I've been using a phrase "oh, that's a left-handed scissors feature." I've found it to be a useful concept, so I'm posting it here to the LV community generally.

When software engineers create software, we aim to create software that is usable by our customers. To use the colloquialism: the software should delight the user.

We sometimes miss. But just because the software isn't designed as the user expects does not mean that it wasn't designed somehow. Often, I find myself fighting my tools (Visual Studio, Perforce, web browser, operating system, etc.) because it just isn't doing what I expect, and I'm constantly working around some issue. I've realized that sometimes, if I stop and think about how the software is designed, I can use the system the way it was intended, not the way I want to use it. I'm still not happy, but I'm working a lot less and hurting less.

I've begun referring to such designs as "left-handed scissors". Sure, 90% of humans are right-handed, and, since there's only one pair of scissors, the scissors should have been designed to be right-handed.  Or the system should let you configure left-or-right. Something should be different! But it isn't different. So as a user, I have a choice -- to hold the scissors in my right hand and try cutting or to hold the scissors in my left-hand and try cutting. I can fight the system and stress my hands and make the software work, damnit, using my right-hand, or I can use the left-hand. Using my left hand, I'm still having to work harder than I'd like, but at least the edges aren't digging into my fingers.

There are features in LabVIEW that are left-handed scissors. We -- LabVIEW R&D -- should have done something different. You know that; we know that (now). But the decision was made, and there hasn't been developer bandwidth to fix it. And it sucks. But it can suck a lot or it can suck a little, depending upon whether or not you acknowledge that it was designed for the wrong hand.

Packed project libraries are left-handed scissors. XControls are left-handed scissors. There's others, but those are the two big ones that I most commonly have to help customers with. Both are great features if you use them as intended. But no one wants to use them as intended... we all want to use them in ways that they just don't want to be used. They can do the job that we want them to do, just not in the way we want them to do it.
In the case of XControls, you have less pain if you just accept the frustrating event model that they're predicated on.
In the case of packed project libraries, you have less pain if you just accept the limitations of their dependency paths and design build specs accordingly.

I'm not going into either of those statements in this post... I and others have talked about both in various other forums. My point here is to coin a phrase that I've found useful.

And if you hear me talking about left-handed scissors, now you know my intended meaning. ūüôā

  • Like 1

Share this post


Link to post
Share on other sites

At the risk of sounding petty: I am using Windows, so the first thing that comes to mind are the GUI Conventions: LabVIEW Undo is ctrl+z, LabVIEW Redo is ctrl+shift+z, while Window's Redo is ctrl+y. There are many more such (minor) design choices. The application should use the OS conventions, not force its own way.

And, as an ambidextrous person, Scissors should be designed for both hands.

 

 

Share this post


Link to post
Share on other sites

Both of those technlogies are half-way houses to the real requirements. I think that's why they are left-handed scissors (when the requirement was a guillotine). LLBs are far better than PPLs, they just don't have namespacing and how does NI actually create new controls?

I like the term, though. I wouldn't knowingly buy left handed scissors and if I accidently did, I'm more likely use them purely as a prank. Perhaps extend the notion. A left-hand drive car where one drives on the left side of the road - can't see what's on-coming when you overtake but when something does; it's a disaster. Just never overtake.

Edited by ShaunR

Share this post


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

At the risk of sounding petty: I am using Windows, so the first thing that comes to mind are the GUI Conventions: LabVIEW Undo is ctrl+z, LabVIEW Redo is ctrl+shift+z, while Window's Redo is ctrl+y. There are many more such (minor) design choices. The application should use the OS conventions, not force its own way.

And, as an ambidextrous person, Scissors should be designed for both hands.

Part of these is the Macintosh legacy. You could make a case that Microsoft is at fault as they had to invent differences to the Mac, either for the sake of being different or maybe also to not give to much fodder for a court case about plagiarizsme.

Edited by Rolf Kalbermatter

Share this post


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

As a lefty, don't even get me started on can openers.

Funny thing... most people use winding can openers wrong, even when they're designed for the correct hand. The intended use of the winding can openers is to open the outside of the can, not the inner edge. If used the intended way, there are way fewer problems with the cans.

The usability of can openers is a fascinating metaphor all on its own. ūüôā

https://www.insider.com/right-way-to-use-a-can-opener-2018-8

Share this post


Link to post
Share on other sites

I don't really think the metaphor matches. Left handed scissors are obviously intended for we 10% and are marked as such. In your examples, its not clear who xctrls and ppls were designed for, nor what "using as intended" actually means.

In contrast: left- and right-handed knives. They do this fun thing where they just steadily slide outward and make all your cuts super weird if you're using the wrong hand, but they still kinda cut so its very non-obvious. Its funny to watch, and its not really marked unless you look carefully at the edge, and you also have to know that you were supposed to look and check the edge in the first place, which many many people do not. And then if the knife slides off the edge of what you're cutting, you might just cut right into your hand. This seems like a more fitting analogy to xcontrols, myself ;)

Edited by smithd

Share this post


Link to post
Share on other sites
11 hours ago, smithd said:

I don't really think the metaphor matches. Left handed scissors are obviously intended for we 10% and are marked as such. In your examples, its not clear who xctrls and ppls were designed for, nor what "using as intended" actually means.

This reminded me of this idea exchange thread:
https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Offline-Distribution-for-Real-Time-Application/idi-p/1415250 

Sure, the fact that the offline installers idea was marked as in development due to SystemLink is probably just because someone though it might accidentally be a solution for that too, but in general it¬†seems to me that NI is designing more and more ¬†"left-handed scissors features"¬†ūüė쬆

(SystemLink Cloud is by the way is so crippled compared to the stand-alone solution that you cannot use it for trending data for different customers (Access control on tag groups is not available, only on applications for example). To get enough access control you have to create your own SystemLink servers for each customer and get those online yourself (no cloud hosting of those at the click of a button from NI). And if you need to do regular analysis on the incoming data in SystemLink you cannot insert a set of VIs to do that, no - you need Diadem or resort to python (because "Diadem is much more powerful than LabVIEW" (!))...)

Edited by Mads

Share this post


Link to post
Share on other sites

should we add Network Shared Variables to this list of left hand scissor features as well?

Share this post


Link to post
Share on other sites
On 11/21/2019 at 1:46 PM, Mads said:

(SystemLink Cloud is by the way is so crippled compared to the stand-alone solution that you cannot use it for trending data for different customers (Access control on tag groups is not available, only on applications for example). To get enough access control you have to create your own SystemLink servers for each customer and get those online yourself (no cloud hosting of those at the click of a button from NI).

I think this is NI being responsible. Should you really be putting your customers' data on a 3rd party servers? If a customer is happy for that, then they can buy the service with full knowledge and give you access, but I don't think integrators, contractors or developers should be using it for their clients.

Share this post


Link to post
Share on other sites
50 minutes ago, ShaunR said:

I think this is NI being responsible. Should you really be putting your customers' data on a 3rd party servers? If a customer is happy for that, then they can buy the service with full knowledge and give you access, but I don't think integrators, contractors or developers should be using it for their clients.

I think that is a very old fashioned way of thinking. 

Share this post


Link to post
Share on other sites
8 minutes ago, Mads said:

I think that is a very old fashioned way of thinking. 

It is also a secure way of thinking. 

Share this post


Link to post
Share on other sites
21 hours ago, MarkCG said:

should we add Network Shared Variables to this list of left hand scissor features as well?

No. Those were built exactly to customer spec and do exactly what they promise to do. The fact that they’re a horrible idea doesn’t make them left-hand scissors. There isn’t a better design for shared variables that would make them safer or more practical. Shared variables are more like the 1950s kids’ science kits that shipped with pieces of actual uranium to play with. 

  • Haha 1

Share this post


Link to post
Share on other sites

 

1 hour ago, Aristos Queue said:

It is also a secure way of thinking. 

If sufficient security for many a use case is not possible to achieve without having to put each customer on a separate server, and the creation and licensing of those servers have to be a manual process repeated every time a new customer want such a service...*and* none of this can in be abstracted into a larger platform that makes the process of managing this a breeze for users at, in this case, two ends to use...I would argue the problem is mainly a lack of imagination.

Share this post


Link to post
Share on other sites
26 minutes ago, Mads said:

 

If sufficient security for many a use case is not possible to achieve without having to put each customer on a separate server, and the creation and licensing of those servers have to be a manual process repeated every time a new customer want such a service...*and* none of this can in be abstracted into a larger platform that makes the process of managing this a breeze for users at, in this case, two ends to use...I would argue the problem is mainly a lack of imagination.

Maybe it's your lack of imagination? :ph34r:

It is at the intersection of IT. Cloud services are under the IT remit and new servers for each client aren't hard with VM instances. Talk to your IT and give them an instance template and they can spin up hundreds for you. Then just add links in your intranet pages.

Of course if you really don't care about your clients data you can spin them up on Amazon Web Services or the Google Compute Engines.:nono:

Edited by ShaunR

Share this post


Link to post
Share on other sites

Oh, I know how to do it. With my left hand¬†ūüėȬ†Not my preference. It¬†can be¬†done better.

Share this post


Link to post
Share on other sites
9 minutes ago, Mads said:

Oh, I know how to do it. With my left hand¬†ūüėȬ†Not my preference. It¬†can be¬†done better.

Start a new thread and tell us then.

Share this post


Link to post
Share on other sites
11 hours ago, ShaunR said:

Start a new thread and tell us then.

I think I have outlined the complaints quite enough already, that part was just a digression. The main point was how far off the mark (or "left handed" in this context) SystemLink is as a solution for the mentioned request in the Idea Exchange.

Share this post


Link to post
Share on other sites
20 hours ago, Mads said:

I think that is a very old fashioned way of thinking. 

Old fashioned it may be but you seem to have a surprising high trust in Microsoft, Google, Amazon and CO¬†to not only be able to secure their infrastructure beyond any doubt but also to never turn evil from inside and scan your files no matter what. Ohh wait Google does that already, their user rights document you have to agree to to use¬†their cloud services specifically states that they are allowed to scan your documents for service improvement purposes. In terms of Google that also means to improve their ad business revenues, it's after all still their core business with which they grew to the multi-multi billion $$ business they are nowadays. Sure they have other business diversifications that start to get important too, but the "Don't do evil" slogan from early days Google has long been abolished.¬†ūüėĄ

Microsoft, Amazon and all the rest are businesses too, and when they believe they can get away with something to improve the revenue numbers under the final accounting line they will do it, as is their holy duty in the name of our modern day golden calf called shareholder value!¬†ūüėĄ

But the real danger is not only evil intent, it is simply neglect! There is not a single week in recent years where not some server out there is discovered to expose very sensitive data to the broad lovely and always friendly internet. Cloud services being the core business of those business units from these companies makes them of course try hard to avoid such issues but errors often lie in very small corners but are so easily done.

System Link cloud service being in fact outsourced to a real cloud service (NI doesn't want to go into running their own cloud service business anytime soon) doesn't make that less likely. It's simply one more intermediatery between your client, you, NI and the cloud service, that can add a critical error source.

Edited by Rolf Kalbermatter
  • Like 1

Share this post


Link to post
Share on other sites

Security in the age of cloud computing and IoT is a huge challenge. I do not think we should start on that discussion here. But you guys seem to assume that that means we can resort to the old ways of doing business - That NI and others should not leverage these things fully, but try to guide their users to the old ways by making sure the new ones are intentionally crippled. The fact is that most of us are way down the rabbit hole already, ignoring the risks because the benefits are too enticing or the business or societal pressure too high. If people can make a business of delivering services that are at the same level of risk as the customer is already taking in other areas (in fact in the particular case that triggered my interest in this - the security would be improved compared to the current solution - imagine that), but NI is holding them back because they think the security challenges has to be 100% solved first...well...that is a recipe for a dwindling business. The starting point of my digression was something that the supplier in fact is already partly working on. They just have not gotten around to it yet. So it is not like you are defending something that they themselves think is the holy grail of security limitations either. Arguing that the current solution is as good as it gets is never really a winning strategy. 

  • Like 1

Share this post


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

The fact is that most of us are way down the rabbit hole already, ignoring the risks because the benefits are too enticing or the business or societal pressure too high.

It's easy to be cavalier with other peoples privacy and security. If you haven't learnt from Facebook and the like, then I guess there's no point arguing.

Share this post


Link to post
Share on other sites

One quick comment on the can opener thing.  I might well be using the can opener incorrectly, and I'll try the horizontal way next time, but I think my habits came from an old wall mounted can opener I used at my grandparents for years which was vertical in design.  Also I included an ad for it because the thought of giving a can opener as a perfect gift to the "queen of the kitchen" would probably not go over well.

Vintage-Wall-Mounted-Swing-Way-Swingmaster-pic-1A-2048_10.10-aa303213-f.jpg.dde0fd59506bb8b60456f4c2f5adc70b.jpgpicture.gif.2e47b2eb05d5e7c5e6f66169e3830421.gif

 

Share this post


Link to post
Share on other sites

As an individual of alternative-handedness, I find this thread and its comparison to my suffering by the majority in a right-handed dominated world to be offensive. 

 

 

 

 

 

ūüėĀ

Nah... we lefties improvise, adapt, and overcome.  

<Insert meme featuring Bear Grylls here>

Edited by Bryan
Enhanced with meme-y referenced goodness.

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.