Thoughts and brain dumps

Thoughts and brain dumps

By Andy Hawthorne. Words, photos, code and running…

13 Jan 2020

Form and Function Still Matter

Reading time: 4 minute(s) - 700 words

In the company I work for our core product is clever. And it doesn’t need a front-end or UI to do it’s work. But the form and function argument is still relevant to it, here’s why.

Our product can process your data via an API call. It runs through a bunch of machine learning algorithms and spits the trained results back to you - via an API.

It is all about function.

Or so you might think.

The truth is, we still need something for potential clients to look at.

In spite of all the functional stuff we still need a UI to demonstrate what our customers can do with the output.

We know that the functional elements of our product work well. They’re tried and tested. But we can’t sell the idea of a product. Not even to technical people who understand software.

That means we need something that is visual, and that puts us in the same boat as everyone else developing web applications.

Form follows function…

The form should follow function idea comes from architectural design. The theory goes that if a feature exists, it does so to provide a purpose. Otherwise, it shouldn’t be there. But a common issue arises when there is a identifiable purpose for a feature, that now must look a certain way too.

That’s function following form territory. And so, is troublesome.

Nobody is saying that functionality is not part of the creative process.

Real world problems need a solution for the functions in the build. And that is a creative process too.

When we started to think about the UI we were going to build, keeping it simple was important because the output from machine learning libraries is complex. There needed to be compromises.

The looking pretty part (colourful charts etc.) and the best demonstration of learned patterns from the core algorithms.

This raised another question. Does our products output meet the definition of web content? How does content relate to function? This is an issue because if content informs the design of a web application, that must mean that design has to follow, not lead.

Now we have another issue, too.

Let’s say function is about producing content and the interaction with content. Then design needs to fall in line with both those elements. 

Jeffrey Zeldman is one of the leading contributors when it comes to web standards. He describes the situation like this:

Content precedes design. Design in the absence of content is not design, it’s decoration.

So, if we add in that the main role of a web site is still to inform. Then that further strengthens the argument that form must follow function.

We can conclude that our output IS still content. And must follow the rules of design and function like any other website.

Wait a minute…

Does that work for our product?

That’s all well and good for your standard website. Web applications are different. They often sit on a server chugging a way, doing stuff. Function rules supreme. That’s until you introduce something users are supposed to interact with.

The other alternative is: the web application is the front-end to some complex number crunching (true for us). Yet to sell our product we still need to put it in an attractive UI.

We arrived at conclusion it does work for our product. But we were going to have to work extra hard to ensure the form followed the function.

Why does this matter?

Our product is a AI/machine learning product. It does its work via a number of APIs and databases. In principle it only needs data to process and the functions that do the processing.

Until we want to sell it.

We could ask the potential client for some sample data. Run it through the training algorithms and then send them a PDF of the charts that are output.


We could use a web front-end to demo the output. In which case, form and function matter.

The web front-end is our sales tool. It demonstrates the power of the underlying machine learning/AI functions. And that’s why form following function applies to our web application too.



comments powered by Disqus