Will AI Write Software That Fits Like A Glove?

Article summary

With the recent changes in agentic delivery, costs of development are going down, and processes are changing. That means there’s more time to try different methods and figure things out. Software today can still be clunky and irritating, with systems that take a lot of manual effort to glue together, but AI should be learning from successful outcomes more and more over time. I’m hoping that translates into better user experiences too.

The List

These frustrations add up over time, chipping away at my good mood throughout the day. Here’s my list. Do any of these resonate with you?

  • Cursor placement. If I click “Add” and you show me a form, PUT THE CURSOR AT THE START. You know what I’m trying to do.
  • Persisting selection across sessions. Think items per page, or sort order.
  • Consistent sort order. If I don’t have the option to sort, I want the results to make sense: ascending or descending, by date, or name, or something. Especially if I can delete one or more rows. Having the results come back in a different order than before the deletion makes me worry I deleted the wrong rows.
  • Keeping me in the same place after an action. Whether it’s a section that collapses again after I delete a row, or a search result list jumping back to page one after I pick something 10-12 pages in, making me do extra work to get back to the same place, it’s all unnecessarily frustrating.
  • Configuring keyboard shortcut so that the “Escape” key will close a modal without having to click or navigate to the “Close” or “X” button. This is a digital accessibility feature.
  • Give me a confirmation message if I’m going to lose a lot of work because I clicked/tapped another part of the page by mistake. Filling in a form is such a time sink.
  • The “Enter” key in a Form should behave the same as clicking Submit, so you don’t have to take your hands off the keyboard.
  • Trim text pasted into fields (usually email addresses). Various software brings along an extra space when I paste text from another source. Trim the space at the end of the pasted content. I might not even realize it’s there until I can’t sign in because that extra space at the end means I’m not matching the text I pasted before exactly when I type it in.

On Mobile

  • Do the thing so I don’t have an uppercase first letter in an email field. I never type it that way and will use the shift key to make it lowercase so it’s how I’m expecting it to be.
  • If you want my phone number, give me the number pad instead of the alphanumeric keyboard. The numbers are so much smaller, and I’m used to the keypad layout more than selecting numbers across the top of the keyboard.
  • Stop putting the keyboard in the way of the fields I’m entering text into.

Better

I don’t know about you, but I’m annoyed at software just looking at that list. It’s like wearing mittens instead of gloves while you’re trying to do anything in the winter.

Let’s flip those irritants on their head and talk about software that’s a fit, in a way that makes you feel GOOD about using software while giving you some prompts to play with, too.

Examples

Anticipate the next move. You click Add, and the cursor’s already blinking in the first field. Then, you tap a phone number field, and the number pad shows up instead of the alphabet. You tap an email field, and it doesn’t decide your address starts with a capital letter. The software is one step ahead, and that means you stop noticing it and just get on with whatever you came to do.

Drop this into your AI’s standing instructions:

When generating any form, modal or interactive view, set focus to the first input the user is expected to interact with. For phone, PIN and number-only fields, use the input mode that surfaces the numeric keypad on mobile. For email fields, disable autocapitalization and autocorrect.

Preserve the user’s context. You log back in tomorrow and your filters, sort order and items-per-page are still set the way you like them. You delete a row from page 12 and you’re still on page 12, not bounced back to page 1 hunting for your place. The list doesn’t reshuffle while you’re not looking, so when you delete something, you know it was the row you meant to delete.

Persist user preferences (sort order, items per page, filters, last selected tab) across sessions, scoped to the user. After any action that modifies a list (delete, edit, save), return the user to the same page, scroll position and selection where possible. If no sort is selected, default to a stable, predictable order such as newest first or alphabetical, so deletions don’t reshuffle visible rows.

Be forgiving on input, protective on work. You paste an email address and the invisible trailing space gets stripped before it ever causes a sign-in problem. The mobile keyboard slides up and the field you’re typing into slides with it instead of vanishing behind it. You accidentally tap somewhere that would wipe a half-filled form, and the software pauses to ask if you really meant to throw all that away.

Trim leading and trailing whitespace from any pasted or typed input before validating or saving, especially in email, username and credential fields. On mobile, scroll focused inputs above the on-screen keyboard so fields don’t sit hidden behind it. Before navigating away from or discarding a form that contains unsaved input, prompt the user to confirm.

Make the keyboard a first-class input. You finish a form, hit Enter, and it submits. A modal opens, you hit Escape, it closes. You Tab through a page and you can always see where you are. You never have to take your hands off the keyboard to find a mouse. Power users move faster, and people who can’t use a mouse at all can still use the software.

Wire the Enter key to submit forms from any focused input. Wire the Escape key to close modals, popovers and dismissible overlays. Ensure every interactive element (button, link, input, custom control) is reachable by Tab in a logical reading order, with a clearly visible focus indicator on the focused element. Trap focus inside open modals so Tab cycles within the modal until it closes. When a modal or panel closes, return focus to the element that opened it.

The Code

If you want to see what some of this looks like in code, here’s a quick HTML form that handles cursor placement, mobile keyboards and email autocapitalization in one go:

<form>
  <input type="text" name="name" autofocus>
  <input
    type="email"
    name="email"
    autocapitalize="off"
    autocorrect="off"
    spellcheck="false"
  >
  <input type="tel" name="phone" inputmode="numeric">
  <button type="submit">Save</button>
</form>

And two small bits of JavaScript for the keyboard and paste behaviors:

// Escape closes the modal
modal.addEventListener("keydown", (e) => {
  if (e.key === "Escape") closeModal();
});

// Trim whitespace when the user leaves the field so pasted email addresses
// don't carry hidden spaces
emailInput.addEventListener("blur", () => {
  emailInput.value = emailInput.value.trim();
});

Will AI write software that fits like a glove? Only if we tell it what “fit” means.

Conversation

Join the conversation

Your email address will not be published. Required fields are marked *