On Leaving Twitter

Four years ago, I signed up for a Twitter account. I went through the typical new user hatching process. For a year, I didn’t get it. I barely logged in. When I tweeted, it was about how the Twitter website was down. But eventually I started following someone interesting. Then another. Some followed back… Conversations, Retweets, and the iPhone client happened… After a while, seemingly everyone in the valley had a Twitter account, and plenty were using it as their identity. I too clicked the little blue bird more and more frequently. I was hooked.

Two years ago, a Twitter recruiter contacted me. I went on to interview rounds with amazing, crazy, smart people. The energy was palpable, and I was psyched by the opportunity. Twitter was the hot startup that everyone wanted to join. I was offered a job, and I accepted. I picked the red pill, and got to see how far the rabbit hole goes.
Continue reading

Crosspost Tweets to Facebook

When I joined Twitter last year, my team was tasked with building a Facebook application. Yeah that’s right, I joined Twitter and instantly started working on Facebook stuff!

Screenshot of a crossposted Tweet on Facebook

This application was to have two main features: allowing you to connect your Twitter and Facebook accounts, and discovering which of your Facebook friends had done the same. Linking accounts enabled automagic posting of your Tweets to your Facebook profile and/or page.

Continue reading

Twitter Signup

Signup is another visible part of Twitter.com that I have been blessed to get to work on. This is the step where new users have to share their email address, choose a password, and commit to a username, so this page is crucial to growth efforts.

Screenshot of twitter.com/signup

The Twitter.com Signup page being filled-out

Interesting features on this page include:

Custom form placeholders

The HTML5 placeholder attribute is nice, but does not work reliably on all browsers. Even on modern browsers, it can behave strangely on password fields. To achieve the in-field label effect, we position a span.holder element over the form field, and hook some events on .holder click(), input focus(), and input blur().

Username suggestions

The twitter @namespace is crowded. Finding a nice username is hard. To help the signupee along, we send the contents of the name and email fields up to the server, where we splice and recombine the text to find fitting and available usernames. These suggestions are ready when the user focuses the username field, so they can be chosen with a single click.

Heavily optimized copy & UX

  • Fields can be pre-populated from the logged-out home or profile pages.
  • Tips are used for both validation and encouragement.
  • Only the bare minimum is asked. There is no “retype your password” field.
  • Unobtrusive display of terms of service – click to expand.
  • A clear motivation: Receive updates from the user your were viewing.
  • A big CTA button: Create my account.

After clicking the button, the signupee may be prompted to complete a CAPTCHA, and is then sent to a Welcome flow where he can start following other Twitter users.

The implementation of this signup page took a couple months and the combined efforts of many brave souls. The project was instrumental to a dramatic increase in the number of signups on Twitter in 2011.