Form Follows Function: The Principle To Deconfuse All Personal Development (WIP)
You are reading a work-in-progress draft. These are published for the benefit of curious individuals.
Preface
My introduction to the principle of Form Follows Function (FFF) occurred during a high school biology class. The concept was simple yet profound: in nature, there are no arbitrary structures; every biological form is shaped by its function, a product of evolutionary design. This idea, though initially intriguing, faded from my immediate focus, resurfacing years later in an unexpected context.
As a consultant, I found myself crafting numerous documents and workshops. They were well-received, but a sense of clarity eluded me. I was doing things without fully understanding the ‘why’ and the ‘how’. This confusion wasn’t mine alone; it permeated through my team, including my managers. Then, a pivotal moment came when one manager pulled me aside with advice that would reshape my approach: “Don’t get too absorbed in the form of what you’re tasked to create. Focus first on understanding its function. The form should naturally emerge from the function. Make sure you grasp the function thoroughly.”
At the time, the depth of this advice didn’t fully register with me. Yet, as I began applying this principle to my work, its power became evident. The focus shifted from merely producing outputs to understanding their underlying purpose. This approach soon transcended my professional life, seeping into personal domains, such as my personal knowledge management system.
Previously, I might have simply scanned a list of features, choosing software based on feature quantity or feeling overwhelmed by feature trade-offs I couldn’t evaluate. With FFF in mind, I changed tactics. Instead of leaping to the form level – selecting a specific piece of software – I started by considering the functions I needed. What did I want to achieve with this tool? I assessed my requirements, ranked the options based on how well they met these functional needs and made informed decisions. It became clear that while there may be numerous forms, only a few effectively serve specific functions I valued.
Introduction
The principle of “form follows function” (FFF) is an important idea in the fields of biology, design and architecture. For example, if you’re building a house, you need to start understanding the functions of the house. Suppose you want the people living in the house to be more energized (function), then you might want to increase in-home light exposure (form), which could be achieved with 180° windows in the living room. It is difficult to reverse engineer the most promising design without explicated functions.
The relevance of FFF extends far beyond these fields. This principle can be applied to a wide range of areas, from organizational structures and product design to personal habits and decision-making. In this article, we will explore the principle of FFF in the context of personal and professional development.
FFF is the idea that Forms (e.g., actions, routines, habits, checklists, structures, systems, approaches, software, etc.) should be selected based on Functions (e.g., things you want to accomplish). If we learn to use it properly, it will significantly help us in every domain of life. Unfortunately, this principle is deceptively simple, provoking the hinderance of comfortable delusion.
We will discuss the benefits of following this principle, and offer recommendations for applying it in your own life. Whether you’re looking to improve your health, finances, relationships, or career, this article will provide valuable insights and ideas for applying the principle of “form follows function” to your personal and professional goals. You will be empowered to make more informed and purposeful choices in your life that increase the chances of getting more of what you want and less of what you don’t want.
Human nature and decision-making
As humans, we’re constantly faced with small and big decisions. Should you invest in professional pictures for your dating profile or do it yourself? Should you go to Italy or Japan for the summer holiday? Should your new hobby be dancing or playing an instrument? Should you wear the yellow shirt with blue trousers on your first day of university? Should I use Roam Research, Obsidian or Notion as my knowledge management system? Should I start my morning routine with meditation or yoga?
From the perspective of dual-process models, popularized in the book Thinking Fast and Slow by Daniel Kahnemann and hotly debated in cognitive science, a decision can be made with System 1 (intuitive, effortless, fast), System 2 (deliberate, effortful, slow), or a hybrid process. Some people might predominately use System 1, while others are biased heavily towards System 2. Both are valuable and have their shortcomings. However, the past 50 years of research have provided strong evidence that, most of the time, people are cognitive misers, which means the basic tendency is to default to heuristic processing of low computational expense (Kahneman, 2011; Simon, 1955; Taylor, 1981). This is not a bug but a feature of our brain because it helps us to navigate life without being constantly overwhelmed or exhausted. It’s not worth thoroughly scrutinizing small decisions, such as what to get for lunch today. Elaboration Likelihood Model (ELM) and Heuristic-systematic Model (HSM) are two popular theoretical models that have collected much evidence for their proposed conditions under which people select one or the other process (Cacioppo and Petty, 1984; Chaiken and Eagly, 1989; Kitchen et al., 2014).[1] When we explicitly apply FFF, we are using System 2. Fortunately, excellent execution can become intuitive after enough deliberate practice. Ultimately, the theory and evidence point towards the importance of awareness related to our thinking processes.
There are different decision-making procedures with different degrees of thoroughness. If a decision is highly consequential, high thoroughness might be wise. FFF is a powerful principle that improves your decision-making. If you have ever formulated clear, explicit, and compelling criteria for the evaluation of different options, then you have practiced FFF. However, if you do something and can’t give good reasons why, then you likely haven’t applied it.
For example, do you know things you want to get out of your knowledge management system? What are the criteria for a good or bad knowledge management system? Why did you decide to use a certain knowledge management system – did you think it through first principles or select it based on social heuristics, like social proof (e.g., all my friends are using it) or authority (e.g., a perceived knowledge management expert, like Tiago Forte, recommending it), or both?
What is at stake here? If we are not explicit about what we aim for (our functions), we radically increase the chance that we don’t get it. To this end, we need to be strict not to conflate and confuse means (or proxies or forms) with ends (or functions). We need to understand the chain between means and ends. For example, setting up a ‘great’ knowledge management system or ‘managing knowledge’ are likely to be poorly-performing ends. ‘Making writing articles easier’ is much closer to a useful specification of an end. If we only aim to manage knowledge, it is unlikely that the system will be as good as it can to make writing articles easier because this requires a different design and solution. Here, good specifications of ends help us select the available off-the-shelf software solutions that serve our desired ends productively.
Without getting explicit about ends, they can’t inform our approach to achieving something. As a result, we are extremely unlikely to pick the optimal approach or strategy. For example, suppose your goal is ‘to find a new job’. On the face of it, the goal seems clear. However, on closer inspection, you’d find that it is too vague and lacks a description of what you’re hoping to get out of a new job. There are different candidates: is it about income, meaningful work, being part of a community of like-minded people on a daily basis, skill growth, or something else? Or a combination of these?
Suppose you realize that what you really want from a new job is meaningful work, as you don’t find your current job meaningful. It’s not about finances as you have plenty of savings, you already have your “tribe” and don’t care about a new set of coworkers. Having had this realization, you can now target your job search much more directly at the specific thing you care about: finding meaningful work. You may narrow your job search to only jobs you really want and spend a lot of time on each application. Contrast this with a scenario in which the main thing someone wants from a new job is to increase their earnings. In that case, you might filter job applications (that match your skills and experience) based on how much they pay. Notice that would be a very different approach to job search than one in which meaningful work is the main criterion.
As the idea itself is fairly intuitive and should be easy to grasp for most readers, we’ll mostly focus on how to put it into practice. That is, we’ll emphasize the “how” to help you implement FFF in your life.
FFF and other ideas
The meaning of “form follows function” is similar to ideas such as:
- “Begin with the end in mind”: in this classic self-help book, The Seven Habits of Highly Effective People, Stephen R. Covey encourages us to envision what we want before we start working towards it
- “First principles thinking”: used in philosophy and sciences (e.g., physics), first principles thinking means to start a reasoning process from axioms or uncontroversial assumptions. For example, as described by Elon Musk, “ […] let’s look at the first principles. What is a rocket made of? Aerospace-grade aluminium alloys, plus some titanium, copper, and carbon fibre. […] what is the value of those materials on the commodity market? It turned out that the materials cost of a rocket was around two percent of the typical price.”[2]
- “Start with why”(and end with the how): a phrase popularized by Simon Sinek in the book with the same title, which refers to the idea of starting with the purpose or reason for taking action and then developing a plan for how to achieve it
- “Reverse engineer” or “work backwards”: the idea of starting from the desired outcome and working backwards to develop a plan for achieving it
- ”Think ahead” or “plan ahead”: the idea of considering the future or long-term consequences of your actions
- “Goals first” or “outcomes first”: the idea of setting goals or outcomes as the primary consideration in your planning or decision-making
- “Strategy first” or “plan first”: the idea of developing a plan or strategy before taking action
- “Design thinking”: a problem-solving approach that involves starting with a clear understanding of the user’s needs and working backwards to design a solution
- “Think big picture” or “strategic thinking”: the idea of considering the broader context or long-term consequences of your actions
- “Root cause analysis”: the idea of identifying and addressing the underlying causes of a problem, rather than just the symptoms
While these all point in a similar direction, we think that FFF does the best applied job. For instance, “begin with the end in mind”, “start with why”, and first principles thinking emphasize the importance of having reasons for doing what you’re doing, which is good. However, these terms don’t address what should come next or how to act based on those reasons. FFF does a better job at providing a clear imperative, which is that the form design should follow the functions.
“Function” is similar to “purpose”, “value proposition”, “the why”, “benefit”, “outcome” or “goal”, and it might be used interchangeably at times. We can think of a “function” as the umbrella term for these and similar terms. Similarly, “form” can be used interchangeably with “approach”, “design”, “format”, “vessel”, “tool”, “instrument”, “systems”, or “checklist” depending on the context. Forms vary in their degrees of freedom. For example, a system has more degrees of freedom in its design compared to a checklist, which describes a relatively specific format with fewer degrees of freedom.
“Form Follows Function” is a memorable and concise way of saying something like: whatever you create or select to serve you should be heavily informed by what you want to achieve with it.
Popular alternative phrasings miss explicating the connection between your deeper motivations and the selection of a product, approach, or design. However, we often fail to act accordingly, so we need a clear reminder or imperative to guide our actions and thoughts. Ineffectiveness and wastefulness are bred by action without examined and explicated functions as well as goals without carefully selected or designed forms.
So even though this term sounds quite technical and the meaning might not be immediately obvious, it is the best form (i.e., phrase) that serves the function of behavioural and cognitive guidance.
Another benefit of the terms “form” and “function” is that they are very neutral in the sense that they presuppose almost nothing about what you’re aiming for or how you want to go about getting it. To see this, consider how it sounds if you swap “function” with the other proposed terms.
- What functions should my knowledge management system serve?
- What goals / ends / whys / value propositions should my knowledge management system have?
It might make sense to exchange functions with something else depending on the context and the semantic network we want to activate. We need to have a good understanding of the difference generated in the response based on tiny changes to the formulation of the search queries (or prompt / question). There is no right or wrong here. It is about knowing ourselves. We experiment with different phrasings and notice the differences in how our mind engages with them. For example, you might associate “goal” with a fixed state or something too specific to be a good function. Similarly, if we were to swap “form” for synonyms, like “approach” or “strategy”, the response would likely differ
- What forms would serve the functions well?
- What approach / strategy / design / system / checklist / tool / routine(s) would serve the functions well?
Of course, there’s nothing wrong with using those other terms, and they are useful under specific conditions. For example, a checklist, a new tracking metric or a journaling question are great forms, and it is important to ask yourself how they need to be designed to serve the functions well, but I wouldn’t start with them because they catapult your design thinking to a level with fewer degrees of freedom, which restricts creative solutions that could produce better results.
For the remainder of this article, we’ll sometimes use the previously discussed synonyms to stand in for “form” or “function” for the sake of readability and clarity.
We’ve now defined FFF, discussed its origins, and different formulations and looked at some examples of how we can apply it to achieve better outcomes. In the following, we’ll cover the importance of FFF and how it can improve your life.
Why apply FFF?
Let’s go meta: what are the functions of using FFF? Using FFF will …
Invite you to start with functions first. It emphasises the importance of understanding the functions that we want to achieve before selecting forms to support them. This approach puts the focus on the end goal, rather than the means of achieving it, and encourages us to identify what we truly want to accomplish before deciding on a course of action. It gives us permission and reason for deep thought. It is likely that we will identify a much richer menu of functions to optimize for if we make an effort to explicit them. With top-of-mind functions or implicit functions, the nutritional value of our dish (form) will probably be much poorer.
Encourage a larger form option space. If we have a demanding list of functions, then we are encouraged to consider and identify a larger form option space and to think creatively. This can lead to the discovery of forms that we may not have considered otherwise, which can improve our chances of success. For example, if the function is to make our physical health activities more consistent, we can think about optimizing our exercise routines, healthy eating habits, and regular check-ups with a doctor. Consistency can be increased by making things easier. To increase the ease of doctors’ appointments, we could ask our personal assistant to schedule them or find a competent doctor that is leveraging digital technology effectively. Again, we are more likely to generate more options that are not merely top-of-mind and conventional. If we do this right, we have a greater sense of agency in recognizing what the underlying variables are that we can change and optimize. For example, the distance to the place of exercise (e.g., gym) could be a key motivational variable that we only discover as we contemplate different options.
Making better decisions. A larger option space will lead to better decisions. Whenever we want to do something – whether it’s selecting an accommodation for your upcoming vacation or the next person to start dating – we have a better understanding of our options and what we optimize for. If we were to make a decision without a large option space and clear functions, the probability of us selecting the best option, given our functions, is low.
Of course, it doesn’t follow that if you don’t use FFF that you will perceive a decision as bad or suboptimal. You may enjoy a suboptimal vacation and not too strongly regret investing three months into a romantic prospect that appeared not highly compatible from the beginning. However, a bit of FFF can drastically help us make better decisions with higher returns. For example, if maintaining health is an important function for a vacation, it could lead us to pre-commit to not drinking or eating only one cake a day. In a world, where we would only rely on our implicit functions, our decision-making before the vacation and during it would be much worse. We might sometimes decide not to drink and feel satisfied with that.
It helps us discover what our personal decision criteria are or should be. Without explicit criteria (functions), it’s hard to evaluate and identify the most promising option and decide on it. This can help to identify forms that are not serving a useful purpose and eliminate them, freeing up time and energy for more important activities.
Cultivating your inner judge and designer. Another way to illustrate the importance of FFF is to look at what we tend to do instead of applying FFF-type thinking. We often use social heuristics instead of explicated functions. We select a tool or solution based on what our friends do or recommend or based on what some respected influencer or expert recommends – and then we tend to defer to their judgment. In many cases, that’s of course totally reasonable! As we’ve touched on earlier, it’s not worth applying FFF to every single mundane aspect of your life. And sometimes it’s a wise strategy to copy the behavior of our friends or respected experts or influencers. At other times, however, we really do suffer by not thinking for ourselves. The problem is that many people never apply FFF thinking to their lives. By not doing that, we lose out on a lot that we value compared to if we had thought through things independently and set our goals or functions. We end up with systems, relationships, and habits that do not serve us.
Not conflating usefulness with other qualities. Another heuristic we sometimes use is to do whatever seems cool or interesting over thinking from first principles. Again, sometimes this won’t be a problem, but in some cases, you’ll lose out on a lot of opportunities and value by stopping at whatever grabs you at a gut level. If you’re working on setting up a tracking system, instead of asking yourself “what would be cool to track?” try asking yourself something like “what am I trying to accomplish with this tracking?” (function) and “what things could I track to help me accomplish that?” (form). The core idea is to base your tracking on your deliberately chosen functions or desired outcomes instead of, say, deciding to track how many steps you take per day just because it seems like a cool thing to do (and brag about!) To be clear, you may decide to track how many steps you take, if that seems like a wise choice given your functions. The point is only to do things – in this case, tracking – to the extent that it makes sense to do so given your functions. We do not want to end up in an environment and with things that don’t serve us as much as possible.
Designing better forms. The principle helps us to design 80/20 forms. The 80/20 rule states that 80% of the effects come from 20% of the causes. By focusing on the functions, we can identify the forms that are most likely to give us the greatest results with the least amount of effort. This can save us time and energy, and help us to achieve our goals more efficiently.
Achieving better outcomes. FFF nudges us towards forms that are better suited to achieving our goals. We can optimize just about anything we care about, whether it’s something related to productivity, our relationships or becoming happier.
We’ve now covered why to apply FFF. As part of that, we discussed what people tend to do instead of explicitly reasoning about their goals or functions and methods for achieving them. In the following, we’ll get detailed about the practical application of this principle, as the only way to actually benefit from a principle like this, is to put it into practice consistently.
How to use FFF
The basics
We have two basic options to apply FFF. It could be on (1) something new or (2) something existing.
Here is a general framework:
- Identify something that’s important to you that you want to optimize (e.g., romantic life)
- Explicate the functions
- Create an MVP form or update
- Reevaluate and update
This framework can be used deductively as described (e.g., want to optimize my productivity), but also inductively by intervening on something that is causing you displeasing emotions, such as dissatisfaction, pain, or overwhelm (e.g., your communication system).
Once we’ve thought of something that matters to us, we can then sit down and start thinking about what the functions are. Note that there may be multiple ones, not just one. Previously, we looked at examples such as optimizing your knowledge management system, but it could be basically anything, for example, something with your relationships, habits, work or finances.
Paying attention to details. When we apply FFF, form details matter, a lot. They can lead to big differences in outcomes.
In the world of coaching, the best ones are incredibly detail-oriented. For example, NFL basketball coach John Wood would start his coaching of a new team by teaching them how to put on their socks correctly![3] As it turns out, in the world of NFL basketball, putting on your socks incorrectly, can lead to blisters that can deteriorate your performance or lead to less time on the field. If we translate it into the FFF lingo, then John Wood’s function was to maximize the quantity and quality of time spent practicing, which requires to prevent injuries. This made him focus on all the forms that could influence these functions – of which one is the correct sock placement. There are more lessons here, but we leave it at this.
Similarly, when we work on applying FFF to an area of our life, it is important to appreciate mundane details. For example, maybe we like to use a flashcard app on a daily basis (the form) to increase retention of ideas we acquire from podcasts, books and articles (the function), but perhaps we never manage to use your flashcard app for that purpose. Upon closer inspection, we might find that we dislike the interface of the software we’ve been using, which has stopped us from picking up this daily habit. That insight can help us generate solutions to implement the desired habit of reviewing ideas from flashcards.
Formulate good functions
Important characteristics of good functions are their ability to:
- Inform our approach/form
- Motivate and compel us to invest effort
Be careful using hierarchical functions. When you start identifying functions, don’t obsess about how to list them or organize them at first. A simple bulleted list will do fine. Those of you who are very perfectionist or systems-minded, may feel the pull to do hierarchies and nested lists within nested lists and such, but I would advise you to stick to a simple list when you’re taking your first pass at this.
Timebox the specification functions. It might be tempting to spend a lot of time specifying functions. However, it is often best to aim for 80/20 and pragmatism. A key tool that can help you do this is timeboxing. Give yourself a timebox of 30 minutes to specify your functions within a given life area, a system, or a project.
Prioritize your functions. Different people will find different functions less or more important, based on their current life situation. You can either only write down the functions you value or write an extensive list and prioritize it afterwards. Top-of-mind functions are usually reasonably good. Fulfilling your prioritized functions will help you to sustain a high level of motivation and progress.
Avoid mixing different levels of abstraction. You will quickly realize once you start using the framework that navigating different levels of abstraction is key to deriving value from it. In most cases, you want to avoid mixing levels of abstractions in your list of functions (e.g., help me do the most good for the world, live longer, and do 10 push-ups a day) because too abstract functions are not form-guiding enough and too specific functions often take the shape of forms. I recommend aiming for a middle level of abstraction. More examples are given later to understand what middle level of abstraction means.
Boundaries between functions and forms are blurry. The blurriness of the distinction will become clear relatively quickly once you start applying it thoroughly. How to deal with it? It is not a practical problem per se and it is a common complexity that inevitably arises from using hierarchical or sequential reasoning. For example, if I want to understand better what influences my well-being (function), then it appears useful to track my well-being and things that might influence it (form). However, you realized that you have difficulty tracking it, mainly due to forgetting. You can now select different forms that help you optimize the function of not forgetting it, like a phone alarm at the time when tracking should happen. The main takeaway is to be aware of the blurriness and learn to navigate it.
Make functions motivating. If your functions don’t spark motivation, you might want to rework them. They shouldn’t be merely marketing-speak but resonate with you on a deeper level. To this end, you can ask yourself “how can I make function X juicier?” Really think about how to word things in a way that is appealing to you. You may not even be able to explain why a certain word choice resonates and you don’t need to. If an alternative question leads to more juicy functions, you might prefer that, e.g., “what motivates me deep down to do this thing I’m considering?”. This will influence how you feel about your FFF project, and how you feel about it will influence your motivation to keep engaging with it, so it’s worth thinking about word choice.
Update your functions. As you gain more experience, it is likely that you want to upgrade your functions. This could mean adding new functions, reprioritising the functions, or modifying or eliminating old ones. You can think of “regularly keeping my functions aligned with my priorities” as a key function. A form to achieve that could be to “put a regularly recurring event in my calendar to review my functions”. When you refine your functions and make them more specific and clear, you stay focused on what you truly want to achieve and avoid getting sidetracked by less important goals. Iteration helps you to prioritize your functions, so you can focus on the most important ones at present. This can help you to make better use of your time and resources and achieve more meaningful results.
Use a verb at the beginning of each function. When verbs are used at the beginning of function lists, they make sentences more clear and concise by indicating the action being taken or the focus of the sentence. This can also help you understand the meaning of the sentence more quickly and make them more engaging and active.
Try to employ different verbs. Different verbs can add variety to your writing and make it more interesting to read. It can also help to avoid repetition and monotony. Don’t create a list where every function starts with either ‘increase’ or ‘decrease’. Using different verbs can also help to clarify the meaning of a sentence and make it more specific. Different verbs can convey different actions, emotions, or states of being, which can help to convey meaning more effectively. Different verbs can also help to convey different voices and tones in writing (e.g., cultivate vs. increase). This will make you generally a better writer. It is helpful to look up synonyms online.
Experiment with the suggested syntax. In my coaching sessions, I usually provide the following fill-in-the-blank syntax for the specification of functions to make the process easier. The syntax is: “The _ (tracking system) should ensure that I _”:
- understand my well-being better
- become healthier
- feel more energized
Deep dive: abstraction levels of functions
As you start putting these ideas into practice, you’ll likely encounter the following challenges:
- What level of abstraction should my functions have?
- Realizing that specified functions can be a doorway to identifying higher-levels functions
Let’s unpack these two challenges or obstacles to applying the principle, by looking at the Functions Hierarchy and how to develop it.
We can think of possible functions as being at different levels of abstraction. Think of a pyramid, with the most concrete ones at the bottom and the most abstract functions at the top. And just like with a pyramid, there’s less “space” for functions at the top (highest level of abstraction) and more space the more concrete we get. That makes sense, as the highest-level function will be about our values, and there will almost certainly be fewer of those than functions at a more concrete level, as these can be about quite mundane things.
A form/function could be as concrete as “I want to take some caffeine” (form) because “I am sleepy and in need of an energy kick” (function). Or it could be as abstract as “I want to dedicate my career to working on AI safety” (form) because “I want to do the most good possible with my career[4]” (function).
To a first approximation, you may want to start by aiming for functions at a moderate level of abstraction, so something in-between the two examples just given. For example, some functions might be “I want to be more physically fit” or “I want to make more money”.
Explore deep functions. You probably also want to have some functions at the highest level of abstraction that truly connect to what you value intrinsically. This will enable you to connect your lower-level functions to what you ultimately care about, which is really important motivationally and to make sure your actions are aimed at something valuable (according to your value system).
To identify such high-level functions, you can keep asking “why?” in a chain. The “5 Whys” method was developed by Sakichi Toyoda to improve Toyota’s manufacturing methodologies, leading to great industry success. In our context, this might look like the following series of questions:
I want my actions to be informed by my goals
- Why does this matter?
Because I want to reach my goals
- Why does this matter?
Because my goals are valuable
- Why does this matter?
Because the things my goals are aimed at are things I want the world to contain
- Why does this matter?
Because this would make the world a better place
- Why does this matter?
Because it increases the well-being of all beings
Through that process, maybe you’ll find that you want a world in which sentient beings are as happy as they can be, and that you want some of your lower-level functions to be aimed at this high-level function.
Keep in mind that, even though there’s less space for functions at the top of the pyramid, you’ll probably still end up with multiple functions at the highest level, as it’s normal for people to have multiple things that they value intrinsically[5]. For example, other values might be that you want happiness for yourself, and another one might be that you want the same for your loved ones. Also, your functions (e.g., values) may change over time! As a rule, the closer a function is to your intrinsic values, the more stable it will be across time. That said, even the functions that connect to your values can change.
Another example: suppose one of your functions is to improve your productivity. Let’s say that you ask yourself how you might achieve that and you come up with the idea of creating a knowledge management system, which would then be the form. You can then apply FFF to this next level or unit of analysis and ask yourself again – taking the idea of a knowledge management system as the function – what would be the function of that? That way, you might discover that you care about multiple things; that a productivity system has multiple functions for you that you weren’t aware of. For example, you might realize that you care about productivity, sure, but also about having a system that is easy and enjoyable to use.
Ultimately, the thing to keep in mind is that you should do what works for you. One heuristic is to do what’s action-guiding: do whatever best informs your actions or behaviors. If you only had highly abstract functions (e.g., “more happiness for sentient beings”) that wouldn’t do that much to help you identify actions you can take today in service of that goal or function. Relatively more concrete functions such as “I want to reach my goals” are more action-guiding, but note that you still need the highest-level functions as the thing you ultimately care about that all other functions and forms can be subsumed under.
Design “good forms”
Navigate the degrees of freedom for forms well. Forms can have different degrees of freedom. For example, a knowledge management system has more degrees of freedom in its design compared to developing or selecting a spaced repetition software, which describes a relatively specific format with fewer degrees of freedom. Neither is better or worse. You need to decrease the degrees of freedom as you develop the forms.
Start with forms with high degrees of freedom. Nevertheless, it is beneficial to start with more degrees of freedom because it allows for more creativity and flexibility in the design process. Forms with high degrees of freedom offer more options and possibilities, which can lead to more innovative solutions. By exploring the different possibilities, you can better understand the pros and cons of different forms, which will help you make more informed decisions about how to design them. For example, it is important to understand the pros and cons of paper tracking vs. spreadsheet tracking.
Exploit useful prompts. When it comes to identifying your forms, some guiding questions could be “how can I design my actions and behaviors such that I’m more likely to meet my functions?” or “what forms do I need to have in place to help make sure I apply this idea to my life?”
Move towards highly specific forms. Your chosen forms (e.g., strategies or approaches) should be highly concrete and fleshed out with a lot of detail and be very tangible. For example, if a function is “feel better emotionally on a typical day” your starting point for a form might be “practice gratitude three times per day”.
Design comprehensively. A “good form” means being much more deliberate and careful when thinking through how to apply something to our lives and the ways in which we might fail to do so. I like to frame form creation as a ‘probability game’. Do everything that increases the likelihood that the functions are served well. Upon reflection or based on experience, you discover that forgetting to practice gratitude is a serious issue. That insight might compel you to put a reminder on your wall or fridge about practicing gratitude. So far so good. But we’re not done yet! Next, you might think to yourself that your mind will start tuning out this gratitude reminder after a few days, even if you’ll be standing literally right in front of it on a daily basis. Because of that, you might set a calendar or phone reminder to move around the gratitude reminder every three days. Note that it’s not about getting lost in the details or over-optimizing to the point of absurdity. It’s about thinking through and planning around all the real threats that might get in the way of you experiencing change.
Be open to more significant updates. It’s totally normal that there will come a time when your form just isn’t working anymore. Say that you have kept moving around your gratitude post-it note or reminder for a few weeks and that you eventually grow tired of that too and stop doing it. This is fine; take it as an opportunity to revisit your form and think about what you can do next to keep meeting your function or goal of “feel better emotionally on a typical day”.
Aim for the MVP. Despite the level of care and attention to detail suggested, it’s important to strike the right balance between pragmatism and meticulousness to avoid over-optimization. As you gain more experienced, your judgment will become more refined. When you have your function and want to consider the forms, you can start by asking yourself what an MVP-version of the form might look like, keeping in mind that you will return to it and iterate later (using the 4-step iteration process detailed earlier). The reminders on your wall to practice gratitude might be one such MVP-version.
Integrate your new forms into existing workflows or routines. It might be hard to integrate new forms into your daily life. A great way around to address this is to integrate whatever you are designing into existing workflows or routines. For example, suppose that the system you’re working on will be done with journaling (physical medium), on a weekly basis (frequency) and that you will do it immediately when finishing your daily tracking, which is something you’re already doing at the same time and place each week. That would be a way of hooking a new system into an existing practice. This is also sometimes referred to as “habit stacking”: attaching one habit onto an already existing one, to save you the time and energy otherwise required to establish a new habit from scratch.
Another form consideration, or tool, you can use is Trigger-Action Plans[6]. You could use this to create algorithms such as “every time I want to optimize something, I will think about the Form Follows Function principle”. Essentially, you’d be self-programming your mind to think about the desired life principle in the moments when it would matter or be relevant. Trigger-Action Plans is one tool that can help you practice something to the extent that it becomes intuitive or automatic. For example, with FFF, this might look like automatically and effortlessly asking yourself what your functions for a new project or system is, when you first start putting it together.
Ensure the forms are emotionally appealing. Another easily neglected and more subtle and important form consideration, is the emotional dimension of engaging with your forms or systems. Specifically, a consideration would be asking yourself how you want to feel when you use your tracking spreadsheet and ask yourself why you’re not currently feeling the way you want when engaging with it. This is really important because subtle emotional difficulties like this could determine whether you stick with your system or not.
Talk about forms with others. You share your functions and ask other people what they would do to achieve these. This can help you to identify new possibilities and ways of achieving your functions. Talking about forms with others can lead to collaboration and the sharing of resources. You can learn from their experience and expertise and avoid common mistakes. It helps you to identify areas for improvement and make adjustments as needed. Having someone to discuss forms with can provide you with accountability and encouragement.
Use conversations as forms. Discussing or teaching ideas with others can help you drive progress with many functions. If you want to be happier, you can talk to people that have expertise in that area, such as a coach or an experienced friend. If you want to understand biology better, then you can consider teaching it to people that know less about biology or discuss your perspective with experts.
Select content delivery. A well-crafted content system will drive progress towards many functions. If you want to sleep better, you can listen to podcasts and learn about the forms that experts recommend.
Establish routines. Whatever the functions are, routines are a great way to serve them. It is highly useful to have functional morning and evening routines. If you want to become more present and alert, you can integrate meditation and mild yoga into your morning routine. Journaling about the day can be part of your evening routine that could help you learn from the day and close the day off peacefully.
Track and evaluate your form usage. You may also benefit from having end-of-day reflective sessions, e.g., with a journal, tracking spreadsheet or a knowledge management system that gives you the opportunity to realize if you implemented your forms that day or not.
Build causal models to identify form options. Once you have a function in mind, such as “increase my productivity”, it’s sometimes useful to put together a causal model of the things that impact your productivity. Why? Having a model like that can help you identify your forms.
Suppose that by trying to causally model the sources of lost productivity, you find that you frequently procrastinate by spending time on social media and you tend to work on urgent but low-important tasks rather than very important ones with no deadline. This insight might lead to the following forms:
- Install and app blocker on my phone to prevent myself from procrastinating on social media
- Set a designated time block on a weekly basis for working on low-importance and urgent tasks, e.g., “life admin” tasks, so those tasks don’t detract from your deep work capacity on a daily basis the rest of the time
There are many other form variables you can manipulate. This is not an exhaustive list, but these appear most important.
Here’s a list of miscellaneous form variables, you want to keep in mind:
- Digital or physical (or both): does your system or project get maintained or documented in a physical or digital medium? Do you use a journal or a piece of software? Or both?
- What type of pen you’re using (if you’re using a physical medium)
- Frequency: how often do you revisit your system? Daily, weekly or monthly?
- Colors
- Font type/size
- Reminders
- Alarms
Aim to 80/20 new systems
Avoid over-thinking. It is easy to have the ambition to come up with the best system and therefore justify to yourself to spend a lot of time on it. In most cases, you are wasting time with this approach because when you start using it you will discover that it is too bloated. Pre-committing to iterating later helps ensure that you won’t get bogged down by perfectionism when you first decide to apply FFF.
Create a separate space for iteration. There are different ways to give your inner optimizer some peace of mind. Tell him that once you have the MVP you can make continuous tweaks in light of new information and based on your experience about what works and what doesn’t. If you have already decided that you will return to this system and review it at some specific time and place, you won’t feel as pressured to come up with a great solution on your first attempt at applying FFF to optimize the thing.
Suppose you want to improve your knowledge management system (e.g., find a new spaced repetition app or note-taking tool or just organize things better in the tool you’re currently using). A first application of FFF could involve taking stock of all the things that work well, give your functions, and all the things that don’t. Basically, doing a quick system audit. Based on that, you might set aside an hour or so to make adjustments. Maybe you discover that, rather than having a database full of uncategorized flashcards, you want to organize your flashcards into decks or sets so that your knowledge is saved in meaningful categories (e.g., life hacks, nutrition, effective altruism, etc).
When you’ve taken a first pass at doing this organization, you leave the optimization mindset behind and use the new flashcard system for a week or so. During that time, you will almost certainly discover things that don’t work. You can then sit down to review and make adjustments based on the experience you’ve gained about what works and what doesn’t since you did your system audit. You can keep repeating this process as long as it seems useful to do so, for example, based on how important this particular system is to you and how much you’re able to improve it with each iteration.
Let’s consider a more formal and structured approach to setting up an MVP-version of a personal tracking system.
Start by considering what functions you want tracking to fulfil. To that end, we recommend that people use the following fill-in-the-blank syntax for the specification of functions, “The _ (tracking system) should ensure that I _”:
- understand my well-being better (e.g., which causal factor contributes most to my well-being?)
- become healthier
- feel more energized
- know how much time I should socialize or work
- discover what influences my stress levels
- change my behaviors
- build better habits
- know the extent to which I’m progressing toward my goals
- establish a tracking habit
Using this approach to specify your functions will help you design an MVP-version of a tracking system (i.e., the form). A form that serves some of your desired tracking functions will help you to establish the tracking habit because the tracking activity will clearly be valuable to you. Remember that this initial attempt is not set in stone and that you will update it as usage data comes in regarding what’s working and what isn’t.
Having looked at how to get started with an MVP-version, it’s worth explaining in greater depth why iteration is so useful.
You won’t know how to iterate on a system or project if you only have vague goals, functions or desired outcomes. Identifying the functions with high specificity essentially gives you a yardstick that enables you to determine if a given iteration would help because you will then be able to ask yourself if some iteration would move you towards your functions or not. So, unlocking the value of iteration is another thing that speaks to the importance of identifying your functions.
To illustrate this point, imagine that an experienced chef asks you to cook “the perfect pasta dish” with no additional instructions. This is a vague and unhelpful goal or function. You might reasonably feel confused and stressed and ask “well, what does it take to make the perfect pasta dish? What kind of pasta dish are we even talking about? There are a lot of them!” Suppose further that the chef remains silent and forces you to cook it anyway. When evaluating the result, he tells you that the dish is unsatisfying. Would you know what to do differently next time? The vagueness and lack of specificity concerning the functions make it hard for you to iterate on the dish and learn how you can do better on your next cook.
Contrast this with the same scenario, except this time the chef gives you a highly specific rundown of the criteria for the dish he has in mind, including what ingredients to use and in what amounts, what spices to use and during what part of the cooking process, etc. Imagine that you present the result to him, and he tastes it and doesn’t like it. Even if he gave you no further information about what he doesn’t like about the result, you’d have much more information to go by for your next attempt, because you have been given highly specific functions. You know pretty much exactly what the desired outcome or goal is, which helps you identify ways in which you’re falling short of the goal. In turn, this makes iteration a lot easier and more valuable.
This example is meant to illustrate the importance of having specific goals or functions regarding important projects or systems. Consider the added value of adding specificity to other potential vague functions such as “design a great productivity app” or “find a great person to date”. Unless you drill down on what a great productivity app or person to date means given the values you want to optimize for, it’s really hard to know how you could change your form or approach to make it better.
Let’s look at how you might apply FFF to your dating life. A function might be to learn more from the dates you go on, for example, learning about partner-compatibility. Given this function, you might set up a template with specific questions that you can reflect on after a date (e.g., did I learn something with regards to what increases or decreases my perception of compatibility?). We’d encourage you to carefully specify your own function (e.g., what you want and what you care about with regard to romance) whether it’s learning about partner-compatibility or something else.
Continuing with the dating example, what might your form be, given the function mentioned above? Suppose that one of your “anti-functions” is to avoid settling with someone based on convenience or to avoid settling for partners that your future self might not match well with. In that case, a useful form might be one that helps you focus on creating a rich reference frame. That is, a form or approach that would broaden your search with regard to potential dates, such that you’d go on dates with a much wider and more diverse selection of people than you otherwise would. That way, you’d learn a lot about must-haves and potential deal-breakers which would be information highly relevant to your (anti-)functions.
Low-hanging fruit: begin with things you do every day
The value of optimization can be thought of as proportional to how often you do the thing you’re optimizing. If it’s something you do on a daily basis (e.g., flossing or eating lunch) that’s a sign that optimization is probably worthwhile. If it’s something you do weekly (e.g., planning for next week), then it’s probably still valuable and worth optimizing, but it’s less of a low-hanging fruit than daily activities.
We recommend starting by applying FFF to something you do on a daily basis that is already part of your routines and habits (i.e., an existing “system” or process or habit).
For example, you might apply it to the problem of selecting what clothes to wear on a daily basis. You already do it every day (presumably!), it could probably be optimized somehow and yet you probably haven’t ever made the time to do this, if you’re like most of us.
As you do that, you will develop a more nuanced understanding of the functions that your clothes serve for you, that is, what goes into selecting what to put on. Maybe you don’t care much about what clothes you wear, as long as it doesn’t outright repel other people. Or maybe you want your clothes to signal certain things about you, such as the cultural niches you identify with, how much money you have, or what your personality is like. Maybe you’d discover that you don’t want to spend energy thinking about what to wear and that you actually don’t care as long as it looks and feels decent. If that were the case, maybe your form would then be standardizing your wardrobe and wearing the same jeans and t-shirt every day, so you have one less decision to make each day. Some public figures are known to have taken an approach like this, for example, Steve Jobs.
Another example of something that would work well as a starting point, would be nutrition, because everyone has to eat (there’s already a system in place, however imperfect) and it happens everyday.
A different kind of daily application might be to just do small (daily) things more productively or in a more efficient manner. Suppose that you check your calendar every day and always find it mildly stressful to be reminded of all the things you want to get done over the course of the week as you look at it. You want to keep using a calendar to avoid having to rely on memory and you want to reduce stress. So, your solution (i.e., form) is to change the calendar view from a weekly to a daily view, such that you only ever see the events and reminders for today and thus feel less overwhelmed and more focused when looking at it.
Another place to start might be optimizing your commute. Perhaps you do it every day and you probably haven’t taken the time to reflect on what your “commute functions” are. As it happens every day, this is yet another low-hanging fruit and a good place to start practicing the application of FFF. Suppose that you reflect on this and find that your function is to enjoy your commute, and that you currently tend to find commutes somewhat stressful as you frequently end up checking your phone for email and social media updates. As a result, you think about ways to make your commute more enjoyable. You decide to switch to spending your commutes with closed eyes listening to your favorite kind of music.
Or maybe you want to improve your evening routine. Suppose that you have an evening routine but that it isn’t relaxing enough (one function or desired outcome) as you spend a lot of time on your phone up until the moment before going to bed and that you don’t use a bluelight filter on your phone. Having identified this issue, perhaps you turn on the bluelight filter on your device, install an app blocker that kicks in at a certain time every night and you try to replace time on your devices with time spent reading fiction. As a result, you find yourself finding your evening routine more relaxing. If you start working on your morning or evening routines (or daily/weekly schedules), you may want to check out Brian Johnson’s idea of the Masterpiece Day[7], which can help you conceptualize and think about your work in this area.
A final example of where to start, is in the realm of daily interactions with people. You probably talk to someone every day. While you may not know who you’ll talk to or exactly what you will want from the interaction when it happens, there are probably some general insights to be had about certain things you regularly want from interactions with others. For example, sometimes you perhaps want interactions to leave you energized. Other times, perhaps you want interactions to be about strengthening the connection with the other person. For each of these functions, you could then list some questions or comments you could bring to interactions of that kind (i.e., the form), such that you could use them whenever you’re having such an interaction. For example:
Functions of daily interactions:
- Strengthen the connection with the other person
- [Second function]
- [Third function]
- [Etc.]
Forms pertaining to Function A:
- Do the following to strengthen a connection with someone during daily interactions:
- Ask “What is something that gets you really excited?”
- Share a vulnerable thing about yourself, for example, something you worry about a lot
Improve existing systems
If you’re applying FFF to something where you don’t already have a system or habit in place, then you’ll need to devote more time to set it up than if you do have something in place already. For example, if you have no system for managing your finances except for a bank account, it would take more work to optimize this system than if you already had, say, a spreadsheet for budgeting and tracking expenses.
However, it could also be that you already have a system that you’ve just never specified the functions of. For example, If you have a personal tracking system but have never thought about its functions, then specifying its functions would be time well spent because it would help you evaluate how well your current tracking system is doing against your desired functions.
We recommend the following framework for a system update:
- Specifying the functions (and pains)
- Describe your current system
- Rating how well your current system is serving the functions on a scale from 1-10 (one high-level rating plus ratings for each function)
- Brainstorming actions to get your current system to an 8-9 out of 10 at a high-level and for each function
- Scheduling time for actions and executing them
For example:
- System: personal tracking of productivity indicators
- High-level system score: 6/10
- How to improve: better organization and system design
- Functions and scores:
- Ease of use: 4/10
- How to improve: better design
- Tracking efficiency (work completed per hour): 6/10
- How to improve: change operationalization of “work”
- Tracking work time: 8/10
- How to improve: [good enough for now]
- Incentivizing me to “work smarter”: 7/10
- How to improve: add a motivational quote
- Ease of use: 4/10
- Scheduled follow-up: this Sunday at noon at the café around the corner
Let’s unpack how to use this framework.
When you start brainstorming ideas for how to improve its functions, e.g., asking yourself “how can I get each criterion up to an eight or a nine on the 1-10 scale?”, we suggest aiming for an eight or a nine, to begin with, as shooting for a ten may be extremely difficult, likely to fail and leave you demotivated. And if you do reach an eight or a nine, you can always consider how to make it even better once you’ve reached that point.
A piece of caution with regard to scoring your functions numerically, say, using 1-10 scales: for some functions, thinking about what a perfect 10/10 function would look like can lead to harmful and delusional goals. For example, if one of your functions is to “become a happier person” (whatever that means exactly) and your goal is specifically to get it to a 10/10, you could be at risk of expecting yourself to feel near-constant ecstasy on a day-to-day basis. On reflection, you’d probably find that this is neither realistic nor desirable. Instead, a 10/10 that is both realistic and useful as a target, might be something like your baseline state involving being in a good mood or even feeling enlightened. You may not know what a 10/10 means exactly – and that’s okay. It can still be useful as a proxy and as a guiding light.
You may want to get some help or support when optimizing your systems and tools using the FFF principle. You could get help from a coach or you could read a book or find some high-quality articles online that address whatever challenges you’re facing with regard to your system.
If you decide to involve a coach to help you out, a thing to keep in mind is that the coach can be a lot more useful to you if you can get really specific about what you’re trying to accomplish and why. This also applies if you’re just getting help from a friend or coworker. So experimenting with applying FFF on your own will make coaching or other kinds of support from others more useful.
If you look stuff up online, it’s easy to get derailed and to spend too much time hoarding information rather than actioning on the information you already have. This applies especially to those of you with perfectionist tendencies. On that note, keep in mind also that getting too much information relative to the amount of information you take action based on, can actually leave you more confused than you were before. That way, you may unintentionally end up making things more difficult for you by gaining more information! All of this is to say, be mindful of how much knowledge you consume and consider what purpose (or function) it serves.
Ensure regular upgrades of functions and forms
How could you implement a practice of optimizing things you do on, say, a daily or weekly timescale? One approach (i.e., form) would be to pick a specific time and place every week and allocate 1-3 hours to optimizing a specific aspect of your day, applying the FFF principle as your optimization method.
For example, for one such work session, you might spend 1-3 hours optimizing your evening routine, thinking through what the functions of this routine would be and what forms would help you meet those functions. Picking a time and place helps ensure you’ll actually follow through and make the time for this work. Other ways of making sure you’ll actually do it, could be using financial incentives (e.g., setting up a system where you pay money to a cause you hate if you don’t meet your targets). Another approach or form might be social accountability, for example, telling a friend what you intend to work on and when, and letting them know afterwards if you completed the thing or not.
It’s important to approach this with a certain degree of pragmatism and prioritization. If you identify and list the functions of all your major life areas and try to head into next week with forms to help you meet all those functions, you will almost certainly fail! Start small and prioritize and consider where you could get the most value for the least amount of effort with regard to some optimization problem.
As you practice this more, you will hone your intuition about when optimization is still adding value and when its value has declined to the degree that makes it not worth continuing. Do not expect yourself to have good intuitions about this if you don’t already have experience deliberately applying FFF-thinking to your life. As with anything, it takes deliberate practice to improve, and one aspect of improvement is that your intuitions will gradually become more truth-tracking.
Journaling is one tool you can use as a reflective practice that makes you extract more learning and feedback from your practice applying FFF to your life. Instead of doing free-form journaling, you could make it even more useful by adding specific prompts based on your functions (e.g., did I feel more relaxed than usual when going to bed last night after changing my evening routine?). You can also have more general prompts such as “how useful was this change that I made?”
If you’d like to keep track of how your functions evolve over time, you may want to have a place where you store your “function history”: an overview of your current and past functions. That way, you can quickly review the things you’re currently aiming for in life and how it’s changed over time. You could note for each function in this system what level of abstraction it’s at or how it connects to your values.
You may even want to create a “system for living a principled life”: a master system that you could craft using the principle of FFF and you’d then use that system to stay on top of your other forms and functions and help ensure you revisit them regularly and iterate on them. If you do this, again be mindful about not over-optimizing, especially if you have that tendency. Maybe collect a handful of principles and put them in the system; these would be the important ideas that you want to make part of how you live your life. These could be considered functions in your master system. The main form consideration would then involve thinking about how you can implement these in your life, using the tools and advice we’ve covered earlier.
Conclusion
In this article, I have introduced the concept of Form Follows Function (FFF), explained why it matters and presented some frameworks, processes and tips to help you apply it to your life.
Humans aren’t naturally strategic, so we need to use mental models to improve the way we think to become better at systematically working towards things we value in an efficient manner. FFF is one such under-valued mental model.
While the basic idea of specifying desired outcomes (i.e., functions) and designing habits and strategies around that (i.e., the forms) will be fairly intuitive to many, it takes deliberate practice and sound advice to apply this principle to your life and benefit from it.
While I have much more to say on this topic, this should be enough to empower you to make use of this mighty principle. Start applying it to your life and manifest noble aspirations in the world!
Appendix
Unskillful use
Be mindful of using FFF in your relationship. In our view, a serious treatment of how to benefit from a life principle should also cover potential unskillful use. To that end, we’ll now cover some caveats about using FFF that are important to be aware of. This principle, like any other, can backfire and end up causing harm if it’s applied unwisely.
One area you have to be careful about applying FFF to, is the improvement of relationships, romantic or otherwise. There’s a risk of dehumanizing others by developing a highly instrumental mindset where, during interactions, what’s constantly on your mind is how this interaction or person might help you achieve some function. That is, the interaction or relationships becomes nothing but a means to achieving some other end. Of course, relationships often contain some degree of instrumentalization. For example, maintaining the relationships you have with your boss or coworkers is for many people, to some extent, about the function of getting paid for your work, even if you truly value those people as humans and even as friends as well. FFF certainly can be useful in the domain of relationships; it just has to be applied thoughtfully to avoid dehumanizing others.
Stay vigilant about trivial optimization and wasted energy. Another failure mode is applying FFF to very simple systems or projects where your current approach, while sub-optimal, is actually good enough given that the system or project isn’t that important. Imagine someone who spends their entire weekend optimizing how to manage the socks in their sock drawer to make sure all the pairs are matching etc. It’s not that this has zero value; but you probably don’t want to spend an entire weekend optimizing this system!
Having looked at a couple of failure modes, let’s now consider some personality traits or idiosyncrasies on an individual level that are relevant for how to go about applying FFF to your life. We hope this will help you find a personalized approach to implementing this life principle in a way that works for you.
Account for your personal tendencies. People who have a tendency to over-thinking may want to watch out for getting side-tracked with over-optimization. If this is you, you might be at risk of spending too much time thinking about the perfect application of FFF to major life areas, instead of getting your hands dirty, settling on some initial MVP-version and then iterating once you’ve gained some experience and discovering how that initial version worked. Time-boxing may help prevent over-optimization for over-thinkers.
Similarly, if you’re a systems-thinker who loves tinkering with spreadsheets and productivity tools, you could be at risk of perfecting your new and flashy tracking system containing FFF applications of all major life areas. Instead, you’d be advised to start with something simple and rough (and MVP-version), try it out, and then iterate as you learn more.
The FFF principle can probably still help you if these idiosyncrasies and personality traits apply to you. The point is just that you may need to approach it with a bit more care to avoid over-optimizing and wasting time and energy.