Home » What’s wrong with USB sticks that you need 3 tries to plug them in correctly?

What’s wrong with USB sticks that you need 3 tries to plug them in correctly?


In my experience a USB plug needs a bit of pressure to go in the port. It’s enough pressure to make me wary that I might break it if I’m putting it in the wrong way.

After reversing the plug, it becomes obvious that it does not fit at all. This observation allows me to flip it again and now apply more pressure with confidence.

Short answer: Design commonly causes misalignment

Most plugs or ports have a flared edge, beveled plug or some other design that allows for the orientation of the plug to be slightly off and still match. USB doesn’t.

Oftentimes, the first attempt will cause your plug to be aligned too high, slightly twisted, or some other orientation that doesn’t allow it to go into the jack. Most USB ports are surrounded by plastic, where you might have the plug touching the edge of the plastic at some corner, and you assume you had it upside down. When you flip it, the fiberglass circuit board edge inside the plug hits the fiberglass circuit board in the jack. This causes the plug to shift to an angle up or down, and you are certain it is upside down. Now when you flip it again, you are more certain that you have it the right way and you shift it around within the plastic hole in the case until it plugs in.

Physical symmetry without symmetry of use

I’m surprised that so many of these answers are addressing the consequences of poor design without discussing what made it a poor design in the first place. The issue at hand here is that the USB devices have a correct orientation and that correct orientation is indistinguishable from the incorrect orientation.

In his book The Design of Everyday Things, Don Norman lists the following as the 7 fundamental principles of design:

1. Discoverability. It is possible to determine what actions are possible and the current state of the device.

2. Feedback. There is full and continuous information about the results of actions and the current state of the product or service.
After an action has been executed, it is easy to determine the new

3. Conceptual model. The design projects all the information needed to create a good conceptual model of the system, leading to
understanding and a feeling of control. The conceptual model enhances
both discoverability and evaluation of results.

4. Affordances. The proper affordances exist to make the desired actions possible.

5. Signifiers. Effective use of signifiers ensures discoverability and that the feedback is well communicated and intelligible.

  1. Mappings. The relationship between controls and their actions follows the principles of good mapping, enhanced as much as possible
    through spatial layout and temporal contiguity.

7. Constraints. Providing physical, logical, semantic, and cultural constraints guides actions and eases interpretation.

The non-reversible USB devices lack a good signifier for correct orientation. As Toby Speight mentions in his answer, the USB specification did include the requirement for such a signifier:

6.5.1 USB Icon Location

The USB Icon is embossed, in a recessed area, on the topside of the USB plug. This provides easy user recognition
and facilitates alignment during the mating process.

..but I’d argue that that’s not enough for two reasons. First, that specification is easily ignored by USB manufacturers. Second, even with an embossed icon, you haven’t communicated to the user what the correct orientation is unless they already know that the icon signifies orientation. A USB icon just looks appropriate on a USB device and isn’t going to be noticed by a normal user as an intended signal of information. Bedrooms often have an outlet which is controlled by a light switch in the room. To signify that that outlet is the one controlled by the light switch, it’s often installed upside down. To someone who’s aware of this relationship, this is helpful, but to someone who isn’t in the know, it’s up to chance that they discover it themselves or are informed of it. Same with the USB icon. It shouldn’t have been expected that people would know what it meant.

enter image description here

A similar issue is seen with the design of some doors. Here are a few pictures of doors from The Design Of Everyday Things again:

enter image description here

In the first image, the left door must be pulled but the right door pushed even though they have the same handle. In the next two images, it’s not clear where on the door you should press (left or right) to open it. Don Norman has this to say about the doors:

When external signifiers—signs— have to be added to something as simple as a door, it indicates bad design.

If something as simple as a cable needed an icon to indicate which orientation was correct, it was already poorly designed.

The solution? Either make a cable that’s reversible or remove the misleading symmetry.
enter image description here
enter image description here

Related Solutions

Building a multi-level menu for umbraco

First off, no need pass the a parent parameter around. The context will transport this information. Here is the XSL stylesheet that should solve your problem: <!-- update this variable on how deep your menu should be --> <xsl:variable...

