Conservation of Resources: Why Performance & Technical Debt Matter

Mark Reeves

Slides      Transcript      Links

Advertising technology, front-end frameworks, component-based development, and business expectations have transformed the web into a medium that is moving at a furious pace, focused on consumption, and increasingly built on technical debt to 3rd party modules and services—all traits that we would shun or cautiously consider in other industries.

Sustainability and climate change solutions require holistic thinking. Is it viable to focus on sustainability and efficiency in the real world while we haphazardly build short-sighted, inefficient digital platforms? How can we better align our approach to digital design & development with our values in the natural world?

By looking to ecological design, sustainable business principles, and residential and commercial construction, we can find opportunities to analyze or positively influence our digital efforts. We can begin to affect not only the sustainability of our websites and apps, but also our entire digital ecosystem and approach to projects and online workplaces. We can embrace an approach to our digital work that fuels our drive to contribute to a more sustainable world.

Bio

Mark Reeves is a digital designer, developer, and project manager focused on the application of appropriate technology in digital projects and sustainability in the natural world.

Mark has filled many roles over a 20-year career, supporting database design and reporting, front-end development, CMS integration, custom application development, UX strategy, HTML email design & development, and digital project management.

Today Mark supports clients’ digital design & branding efforts at Clearbold, LLC, keeping an eye out for projects focused on matters of conservation, climate change, sustainability, and residential homebuilding. Mark and his family relocated to Montpelier, Vermont, in 2016, from Western Massachusetts.

Clearbold
Twitter

Transcript

I'm going to step a step back. We've heard a lot of great stuff about tactical things we can do. I want to talk a little bit more about our practices as an industry with regards to a sustainable mindset. Specifically, looking at the concept of technical debt and how we can work smarter to avoid its impacts. Before we start, I want to give a shoutout to my colleague, Aaron, who helped me with the visual design elements for my presentation today.

When a programmer says technical debt, typically they're referring to things in their codebase that have slipped in there that they never had the time or budget to go back and clean up. If you've spent any time around programmers, it's a huge frustration. For the purpose of this talk, a few definitions to get started. I consider technical debt to be wasted performance, time, and money tomorrow, as a result of decisions or choices made today. Another way of saying that is decisions and choices made today that impact performance, maintainability, accessibility, and decisions or choices made tomorrow. Debt is something we owe in the future. Debt is contrary to any sustainable system. It's contrary to a sustainable economy, it's contrary to a sustainable household budget, it's contrary to a sustainable use of resources. If technical debt is a result of decisions and choices, I want to talk about the space in which those decisions and choices are made in our industry and how we work.

Getting into that, we had a presidential election in November here in the states, which I'm sure everybody is aware of. I'm not going to talk about politics, policies, or personalities, but there was something that was talked about after the election that I found interesting and relevant to our industry. Which is that there aren't a lot of rules around how a president or member of Congress must conduct themselves or behave or fill their role. There's what's referred to as norms and self-restraint. Similarly, in our industry, in the work that we do, we don't have a lot of rules and regulations in UX design and building websites. But we have developed some of these norms. For example, your workplace might tout an appreciation for work-life balance and say that your time of is your time alone. But particularly here in the states, we don't enforce that. We don't shut down email servers after hours like they do in some companies or other countries. We don't block accounts if you're on vacation. We don't have penalties if you email your colleagues when you're on vacation. Work-life balance is a norm. It's not a regulation or strict policy. That norm breaks down once one person sends an email saying, "This totally isn't urgent, but just in case you're checking email when you're out for the day." That's an example of self-restraint breaking down. There are other examples. Unless you're in a context where your work is required to be Section 508 complaint, accessibility is a norm. It's just a practice. The same goes for performance in websites that we're talking about today. The same goes for not launching on a Friday or not working directly on the production server. Many of us have turned these into practical rules, but we're all asked on a regular basis to make exceptions as well.

I don't bring up norms and self-restraint because I think we're all lazy. Or that technical debt is a lack of self-restraint on our part. I think for those of us who are enlightened about such things as accessibility and performance and sustainability perceive these to be norms. Unless we convince others to regard these as universal norms, our resistance, our ability to uphold these norms, will continue to be eroded and technical debt will creep in. We're making choices and decisions, as I said in the definitions, under constraints every day that will impact the future.

Another relevant example of norms that starts to get a little more proactive. The web standards movement of the early 2000s drove the shift away from table-based website layouts to separating structure and presentation through markup and stylesheets. There's no law today that says you can't make a website using tables. But HTML and CSS became the norm. I think one of the best tactics that Jeffrey Zeldman deployed was to make the push to establish such norms about money. When bandwidth costs money, all of that table markup, all of those inline font face tags and styles, pushed wasteful bits down the pipe and cost real money. Demand for web standards was created, in large part, because the costly financial penalty for waste was quantified. Those are the terms we need to think about when it comes to establishing norms around sustainability and performance today. We are talking about those in terms of electric consumption. But we need those to incentivize stakeholders.

