Tuesday, February 24, 2009

Why Do Enterprise Applications Suck? And How Can We Fix It?

Originally, this post was just going to be a link to a great article, but as usual, I seem to have a little more to say. Before you read my thoughts on the subject of sucky enterprise apps, please check out what Michael Nygard has to say on this topic.

Good stuff and I whole-heartedly agree. To summarize, Michael postulates that there are four main reasons that enterprise applications suck in terms of the user experience. They are:

1. The serve their corporate overlords, not their users.

2. They only do gray-suited, stolidly conservative things.

3. They have captive audiences.

4. They lack "give-a-shitness".

I think most of us in the Notes world would be hard pressed to say that these things aren't true in many of the applications that we've seen (and perhaps even authored ourselves in the early days). I often lament the fact that the majority of us learned our craft by deconstructing the Notes templates. While they were certainly great back in the day and the underlying code is slick, the fact is that the users' expectations of the software experience has moved on and we as developers...not so much.

I originally started this site knowing that it would be a niche within a niche. Interface Matters is about Lotus Notes development with a focus on user interface design. If you ask a lot of people, those things don't usually go together. At least they didn't. But I'm happy to say that Lotus and IBM get it now. Certainly we can't turn around on a dime. We're a huge company after all. But if you look at the progression between past clients and Notes 8, it's a pretty outstanding evolution. In my sales role, I'm starting to see a lot of traction in upgrades to 8.5 and this presents developers with an incredible opportunity to start rallying against Michael's "4 sucky apps" theory.

In order to overcome the sins of the past, you've got to start injecting the idea of a compelling user experience into all aspects of your design process. It's not just about how things look. Instead, it's about the entire experience, from the time you begin to engage the users to gather requirements to after project delivery. How do they report problems to you? How responsive are you to issues that are raised? Are you thinking about fast release cycles? All of these things are part of the user experience and I don't think I'd be off base by saying most are neglected in traditional Notes development.

To turn this around, begin leveraging best practices in the UX space. Try using "Web 2.0" design patterns (like those found at UI-Patterns.com). Examine what well-known sites are doing and determine how they are keeping users engaged. Even better, ask your users what they like. I've received some of my best ideas from the users themselves. It's very eye opening to watch them work or to discuss what sites on the Internet they find easy to use and why. The best advice I could give a programmer is to attempt to "step outside the code". The code is the solid foundation upon which a great app is built, but like the foundation of the building where they live, the user never sees it. Instead, they see their house...a place that is comfortable and that they call home. The same is true for your app, so our goal is to not only lay that solid foundation, but to create the most attractive and comfortable environment that we can. Once you make the mind shift from lines of code to "how will the user feel about this?", then you will be on your way to developing a more compelling user experience.

As developers, we're the ones on the front lines that can make this happen. More than other platforms, Notes developers often have to play the roles of business analyst, designer, tester and programmer all rolled into one. The concepts of user experience are important in the work that all of these roles take on, so by making this a standard part of your engagement model, you'll be able to effect real change for the better and help make enterprise apps suck a little less. Good luck...your users are counting on you!


Tony Palmer said...

"I know that individual developers do care passionately about their work, but usually have no way to really make a difference."

Reminds me of a time when I suggested that an approval dialog should have an approve (tick) and reject (cross) button for an approval system - nice and simple.

The PM had the final word and decided. The system ended up with a tick, a refresh, a padlock and a cross. Each represent the state of workflow route.

I suggested the get some user feedback. They didn't. It was still better than what they had before, but sometimes it's outside your control and very frustrating.

Joseph Hoetzl said...

So sad but true - while Notes 8.5 is significant, I still can't manage to get more web two-oe interfaces in the client. Take the side bar - tiny little control, no fluid sliding, can't apply a stylesheet to a view when "docked" in there vs. full view. Now my requests for "Widget sized" views are increasing. Things like that could make the enterprise apps we write (at least the notes ones) a lot easier...hmmm, ideajam that?

Kathy said...

I think the answer is simple...time. Enterprise applications are for companies that are NOT software companies, therefore they refuse to dedicate ample time or resources to make a great application. Great apps/software/user experiences like Google are great because the whole company is focused on creating it and making it better.

Corporate mind-set - "Just get it done, make it functional, do it fast."

Twitter/Google mind-set - "Make it cool."

Richard Moy said...


I agree with you. I have a client that has a major application that would qualify as having one of the worst user experience. Because of the interface it takes a lot longer to enter and retrieve information. I have suggested a number of times that improving the user interface will reduce their cost, but the answer is always no.

The new Notes 8/8.5 interface is great looking, but applications will look and feel like crap regardless of how much capability that IBM puts into the Notes client. Having the power of Web 2.0 does not necessary translate to good user experience as I have seen with recent products from number of companies including one with three letters.

In some ways the new features hurts the user experience, the Notes client is getting bloated. As Chris and others have demonstrated even with the classic client, the user experience can be very pleasant. I wished that they had just fixed a number of bugs in the Notes client interface. That would have made me happy.

Just like training, unless companies understand the impact it has on productivity, there will not be any investment in improving the user experience. There needs to be an advocate within the company that promotes the user experience.

quintessens said...

help! I am also stucked in a corporate web that still hangs on a Notes template that was developed for Release 5.

Arguments I get with new proposals are:
- no time for updating eLearning tutorials
- information about applications that must be broadcasted
- how to get Usability people with in an upgrade (well that last one was not invited for the Release 5 version template)
- .... (get everybody involved and their saying
- .... no guts so no glory