How to generate a random string?

My favorite way to do it is by using /dev/urandom together with tr to delete unwanted characters. For instance, to get only digits and letters: tr -dc A-Za-z0-9 </dev/urandom | head -c 13 ; echo '' Alternatively, to include more characters from the OWASP...

How to copy a file from a remote server to a local machine?

The syntax for scp is: If you are on the computer from which you want to send file to a remote computer: scp /file/to/send username@remote:/where/to/put Here the remote can be a FQDN or an IP address. On the other hand if you are on the computer wanting to...

What is the difference between curl and wget?

The main differences are: wget's major strong side compared to curl is its ability to download recursively. wget is command line only. There's no lib or anything, but curl's features are powered by libcurl. curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,...

Using ‘sed’ to find and replace [duplicate]

sed is the stream editor, in that you can use | (pipe) to send standard streams (STDIN and STDOUT specifically) through sed and alter them programmatically on the fly, making it a handy tool in the Unix philosophy tradition; but can edit files directly, too,...

How do I loop through only directories in bash?

You can specify a slash at the end to match only directories: for d in */ ; do echo "$d" done If you want to exclude symlinks, use a test to continue the loop if the current entry is a link. You need to remove the trailing slash from the name in order for -L to...

How to clear journalctl

The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. You don't typically clear the journal...

How can I run a command which will survive terminal close?

One of the following 2 should work: $ nohup redshift & or $ redshift & $ disown See the following for a bit more information on how this works: man nohup help disown Difference between nohup, disown and & (be sure to read the comments too) If your...

Get exit status of process that’s piped to another

bash and zsh have an array variable that holds the exit status of each element (command) of the last pipeline executed by the shell. If you are using bash, the array is called PIPESTATUS (case matters!) and the array indicies start at zero: $ false | true $...

Execute vs Read bit. How do directory permissions in Linux work?

When applying permissions to directories on Linux, the permission bits have different meanings than on regular files. The read bit (r) allows the affected user to list the files within the directory The write bit (w) allows the affected user to create, rename,...

What are the pros and cons of Vim and Emacs? [closed]

I use both, although if I had to choose one, I know which one I would pick. Still, I'll try to make an objective comparison on a few issues. Available everywhere? If you're a professional system administrator who works with Unix systems, or a power user on...

How do I use pushd and popd commands?

pushd, popd, and dirs are shell builtins which allow you manipulate the directory stack. This can be used to change directories but return to the directory from which you came. For example start up with the following directories: $ pwd /home/saml/somedir $ ls...

How to forward X over SSH to run graphics applications remotely?

X11 forwarding needs to be enabled on both the client side and the server side. On the client side, the -X (capital X) option to ssh enables X11 forwarding, and you can make this the default (for all connections or for a specific connection) with ForwardX11 yes...

What does “LC_ALL=C” do?

LC_ALL is the environment variable that overrides all the other localisation settings (except $LANGUAGE under some circumstances). Different aspects of localisations (like the thousand separator or decimal point character, character set, sorting order, month,...

What is a bind mount?

What is a bind mount? A bind mount is an alternate view of a directory tree. Classically, mounting creates a view of a storage device as a directory tree. A bind mount instead takes an existing directory tree and replicates it under a different point. The...

Turn off buffering in pipe

Another way to skin this cat is to use the stdbuf program, which is part of the GNU Coreutils (FreeBSD also has its own one). stdbuf -i0 -o0 -e0 command This turns off buffering completely for input, output and error. For some applications, line buffering may...

Can less retain colored output?

Use: git diff --color=always | less -r --color=always is there to tell git to output color codes even if the output is a pipe (not a tty). And -r is there to tell less to interpret those color codes and other escape sequences. Use -R for ANSI color codes only....

How do I copy a folder keeping owners and permissions intact?

sudo cp -rp /home/my_home /media/backup/my_home From cp manpage: -p same as --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links,...

Can I zip an entire folder using gzip?

No. Unlike zip, gzip functions as a compression algorithm only. Because of various reasons some of which hearken back to the era of tape drives, Unix uses a program named tar to archive data, which can then be compressed with a compression program like gzip,...