So we have norms that have emerged, like web standards. We have perceived norms, like under-the-hood accessibility and performance optimization. Things that we might appreciate more than some of our colleagues are aware of. Now we're talking about a need to create demand for sustainable practices. We know it requires self-restraint, resistance, and strength to uphold these norms. At the same time, we work in a fast-paced industry with a fast-paced evolving medium. In many ways, the medium that we work in, the internet, is abstract. It's intangible. I think that contributes to technical debt emerging, as well.

Our daily lives now span three worlds. We have the natural world, the built world, and the digital world that we're talking about today in the context of UX. Most of us spend our days in the built world. We're in offices, working from home, driving in cars, riding mass transportation. We're growing more and more aware of the need to appreciate and reconnect with the natural world and be better stewards of the natural world. For many of us, attending a conference focused on sustainability, the people here today put a lot of effort into this. We choose green products. We recycle. We compost. We reduce energy usage and generate less waste. Many of us are in the process of changing our lifestyles and how we occupy the built world to better care for the natural world. But then we open our laptops and we throw unoptimized images online. We build websites on bloated off-the-shelf platforms or components. We layer in a dozen tracking or advertising scripts. We blame it all on the deadline or the business constraints. Wherever these practices impact performance or accessibility or they keep us from maintaining our core CMS platforms—because add-ons are incompatible—these all pile up and create technical debt. They're not a symptom of a lack of knowledge or lack of interest in building resilient or sustainable websites and apps, but of the pace that we are asked to do so.

Last fall, I had tucked this away. I was really disheartened to read a post by Christian Heilmann talking about embracing JavaScript, in which he said: "We live in a world of components. We are continuously asked to build something fast that others can reuse in any product." He went on to say: "It is time to move on and let the new generation of developers deal with the problems of now instead of us waving a finger and demanding a work ethic that always was a perfect scenario and a small part of how the market worked." Whatever the merits behind the advocacy for embracing JavaScript in this article, and Christian is a developer evangelist, the sentiments that were expressed, distilling decisions and practices down to profit motive, these ideas were anything but sustainable. While we're talking today about tactics in design and development for more sustainable products to put out in the world, I think this is our biggest challenge. Because we can't talk about creating rules and policies to encourage our norms, we can't talk about better production efforts if, at the end of the day, we're trying to think about conservation of resources and good stewardship when we interact with the natural world, but online we're bombarded with waste, inefficiency, and a frenzied pace. Not only to get our work done, but also to constantly keep up with the latest and greatest. We're splitting ourselves in two. I think we're going to increasingly see the half of ourselves that respects the natural world as more appealing than the half that works in the digital world. We're going to start to care less about the digital world, and about the standards and norms that we have today that will degrade as a result.

The question is: How do we create demand for sustainable, resilient solutions? How do we take this mindset, that many of us here today embrace, and how do we instill that in our colleagues, in our stakeholders, in our customers, and anybody else we encounter in the work that we do? I'd like to talk about that by taking a look at that world in the middle here, the built world. The world that is manmade, like our digital world, but much more tangible than our abstract, online digital world. It's the tangibility of the built world that helps to keep it in check. Think about it. If you were building a house and the architect decided halfway through the build to scrap a huge portion of the layout, not only would you end up with wasted time, but you'd have this big, tangible pile of physical waste that costs as much as the labor involved. If you don't build to optimize standard dimensions of lumber when you build a house, you end up with a lot of scrap pieces that aren't good for much more than firewood, but that you did pay for. In our abstract digital work, the costs of a lack of planning and sustainability to the drivers of our projects are less tangible and costly. But for us here today, they're immense. They're long days, late nights, frustration, and burn out. There are mental health costs which lower our resistance, our strength to uphold our norms, and that's where technical debt starts to creep in. But I do think the built world gives us hope. In the built world, we have a combination of top-down solutions—rules, laws, policies, incentives—for building sustainably and efficiently, as well as bottom-up demand from consumers, homeowners, and people that in our digital world would be called "users", for more efficient, durable structures.

This picture and the second picture following are of something called Noble Home. Noble Home is a home building kit designed and produced by my friend, Noah Grunberg. In creating Noble Home, Noah aspired to create a home that was not only efficient and sustainable using passive energy—things like solar heating—but also a home that could be built by a homeowner, demonstrating integrity and is true to the material it's created from. All things that are great standards in the building world. Because Noble Home is pre-fabricated in Noah's shop, there's little waste. Waste would affect his bottom line. The kit shipped to the homeowner contains just the necessary parts to assemble the house, so there's no waste for the homeowner, either. Noah's customers are looking for an efficient, performant, sustainable home. There's organic demand there that's emerged through education, through growing interest in sustainability. That demand is helping transition relationships between the built and natural world through solutions like Noble Home. We have that bottom-up demand through homeowners for high-performance homes, and then we couple that with top-down demand through our states and municipal building codes. We have standards when it comes to home construction. We have things like Passive House. I think we should be looking, as an industry, at how we can create similar demand, similar incentives in our industry to encourage sustainability.

