The tech industry–its products, conceptual frameworks, linguistic conventions, and cultural norms–is largely centered in the US (and, increasingly, China. But we’re focused here on the US, where Signal is based). This is not because the US has better programmers or more visionary entrepreneurs, but due primarily to historical material conditions. For example, early investments in networked computation from the US military, which happened around the same time that the US was becoming a global superpower, which was followed by the privatization and then commercialization of networked computation, then the dot com boom, etc. etc., and here we are.
This has resulted in a too-familiar pattern, where tech companies based in the US make assumptions and decisions grounded in the instincts, perspectives, and relatively narrow experiences of US-based engineers, designers, and product managers. This isn’t because the people at these companies are necessarily trying to project their view onto others. But we all are shaped by our context, and in the worst case, these assumptions are exported as though one size fits all.
Signal does not operate independently of this tech ecosystem. We are a US-based organization, with a primarily US-based team. And like most others, we are dependent on other parts of the ecosystem which themselves impose norms and standards that emerge from the US perspective. For example, for Signal to reach a broad audience, it must appear in app stores operated by Apple and Google.1
And in order for Signal to be instantly available always, we need to rent infrastructure from Amazon, Google, Microsoft, and others. Global reach, at this point in time, requires services operated by large tech companies, most of whom are based in the US. While we may wish this was different, we don’t have the power to make large structural changes on our own. So we do what we can. Which starts with recognizing the limitations of our context, and working where we’re able to ensure that we’re not replicating US-centric assumptions that do a disservice to people who rely on Signal in very different environments and cultures.
It’s this process that we want to discuss here, in the form of a few examples that give a sense of how we work to ensure that Signal is as useful as possible in diverse contexts, and to push back on regional norms that can often double as tech industry common sense.
Knowing without data
As a key component of our commitment to privacy, we don’t collect “user analytics,” or other finely-grained data about how people use Signal. This is a principled choice we make over and over again, and one that makes understanding what people who use Signal want and need, and how they’re using Signal harder. Without in-app tracking on which features are used by whom and when, or data from third-party data brokers, we rely on other sources of information and the expertise and instincts of our team.
Our in-house User Voice team fields ideas, complaints, and crises experienced by people who use Signal and shares them with our leadership and development teams. Signal developers spend a lot of time working with the User Voice team to better understand issues, often going back and forth with people reporting these issues until we’re able to accurately diagnose and understand what’s going on. We view User Voice as the most valuable source of information about what different people want (and don’t) from Signal, and their work helps fill in some of the gaps that our rejection of user tracking leaves in our understanding. We also read feedback on social media and in our community forum as well as app store reviews and media (while recognizing that much of this feedback is often in English, and often from people who skew Western and technically-literate). And we are beginning to invest more in UX and market research to help deepen our understanding of how people want and need to communicate.
It’s easy for someone who’s lived in Silicon Valley for 15 years to forget that the seamless experience they have when they pull out their phone to message a friend is not universal. Not everyone has their own personal phone that they upgrade every two years or an unlimited data plan; nor does everyone have access to reliable wifi or a speedy network connection.
One of the key issues that we face in attempting to build an app that works for people in very different conditions is how varied tech infrastructure is in different parts of the world, from bandwidth speeds, to mobile devices and operating systems, to data plans and the cost of calling. The infrastructure that supports people’s use of Signal varies greatly across global contexts–but we still build only one Signal.
We know it isn’t possible to be everything to everyone across every structural condition. But we do what we can to meet the needs of the most people possible. In the case of calling, this means building the feature to be flexible enough to work across both strong and unpredictable network conditions. In the case of Android storage management, we prioritized the needs of people whose material experience of digital communication are markedly different from that of the average US-based tech worker.
Calling is a good example of how we try to make choices that serve as many people as possible across varied infrastructures.
We developed a custom open source library for voice and video calls (RingRTC) that we specifically configure in order to make calling work better for people with spotty network coverage and data limitations. This work is particularly tricky because there are so many variables behind what makes for a “good” call, and these variables can change during the call itself.
Video calls in Signal use dynamic adaptation techniques in order to determine the quality of the connection on the call and adjust accordingly, allowing Signal to boost or lower video quality in response to network conditions. However, we also have to balance this flexibility with our commitment to privacy and security. Audio is transmitted during Signal voice and video calls using constant bitrate (CBR) encoding instead of the variable bitrate (VBR) encoding schemes that are widely used in other apps. Using CBR requires a little bit more bandwidth, but this choice is an important security measure that helps protect Signal calls from novel attacks against VBR that could otherwise have a negative impact on call privacy. We are also researching new privacy-preserving techniques for audio calls in order to have fewer dropped calls even in shakier network conditions. And we are simultaneously working to see how we can make audio-only calls less bandwidth-intensive while maintaining the highest standards of privacy and security. In this vein, we also selected our video compression format because it uses less battery power, even though there are formats that are higher quality.
Calling functionality is often about tradeoffs between availability and quality; who can make calls and how good those calls are. Many of the changes we are making to calling currently are prioritizing more secure calling for more people, recognizing that this may mean that people in high bandwidth premium device environments could experience slightly less optimal calls in service of ensuring that those with more constraints can make calls at all.
Android storage management
Device manufacturers commonly offer phones with different levels of available storage, and the models with more space are always more expensive. People may only be able to install a few important apps at a time when space is limited, and things can become slow or unstable when space runs out. Apps like Signal that are capable of sending and receiving pictures and videos can also start taking up space pretty quickly.
To help address these constraints, we do everything we can to keep the app small so that it can be downloaded fast. We also introduced new storage management functionality for Android in 2020. This change allowed people on Android to see all of their files across conversations, sorted by file size and type. Someone can look at the files sent to them in Signal to see what is taking up the most space on their phone from Signal and manage their own files more easily within the limitations of their hardware.
This feature (combined with other features like resumable uploads and image quality settings) does not solve the problem of limited storage space at a hardware level. But it does make Signal easier for more people to use across a range of phone qualities, network conditions, and data plans.
No such thing as global communication norms
In addition to the structural, material variances across devices and infrastructure, there are also significant differences in how people prefer to communicate. There is no one global norm for how people talk to each other. In order for Signal to be a meaningful alternative to the surveillant messaging apps that already exist, it has to be more than just cryptographically sound. People have to be able to use Signal to talk to the folks in their lives in the ways that they want to be heard.
This is a big reason why we developed and refined features like stickers, voice messages, and stories.
Stickers aren’t for everyone and they’re not popular everywhere. They’re definitely not the primary mode of communication in the US. But outside of the US, stickers are an expected part of everyday communication, in large part because of the prevalence of Japanese messaging app LINE in countries like Japan, Thailand, Taiwan, and Indonesia. To illustrate their cultural footprint, characters created specifically for LINE sticker packs are so popular that they have their own Netflix show and in 2020 sticker sales in-app accounted for more than $200 million in revenue for Line.
Because of this, we’ve supported stickers in Signal since 2019. We have several default packs of stickers. Of course, sticker packs in Signal are fully end-to-end encrypted, and when people upload a new set of custom stickers, those stickers are never associated with their Signal account.
Like stickers, voice messages are massively popular outside of the US. They are particularly popular in South America and South Asia. Common tech industry wisdom generally holds that this is because of variable global literacy levels. But it’s also attributable to the Anglophonic nature of tech and devices, particularly the inadequacies of non-Latin keyboards.
Signal launched voice messages for Android in 2016 and for iOS in 2017, but introducing a feature is only part of the work. After we launched the feature, we improved the UX for right-to-left language speakers and for people using JAWS desktop screen readers, and enabled autoplay for multiple voice messages. We’ve also made it possible to change the speed of voice messages to either zoom through them more quickly or slow them down if your friends are fast talkers.
Stories are yet another example of a mode of communication that’s very popular in some places, and much less so in others. We introduced stories last year, again with an eye to people outside of the dominant US tech paradigm.
We heard from people, especially in South Asia and South America, that without stories (or something that would function like WhatsApp Status) they wouldn’t be able to convince their friends and families to start using Signal. And if your friends can’t use Signal, neither can you.
So, with these people in mind, we developed Signal stories, with the aim of providing this must-have feature to people who wanted it in a way that wouldn’t force them to see endless ads and become a data point in the web of surveillance tech. We also knew that stories would not be popular or relevant for everyone who uses Signal, so we made it easy for people to opt out of stories and turn them off entirely. We are more than happy to offer an on/off option because, unlike surveillant messengers, we aren’t aiming for more ad clicks and eyeballs. Our aim is to build features that matter deeply in some contexts, and then make them easy to turn off in contexts where they don’t resonate.
It will always continue
Nothing, and especially nothing in tech, is ever truly finished. Tech will always need to be improved, fixed, cared for, updated, and otherwise tweaked as the world around us and the tech ecosystem change.
Trends will emerge in different regions and new circumstances will make some forms of communication more or less important and relevant. Current forms will fade. As we continue to build Signal to be an alternative to the surveillance tech that dominates most of our digital communication, we will remain attuned to the different ways that people want to connect and build ways for them to do so without compromising on their own privacy, wherever they are.
We also make our Android app available outside of the Google Play Store (this is not possible for iOS). But this is not the primary way that people access and install Signal. ↩