In the 1980s, personal computers fueled a desktop publishing revolution. Software let people create documents with powerful flexibility from their desktops. Yet before these creations could have impact on the real world, they had to be printed on paper, magnetic tape or film. The Internet connected only the scientists and hackers — the majority of computers were isolated with software transmitted on physical disks.

hands on keyboard in sunlight The Internet began as a communications medium: a way to send messages across networks. The need for human-to-human communication across institutional boundaries led to standardization of a resilient messaging protocol (TCP/IP) in the 1970s. By the mid 1990s, email was common, but not universal; the web popularized the Internet as a new publications platform. Initially technical papers were linked across dozens, then hundreds of computers. Then, digital retail brochures dominated the landscape and billboard sported web addresses for the first time.

Blogging started as a simple way to update web pages using date-stamped content. The format became standardized with software that helped people write in a way that they had been writing online for a decade, and on paper for centuries. I started this blog in 2002, and I remember when SixApart introduced a new feature that connected blog posts to each other, establishing patterns for readers as well as authors. “Trackbacks” allowed me to easily see who linked to a post I had written, and for the first time, I experienced a social network forming through interactions fostered asynchronously by words written, read and referred to. It felt like a new digital realm.

Now we have so many ways to self-publish, to reach audiences instantaneously across the world, to find the people who want to hear what we have to say. We’re still empowering a subset of the population: young, urban, wealthy, educated Americans are much more likely to use the internet (according to a 2015 Pew Research Report). It is no surprise that the 15% not yet online are not evenly distributed. Nevertheless, this new generation has emerged who feel entitled to a voice. In this online realm that is as imperfect, biased, and broken as the physical world, we have created the potential for a new kind of democracy, where we can choose the voices who represent us through following and sharing.

For the past year, I’ve been working on a small social network focused on culture change within the US government: Open Opportunities is a deceptively simple system allowing federal employees to post projects that other employees can sign up to work on for their own professional development. We’re mirroring actual collaboration that happens (rarely) in the real world by people who have well-developed networks, allowing them to find and collaborate with others across this huge organization with 2.7M employees. Participation requires supervisor approval, yet we allow the individual to confirm rather than requiring a byzantine series of forms that is more typical for government software. Federal employees are already held to high standards for ethics and must be responsible and knowledgeable about the legal implications of their actions, which allows us to instill a respect for individual responsibility into the design of the software service. Less software can sometimes offer more power as we seek to facilitate interactions that take place outside of software, empowering people to create impact in the real world.

As software designers and developers, it is our opportunity and responsibility to create a medium that will amplify the best of us and moderate the forces that threaten to tear apart our society. In the private sector, Twitter, Facebook, Instagram, Tumblr, Reddit, Imgur, Pinteret, Medium, Github and others provide new capabilities for communication and social interaction. Software design influences the way we interact, creating emergent behavior that is changing our culture.

In 1961, Dr. Martin Luther King, Jr. noted that “we have allowed our civilization to outdistance our culture.” I think our culture might just be starting to catch up, now that our technology is starting to reach a wider spectrum of the population. His call-to-action when jet planes were new is even more urgent in today’s globally connected society:

Through our scientific genius we have made this world a neighborhood; now through our moral and spiritual development, we must make of it a brotherhood. In a real sense, we must all learn to live together as brothers, or we will all perish together as fools.

The power of transparency in business, government and non-profit organizing was a key theme from 2015. In Sept, I gave a keynote talk (see RubyConf Taiwan video) called “Transparency Wins.” The title was a play on words, where “win” in English can be both a verb and a noun: how transparency as a methodology causes us to win, and also the story of three wins.

All the disparate threads of my work came together in this presentation, which was my fourth tech talk of 2015. I had been speaking on two quite different themes: two talks focused on game design and theories of play and fun, and this was my second talk on transparency.

sunlight through treesI feel like it is important to convey how and why transparency really works. For many people, it is counter-intuitive to release something that you know has flaws… some would even call it disrespectful to your audience, your community or your customers, but when done right it is the opposite. Transparency can fuel creativity and amplify success.

Reflecting on what it takes to win at something, I realized that a theme from the game design talks applied here, as well. I had presented the definition of an epic win: that extraordinary outcome that feels impossible, until it happens. I was inspired by Jane McGonigal’s TED Talk (see notes on transformative power of games). That same concept is needed when you do something new. Conveying the outcome you intend is the key to making transparency lead to effective participation. Participation increases the size of your team and accelerates learning. We need to make software not just for people, but with people.

Through this framework for explaining effective techniques of transparency, I realized that part of the magic of Bridge Foundry is that we present the vision of a software industry that is reflective of our society. This vision can feel like a bit of a fantasy to newcomers, but then we let them experience a little bit of this future we seek to create. They participate in a workshop where a diverse group of people get together to teach and learn, and they know that their work will take a clear step in the right direction and definitely help a few people. Since the software industry was created by women, this really shouldn’t be so hard, but it’s weird how history gets forgotten so quickly. We need transparency into the past too — understanding history helps us shape the future.

Much of the open source movement in government is focused on accountability, and that is important; however, when we are transparent about our intention as well as the steps we are taking to execute on that intention, we create a space for participation. We have an unprecedented opportunity to create a new kind of participatory democracy. In addition to citizens participating by voting, where they have limited ability to express their intent, where complexity is too often boiled down to binary decisions, we can involve people in the creation of policy and its implementation. In my work on College Scorecard with the Department of Education, I saw first hand how the implementation of policy using technology can be transformative. The US Government released data by releasing an API and a website, making that data immediately useful to students, colleges and the organizations that serve them. We also built the software with the help of individuals who felt that the work was important, which let us do more with a limited budget.

Lastly, in business, the lean startup movement has created a discipline called “customer development” where we develop relationships with customers in advance of creating the product, increasing the chance that the product will actually work for the customers. At Mightyverse, we used a paper-prototype to engage language learners and created a real-world card game that helped us validate our theories of social learning, while building a community that may someday use our mobile app. Business folk might say we’re creating a market (or tapping into one), although I think it is more accurate to say that the market is creating us.

You can watch the whole video here: Transparency Wins, RubyConf Taiwan 2015

Ivan Krstić provided a computer security primer with some interesting historical context when he introduced the Mac App Sandbox in 2011. I learned these important concepts when I started writing web software in 1995 with the Shockwave player, but I’ve never seen as clear an overview as in the first 20 minutes of this talk.

Here are some highlights:

unfortunate-assumption

history-of-assumptions

We are conditioning our users to ignore our security messages…

if-you-are-explaining-you-are-losing

What if we took this approach with car airbags?

security-ui-airbag-analogy

The root problem is one of “ambient privilege.” Just because of the person who happened to run a program, we give that program all of the privileges we would give to the person. However, no human can understand and review all of the lines of code that we execute every day.

We are building complex systems, which always have vulnerabilities.

Complexity is growing, and there is no limit on the kind of damage an exploit can do. From cars to fighter planes, the amount of code we are putting into our vehicles has increased dramatically over time.

vehicle-loc

100M lines of code in a car today….

car-loc

what-works

Mostly, the Mac App Sandbox introduces ideas that the Web Browser introduced in 1993, Shockwave in 1995 with a full program language, then with JavaScript running in its own sandbox a couple of years later. There are some new ideas, of course. One that I particularly like is the notion of leveraging the File Open dialog to capture a user’s intent and seamless allow selective file access only to those files that the user chooses to open.

We need more creative and thoughtful user experience design that allows humans to safely interact with a complex world.