I’ve written a lot of software. Most of it is for business users who have a job to do, and I frankly never put much thought into their experience using the applications I’d written. I just shipped my products, and let the trainers and support teams worry about user adoption and usability questions.
But something seismic has happened in the past two years. Apple released the iPhone, and then the iPad, and user expectations have drastically changed. People now have immediate access to some of the most intuitive and easy-to-use applications I’ve ever seen — and they’re bringing these expectations into the workplace. People are now wondering why the applications they use at work can’t be as easy and intuitive as the apps they use on their iPhone, iPad, or other mobile device? The days of throwing a half-baked web application over the wall appear to be over.
A few months back, I read an interesting article entitled 10 Tips for Enterprise Software Startups by Bernard Lunn. You can read it here. I was particularly struck by tip number seven, which stated:
“The new style of user interface – one click leads to another, no training needed, end users get results very, very quickly and that motivates them to learn the more complex functions – is fundamentally different from traditional enterprise software… The architecture has to enable this type of user interface for all types of users, including developers, administrators, managers, partners and so on. These users require complex, feature-rich systems. But they also now demand the types of user interfaces they experience online with Google, Facebook and Twitter.”
This is a big change for those of us who write and design software. Sure, lists and hierarchies are very familiar, but when I have a list of things to display, I want to put them in a table, because isn’t that the best way to present it? When I have a hierarchy, I should put it in a nice, comfortable folder-model and display it in the left pane so I can see the whole tree if I want to. After all, that’s what Windows Explorer does. Right?
The reason the iOS user experience is so simple to use, and so satisfying is that there are built-in constraints that keep the experience on-track — you can’t do anything you please, you have to follow the rules. Menus lead to other menus. Details are organized logically, and presented in bite-sized chunks. Tables and grids are nowhere to be found, and if they were, would ruin the experience. Navigation is a simple forward/back tree, and additional features have their own navigation stacks — going as shallow or deep as necessary to present the information needed in an intuitive flow that just makes sense when you use it.
As I ruminated on this change it occurred to me that this paradigm shift contains an opportunity: I believe this fundamental change is what will finally enable true 4G development. Previous 4G efforts, (software workbenches, software factories), have failed because they invariably tried to do too much. Their underpinnings were based on a “blue sky” approach to software development – specifically UI design. But “blue sky” is inherently a 3G development concept – that’s what 3G languages and frameworks are built for, and why they remain so fully entrenched in enterprise software development today.
3G languages and frameworks will always have a place in the enterprise, but we need to abandon this 3G concept and “embrace the constraints” that this new UX paradigm imposes if we ever hope to realize the benefits of 4G development. Mobility has enabled this shift – specifically Apple’s leadership in UX design for the iPhone and iPad – but these concepts must be extended to solve enterprise problems outside of mobility.