Time and tool slicing
The last two weeks have been quite incredibly busy for me. Work, home life, a major celebration, lots of friends and family around, major project deadlines, tenders to respond to, keeping abreast of news and blogosphere - it never stops, like a wheel within a wheel, never ending or beginning.
Somehow, the day never produces any more than 24 hours to get these things done.
Just as modern operating systems slice their CPU's processing time over tens or hundreds of differents tasks to give the illusion that they're all moving forward simultaneously, in such excessively busy times we (humans) have to do the same thing. And just as these operating systems have to invest resources into the task of swapping process state in and out of memory, so do we. Which means we lose some of that precious time just keeping all these things moving forward.
The problem of course is that as humans we don't have neat address ranges and register values that can be extracted cleanly. Instead we have messy context, consisting of half a dozen different tools and technologies (paper, post it notes, lists, OneNote sheets, spreadsheets, word documents, blog entries, emails, web sites), and the mental coordination to keep these all singing in tune.
As we build more systems and tools here at Synop, I think we realise more and more that trying to minimise the impedance between task swapping is vital to success. Sharp discontinuties are mentally exhausting for users. Building an experience of smooth gradients is challenging however, relying on subtle and rigorous design and implementation. Working with users' preconceptions helps as Donald Norman describes so brilliantly in The Design of Everyday Things. However it becomes increasingly challenging knowing that nearly all the interactions are going to be with other companies' tools and technologies, and that while we can attempt to make our systems as smooth as possible, it is the jumps from these to the others which are the major points of discontinuity. In other words, design for inter-operation within an ecosystem of other people's tools.
Maybe this is why nerds tend to be early adopters in general. Given a talent for dealing with abstractions, and thus finding software development fun and enjoyable, lends itself to working with other people's models and abstractions, manifested as new tools and gadgets.
Time to get back to the next major deadline ... extract blog writing context, insert web site development/review context ...