Design is eating code, even as software eats the world

Product design today lets builders go faster and further than ever—how did this happen and what comes next?

Andrew Jones
UX Collective

--

Design eating code in the style of pac-man
Nom Nom

It’s been almost ten years since Marc Andreessen said, “Software is eating the world.”

At the time, coding was indispensable

The cost of hosting and scaling a product had plummeted (thanks to cloud hosting and related services), so having your own servers was no longer necessary. That went a long way toward democratizing product-building… but you still needed to know how to code or money to pay developers.

But now design is eating code

Product design today lets builders go faster and further before ever requiring code. It is driving the no-code movement, but it is also bigger than that.

The process of building a digital product (past vs. present)

In building a website or app, only a few early steps used to fall under the “design” category — followed by a much lengthier coding process. Today design can get you much further… in some cases, depending on complexity, all the way to the finish line.

The graphic is oversimplified, but fundamentally this is a tremendous shift in technology and process. Peter Levine (also of a16z) wrote earlier this year:

A decade ago, function over presentation was the rule, so you needed a workflow manual just to follow the user interface! But now — in the decade of design — the interface no longer reflects the code; rather, the code reflects the design.

Many people, myself included, have focused on function over design. That may have once worked, but today it’s a false dichotomy. Today more than ever, product design informs function and ensures you build the right product (in part because design today refers to more than just visuals).

Why is Design Eating Code — What’s Changed?

Aside from the hurdle of coding, which obviously fuels the “no-code” movement, three trends have driven this shift:

  • Growth & accessibility of tools
  • Design thinking and user-centered design
  • Agile development

1. Growth of tools (/ unbundling of coding needs)

Since Sketch was released almost a decade ago, we’ve seen a renaissance of new, low-cost design tools.

Sketch — far cheaper and easier to use than Adobe’s product suite at the time — plus more recent tools have enabled anyone with an idea to quickly design a site or app. Prototyping tools like Principle have enabled users to bring designs to life. Webflow lets users create fully-finished, professional-looking websites.

There are hundreds of tools to build without code. Tools like this have diminished or altogether replaced the need for coding, essentially “unbundling” numerous elements of software development.

2. Design thinking / user-centered design

Design thinking has essentially codified the process of product design. And it is certainly more than just visual or UI design. Design thinking begins with user research (empathy), moving to problem definition, solution ideation, prototyping, and testing, all before implementation. Implementation is typically where code enters the picture, although in many cases today code may not be needed at all.

The bounds of the design category have been stretched significantly.

3. Agile development (/Lean UX)

Agile development prioritizes speed, with rapid testing, feedback, and iterations. This lines up well with design thinking, which emphasizes prototyping and testing (also iteratively) before implementation. (Some people now describe the marriage of design thinking and Agile as “Lean UX.”)

Waterfall development is linear and doesn’t emphasize testing or course-correcting mid-stream.
Waterfall development is linear and doesn’t emphasize testing or course-correcting mid-stream.

As companies continue to move away from the slow and expensive Waterfall methodology in favor of Agile, they inevitably invest more in design. Why? Because it’s faster and cheaper. In a word, it’s more efficient.

Agile + design thinking emphasize speed, ideation, and testing-best accomplished through more product design components.
Agile development + design thinking emphasize speed, ideation, and testing—best accomplished by incorporating many more components of product design.

What does the future look like?

Speed and feedback loops will be increasingly important

Collaboration, for example, can be tedious… or it can contribute to faster iterations. Sketch was built for individual use, which required files to be frequently saved and transferred for collaboration, while Figma is browser-first and built for real-time collaboration. It’s the difference collaboration on a Word doc vs. Google docs.

Gaps in the design process reflect future areas of change

Prototyping is still complex. Invision has made progress and certainly raised a lot of money, but hasn’t addressed the full extent of prototyping needs. One of the most beloved and used prototyping tools is Principle… created by one guy (and substantially different from Invision)! Facebook created Origami, but it is far from perfect. Framer incorporates code to allow for greater complexity, which feels like a stop-gap rather than a long-term solution. Prototyping isn’t a solved problem, so expect to see significant development in the next few years.

And, related to prototyping, comes distribution, user-testing, and data collection — these are not formalized processes and lack clear tools. They often require integrations and manual processes, which means there’s room for additional solutions.

All this growth will continue under the product design umbrella

The spectrum of product design will continue to expand to address some of the unfulfilled needs above. Companies will invest more in design, and more tools will fill the gaps.

Designing solutions is simply more efficient than coding them.

The UX Collective donates US$1 for each article published in our platform. This story contributed to UX Para Minas Pretas (UX For Black Women), a Brazilian organization focused on promoting equity of Black women in the tech industry through initiatives of action, empowerment, and knowledge sharing. Silence against systemic racism is not an option. Build the design community you believe in.

--

--

Product manager. Former industry analyst. Interested in UXR, product design, and product management.