UX Subtleties

A collection examining user interface design, that seeks to illustrate the subtle problem of providing a good user experience.

Adding Link on Paste

Feature: If the user clipboard contains a URL, and they paste while some text is selected, the selected text should be turned into a link with that destination URL. (By default, pasting text replaces selected text.)

Supporting this feature makes it easy for your users to add links to their text.

In this UX case study, a user first copies a link URL from somewhere, most commonly a browser address bar:

There are several possible action sequences to apply the copied link to some text.

When link pasting is supported, minimal user actions are required:

Key Command Copy link URL to clipboard
Click & Drag Select the text to add a link to
Key Command Paste

This avoids either a mouse movement or a key command that the other link entry methods require.

The most obvious (but slower) UX in most text input fields requires a button press:

Key Command Copy link URL to clipboard
Click & Drag Select the text to add a link to
Mouse Hunt Hover or move mouse to text formatting options UI bar
Click Click on ‘Add Link’ button
Key Command Paste
Return Applies the link to the selected text

For users familiar with common shortcuts, Cmd + K (on macOS) can be used to insert a link. This is slightly less work than clicking a button, but more than direct link pasting.

Key Command Copy link URL to clipboard
Click & Drag Select the text to add a link to
Key Command Cmd + K will open a link entry dialog in many apps (macOS)
Key Command Paste link in link entry dialog
Return Applies the link to the selected text

Notion:

Linear:

Pasting a link works in Notion:

And in Slack:

And in Linear:

Return Key: ‘Enter’ vs New Line

The behavior of the ‘Return’ key in a text entry field varies a lot between different programs.

In Google Sheets, typing ‘Return’ alone moves the cursor out of the current cell and selects the one below:

To enter a literal newline in a spreadsheet cell, you must type Cmd + Return:

Shift + Return seems to instead select the current cell:

The ChatGPT web interface has the interesting behavior that ‘Return’ performs differently depending on the window width.

In narrow windows (likely considered a proxy for mobile devices), typing 'Return' inserts a literal newline:

But in wide windows, typing 'Return' sends the message: