Better Performance is not saving us
There is a myth amongst software developers. Performance optimisation is generally seen as an ideal. But there are various factors, that are preventing better performing solutions from reducing the footprint of digital.
I The value of compute power is decreasing the more of it becomes available.
The value of performance optimisation is depending on the amount of compute performance, that is available at any given moment. And yes, the compute power is still on the rise. As a result optimising performance has more value when you start thinking about it, than it has when you are rolling it out.
II The fragmentation of compute users is increasing as we are digitising our world.
Every day there are more programs deployed. The role your program is playing in all this is decreasing constantly as the digitisation moves along. As there is more and more digitised the number of programs running is increasing and thus the share of compute power you are using is decreasing subsequently reducing the value of any performance optimisation.
So. No, Performance optimisation will not save us.
Responsibility beyond Sustainability
Instead of thinking only about the bare metal and power consumption, we have to think beyond the pure compute resource and consider other aspects as resources as well. We will have to change how and when we interact with software. We have to employ different software architecture and we have to ensure our users will stay sane.
I Discourage wasteful behaviour.
With our users (including developers, as they are using software to generate software), we have to make wasteful behaviour transparent. Who knows how much energy or compute power is used by a performing a single google search? Who knows if MS Word is more efficient than OnlyOffice when checking for spelling errors? We should make this visible to enable a discussion about these aspects. Imagine having an energy meter running constantly, that shows you how much you are consuming with every action. Secondly, we have to give users the opportunity to adjust their behaviour accordingly. How easy is it to disable automatic spelling checks in your office suite? Can I disable google from searching before I hit the return key?
II Build a healthy Environment.
When we think about nature it is quite obvious what healthy means. Namely no human intervention in the course of what nature is doing. In particular we consider humans spreading any kind of material into nature as unhealthy. What would we consider a healthy digital environment? This feels like asking about the difference between physical and mental health. Physical health being the natural environment and mental health being a concept, where we have no clear understanding of what healthy or unhealthy actually means.
Yet there are some aspects, where I hope we can all agree they are healthy or unhealthy.
Do not pollute the digital environment of your users with irrelevant information. Consider the human aware design approach when thinking about what is relevant (e.g. meaningful interaction).
Build systems, that foster longterm relationships. If you manage to build a system, that is not depending on short-term success (on any side), you are doing things right! Then you are considering the mental health of your users and of your team. You are correctly considering the financial sustainability of what your are doing. You are investing resources in something worthwhile as it is here to stay (for a long period of time). Prevent catering short-term goals such as rapid growth (which will eventually be cutout by churn) or high levels of engagement (which are not sustainable by the user) to name some examples.
Weigh ease of use against joy of use. When we are developing games, we have to make players learn new mechanics (e.g. rules and interactions within the game). Learning is tiresome and so we are considering our users as being in flow, if they are in a healthy balance between learning new stuff (or being inspired for that matter) and relaxing (e.g. recreational browsing or consuming). This not only helps users to learn more easily, it also improves mental health as it reduces stress.
III Build trust
Privacy is a vital part of digital responsibility. I think however there is no merit in trying to prevent data from being gathered. Instead we need a sustainable method of building trust between users and products/services. There are many third parties around the world involved in doing that (e.g. Trust Pilot or TÜV). I am however talking about, how today our products and services are not building trust, they are either taking it for granted or explain it. But that is not building trust.
Say you walk into a bank, the clerk will not tell you how your money is secured, how they have thick walls or how they are part of a deposit insurance. The clerk will take it for granted, that you trust them. On the other hand a lot of products are displaying trust certificates or are explaining how the company responsible is trustworthy as one of their three core user values.
Trust has to be earned not proclaimed.
A product therefore should not just explain why it is trustworthy, it should be able to scale the risk on the user side accordingly. Think about that bank again. If you are unsure about their trustworthiness, you have the option to reduce the amount of money you put into that bank. You can scale down your risk of loss dramatically like that. If you are offering a service in your product, offer your potential new clients a low risk option to get started and earn your trust by reminding them at a later time, how your trust-relationship is doing.
Another tip would be to actually give the option to trade money against privacy. If you are using google analytics (and worse) to analyse the crap out of everything going on – Offer your users the option to disable all of that for money. Now it is their choice. They want privacy, they can have it with all of its benefits, but they’ll have to pay for the (potential) loss of insight on your end. Making the needs of you and your product transparent to the user is one of the principles in human aware design.
In my opinion Digital Responsibility should encompass the health of our users and the way we build relationships with them. Although environmental factors play a vital part with responsibility, the products we build are shaping the way (especially younger) people form their understanding of relationships, trust and the world in general. That is a huge responsibility for us as product developers to bear, but also a great challenge to work on!