Google went down today. Downtime at this scale doesn't happen often, but when it rains, it pours. Google going down doesn't only affect Google products, it also affect products connected to Google. App that require authentication with your Google account weren't available, unless you were already logged in.
Coïncidentally, I came across a compelling article about local-first software. From a SaaS point of view, before the internet all we had local-first.
"Why Do We Interface?" is a micro-book about interfaces over the ages: from cave paintings to Google Glass to your latest note-taking app. It's important to understand why we build interfaces in order to get better at building them.
The purpose of any interface, regardless of the technology, is to retrieve, decode, modify, and/or distribute information. […]
The core purpose of graphics in a GUI is not to be pretty
The purpose is to be informative.
Some questions to ask yourself when you're designing an interface:
- How does the interface help us retrieve information?
- Is it easy to decode the information that was retrieved?
- Does the interface allow for easy and clear modification of information?
- Does the interface assist in, and clearly declare when it is going to distribute information?
- How will this interface redefine what it means to be human?
Number five is a bit too bold for my taste, but the first four are valuable guidelines.
Read the book on whydoweinterface.com.
I have a specific pet peeve with user interfaces: things that draw my attention when they don't need to. In any graphical interface, movement is distraction. Our eyes are naturally drawn to anything in motion.
Motion is a powerful tool. We can abuse this distraction to attract our users to a certain place: a notification, an added list item after a background refresh, etc. Let's look into the movement behind a form submission. Below are three dummy forms, each with a different server response time.