Rob Smyth

Thursday, 12 March 2015

Galafry's UX guidelines for time lords

When a user is performing an operation like opening a document/project they require a prompt result. That is, the think they want X within Y seconds but they are wrong! What they really want is a good experience in which they know the best is being done for their needs and software developers have control here over the space-time continuum.

For example, a user want to save a document/project as a new name. A copy really. So their data is big, I mean big enough to be annoying, so if we do a copy of files it is going to take long enough for the user's eye lids to start to close. But ... we software developers have control over time, we provide feedback that we really, really, are doing good stuff so what would otherwise be an "oh-dear I'm wasting time" to gosh "I've kicked off a really big processes that is doing stuff" so I'm, by inference, doing stuff.

This is real evident in code that needs to copy lots of stuff. Sure, copy it in the simplest way as there really is not much time difference in how we do it .... or is there?

We time lords (software developers) can not only take control of a user's time line but our own. Write lots of lovely progress dialogs or plug into the Windows OS time line. Go outside of the .Net framework's native stuff and enter the Windows Shell C# interop. Checkout C# does shell and SHFileOperation.

Why? It means you can jump into the future (save time) and use the OS's native UI. Don't write your own "I'm really doing good  copying these file" dialog. Check out the dialogs you get in Windows 8 ... this is for free.

Do the crime do the time? Na, do the crime and leave the time to others, I'm going home. C# shell rocks.