#btconf Düsseldorf, Germany 13 - 15 May 2019

Charlie Owen

Charlie is a front-end dev manager from the UK, currently living in Berlin. She has attained notoriety for being extremely foul mouthed on social media, and for making fun of the excesses and privilege of the tech industry. She advocates for a simpler approach to the web, and about how utterly vital empathy and kindness are when building sites for our fellow humans.

Want to watch this video on YouTube directly? This way, please.

All Constraints are Beautiful

We so often consider constraints to be a negative. We have become convinced that they stop us doing what we want and that, therefore, they prevent us from being our most creative.

But constraints are actually the most beautiful thing in the world. Constraints are what give us direction. Constraints are what give us focus. Constraints are what give us empathy.

In this talk Charlie will tell us how constraints are something that should be sought out and embraced, especially in the infinite chaos of the web.


Charlie: So, hello, hi. This is amazing, isn’t it? This is like Las Vegas, or something! I feel like I should be down amongst the crowds, working the crowd! “Hey, I will be here all night, try the veal!” Hello, I’m Charlie. So, Marc did a wonderful introduction there. I think he failed to mention that the only real reason why I’m in these events is really because I just kind of get angry and talk about things a lot online. There’s a good reason for that, and that is because I’ve been in this industry for so long. I’ve been in this game for 20 years now, and I’ve seen so many things come and go. I’ve done so many jobs. I’ve been a graphic designer, I’ve been a systems admin, I’ve gone out of the web completely and cleaned hotel rooms for a living, and then come back in and I find myself back in this whole wonderful world of the web. As you can tell from my accent, I am British. Which, okay, I’m one of those nice British people!


Who likes Europe! Yes, Europe! Wooh! Come on!


Big hand for Europe!


And that’s why I live in the beautiful city of Berlin! Berlin is wonderful. It’s like the most sophisticated place on earth. It’s a place of gourmet food! You know, Michelin-quality-starred restaurants. It’s a place of privacy and restraint!


It’s just so stereotypically German, you know! It’s like quiet and respectful place. That’s why I love it there. In Berlin, I work for a company called Springer Nature. You might not have heard about them. That’s okay. I’m the lead front-end developer in their Berlin department. The reason you might not have heard about them is because they are a scientific publisher. You know, not many people here might be into science and the sciences, but it is actually one of the largest on the planet. It produces things like Biomed Central, Scientific American, and the eponymous journal Nature, which has got some serious pedigree. Serious. It’s been around for 175 years now. So it’s proper old thing. It’s the most cited scientific journal on the planet. So, if you get your name in there, your career is made. And it helps scientists who get their work seen by other scientists. I don’t know why you’re laughing. These are all real scientists! I Googled this, you know! This is real! But I’m not here to talk to you about science - I wish I was, I could make up so many facts about science on stage - but I’m actually here to talk to you about cake. Yeah, I heard some hisses in the audience there. Cake! Controversial! And, more specifically, I’m here to talk to you about how I made a cake for a bunch of my friends, or wanted to make a cake for a bunch of my friends, more accurately. These are my friends here!


That’s Tom in the middle. And Rokhilde on the right, and Nigel and Susan on the left there. They’re all my real friends. Please don’t be in doubt about that. They’re all real. You can see us here hanging around having fun. I’m taking the pictures, obviously, that’s why I’m not there. And I wanted to make them all happy, you see. I wanted to make them all happy because just as happy as they are looking at this photo of this funny meme on their phone, because we’ve known each other for ten real years. I thought I will make them a cake. Make them a cake. What better way to do things? The thing is, them being a bunch of Berliners, I knew all about their food tolerances. Everyone in Berlin has got a food issue. Tom, for example, is a vegan. I think he had some kind of like traumatic incident in a slaughterhouse when he was younger. He can’t consume the flesh of dead animals now, which I can’t blame him for. Rokhilde is lovely, wonderful. She has got this severe gluten intolerance. So I thought I will do a compromise. I will make a vegan cake and I will make it gluten-free, and I will be wonderful - it will be wonderful, won’t it? Everybody will be so, so happy with that. I will do a nice raspberry topping and a peanut butter sauce on there. That’s wonderful, isn’t it? Every cake ends up with a peanut butter sauce. The problem is, Susan has got a severe peanut allergy and will die if she eats my cake. It’s always awkward when your baking kills people, isn’t! Absolutely awkward!