I asked Noah what some of the standards look like that he encounters with Noble Home that are applied to the built world. He gave ma a list that I'm going to run through quickly. I think these translate into real concepts that can be embraced, encouraged, and incentivized, which is important. Noah said, "The international energy conservation code mandates energy conservation and efficiency standards for both commercial and residential new construction and major renovations. It's revised to be more aggressive every three years. States can choose to adopt whichever revision works for them. We have HERS ratings, House Energy Ratings Systems, developed by RESNET, which is an independent nonprofit. So this is not a governmental body creating rules. This is an independent nonprofit in the industry. HERS is becoming the national standard for housing energy efficiency and testing. The scale starts at zero, which is a net zero home, and goes up to 100, which is a standard new home. The higher the rating, the less efficient. Developed in Europe, we have the Passive House standard. That's been gaining popularity in the U.S. and in most serious conservation-minded architects, builders, and homeowners. Professionals are trained in the details required to create homes that require little to no energy input to heat or cool the interior. These can cost 10-50% more than traditional construction. Most states have adopted the international energy conservation code. Massachusetts has a stretch code, which is more stringent than the IECC. Individual towns within Massachusetts have voted to adopt this. About half of the towns within Massachusetts have done so to date. For the stretch code, a preliminary HERS code based on construction drawings is required to obtain a building permit. A final rating must be verified at the end of the project and must meet the target rating, which is currently HERS 70. In 2017, this will be increased to HERS 55. HERS ratings are verified by trained professionals who inspect construction and perform a blower door test to determine air tightness." Think about having folks in our industry who can conduct audits and tests and have a standard by which they can certify a website. "Connecticut residential new construction offer rebates up to $4,500 for high-performance construction verified with HERS ratings. Massachusetts has Mass Save, which also offers $4,500 rebates for HERS ratings. There we have financial incentives; motivations for stakeholders to embrace high-performance, sustainable solutions." Noah noted that increases in these mandates do tend to reduce the amount of new housing that is created, due to increased cost, which can be 5-20% more than typical construction. "However, in the more liberal states, they are welcomed in order to reduce total carbon footprints in the state."

I interpret that as they slow things down a bit. When we're talking about the space in which we do our work, and it being fast paced, these programs help slow down the decision making process and how quickly things are built and churned out into the world. But, again, I'm not advocating necessarily for strict regulation in how we design and build websites and apps, but for the idea that it would be great to have some of these standards spelled out for our industry. Recognized, utilized as guidelines for design and development, and going back to Zeldman's approach in the web standards movement, incentivizing stakeholders to embrace these standards. I think it's worth asking, where can these standards help mitigate costly technical debt? Where can they provide us the framework for decision making? The space for better decisions and long term strategies? Where can we work better at defining guidelines for accessible, performant, and maintainable websites? I come at this talk having spent a lot of my personal time, my non-work time, reading about home building. Reading about sustainability. Reading about climate change. Not just what's being done in the built world, but reconnecting more with the natural world.

The great thing is, there is a lot happening there that's moving in a positive direction. But the more I read and learn about such things in that context, the more troubled I become by our ever-growing digital world and how it changes us. For those of us here today as designers and builders of that digital world, I think it is up to us to think about that and to start putting these frameworks and guidelines and new norms into place. Wrapping up, I have two quotes from a book called Design Like You Give a Damn, which is sort of a catalogue of projects and solutions for residential structures for people in need, following disasters and things like that.

The first is: "...Some architects began to see themselves not just as professional bound to meet the needs of their clients but as stewards of the built environment and advocates for more sustainable development."

"The professional challenge, whether one is an architect in the rural American South or elsewhere in the world, is how to avoid being so stunned by the power of modern technology and economic affluence that one does not lose sight of the fact that people and place matter..."

Similarly, let us not lose sight of who we're designing for. The tasks to be done. How our work impacts the natural, built, and digital worlds. let us not be so enamored by the latest and greatest that we dismiss sustainable work ethic as impractical. Let us help our colleagues, clients, and customers understand that how we work impacts the work we ship, with technical debt being one consequence. That there are resources to conserve in digital design and development, and that sustainability and the digital world is as important as it is in the built and natural worlds. Thank you.

Christian Heilmann: We need JavaScript to fix the web
Noble Home
Design Like You Give a Damn