Cognacy Design LLC is a user experience consultancy operating since 2008 out of Boulder, Colorado. It is owned and operated by Brian Ehret, who has over 20 years of experience designing and evaluating user interfaces. He also has an aversion to speaking about himself in the third person, so that'll be the end of that.
The bulk of my experience has been designing user interfaces for browser-based system management applications; applications for configuring complex systems like LDAP servers, telephony systems, identity management platforms and enterprise license managers. I've worked with large and small technology companies, including IBM, Sun Microsystems, Cisco Systems, UnboundID and the OpenDS open source project.
Most of the teams I've worked with are distributed across the country or even the globe, so I have a lot of experience working with teams remotely using screen sharing and other collaboration technologies. Thanks to the wonder of the internet, I can collaborate effectively with the project managers, developers, product owners, and other user experience consultants (in cases where I am fortunate enough to work with my own kind) on my projects.
The projects I've worked on over the years have provided me valuable experience working within waterfall, Agile, and hybrid development methodologies. Nearly all of the work in recent years has employed Agile, and I'm quite comfortable working in that framework.
Designing user interfaces is the core of my work. My primary objective is to design an engaging user interface that makes it as easy as possible for end users to accomplish their goals. This objective contains three parts that interact to produce the user experience: end user, user interface, and goals. The background knowledge of the end users and their goals can inform design of the layout, flows and terminology of the user interface. With complex systems, however, the process is not quite that straightforward because the user interface will manage an architecture that imposes its own constraints, new concepts and task flows. The challenge is to reconcile these elements and design an user interface that is effective, efficient and simple.
Once a design has been specified, another key objective is to make it as easy as possible for the development team I'm working with to implement the design as intended. Ideally, there is a UI toolkit that implements design standards, so I can communicate the design via an interactive mockup using the same toolkit the development team will use for the final product. When that's not possible, I work with the team to come up with the best way to communicate the design.
UI design deliverables can include wireframes, design documents, static high-fidelity mockups, interactive high-fidelity mockups or comprehensive style guides that detail UI component appearance and include code snippets. You can find examples of some of these in my portfolio.
Many of my recent design projects have required responsive web design, which means the application will adapt its layout to accommodate a variety of screen sizes, from large desktop displays to laptops to tablets, all the way down to phones. All of these projects have used the Bootstrap toolkit as the foundation for the front end UI. As a result, I have a lot of experience using and styling Bootstrap's components and plug-ins. This site, in fact, is built on Bootstrap and jquery, so play around with your browser window size if you aren't sure what responsive design means.
I began working extensively with css back in 2001 while working on a UI toolkit to accompany the Sun Microsystems system management UI design guidelines. In addition to working on the guidelines, I specified the html and css for the UI components (e.g., application header, tables, form elements, tab navigation, etc.) and worked closely with the development team creating the toolkit. The css specification has gotten much richer since then and the introduction of UI toolkits like Bootstrap has made it easier to create polished interfaces with customized look and feel relatively quickly. There are quite a few examples of projects in which I've done this in my portfolio, including several for Cisco and UnboundID.
Visual design is not what I'd consider my forte, as I have had no formal training. I've worked with extraordinarily talented visual designers over the years and have gleaned enough to be able to create polished, presentable designs, but if you need intricate graphics, cutting edge visual design or something with "sizzle", I'm not your guy. When I do try my hand at it, I generally extrapolate from a provided color palette and company logo (see the UnboundID projects in my portfolio). I am solely responsible for this cognacy.com website, which gives a sense of my design aesthetic.
Unless the objects and task flows to be supported in a user interface are immediately obvious, it is necessary to first do some analysis to map things out. It is often useful to present the results of these analyses in diagram form to validate their accuracy and communicate to the project stakeholders. These typically take the form of flow charts, swim lanes, hierarchical diagrams, or concept maps. There are some representative examples of these in my portfolio.
There's no substitute for good quality data. Observing users attempting to complete tasks using your application is a great way to identify its strengths and shortcomings. It is is important to note, however, that the "garbage in, garbage out" principle applies. If your pool of study participants is not a representative sample of your target users, or if the tasks are not the common or critical ones expected of end users, or if the study instructions are written in a leading manner, or the study moderator inadvertently introduces bias while communicating with study participants, the conclusions of the study are compromised and potentially misleading.
Usability studies are essentially simplified controlled experiments, and so it is important to consider these and other potential problems to ensure that the data are reliable and ultimately actionable. In addition the published experiments I ran back in graduate school, I've conducted dozens of usability studies. Many of the early studies were done in person in an elaborate usability lab outfitted with a one-way mirror and video recording equipment. Nowadays, these can be conducted remotely via any collaboration software that allows screen sharing and the capability to assign control of one's desktop to another user.
Usability studies can provide a wealth of data, including errors, number of times a participants required help, task completion times, subjective usability ratings on the experience and participant comments. Analysis of these data can drive improvements to all aspects of the user interface, such as terminology, layout, task flows and aesthetics. Typical deliverables when I conduct a usability study include a presentation summarizing the findings, a prioritized list of usability issues and a list of recommendations to address those issues.
Many of the design projects I've worked on were system management applications, which tend to have complex navigation. With large numbers of navigation elements, it is challenging to determine appropriate levels of depth and breadth in the hierarchy. It is also a challenge to find names for the elements that are easily recognized and remembered by users. A great way to guide these decisions is to run a card sort study. There are several variants of the methodology, but essentially representative users are invited to organize the terms you provide (which used to be actual cards) into categories that make sense to them. Once this date is collected, it is run through statistical analyses to yield groupings that can be used to organize an application's navigation scheme. There is an example of a tree diagram in my portfolio that shows the output of one such study I conducted.