I was like, shit, what the helm I going to do? How am I going to make a cake that is tasty, edible, and amazing? Was I about to have a failure cake? Was I about to have some awful thing happen? What I did next might surprise you. I didn’t make a cake at all. I said fuck it and took everybody to a bar instead, and we will have so much more fun! And they did. We loved it. We had a great time with me and my real friends, please don’t be in doubt about that. So why am I telling you about this? Well, the reason is this is an example of a constraint. A real-life constraint with my real friends. I could have been an arsehole in this situation. I could have said I plan to make a cake, and I’m making that cake in the way I want to do it. That would have satisfied me and my ego. You’ve seen that ego. But, instead, I listened to people. And while I couldn’t use the initial idea, I could go with the same feeling, which was to make something that made everybody happy and satisfied my need to make them happy. I operated within the constraints of the situation. And if this was a fancy Medium article, I could have phrased it about how I did cake development using context-specific research driven by an Agile processor that allowed me to generate new potentialities as new externalities arose. Or, if you’re a normal person, you say how I was considerate to other people. You see, these constraints surround us all the time. We live in a world of constraints. From things like the physical properties of the universe, the warping of space time, and the mass of the earth keeping you in your seats here, and, even if you wanted to fly up out of your seats and float around the top of the room, you couldn’t do that. That is a physical constraint. It goes all the way through to social constraints. The social expectations and laws of our civilisation. You should not murder, even though you can. You should not steal, even though you can. You should not turn around and slap the face of the person next to you, even though you can, and maybe you even want to. I don’t know yet. Let’s see how the day goes on! You should not do it. So, again, why am I telling you this? Because I’m telling you it because, like an angry dog, we keep seeing constraints as something that holds us back that are a negative in our lives. When, in fact, constraints are like one of the most amazing things of and let us do wonderful stuff. For example, this is Professor Hehi Miksnet. - he’s famous for a concept of flow. He systemised how flow works and basically being in the moment. He did a lot of work in the 1970s. But he’s also very famous for detailing how constraints affect creativity. Now, there’s a very famous experiment he did where he took a group of students - a large group of senior art students - and he split them down the middle. The group, obviously, not the individual students, that would be a very different kind of talk I would be doing here! And, to one group of those students, he gave a literal easel and canvas and said go away, make something wonderfully creative for me. For the second students, he gave the same set-up, except that he drew a mark on there, just a little squiggle on the canvas. He said the same thing to them, “Go away, create something wonderful for me.” Then he brought in a group of judges and he asked these judges to assess how each of these groups did. You know, this experiment repeated several times. And he turned down to each and every time, the group that received the squiggle on their canvas did better as judged by the judges on how they produced art, and made something creative and wonderful. The constraints of the start made more amazing work later on. Even our boy Nietzsche here, he loved the Greek poets, the ancient Greek poets. And he loved the way that they imposed constraints upon themselves. They set deliberate rules and then still created wonderful pieces of work. That which we call “invention” is always such a self-imposed fetter. He described the whole thing as “dancing in chains”. Somebody dancing beautifully while fettered with iron on their ankles. Earnest Hemingway: very famous, an Old Man in the Sea, and all that. He supposedly made a bet with some of his friends that he could write a story in just six words. Now, this is maybe true, maybe not true. It’s one of those tales that circulate but apparently he went away and he produced a six-word story for his friend. This is the story. “For sale, baby shoes. Never worn”. Isn’t that heartbreaking? Isn’t that evocative of so much? These six words did not constrain, they produced, and made more beauty come out of the story. Whether the whole story about Hemingway inventing this is true or not, we certainly know around this that time, this whole little genre emerged in the 1950s and 1960s, so people had whole biographies of Roman Generals encompassed in six words. People had what I hope would be described as a good life. They had personal attacks on serial procrastinators like myself, and depending on how your mind is, either a story that is incredibly sad or incredibly filthy! It’s really hard to determine!


