I really enjoyed and appreciated this essay from Raganwald about the user experience at work versus that of their home PC environments (among other topics).
I particularly liked the point:
And meanwhile, the very same users could walk across the street and buy themselves a much better PC for less money than we pay and take it home the same day.
Ain’t that the truth. I put together my Core 2 Duo system for the same price as my crappy Pentium 4 hyperthreaded number at work. The time frames were not that far apart. The Core 2 runs circles around this sick puppy.
A company’s philosophy should be to get users (especially developers like me!) whatever hardware/software they need immediately. Within minutes or hours, not days or weeks. Of course, then you have to trust your employees to make good requests. But if you don’t trust them to know what they need, why trust them to do their job at all?
The essay goes on to talk about writing applications that take advantage of modern PC horsepower. I think I’m doing an ok job of this at work now. For example, we have a database of assets that is continually growing. It used to be we could view all of the assets on a single page that took about 30 seconds to load off-site.
Now that list will take several minutes to bring up. Yeah, we’re growing. So we need tools to help manage all of that information. One thing I’m building right now (as soon as I’m done writing this, as a matter of fact) is a quick filtering functionality on a desktop app that talks to the database. The list of assets is filtered as you type, taking advantage of the fast PCs we have these days.
That’s just one example. I can think of others that are immediately useful in business apps:
- better visualization – it takes time and thought to develop good data visualization, but the results are usually worth it
- drag & drop support – make sense to drag assets from a customer to another? I don’t know, maybe.
- dynamic views – use all that processing power to show something more interesting than fields on a scrolling form. Graphics views that change in response to context
- track history, undo/redo – might make sense in some contexts
- attach more meaningful information – pictures, videos, documents, whatever. – with stuff like WPF, it’s easier than ever to display varied content
Check out my latest book, the essential, in-depth guide to performance for all .NET developers:
Writing High-Performance.NET Code, 2nd Edition by Ben Watson. Available for pre-order: