Requirements

Ideally, this involves seeing and talking with users in context. That’s not always possible, so I’ve often had to rely on indirect info from folks who have better access to actual users. Either way, understanding the user is essential. As we said at IBM: Know thy user, for they are not you.

Design

Understanding tasks and workflows; identifying and representing the concepts and objects involved; considering how users interact with these. To me, these are the essence of UI design.

Conceptual Designs: I generally start with paper and pencil: sketches, lists, flowcharts and state diagrams, wireframes, and jotted notes.

Wireframes: I don’t usually do much wireframing beyond paper sketches (or whiteboards), unless there’s a need for something more formal.

Mockups: When I render screen designs in a graphics tool, Fireworks used to be my go-to app. Nowadays, I’m using Sketch.

Prototypes: In the past, I often skipped doing mockups and went straight to prototyping directly in HTML, CSS, and JS. As apps become more dynamic, I find this is becoming less efficient, so I’m relying more on mockups, and limiting the scope of high-fidelity prototypes.

Review

Gathering feedback is just as important for design as gathering requirements.

Whether it’s pitching concepts to stakeholders, usability testing designs with users, or just stepping back and being honest about what works (or doesn’t), critical review is essential for good design.

Iterate

Designs are never perfect. Even a great UI design changes the landscape of a user’s needs, so change is inevitable. Expect to rinse and repeat.

Still, it’s also worth remembering that perfect is the enemy of the good. Don’t let seeking perfection prevent you from shipping!

Developer

I have technical chops. I’ve found my technical grounding and development skills useful, even when my role doesn’t call for it.

CD-ROM Years

My first “real” job was writing Macintosh applications in C/C++. This gave me an early break into design.

When I ported DOS applications to the Mac, I didn’t just copy the UI, but transformed it into a design worthy of a Mac.

Design wasn’t something we’d done explicitly before that. But it seems management was getting positive feedback from clients. That triggered a change in how we did things. I didn’t just officially become a designer; I formed a team and hired 3 more designers.

World Wide Web

When I first learned about the Web, I saw the writing on the wall for CD-ROM. I switched my focus, and embarked on a wild ride!

It soon became clear that I wouldn’t be able to ride the wave I could see from Ohio, so I moved to California (with an ache in my heart).

I really lucked out at my first dot-com startup, both because we did an IPO (learned a lot from that), but also because I got to work with my mentor, Bruce “Tog” Tognazzini.

Web 2.0

The emergence of libraries like jQuery, made working with the DOM less tedious and more fun.

One of the challenges became choosing a toolkit from among the many. I think it’s fair to say that jQuery won that competition.

But while more functionality was moving to the frontend, much was still dependent on the backend as well. When it comes to the LAMP stack, I consider myself a “full-stack” developer.

The “Postmodern” Web

With the rise of single-page web and mobile applications, so much has changed. As a UI/UX specialist, I mostly focus on the front-end.

Yet, even on the front-end there is a plethora of new technologies, all bringing changes to the functions and languages we use, at a crazy pace. App frameworks like Angular and React are competing for mindshare these days.

So, the “Browser Wars” continue, in a way. We still must choose the foundation we build upon. And hope it isn’t built on sand!