5 Questions
The Programmable World
October 10, 2013
Episode Summary
Whether we notice it or not, we’re surrounded by machines and sensors. Our world is networked and made of code. We need new skills and perspectives to take charge of the programmable world we’ve built. Because if we don’t learn to program the world we want, it may very well program us. In this episode of The Digital Life, we discuss the “Programmable World” with Matt Nish-Lapidus, Design Director at Normative.
In the future, what we call coding today where you have to learn languages, where you have to memorize arcane strings of text, that won’t be necessary in the same way that it seems to be necessary today. We’re going to have user interfaces. We’re going to have essentially WYSIWYG style solutions that let us “program.” By us, I mean more of a broad layer of people. Today the trend appears to be while everybody needs to know how to program, the way the world is changing, software’s everywhere. If you don’t learn how to program you’re going to get left behind.
What’s going to happen is tools are going to be created that remove that requirement. That certainly there will still need to be some minority that has the ability to create code at a really high end potent level, but those people are going to create tools that allow the rest of us to unleash the power of code without having to learn to code ourselves. We’re in this in between moment where those haven’t been created yet. In order to realize the incredible potential and power that we have at our finger tips with software and hardware, we need to be able to code and people are learning how to code.
Namely that languages are frequently changing, standards are changing. What you spend a whole lot of time learning today in five years is largely obsolete. You either need to take a deep dive into something completely new, or you need to have been incrementally learning it over time. But if you pick the wrong thing to incrementally learn over time, it won’t end up being relevant and you’ll have to deep dive into the other thing anyway.
Learning engineer skills, learning software engineering skills that remain relevant over time isn’t easy. It’s relatively easy to jump in at a moment and say Ruby’s the big thing. If I learn Ruby I can do all of these different things, that’s great. That is fun, but once Ruby pushes over the hill and the next thing is coming you start to lose some enthusiasm for it. It becomes more chore like, which again isn’t to take away anything from the very interesting moment we have here.
But whereas it might superficially seem, like there’s not a need for a UI for simplification in order to allow people to do things in a programming sense, that today they have to learn skills around as we’ll get into longer progression of how this technology works it will feel very different. The chore aspects and really the difficulty aspects of it will be more and more apparent.
The good news is it’s not something that we’ll really that we’ll have to be worried about for a whole heck of a long time. That will be solved. Who solves it, how they solve it, what is looks like, I’m not sure but even a dufus like me will able to “program” using some tools that are made for the layman as opposed to someone who has to learn lots and lot of code. That’s my story for today. Let’s get back to the show.
One of the reasons I like that term, actually, better than Internet of Things, is because it’s not, in my mind, not necessarily about things. The things are a part of it, but it’s also about the people, the networks, the invisible infrastructure, all the policy and underpinnings of the stuff that makes all of these things actually work.
The internet that connects the things is not this invisible force that just exists. It’s got all these regulations and different languages and protocols and ways in which it has to function that make it an equally tangible part of this new world that we live in, where everything can talk to each other and be programmed by each other including the things and people.
We also have to start thinking about the idea of programmability being more than the control that we exert on objects but also the control that the objects exert on us. The traffic light is an interesting example because a programmable traffic light actually influences the behavior of humans in and around that intersection, and in the subsequent intersections that they run into. In a sense, the people who are programming that stoplight are also programming the software that runs the relationship that we have with the intersection, itself, and whatever other interactions we have around that intersection.
I think there’s an ethical question around the visibility of programmable systems, when you decide how much of something people should see. Whether or not they have control over it is another layer, but I think the fundamental level is do we even know that it’s there, and what are the ethical implications or knowing or not knowing that the system is there and what it’s doing for you, or what it’s doing to impact you as an individual?
That’s something that we don’t talk about that much, either as general public like when we talk about policy or we talk about governance, but also when we talk about this stuff as designers. Every decision that we make when we design a system that’s going to exist in an organization or going to be a product that someone buys, we’re making ethical choices about how much of that we give them access to and how much of it they even know is happening.
The fingerprint scanner on the new iPhone is a great example. They say that it’s totally secure and that it’s not being transmitted anywhere, but you also can’t look. There’s no visibility into that system. There’s nothing in there that’s actually telling me what’s happening with my identify information. I just have to take their word for it and trust that they’ve made a decision in my best interests. That can become very problematic as these things start to invade every aspect of our lives.
I think it’s interesting we talk a lot about as designers the concept of constraints and designing within constraints, but we don’t then follow through and talk about how our design decisions are placing constraints on our end users, at least not in the same language. I think we get around that conversation, but I think that that idea of really explicitly talking about how do the design decisions we make affect people’s … what you were calling their visibility into the implications of those decisions, and when we’re not creating those feedback loops for our end users, for people that are using the products that we make, to see how they work.
That doesn’t mean that it has to be completely open and people have to be down in the infrastructure mucking around with stuff, but at least giving them feedback to understand so it’s not just a black box.
It doesn’t mean that everything has to be out in the open and that people have to be able to dig in and control every aspect of it. That would be overwhelming and confusing probably. What it does mean is that, when we have to make a choice that impacts that person’s ability to control what happens with the stuff that they use this system for, we need to be very clear about the choice that they’re making.
The example that always come up about this, which isn’t really an internet of things example but is Facebook’s privacy policy. In my mind it’s not that what they put in it is necessarily wrong, it’s that the people who decide to use it aren’t making an informed decision about the choice that they’ve made.
I don’t think Facebook has any … or any of these systems — Google, Facebook, whatever comes out them — have any responsibility to us as the consumers of that system to do what we think they should do. What I do think they do, or what responsibility they do have, is to make sure that we know what they are going to do so that we can choose whether or not we want them to do that with our stuff and opt out.
I see the same thing happening with technology. If we can open that up and make it a little more visible, people have that informed choice that they can make.
That’s happening with a lot of the systems that we used. Government … you look at what’s happening all over the world, not just in the US but in Canada and in Australia recently, and we’ve got these government systems that are so complicated, and the inner workings are so complicated and so hidden, that they become a black box; and even the people working within it don’t really understand how it works anymore.It’s the technology that time forgot, and now we just use it because it’s there but we don’t really know what it does.
That’s exactly what I’m trying to get at with this idea of a programmable world, which is that programming and the idea of code isn’t just something that resides in an object that contains a computer. It’s something that exists at a societal level.
One of the examples that we talk about a lot here at Normative is this idea of networks as systems that are much bigger than we usually think about them. We go back to the railroad as one of the first main examples. The railroad was a network that was created and designed in order to allow for the faster distribution and movement of goods and people; but just building the infrastructure, just putting the tracks down, wasn’t enough to make that network function. What they needed was software, so they built software on top of the network, and the software was corporations, it was the schedule, it was the chain of command that allowed the trains to run on time, that allowed people to know when a train was coming and when another one was coming on the same track so they didn’t have collisions. All of that was a type of software.The software became what we know now as corporate structure. The railroad was kind of the birth of our current corporate structure.
What we’ve got there is a network, a physical network, we’ve got software that runs on it, and then we start to develop these systems that rely on the software to do its job. Once you get up to the system level, we start to have cultural and societal change, to the world becomes smaller now that we can move faster. All of a sudden you can get goods shipped from across the country in a matter of days rather than weeks or months, and we start to change way that we think about what we can do.
Automobiles was another big network revolution. We built these networks of roads that changed the foundation of how we live our lives. All of a sudden, commuting was an option. Commuting was never even a thing before cars. No one would work so far away from where they lived that they couldn’t walk there.
Now all of a sudden commuting becomes an option, which means our urban infrastructure changes because people move further away to get a different lifestyle. Now we’ve got this network that was built, and we’ve got a new type of software that runs on top of it, and the software again impacts cultural shifts that then have rippling and rapid effects and last for centuries, potentially.
Now we’re in the midst of another big network shift which is that not only do we have these physical networks, but we have this virtual network. We have the ability for people and for machines to talk to each other over vast distances with basically no delay at all. We can ship goods, virtual goods, instantly. We can ship physical goods quickly.
The impact of this new network is a new type of software which is the software … like the web is one example of software that runs on the new network, and it’s a way for devices and people to communicate over this new network, which is the internet.
I think we still don’t know what the effects of that are really going to be. We’re seeing the early stages of it now, but it’s going to be another ten years, probably, before we really know the long-term effect that it’s going to have on society. Just as we start to undo some of the effects from the other networks that we’re building on top of people move back into cities, away from suburbs, and start to value things like walking more. We realize the downside of the network of roads and the automobiles that we built for them in terms of the lifestyle changes that came out of it, but we didn’t really realize that for 50 or 60 years. I think we’re going to see the same thing with this new network development.
I think we do have to take into account what are the unintended consequences, and try to understand how these things, these choices that we’re making now, are going to impact our future. The internet, just as any of these other networks, allow us to do things faster or better, and sometimes that’s good and that opens up new capabilities or it frees up our time to do something new that we couldn’t have done otherwise; and sometimes that’s bad as in people are driving more, they’re not walking as much. You have to then supplement that time you spent walking that had a second purpose of getting you actually from place A to B. Now you have to walk for exercise.
I think there’s some really interesting things when we start to really … it’s so simple … look back at history and look for patterns where we’ve done this before, and let’s stop viewing what we’re doing now as this magical thing, but it’s just one more example of things that have happened in the past.
There’s all these new results of network technology. The big question for me, and the one that I don’t have any sort of answer to, is if we think about culture as the ultimate software. All these other things that we make that lay the foundation for ultimately what is the culture that we l I’ve in. Culture is software that runs on people, and if all the networks that we create and all the technologies that run on these networks impact our behaviors and our language and the way we relate to each other and relate to the things in our environments, what is the ultimate impact going to be on the evolution of our culture?
You can see language changing over the last 20 years as the internet has become a thing that people are familiar with. The terms like download were not an everyday term 20 years ago, and now we talking about downloading information from person to person. There’s all these elements of language that are starting to shift.
I think language is actually a really interesting way of looking at the expression of our cultural software. We use different words for different things, and they often represent the importance of those things to us or the way that we understand our relationship to those ideas and, therefore, our relationship to other people. All of that is now being impacted by how much technology and now much programmability is in the world.
Twenty or thirty years ago, a lot of the stuff still existed, but it was really hard. It was impenetrable. You needed to learn all these arcane languages and really understand the inner workings of everything; but now we’ve got easy access to prototyping tools and little kits, and we’ve got like the maker community, and all of these things that are providing us with easy entry points to really understanding how this new programmable world functions … and programmable not just in a physical like, “I’m going to code up a little Arduino thing that has a wi-fi chip on it that allows me to interface with the internet and make LEDs blink.” That’s one type of programmable; but the other is in the effect that we can have on the environments that we live in and our ability to really shape the world through these types of interactive devices.
I think it’s something I would encourage. I would encourage everybody to try their hand at it. I see kids doing it. We just had a big maker fair here, and there were little kids building robots. It little kids can build robots, then this is not out of reach for anybody to start tinkering with and understanding; and the more that you understand how the stuff works and that’s it’s not a mystical black box, that it is something that is understandable, the more empowered we all become to shape our environments and to make the decisions that we actually want to make for ourselves and for the communities that we live in.
The growth of rapid fabrication and cheap and easy electronics, and new easy-to-learn, easy-to-understand programming languages make all of this so much more accessible. Even as a consumer, if you’re ordering something online that’s made just for you, that’s a rapid-fabricated thing from a 3D printer or from a wood shop somewhere, you’re still adding something new into the world.
We just had a print shop open up in Toronto here that’s a 3D print shop. Year-old send them a CAD file, and a couple hours later you can go pick up your object; and they can do fairly big, fairly complex things. And it’s not expensive. It’s the equivalent of going to get a poster printed ten years ago in terms of pricing where you can get a fairly good-sized object for under $100, and it’s a nice-quality thing.
The barriers to creating new types of things in the world are really dropping, and with the prevalence of this network and the ease of interfacing with it, I think we’re just going to see an explosion of this kind of stuff.