It’s not just like the recent people who have had these constrained techniques. Before this, we have had generations of literary formats that have constrained but produced more beautiful works. The haiku, an observation about a fleeting moment in nature. And the five-seven-five syllable format. There are three lines, and those five-seven-five syllables don’t constrain or limit but they produce more, don’t they? In the Francophone world, there was a group of musicians and writers who came together who created the Ulipas movement. It stands for the [French spoken]. The workshop of potential literature. They produced amazing things. They produced things called “lipograms” which are pieces of text actual work where a single letter is omitted. Can you imagine producing a novel never, ever using the letter “e”? They did that. They, in fact, made the absence of that letter central to the entire story. Once again, a constraint didn’t limit, it produced more, it produced more beauty out of it. Even a base limerick that we have, constrained but produce something more. Even compare to their grown-up sibling, the sonnets, they’re worthy. 14-line poems, heartbeat rhythm, iambic pentameter. Beautiful, constrained pieces of work that amazing. All of these constraints are beautiful and wonderful, I think they give beauty and amazingness to the world. These constraints make things better. But, when it comes to digital products, we tend to ignore constraints. Especially on the web. Like, the distinct feeling that if that canvas was given to a group of web developers or a web development team, they would have simply erased that mark off the canvas and complained they were being stopped from doing what they wanted to do. When we design our products, we’re falling into the same old traps we always have done. Never acknowledging the constraints of the situation. We never acknowledge a constraint of our designs living in the browser in the ever-changing and, it mutable browser. We still produce pixel-perfect designs that assume the best-case scenario. Always incredibly idealised. We assume our forms will be filled in with people with normal names - quote that one heavily, like Spanish format names don’t fit in there easily, or mononyms, single-word names are incredibly common in south-east Asia. We productive designs that assume everyone has an Apple device, iPad, iPhone, or watch, and never anything else. And we assume all the people we put into our designs and mock-ups are beautiful, healthy, wonderful people, without any kind of defects because no ugly person would ever, ever use our products, would they! Okay, I’m picking a little bit on designers there. So let’s take a moment to pick on developers as well! Because we have to consider our technical choices in all of this. You know, the web attracts so many people because it’s billed as having no limitations. That is part of the mystique of the Silicon Valley ethos, isn’t it? That we’re told we’re knowledge-workers, and physical limitations don’t apply to anything, to geography, our skill set. It’s the mind that’s important. You know, there’s no constraints on the web. Do you want a new web serve? Just go and spin up a new instance. Start coding. It’s all about you. It’s about boom, boom, ship it, disruption!


Disruption can fuck off! The web means we’re free of these meat bodies, these corporeal forms, and we can do what we want with our minds, yeah? Except this is of course all absolute bollocks. Developing things on the web has always been, and always will be, a constant negotiation with constraints. And this whole notion of disruption is of “ship it” is founded on fundamental misconceptions. For example, any one device has so many variables in it. For example, if you’re using a phone, or a browser, you’ve got all the variables of operating system, memory, browser, browser version, display size, display type, display orientation, network type, network quality, input method, CPU power, device type, sensors, user settings, what extensions are installed. Are they full screen? Is everything even working, and so on, and so on, and so on in any one device. Scaled up, imagine the billions and trillions of devices and multiply that by all these variables. You have effective infinity. It’s the same when it comes to humans themselves. There are so many combinations of human traits and situations. Now, a person’s cognition, intellect, education, perception, can they use and move their hands? Can they see? How well can they see? Where are they do? Are they distracted? Do they have the ability to concentrate? So on, so on, and so on. Again, effectively infinite combinations of human traits. And these two things become the primary constraints when developing for the web. That will is infinite technology and infinite variations of humanity. And that is from which everything else comes, and from which all of our work emerges, and, yes, we ignore them. And we offer up so many excuses. Designers say, “Oh, but the business wants it designed this way and we can’t interfere with things.” Developers say, “Designers gave me that mock-up, and I have to implement it like they said.” You know? We produce our pixel-perfect designs using our favourite tools, and we develop our apps using whatever the fancy framework of the week is. This is where the cardinal sins of our industry emerge. We ignore user constraints and the technology that people have. And we build complex solutions that assume so much. And we never dare to question it. If you do, developers, for example, get very, very nervous, because we’ve built our entire industry around the complex. Instead of acknowledging the diversity of humanity and the constraints of that, of having infinite variations, we put our teams, designers, and developers first, and we try to justify why they get to ignore things like accessibility. And you will hear people saying things people saying, “We don’t have disabled users. I checked.” “Disable people don’t buy our products, actually.” This is despite 15 per cent of any population having some kind of disability officially. WHO report on that - 50 per cent of over 65s in America have arthritis and find it painful to use any of our devices. Despite the fact that ten per cent of people with XY sex chromosomes in this room have a disability. You do. Colour blindness. It’s a disability. We never think of it like that. Disabilities are common and prevalent, and we write them off, and we say - by the way, if you don’t see a number 12 in there, get an eye test immediately!


