What I’m struggling with.

Designing enterprise software interfaces sucks as much as building them does.


I’m a designer on an internal tools team, where I’m currently trying to unify the look and feel of a large set of different internal applications, developed by entirely different teams (and sometimes subsets and cross collaborations of those teams), so that when our staff log in to work in the morning, they’re not logging in to various different applications, each of which might look and work wildly differently, and then throughout the day, use some set of other internal applications which are also all unique and baffling in their lack of cohesion.

I’m trying to make their workflows less arbitrary — so that when they come across a “Create new _____” form, they don’t have to learn how to use a dropdown all over again, because this one works entirely differently from the last one they used (which worked entirely differently from the one before that.) How do I design sets of rules for how forms work that will work universally, even when I’ve got 300 different instances of them, all with vastly different requirements? How many one-off interactions is it okay to have? How can I make sure those one-off interactions are well documented enough that down the line, some developer might see them and use them again so they’re not quite so unique anymore?

I’m struggling to figure out how to fit all of these various, varied navigational structures in to one box where they all place nice with each other. “Start removing unncessary content” some say — but what do I do if I literally just can’t? What if I truly, without any exaggeration at all, absolutely must have every last one of those seventy-five items in the sidebar? What strategies can I employ to make this less harried? What are some good rules-of-thumb to follow when you have to have navigational elements that nest and collapse three levels deep?

I’m utterly baffled as to how I’m supposed to not lose my mind when trying to design for five or more different personas, all of which have entirely different requirements for my interfaces. Each one wanting to see the same set of data ordered in an entirely different manner as any other one desires? When my personas all have overlapping needs, what are helpful ways of keeping my thoughts about each of them organized so that I don’t go completely insane? And for bonus points, what’s the best-practice way to communicate each these subtly different alterations of the same interface to my development team so that they don’t tar and feather me on the spot?

I’m dumbstruck as to what I’m supposed to do with this table of data. No, seriously — what the fuck am I supposed to do when you absolutely have to see every one of those 14 columns of those 83 rows? Give everyone 27" screens? That’s what I’m leaning towards.

I guess what I’m struggling with is designing stupidly complex enterprise user interfaces. The unfortunate part is that that, quite literally, is my only job.


Not to say that I haven’t been successful! And if my manager happens to read this, don’t take this as me admitting that I have no idea what I’m doing — because I’ve got a pretty good clue these days. The hardest part, for me at least, is that I feel like, sometimes, I’m doing this entirely alone. I know I’m not the only enterprise software-focused visual designer in the world. Obviously that’s not true because there are some pretty slick giant apps out there, even if most of them tend to suck. So where are you guys? I’m dying here, and the startup designers who have easy problems to solve are getting all sorts of love.

If I was struggling to figure out how to design a cool landing page for my startup, I could find 47 inspirational landing page designs in 4.7 seconds, flat.

If I was trying to design a layout for our product pricing page, I’m pretty sure I could find 10 articles telling me how to do it like 37signals without breaking a sweat.

And if I was finally stretching my horizons and building an iPhone app, you just know I wouldn’t have trouble at all finding 23 examples of flat design apps coming before me.

But if I’m looking for advice on the topics I mentioned above, where do I go? I go to boring, academic places where I end up reading dense articles about information architecture and interaction design, which don’t give me real-world, usable examples of how to actually accomplish this stuff anyway. Sure, I’ll end up figuring it out on my own most of the time, but it would be just so lovely if someone showed me something concrete now and then. I’ve made it this far without much of that, but man would just make my day to see a screenshot now and then.


So with that, I’m going to try getting out of my shell a little more. I’ve never been much of a writer, but I think I might finally have something to contribute to the world. I’ve got some experience now with building big, boring applications that are really complex, and it’s time someone started posting sexy screenshots of this really, truly, unsexy work.

I don’t have all the answers, not by a long shot, but if nothing else I hope I can spark some conversations about this. Let me show you some scary big tables and my strategies for wrestling them in to submission. I’m going to dig in to nasty deep navigational structures and show you what I’ve come up with so far in regards to making them not so insane. I’ll try to peel the lid off of figuring out how to get those 10 different development teams to actually want to use the same visual design language instead of all just insisting on using whatever their favorite theme from WrapBootstrap is.

And maybe, just maybe, I can help out a few of my brethren — all those heroes out there trying to make enterprise software stop looking so fucking ugly all the time.

For those about to un-suck some software, I salute you.