As many people are spending more time on their computers for work time and personal life – there becomes a relationship of expectations.
Here are a few principles I can come to expect from the many touch points of my digital life:
Interruption: There is too much noise going on while using a computer. Interruptive messages are many times indicative of bad software. Confirmation messages happen when the software doesn’t understand their own user and needs to verify an action. Smart software should more fully understand the user, their actions, and most importantly, their destination. Message prompts should understand the most common scenarios and not treat everything equally. Deleting a recently saved excel document might deserve a confirmation where deleting a desktop shortcut might not. Interruptive messages should be contextually aware.
An example of this would be deleting a shortcut. Since a shortcut is by nature, a redundant copy of something – getting rid of it is never permanent as you will always have a backup. Confirming the deletion of a shortcut at the point of deletion and then again while emptying the trash is not necessary.
Locking Up: Notifications should not be hostile. The window I am using should not lock up nor should any application. Messages should be conveyed in a similar manner that I converse with people. Specifically, nothing should be held hostage until I confirm or cancel a message. Only the feature that needs confirm to use should be held back. Nothing more, software should not overstep and interrupt my entire experience. Software messages, errors, and prompts should always be considerate and not lock up anything more than completely necessary.
An example of this would be while in Internet Explorer, if I want to save a webpage to one of my favorite folders – it will lock up the whole window. Why is the application preventing a users from viewing other tabs, menus, or clicking links when saving a webpage? A user should not have an application lock up entirely during the simple act of saving a favorite.
Premeditation: Great solutions should never require premeditation. In this day and age, I should not have to remember to print out driving directions, sync a latest podcast, or copy a document to a thumb drive, before leaving my house. People cannot be expected to adjust their lives and behavior when software can do it instead. Anywhere access to relevant information and media is inevitable. Software makers are either on that bus or they are getting pass by it.
An example of this would be podcasts on my phone or mp3 player. There are many times I want to download and listen to the latest podcast without having the option to plug it into my computer. I might be in a car, away from my desk, or just out and about. Yet the current workflow requires me to sync back into my computer in order get the content I want while out and about. People should not go through the moment of frustration “I forgot to…”. We should allow access to solutions when the users want them rather than only during a specific window of time.
Single Instances: With the file size of our digital content going from megabits to gigabits to terabits and my personal devices going from a desktop to desktop plus laptop to desktop plus laptop plus netbook – people cannot keep track of all the stuff. Software needs to help minimize the clutter of our digital lives by having only a single instance of every file. That is right, just one. Everything else should be in sync to a single file instance. Changes made to one are applied to all the versions syncing to that one.
An example of this would be with photos. I have dozens of gigabits of photos. Every time they get copied over to another one of my computers, a relationship should form that keeps them in sync. If I backup my hard drive and copy it back to my primary computer – all duplicate files should be understood as duplicates and removed. Regardless if they mirror the same folder tree. The best bet is to reside one copy of everything in the cloud and have everything sync back to that single instance.