We write them off and say things like, “Oh, disability, no, we don’t develop for them, that’s for people who are blind, deaf, paralysed, and in a wheelchair and really they don’t buy our products. That’s what disability is.” We ignore the reality of things, the constraints of developing for them. And even when it is accepted, you know, we say things like, “Well, we can’t expect devs to know about accessibility.” This by everybody apparently being a full stack developer but not full stack so much to go and learn how accessibility works. It is thinking reductionist, ableist, and it’s severely restricted, because, when we ignore those constraints, they still exist. And we just simply end up hurting our users. What could be a force for creativity, or building incredible things, ends up becoming an excuse for thinking firmly inside the box. And producing things the same old way. We have got to get better than this. Because we’re like children, aren’t we, in many ways? Children and the whole marshmallow test experiment, the ability to defer your short-term impulses for long-term better gains. We are dreadful as an industry at long-term thinking. Maybe it’s a flaw in our species, or maybe that’s just writing off things because it happens with biology. I don’t believe that at all. I think this is a cultural problem. And this flaw means that we are happy to ignore constraints because we think there is no immediate effect. So we just build up these problems continuously. Because, another flaw in our culture that lies alongside that is that we find it so easy to rescind empathy from people. Especially if they’re not like us, or near us in some way. We find it so easy to claim that no-one is being harmed. But someone always will be. Because, like in physics, the conservation mass equation here. There is a similar law of constraint debt - I can only face it like that. If you ignore constraints, there is a prize, there is a debt that will build up. If you ignore the two primary constraints, a price builds up, and it will have to be paid off by someone. It’s rarely paid off by us. You know, us lovely designers and developers, it’s paid off by other people, and those other people are always the users, every single time. The real users, not those ones we imagine in our head, those beautiful-looking ones with perfect teeth, it’s always real users, everyday people like us. The people with broken and shitty devices like this. Honestly, go on the Berlin U-Bahn. This is unbelievable. I have had this myself, trying to use a device, and your fingers are bleeding as you’re scrolling through the screens! Really, because I could not have afforded the time to upgrade that device. It’s people in with low CPU devices in network-poor areas. They are the ones who end up getting hurt when we dump huge amounts of client-side code into the browser, when we push megabytes of JavaScript down the pipe, and expect their old shitty devices to uncompress and run all this code that works amazingly on our iPhones, our iPhone Xs that we have, but for some reason doesn’t work on a $50 device. The people who can’t afford the latest laptop because, amazingly, not everyone gets given a new laptop every year by their employer like we do. Most people have to go out and buy these things. The price is paid by people with disabilities, and people in difficult situations. We’re dumping it all on to them, because we’re ignoring constraints. And, in fact, maybe dumping is the perfect analogy here. Because I’ve got the feeling now we’ve become the dirty industry, dumping our toxic waste into the world, into the rivers and lakes of our organisation, because we ignore constraints, with the oil barons happily Lording it up while the planet burns. That’s what we are. We need to be better than this. We need to fix things. When I say “be better” you say you want to do everything in Comic Sans, make it beige, and do it in HTML. For God sake’s Charlie, don’t restrict me! If you think I’m saying that kind of thing, you’re hearing me wrong, because I’m talking about taking the initial constraints to use them, to inspire us, and to be our muses - or muesli, whatever the plural is - and, in the process, make us better developers. I’m talking about things that are making us universal and beautiful in design. Those two things are not mutually exclusive. That’s a false dichotomy that’s been set up by some mysterious force in our industry. I’m talking about making the essentials at the core of everything. And us learning just to stop adding stuff because we want to add things for the fun. I’m talking about the word “elegance”. Where have our elegant products gone? Complexity for the sake of complexity. We want us to enact the original goal of the web. Sir Tim knew what he was on about. Think of the good we could do if we started producing universal, performant, and efficient products from the start. Things that could work on anything that don’t require us to upgrade. Oh, where you can’t use my website. I’m sorry, go and upgrade your phone and help the planet burn just that little bit more! But my boss won’t let me do it. I don’t care what your boss said. Your boss is a fucking idiot! That’s what he is! If your boss thinks that ignoring the realities, the constraints of his situation is what sells, if he thinks making things more complex is what sells, then you you shouldn’t be doing that job. Nobody comes out of business school saying, “Well, yes, I think I will make things as complex as possible and make the workers get paid as much as possible and that is what will be efficient.” And immediately fail. I used to think that, having these user constraints, and late-stage consumer capitalism was somehow never aligned on this, it was impossible to match them up. But the thing is, I was wrong on that. I was absolutely wrong. Because, let’s think about it: capitalism wants us to produce things quickly, it wants us to produce them as cheaply as possible, and it wants us to sell them to as many people as possible. Wait a minute. That is what I’ve just been stood on stage for the last 30 minutes ranting to you about, isn’t it? They are aligned on this. Both of them want to deliver things fast. The users want frequent updates and nice things to come down, and consumer capitalism wants us to innovate quickly, yeah? So we could deliver the essentials first and enhance them there. Do true iteration that we supposedly do, but I’ve never seen that enacted anywhere. Both want things that work for as many people as possible. Users want to do stuff, no matter where, or what condition they’re in. Consumers and capitalism wants to sell to as many people as possible. So progressively enhance things. Start from the basics and work your way up. So that you have something that works for anybody in any situation. Make it accessible from the start. What’s so hard about this? And both of them want us to deliver it cheaply. Users don’t want to pay the price on their device and network, and consumer capitalism wants to build things cheaply. Wait, this is where it falls down, isn’t it? Because, have you seen the wages? Have you seen the wages for developers and designers in this industry? We somehow get paid more than doctors. What’s that about? I’m just going to say dot com bubble 2.0 coming your way soon. This is despite devs being too expensive for what we actually give to the world, and, yes, I do think that. Consumer capitalism is compatible with these two core constraints that we have. It honestly is. Users want simple things, they want just to achieve their core goals, and consumers capitalism wants cheap, simple shit that it can sell to the masses. Or, if you’re Apple, expensive simple shit! So who is asking us to make things more complex? Who is asking us to stuff more things in there and make it harder for users to use our products? It’s not our software processes, or anything like that. They say acknowledge constraints, be lean, and do the minimum necessary. It’s not our design leaders. They’re all about, you know, design thinking, and doing the minimum necessary, and thinking about the user, and do research, and iterate. And it’s definitely not the users. No end-user is asking, “Please, use more technology. I would love it if you assumed I have an iPhone X. Why not, I’m swimming in EUR1,000 I can blow on that one assume I have 4G and Wi-Fi most of the time despite the fact I’m on the U Bahn most of the time and the connection is shitty down there.” If it is isn’t consumer capitalism, or our industry leaders or the users, who is asking to do this? What force is causing us to make the web worse for people? It turns out it is us. We’re the bad guys. We are guilty of following the big boys and just doing what they’re doing because they’re the cool ones. We’re the ones who are guilty of not daring to say no and pushing back on things. We are the ones who are ignoring those core constraints and so many others, left, right, and centre. We need to get better and consider the users in everything. The user constraints in every decision. No matter if it is a bit boring, and you don’t like doing hard work, you still have to do it. No matter if it takes time away from our latest frameworks and fun. You’ve still got to do it. It means beak grown-ups and doing this stuff. The industry has taken a bit of a turn to the bad, hasn’t it? It’s become more conservative, a bit more self-serving, and, let’s face it, a bit more right-wing. We need to kick our industry up the arse, because our Silicon Valley culture has given us Nazis on social media, harassment against minority groups becoming the norm. An industry that promotes a fucking currency that deliberately burns energy. My God! An industry that has enabled genocide. Literally enabled genocide. We’ve got to be better than this. And it’s a pretty fucking low bar not enabling genocide. Acceptance criteria: did I enable genocide? Yes or no. We need to make these two fundamental core constraints of the web to be at the core of everything that we do. We’ve got the skills, and the techniques to do this. This is all documented. This isn’t new. We’ve got the ability to do it. We’ve just got to take these technologies and use them. We honestly, we can do so much better. I honestly believe this. We have the capability to be better at this. I know we do. Look at all you beautiful people in this room. I know each and every one of you is capable of something like this. We just need the courage to do it. That’s all. To stand up and to say, “No” to people when they say, “We don’t need to do accessibility. We will do that in the next sprint.” Do it now. Be brave. Stand up. Do this stuff. Care for people. Ask. Ask “Does it hurt people in some way?” “Could this tool be used to hurt people online? What is the way that this could be used to harass someone or make their lives worse?” These are simple questions that we can ask. It is so easy to do. Because imagine if we were strong and we embrace this challenge, if we walked into the fire of all this. If we weren’t cowards on it but instead were brave and stood up and did the right thing. Because how we respond to these constraints, how we react in this situation, it defines our humanity. It defines us as people.

So, as you go through this event today, I want you to consider these things, and think about it. Each and every time: how can this be used to make the world better and embrace the constraints of the web? And the constraints of any situation you’re in? How can it make things better?

I’m pretty sure that we’re up to that challenge. I know we are. Thank you.

[Cheering and applause]