Enterprise Applications can have great UX
We often think that Enterprise applications are boring WIMP (windows, icons, menus, pointers) style apps and that there is little to no value to having a compelling UX. Sometimes we do this because we can’t sell a better UX to the business customer. Sometimes it’s because this seems easier for us as the developer. Sometimes it’s because someone thinks that it is such a small app, that it doesn’t matter. (If it is so small, and matters not, why invest the time and money to build and maintain it?)
UX is as much of the architects job as anyone else’s. It needs to be part of your project plan and system architecture. Having good UX in the presentation layer is like having a well factored class structure in the business tier.
There is just this lack of compelling UX in the business/enterprise application world. The problem is not the argument about why UX is important, but great samples of real enterprise applications that show how effective great UX can be. While there are many benefits to the business, working with a well designed UX can really re-motivate a tired enterprise developer as well. Nothing like a new shade of gray to motivate you in the morning.
dnrTV just aired an episode with Billy Hollis talking about current project. I stopped watching/listening to DNR a while ago, mostly out of apathy. This episode got me watching again.
He shows an enterprise application his customer has built using WPF. He does a walk through of the application, and then eventually walks through some sample code. He proves that you don’t have to have a designer (although that can really help!). He built this app with a team of three, so you don’t have to have a big team either.
The one thing you need? Enough energy to get out of the rut, and stop making carbon-copy-boring-high-friction-developer-first-user-second-battleship-gray-ware(tm).
It’s amazing what you can do with a list in WPF. The animated sticky notes on the side? A list with some styles. Check out this episode.
Do your applications have this good of a UX? Why not? WPF makes it crazy easy.
Comments
Also, now that you have so many UI possibilities, how do you structure your development team so that you don't have every developer trying to do fancy WPF-ness all the time instead of doing work that provides real value?
What's your opinion of using WPF in the enterprise? I know that you didn't recommend it to me back when I started my current project, I was wondering if anything has changed since then.
I will create a more thorough response as a blog post, but here are some short thougts.
In order to get the business to undestand the value, I paint it as a neccesary part, not an optional part. They wouldn't hesitate to require DB schema design, etc. If that is not enough, find what they are emotionally tied to, and help them understand that it is worht the time to help their users have this connection with their boring business application. This will help the users be more productive and successful.
I have always been a believer in vertical skills. I believe a developer should be able to take a feature from the front end (XAML, HTML, winforms) all the way to the back end (into stored procs if needed). Your question about fancy WPF-ness applies to any front end technology. It is up to the team to set the right design tenants, and work with eachother to make sure the right code is written at the right time. Just like someone doing backend gymnastics in C# that isn't really needed.
When your project started, I recommended against WPF for a few reasons. It wasn't because it was an enterprise app. It was because two years of work had to be thrown out (from a prior team), and your team had to replace it all (functionally speaking) in about four months. The team was already taking WCF and LINQ on as new tech, and adding a third I thought was just too much.
With that being said, we have seen WPF uptake be more aggressive in business, vesus consumer. I don't know why, and I think we expected that to be the opposite way around.