OnionShare Logo

OnionShare

OnionShare is an open-source tool that lets you securely & anonymously share a file of any size.

Role

Volunteer UX Designer

Contributions

UX Design, UI Design, Information Architecture, Moderated Usability Testing

Project Overview

I remember reading about OnionShare in Wired in 2014 shortly after the Snowden revelations. I thought it was an innovative solution using Tor technology and it stuck in my mind. I don't know what led me to reach out to Micah, but when I found his Signal number on Twitter I thought to send him a text and offer to contribute to the project.

I started with a usability audit of the app, formed some hypotheses, then conducted moderated usability testing of the production app and some new concepts. I iterated on the design with the insights from our participants, tested again, and created a proposal. Many of the new features proposed have been incorporated, and I'm incredible proud to contribute to such an important product.

App Problem Statement

OnionShare is a brilliantly simple and useful application, which is one of the reasons why The Guardian Project includes it by default in the Tails OS. The audience for the app, though, was typically the more tech savvy user, and one of our goals was to make it's value accessible to everyone.

This can be hard because the entire domain of security and anonymity can be intimidating to people who aren’t consciously thinking about this stuff. The only stories in the news about anonymity include stories about drug markets, cryptocurrency and other nefarious topics.

When I started contributing, the app would only work if you've downloaded Tor Browser and after the app was ready to use, the onion URL lacked some context and clarity.

#

Web Problem Statement

OnionShare has two parts - sending and receiving. The onion site where a user downloads their files was visually very different than the look and feel of the .org website and the app. The primary call-to-action looked like a mix of a menu and a button, and there was no branding, making it hard for receiver to learn about the app.

#

Goals

Personas & Use Cases

The Journalist

As a Journalist, I need to safely receive files from whistleblowers or other sources, so that I can help protect the identities of sources, people close to myself or other journalists and work more efficiently.

The Whistleblower

As a Whistleblower, I need to share evidence of wrongdoing with journalists or other trusted individuals or organizations, so that I can help resolve legal or ethical issues that I discover.

Product Designs & Interactions

Bootstrapping Tor

Before, when OnionShare started, you needed to have Tor Browser running in order for the app to not only work, but open at all. One early hypothesis was that by bundling Tor into OnionShare we'd reduce friction for new and existing users, helping to increase the adoption of the app.

We tested this idea with users from backgrounds in journalism and activism and validated our assumption. "If you didn't need to download Tor, I bet I could get my sister to use OnionShare now..." was the sentiment of one of our testing participants.

We removed the Tor Browser dependency and now you don't need and other software to use the app!

#

Refined UI

When the app loads, all buttons that the user can't interact with are removed, providing a clear and actionable UI.

#

Ready to Share

When files have been added to OnionShare, a button is displayed that shows the app's state and provides next steps to the user.

#

Sharing Active

When sharing is active, the buttons state changes and displays a red termination color and updated button text.

One of my favorite additions to the app was the string directly above the onion address. The text is dynamic based on your sharing settings and guides the sender on how to use the address and who can download the files.

#

Receiver UI

When the receiver enters the onion address into Tor Browser, the UI is familiar with other file browsing and sharing experiences, and the styles are aligned with the .org site.

#

UI Text

We wanted to be intentional about the language used in the app. When the text is clear, ambiguity is reduced, trust is built and usability improves. We were thorough and collaborated screen by screen.

#

Tweet Tweet