It's Fall, which means we get to see all of the phone makers announce their latest models promising to be the "best phones we've ever built". While the yearly ritual has become routine to the point where the media reviews are almost written in advance, it's easy to lose sight of the bigger picture of just how far these devices have advanced over the past 13 years.

Consider the technical differences between the new iPhone 12 and the original iPhone from 2007: screen resolution has increased 23X, CPU performance by 350X, and graphics performance by a whopping 700X! Even by tech industry standards, these numbers are staggering.

Imagine for a moment that you're at the original iPhone announcement in 2007 and you bump into a time traveler from 2020 who tells you how mobile hardware advancements would surpass Moore's law over the coming 13 years and that we'd all be running high-end gaming computers in our pockets. You could only imagine the mind-blowing software experiences that would surely be unlocked by that immense power.

Well, this is where you'd be a bit underwhelmed…


Apps have fallen behind

Despite the exponential leaps in hardware capabilities, many of the apps that we rely on every day aren't much different from what they were 13 years ago.

Pick your own favorite app. Has it seen exponential transformation or minor iteration? Likely the latter. Even the most innovative apps rely on the same foundations that were laid 13 years ago. Fundamentally, our approach to software design hasn't evolved so much as been optimized. And while, we have a few fancy new tools like augmented reality and machine learning, the reality is that much of our everyday experiences are still shaped by the same essential apps like Weather, Calculators, Alarms, and Timers that we have to interface with daily. It's these that have seemingly been left behind.

We are holding phones from the future, running software designed a decade ago.

Perhaps these everyday apps haven't changed much because they're "classic" designs? The problem is that you don't have to dig deep to find that most have ample room for improvement. The Calculator app is the most error-prone calculator I've ever used regularly hitting wrong numbers and never knowing it because of its insistence on sticking to its analog metaphor, shortcomings and all. The Alarm app is just broken. If you're like me and the 40 other people I've asked, you probably have a long list of 30+ alarms set for every time you've ever woken up: 8:00, 8:10, 8:15, 8:18, 8:22, 8:50… It points to a fundamental flaw in the model that makes it easier to add a new alarm time than edit an existing one. It's bad enough that I use it as a redesign exercise for my Intro to Interaction Design students.

The issues extend further to the visual design of these apps which often still hold the stamp of their origins on a small 3:2 phone. Look no further than the awkward empty space on the Calculator and Timer. These are signs that, despite this being the default software used by billions, it's just not a big priority.

If you've worked on large software products, this of course, comes as no shock. You know that the moment you release a product, you incur a sort of debt, and the longer your product continues, the greater that debt grows and the riskier it becomes to fundamentally shift that product in a new direction (ex: Snapchat). Plus, let's be honest, no one is buying a phone primarily for the default apps in this day and age. All of this means, there's little incentive for a company to rock the boat with its default software used by billions. Besides, these apps come pre-installed. It's not as if they have to compete alongside others in the App Store on their merits.

They've had over a decade to fix them and haven't. Do what others can't.


Honor the material

In my last article Building a Belief System, I shared a bit about my obsession with woodworking. Wood is a wonderfully versatile material. You can build almost anything out of wood and some woodworkers try. But you shouldn't. Wood is great for some things (big, flat surfaces like a tabletop) and poor at others (weight-bearing structures like legs). Steel, however, is great for structure due to its strength, but it would make a poor tabletop. This is to say something plainly obvious—every material is good at something and poor at something else.

Designers Charles and Ray Eames were masters with materials. More than any other mid-century furniture designers, they knew the strengths of their materials. In 1950, they designed a molded plastic armchair that showcases this. It consists of a fibreglass-reinforced plastic seat that is both easily-molded and flexes for comfort, a metal base truss structure for carrying weight and offering rigidity while staying light, and hardwood rockers for a solid yet forgiving material that won't damage your floors. Three different materials, each playing to its own strength, and yet all brought together beautifully in form and purpose.

To honor a material is to celebrate its unique properties and utilize its strengths. It's using a material to its full potential because it would be wasteful not to.



We're taught that technology shouldn't drive solutions, but that solutions should be driven by needs. And that is true. But as I've matured as a Designer, I've come to realize that it's not the full truth.

In software, anything seems possible. As Product Designers, we'd like to believe that we can imagine any form and build it. But software, like wood, has grain. Some things are easy to do and others are difficult. Move with the grain, and you can unlock amazing experiences. Cut against the grain, and you will struggle with even the most basic tasks. It's common for young designers to propose designs that are either impossible or too costly to build. It's okay—you're learning the grain.

Craft is truly knowing your materials—their strengths and weaknesses. Great Design knows how to honor those materials by marrying real needs with what a platform and device can deliver.

This is on us

Our apps are boring. We carry around incredible graphics machines that can churn through a multi-player 3D game at 60fps with cycles to spare, and we're using them to render flat rectangles. It's not that everything we do has to always push the capabilities to the max, but we need to recognize that modern day mobile devices are fundamentally different from those a decade ago. It's a new "material," and it's on us to develop new approaches that better honor this material by utilizing its full capabilities to solve real needs and unlock new software experiences.

If you're working on a product that's struggling to evolve, there's a question you can ask yourself: If you could throw everything out—scrap all the legacy, the systems, the patterns—and start over today, what would it look like? How would you honor the material?