Form follows function follows form…

Kevin N. Coleman
Designs of Humanity
3 min readNov 6, 2017

We’ve all heard it before: “Form follows function.” It’s a succinct, alliterative, little phrase that helps system designers everywhere remember to design solutions that are focused on what users need. For example, a good designer wouldn’t design a semi trailer with the same light, alloy frame you’d put on a road bike. They serve different functions, so their forms need to differ. By assessing functional needs we can choose to craft a form that serves the need adequately. Anything after that is icing.

So, there you have it! Design a great bicycle and you’ll forever benefit from its function. Great!

But wait—there’s a problem here, lurking in the cyber-shadows just waiting to catch you off guard. While bicycles do quite well at getting you from A to B for many years, web apps don’t really have the same kind of simply-mechanical longevity. “Why not?” it’s natural to think, “just write it better from the start and it will serve its function for a long time.” But that’s just not how emerging tech works. Every day we learn of new possibilities. While bicycles serve pretty much one longstanding purpose, web apps are constantly expected to do more, faster, and with less user effort.

It would be like taking your bike back to the shop a month after purchase, saying “ok, cool. Now, why doesn’t it go faster on its own without me pedaling?”

The irony is obvious with bikes, but it’s not so obvious when we get into web apps. Because at any given time our project constraints are likely technical, in another month we might well be able to do the next greatest thing. A quickly-advancing field really does mean we need to keep asking those questions, assessing and re-assessing the usefulness of our existing apps.

What this means is that we really can’t just call it quits at “form follows function.” Once we’ve solved a problem we’re immediately ready to start asking “how can this form be refined in order to be even more functional?” It’s a sort of ever-renewed calling. For craftsmen, the phrase becomes: form → function → form → function → form…

In web dev, you can keep this ball rolling in a few ways:

  1. Keep in touch with your clients. Stay constantly in touch with clients. Unlike the old way of business, there’s no clear “finish line” to tech projects. This can be frustrating, but in ways it can also be inspiring. Just like coworkers don’t stop being friends at 5pm, devs don’t drop their commitment when the project meets the client’s needs. If new needs arise we want to be there, ready to meet them.
  2. Maintain your projects. Following an older, static model of inventing solutions it’s easy to think that when you’re done, you’re done. Nope! As newer, better framework solutions come out, you can leverage their advantages by updating. Sure, updating takes time, but in the long run not updating is potentially even more fatal.
  3. Keep your tools sharp. Like all good craftsmen, understand that the time to sharpen your tools isn’t when you’re on a deadline. It’s best to keep your skills sharp so you’re ready to efficiently solve problems. In tech, this means learning new things every day, intentionally focusing on your teamwork, tool set, and process.

Web app development isn’t just some daily grind. You don’t just push code out the door and forget about it. At the end of the day, that code helps real people accomplish real things in life. The calling doesn’t go away, so neither should our passion for inventing new solutions.

--

--