One defining aspect of Twitter, starting way back when we were still Twttr, is 140-character Tweets. For some, the character constraint has been a fun challenge. It motivates people to be briefer and more creative with their words. We’ve even heard people say that it’s helped them improve their writing. For many people, though, the limitation can be an incredibly frustrating part of using Twitter. It forces them to hack their sentences, severely limits their ability to express their thoughts, and often leads people to abandon their Tweets. We love the brevity of Twitter, but we also want people to be able to easily share their thoughts.

When we looked into the data on Tweet length, we discovered an interesting pattern: depending on language, people have a very different experience with the 140-character limit. For example, in information dense languages, like Japanese or Korean, 140 characters isn’t very limiting. People in Japan are able to express a lot in 140 characters and don’t have any complaints about the limit. In languages like English, Spanish, French, and especially German, the character limit is a consistent complaint we’ve seen in our research over the years. A great example of this disparity can be seen below: The same basic idea expressed in three languages, English, Spanish, and Japanese.

With this in mind, we designed a system that defines two types of written languages, dense and non-dense, and expands the character limit for non-dense languages. By grouping languages this way, we can give people writing in non-dense languages like English and Spanish the same space to express themselves as people writing in information-dense languages like Japanese. This will make sharing thoughts and ideas on Twitter a lot less frustrating for many more people, while maintaining brevity on Twitter overall.

This is where the design challenge comes in: How can we make a UI that communicates these different character constraints that is still easily understood globally? Simply replacing the number doesn’t work because we can’t be certain which language you’re going to be Tweeting in. We could guess which language you’ll use, based on your location or system language, but that falls apart quickly, as many people live in foreign countries or travel regularly. Additionally, many people Tweet in multiple languages, sometimes within a single Tweet. Because we count dense alphabets differently than non-dense, mixed language Tweets can result in some intricate math that we want to be able to abstract away. The challenge here was to create a design that adapts to different character limits without relying on a number, works with the many ways people compose Tweets, and is intuitive enough that people don’t have to spend time thinking about it.

During the initial design brainstorms, it became quickly apparent that there are lots of questions we needed research to help with. We knew we needed to understand all the different circumstances around how people compose Tweets, but we also had to answer some other key unknowns:

Do people look at the number while composing a Tweet now?

When does the number become important?

Is just a warning sufficient enough?

What happens when they go over the limit?

When they’re getting close to the end, how soon do they worry about it?

How important is UI progress indicator for people to understand how much space they have left as they compose?

Based on these questions, I went through quite a few design explorations. This included 27 different, animated prototypes (Principle is my jam, in case you were interested), more than a couple design brainstorms, internal crit sessions, and a lot of revisions. At the end of all these explorations, we conducted in-person testing across two countries (Japan and the US) with a handful of functional prototypes.