Skip to content

Instantly share code, notes, and snippets.

@mklickman
Created December 12, 2019 14:52
Show Gist options
  • Save mklickman/f810e2b0b5a54b95abc1ee975313ddcd to your computer and use it in GitHub Desktop.
Save mklickman/f810e2b0b5a54b95abc1ee975313ddcd to your computer and use it in GitHub Desktop.
Things End Users Care About but Programmers Don't

(And we agree with them, but our tools make it really hard to provide)


Colors

  • Change color of things
  • Nice default color palette
  • Use my preferred color palette
  • Use this color from here
  • Import/export color themes
  • Some words or identifiers should always have a specific color
  • The same thing should have the same color everywhere
  • Good contrast
  • Automatic contrast of text if I pick a dark/light background
  • Automatically generate color for large number of items
    • All the colors should belong to the same palette
    • Don't generate colors that are hard to tell apart
    • Don't place similar colors close to each other
    • Don't use the background color on things

Formatting

  • Apply basic formatting to text
  • Align text
  • Use the fonts I use in Office
  • WYSIWYG editor that behaves like Word
  • Number alignment
  • Number/date formatting to the right locale
  • Decimal formatting to the right/fixed number of decimal places
  • No weird .0000004 formatting anywhere
  • No .00 for integers
  • Emoji support

Themes

  • Dark theme
  • My Theme
  • Company Branding
  • Put the logo in places
  • My logo on the Login Page

Integrations

  • Integrate with system accounts
  • Use accounts/permissions from Active Directory
  • Import from Excel/CSV
  • Import from email/email attachment
  • Export to Excel
  • Export to PDF/Image
  • Record a short video
    • As a GIF
  • Send as email
    • Send as email periodically
    • Send as PDF attachment on an email
  • Import/attach images
    • Crop before upload
    • Compress
    • Change Format
  • Use image as background but stretch the right way
  • Notifications on the app
    • On apps on my phone
    • By SMS
    • On our systems
    • On my mail

UX

  • Good error handling
  • Good error descriptions
    • Translated error messages
  • Tell me what to do to solve an error
  • Tell me what this does before I click on it
  • Support touch gestures and mouse
  • Keyboard shortcuts
    • Customizable
  • Undo everywhere
  • Multiple undo
  • Recover deleted things
  • Ask before deleting
  • Copy and paste
  • Templates
  • Detailed and up to date guides in text with screenshots at each step and highlights
    • And in Video
    • Screenshots that stay up to date as the product evolves
    • That are in sync with the version I'm using
    • That adapt to my custom setup
  • Up to date and detailed documentation
  • Translated to my language
  • Sorting everywhere
    • Natural sort
    • Sort by multiple criteria
  • Filter everywhere
    • Fuzzy filtering
    • Case sensitive/insensitive filtering
    • Filter by multiple/complex criteria
  • Track what is used where and warn me when deleting
  • Optional cascade deletion
  • Native and simple date picker on every platform
  • Sorted lists/selects (by the label!)
    • Natural Sorting
  • Dropdowns with filtering but that behave like the native controls
  • Preview things
  • Consistent button ordering/labels
  • Consistent capitalization
  • Progress bars for slow/async operations
  • Responsive UI during slow operations
  • Disabling buttons during slow operations
  • Handling double clicks on things that should be clicked once
  • Clear indication of what can be clicked

Compatibility

  • Deploy on exotic configurations/platforms
  • Deploy on old/unsupported versions
  • Deploy on what we have
  • Deploy/Run without internet connection
  • Handle Excel, CSV, JSON, XML
    • Handle malformed versions of all of the above
  • Handle (guess) dates with no timezone
  • Handle ambiguous/changing date formats
  • Integrate with obscure/outdated software/format
  • It should work on my old android phone browser/IE 11
  • Unicode
    • Handle inputs with unknown and variable encodings

Operations

  • Easy to install
  • Easy to update
  • Easy to backup
  • Easy to recover
  • Works with the database and version we use
  • Can be mounted on a path that is not the root of the domain
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment