Features Are Complicated

Avatar of Chris Coyier
Chris Coyier on

📣 Freelancers, Developers, and Part-Time Agency Owners: Kickstart Your Own Digital Agency with UACADEMY Launch by UGURUS 📣

Why can’t I edit my tweets?! Twitter should allow that.

It’s so simple right? CRUD apps (Create, Read, Update, and Delete) are app-building 101! What a gross oversight. But wait. Just as a fun nerdy little exercise, let’s think about what a feature like this might take for the Twitter team. I don’t work there or have any inside knowledge, so this is all hypothetical for the sake of understanding app development.

  • Should you be able to edit any tweet you've ever tweeted at any time?
  • Or should you just have a few minutes to do it until it locks?
  • Do you offer this to everyone? Opt-in? Opt-out?
  • Should you be able to edit tweets or direct messages also?
  • What does it look like to edit a tweet? Can it be simple and obvious? Does it need additional UI? How do you expose that UI? Is it worth the extra UI?
  • Does the tweet go out to the public timeline immediately or after the editing grace period?
  • What if someone favorites a tweet and it is later edited? Does it shed the favorites? E.g. a tweet that originally said "I like pancakes!" could be later edited to "People that favorited this like clubbing seals!" (or much worse).
  • Same question, with retweets. And with replies.
  • Are there any social or moral implications of this?
  • How does tweet editing affect the overall feel of using Twitter? Would a time delay affect that feel? Would people think of tweets differently?
  • Does tweet editing make hacked accounts an even more dangerous prospect?
  • How do third party clients handle tweet editing? Is there a public API for it? How complex is that?
  • Or do you only offer tweet editing through the web? How does that move go over with developers?
  • How do you ensure third party editing offers an up-to-par UX? Does that matter?
  • If tweets aren't time-delayed, how do you handle edited tweets through the API? – How do you tell third-party clients to update a tweet they are currently displaying rather than show a new one?
  • Where do edited tweets go? Back on top of the timeline, or stay where they are?
  • Should it be visually displayed that a tweet has been edited? How do you enforce that in third-party apps?
  • Are there legal implications here? What if someone tweets something illegal and then changes it to something legal?
  • Does tweet editing open up any kind of bad guy behavior? What kind of mis-use can be expected?
  • What are the infrastructural concerns? Are all revisions saved? How much additional web server and database load is this?
  • Do you throttle editing like you presumably do for tweet creation?
  • How actually requested is this feature? Is it just a vocal minority?
  • What's in it for Twitter if they go down this path? Happier users? Is that a guarantee?
  • How much time, effort, and money is this going to take? (Design, development, UX, testing, etc) Are they prepared to support this for the life of the product?
  • Is the team into the idea or would it be grueling and not-fun?

We could probably double that list on our own and that’s just looking from the outside. Software is tough. Being smart and responsible with the features of that software is even tougher.