Code-based design tools are the only way you should build your next app

By creating clear, interactive code-based-designs, companies will decrease miscommunications and waste and increase overall productivity.

Ryan Hickman
CraneAi
4 min readNov 30, 2018

--

Creating digital products is all about communication. One of the most common ways product teams communicate the core ideas of an app they are building is by using static wireframes, yet static wireframes lack so much information it makes positioning the team for success nearly impossible.

How the process works today?

In today’s workflows designers come up with static images that represent a concept in an app — Register, Settings, Home Feed, Profile, etc. These static images are designed to capture the intent of what the app is supposed to do. The designs are then given to a development team in “the handoff” and hopefully the developers are able to take the designs and translate them into the user experience as expected.

However….

This doesn’t always happen. In fact it almost never happens successfully. Typically what the user ends up experiencing is something different than what was originally intended in the designs. Developers tend to capture the ideas of what is in the view differently than designers. This is the challenge of static designs — losing ideas in translation.

Designers have used these image-based tools with the desire to have pixel perfect ideas realized all the way through to production. Having control this way has always been a holy grail.

Static wireframes don’t capture enough details and often lead development teams to non-delivery of their apps. From executives to engineers each stakeholder has a different perspective on:

  • What’s important
  • How things should be prioritized
  • Critical dependencies
  • What “done” actually is

While static wireframes tend to be the source-of-truth on a project they fail as there is so much information that a static image cannot capture with far too much left to infer.

How this impacts communication

Yes — static wireframes provide a thirty-thousand-foot view of the general idea in a project. From this general flow of views, teams create other documents to reflect the additional contributions needed to help ship the product. UX teams do interviews and persona mappings, engineers mock APIs, managers build timelines… etc. Below is an example of a classic case that most projects exhibit.

The challenge is that with so much information lacking, the expectations of what needs done is lacking as well. Take a look at the tree swing problem.

The ‘Tree Swing’ communication problem

The static designs can take communication only so far. These processes are often inaccurate when communicating the requirements across the team as they lack details that static app designs simply can’t represent.

This is where the most waste is created, guessing what should be happening in the views and overall scope of the project.

Let’s take the classic case of a login view, by far my favorite view. It’s notably in over 90% of all applications — yet its often one of the most overlooked views resulting in issues (technical debt) surfacing later in the project. The problem that occurs with static images is:

  • It doesn’t show additional dialogs or messages
  • It doesn’t capture the changes that happen when a user interacts with it
  • It doesn’t demonstrate how it functions with a network or server

Almost all design tools are optimized for vector-based illustration, however your final output surfaces the classic case mentioned above.

The Solution

Code-based design tools are component-based making it so as you are designing you are effectively writing code as well. This allows teams to achieve that holy grail of productivity. Designers are using the raw materials of code to design their views eliminate the inconsistencies while empowering designers to have more control of the accuracy in the final output. The closeness between design and code mean that interface designs powered by code-based tools can exceed anything created in image-based tools.

Code-based design allows you to be more expressive in your screens by:

• Adding animation
• State based content
• Conditional interactions
• Variables
• Data-mapped content

Code-based tools render all the design elements exactly as they appear in the app making your output identical to the final product. No more hand-off’s.

The amount of time your team saves from faster iterations on ideas transforms your productivity.

Check out our Visual Code editor and explore new ways to transform the way your team builds apps with code-based design tools.

--

--

Ryan Hickman
CraneAi

Passionately focused on building and investing in Artificial Intelligence and the Blockchain