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.

Revisions

  1. mklickman created this gist Dec 12, 2019.
    136 changes: 136 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,136 @@
    # [Things end users care about but programmers don't](https://instadeq.com/blog/posts/things-end-users-care-about-but-programmers-dont/)

    _(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