Code is Law

Henry Modisett
7 min readDec 17, 2016

--

Product design as a process is largely undefined and often viewed in a narrow manner. People who call themselves product designers and the companies that employ them each may have a different definition of the role itself and how the process is executed. I started thinking about this in college and it’s been on my mind since, as I’ve experienced the role at different organizations. At Quora, a product designer’s role is to determine how the product works. This role manifests itself in a set of responsibilities that enable the designer to modify any part of the product to improve the user experience or make the product more effective. This includes: adding features, removing features, changing features, changing language, tweaking how features behave, and of course improving interactions and visual language.

Having this role and working in a product largely powered by social systems, I find that we quickly run out of frameworks and tools for making changes to the product to make it more successful. Although we do interaction and visual design, a large portion of our work includes: behavior modeling, incentive creation, mechanical changes to enable specific experiences, optimization design, and leveraging machine learning to create deeply personal experiences. There are plenty of frameworks and tools for interaction design but nothing for these others categories of work. We’ve been excitedly looking elsewhere to draw parallels and look for opportunities to employ new ways of thinking to help us work smarter. This matters because if we only have interaction and visual design as a way of thinking, we are extremely limited with the potential solutions we can provide to any given problem. For example, If I worked on a photo sharing app and I was asked to get users to share more photos and was just thinking as a UI designer, my options would be to make the share button bigger and brighter. Now this might get me a 5–20% increase, but there is a large chance that there is a deeper problem and potential for more solutions. Being able to understand and leverage things like: behavior modeling, incentive systems, user education, distribution systems, and the second order effects of all these things will broaden my ability consider the problem and provide the best solution. There are many parallels we have started to draw with other disciplines in order to find new lenses for thinking about a problem at Quora, but the first one I want to talk about is law.

Law in Cyberspace

A few years ago I read a book called Code 2.0 by Lawrence Lessig which is largely about the role of government in “cyberspace.” One of the key concepts of the book that struck me is that:

Code is the most significant form of law that humans have ever been exposed to

I found this concept to be provocative. The author discusses the potential for laws to be materialized with code because they have the fundamental property of not being able to be broken. In contrast, in the real world, the mechanism that prevents you from breaking a law is the fear of consequence. He acknowledges that for the first time in human history, laws could be enacted in code by the government in such a way that they could never be broken.

An analogy for this is the difference between a stop sign and a spike strip. In the real world, there is nothing preventing you from running a stop sign. Of course a cop could see you or you could crash but there’s nothing physically preventing you from doing this. If instead the law enabled spike strips to appear on the road until you completely stopped then you will be physically prevented from moving forward. If the real world had laws written in code it would mean that we could change the laws of physics to reflect the interests of the government.

When Lessig is thinking about how people interact and behave in cyberspace, he is implying that for the first time ever we as the designers of reality have absolute control. Although I find this interesting to theorize on a macro level especially while considering the role of the government and liberty in regards to the internet, it’s directly applicable on a micro level when it comes to building products with users who exist and interact with each other. Within any given social space, there are rules, norms, and demonstrations of every kind of human behavior. As designers we can craft new societies with new rules that enable new behaviors with incredible ease. Understanding this and the effects that it can have will be very important to the future of product design.

Law In Products We Use

First, I want to distinguish the difference between Law and Policy:

Polices reflect the objectives of a government while laws provide the legal and institutional framework to enact these policies.

An example of law in real life is when you get a restraining order against someone, your intent is to not see that person ever again. They can respect the restraining order or come see you and suffer the consequences of going to prison. However, let’s consider law on the Internet: on Facebook if you block someone, that’s it! There’s nothing they can do within the reality of Facebook. They cannot communicate with you anymore. This law is enacted in code which makes it fundamentally unbreakable. On Twitter it’s the law that your tweet cannot be longer than 140 characters. This is a property of Twitter that cannot be broken and therefore defines how it’s used. The most important thing to understand about this is that people change their behavior as a direct result of how the product works. How do people change their behavior on Twitter because you can only use 140 characters? How do people change their behavior because Snapchat’s photos self destruct? How do you want people to use your product, and what laws can you enact to make that happen?

Policy, on the other hand, is more intangible. Take, for example, Facebook’s Real Name Policy. In using Facebook, it’s generally in your best interest to use your name if you want to use the product as its intended, so they have a policy that says you must use your real name. From a technical perspective there is no way to 100% know that whatever string of text you put in is your name or anybody’s name, so the only law here is that you have to input a string of text that is a symbol for your identity. This is a great example of how well articulated policies can help guide product usage when we cannot enact a law due to technical limitations. In this case, there are essentially zero consequences to the user so the only thing Facebook can do is invest in making more laws to help enforce the policy. Laws like these are unparalleled in real life aside from the laws of physics and they are enacted with the intention of forming user behavior in a way that makes the product more successful. Policy cannot only cover the holes that we cannot solve with technology, but can also serve as an insight into the ethos of the product and the company behind it.

Applying This to Our Process

Although I think there are many different ways to think about this, I chose three categories of solutions that I know are effective for solving different kinds of problems.

Identifiable Systems
An identifiable system is by definition transparent to the user. This would be a “law” in the product that everyone uses and understands. Most properties of products fit into this category. The best examples would be Twitter’s character count. It’s something that everyone experiences and understands. These can and will always have a very direct impact on how users experience the product. When people experience a law manifested in this way, they should immediately understand it and adapt. If instead, twitter had a minimum character count of 1,000, people would see that and use Twitter very differently.

Subversive Systems
A subversive system is something that is harder for users to directly understand and is more intended for them to feel. Any feature that is powered by ranking could be considered a subversive system in this context. A great example is Quora’s feed. Something we care about a lot is “high quality.” We use our feed as a subversive system to enact the law that only high quality content gets shown to users. For the most part you can write anything you want on Quora as there is no law against it. However if you want to be successful in the system, the content you create as a user must be high quality or we won’t show it in other users’ feeds. This should be something that users can deduce through experiencing the product but cannot be identifiable because of the subjective nature of the intended experience.

Public Policies
Policies are effective because they can communicate many things at different levels. They cannot only justify and explain the purpose of all the laws in your product, but can also convey spirit and intention of your product to users so that they can help make that true. At Quora our users understand that we value quality, respect, and safety. We all feel that policies for these things will make our community better and make the product more successful. To materialize these policies we have features like: blocking, reporting, and a feed that ranks quality.

Thinking through the lens of law is just one framework but it is an especially important one when it comes to affecting how people use your product and connecting users with the policies that guide it. We’ll be writing more about other lenses that we’ve discussed at Quora for helping us solve some of our hardest problems.

--

--