One of the challenges to creating effecting and engaging User Experiences (UX) for interactive devices is balancing the creative aspect with the functional. Talented visual designers can create amazing works in Photoshop, some of which make even experienced software engineers cringe when it comes to having to implement them. Knowing the capabilities of your development team can be critical when trying to make the right decisions in the early phases of a design effort.
As part of a consulting organization, ICS designers have become skilled at recognizing that the heads of the engineering organization are stakeholders that are just as crucial to a project as marketing, upper management or the end users themselves. User interface designs need to be sleek, modern, eye catching, consistent and usable. Oh, and by the way, they need to be implementable too.
I’ve said in earlier posts that software engineers typically don’t do good UX design because they aren’t trained in making the right decision for the end user; engineers tend to focus on how things are implemented. However, the converse is true as well. A “pure” design shop or agency that isn’t used to asking how things will be built can get a project into trouble quickly. It’s a delicate balancing act.
One of the guiding design principles on the ICS UX Design team is that our design output can always be implemented using the technology being used on the project.
During brainstorming times, we can all still pretend things are done by magic and come up with some amazing designs. But eventually, the pixels have to hit the screen. Over the years, our team has developed a solid understanding of what can be done (or at least done easily) in QML and Qt widgets, and this helps guide some of our early design choices.
In my last post, I talked about how UX Design is, at its heart, a form of engineering and problem solving. There are inputs, constraints and outputs, just like software engineering. Knowing how to do the best job possible given the constraints on a particular problem is what good engineering is all about. This applies to design efforts as well. No matter your product or application, in order for it to be successful it needs to be designed to provide the end user with the best experience that can be delivered by the technology available.
Sometimes we’ll even want to push the limits of what technology can provide and really create something magical, but that’s a discussion for my next post.