Developers are from Mars, Designers are from Venus

From concept to deployed application with Qt Quick.

Building an application requires a combination of skill sets shared between both developers and designers. Bringing the developer-centric world of engineering into balance with the visually-driven world of the designer can be difficult if the right collaborative framework and environment doesn't exist. Qt Quick has been designed to make Qt more inclusive, more collaborative and more focused on usability so that the technical limitations of the user interface (UI) are fully understood from the start.

Designers need to appreciate the technical constraints of a UI that will serve a mobile or embedded application where CPU, memory and power are limited – so that they don´t design beyond the scope of what the hardware can handle. Equally, developers need to design software that can be changed or tweaked to fit the designer’s requirements brief. This imperfect split means that great ideas can fail to evolve unless all parties collaborate properly.

Desktop prototyping for pre-deployment testing is inherently limited. As an application passes between development and design review and alteration stages, a lot of time is wasted and project productivity throughout the development cycle seeps away. Differing team priorities compound this situation; as developers show that they want to focus on core functionality, designers instead want to tweak an animation feature or some other aesthetic detail.

Qt Quick was developed to explore the potential for the designer to be able to work directly on the software and take control of the UI themselves. Qt’s engineering team asked itself whether its tools could be changed so that designers as well as developers could use them. Qt Quick is not just for prototyping, but for real UIs.

But taking full control of the UI requires the skill set of an experienced Qt C++ developer, how would designers cope with the additional engineering issues here? To address this issue, Qt Quick was built so that designers could benefit from a raised abstraction level for developing the UI so that the world of imperative code, classes, functions, pointers and compilers is abstracted away.

As long as a designer is technical enough to undertake a reasonable level of scripting work (and this is a skill that is usually quite common among web designers), then they can take full control of the UI. Qt Quick even provides basic visual tools for creating UI layouts within Qt Creator. Over time we expect these tools to get ever more powerful and useful. Designers already comfortable with HTML will find the QML declarative UI language easy to pick up.

This is a big change to how the team works. The designer is now controlling and creating the real UI. This goes a long way to addressing the problem of designers creating UIs that donʼt work. They donʼt need to rely on a developer to interpret their design, if they want to tweak an animation or layout they can.

So fundamentally, we can say that bad design stems from the problems arising from poor or imperfect communication. The developer never really knows what the designer wanted, but Qt Quick solves this dilemma by removing the need for the developer to understand. The designer can quite simply take control of the UI and construct it the way they have envisioned it to be.

This is just the start of how application development can be taken to a new level. These are issues we already have ideas to address in future versions of Qt Quick. Issues that come from a new, better working development team. So what are you waiting for? Go and empower your designer and free up your developers. The cult of Qt Quick awaits them.

Read the full article in the latest issue of Qt Quarterly.

Blog Topics: