Putting out the Twitter trashfire

Tonight I’m drinking and talking about ways Twitter could be less of a shitheap.

  1. Allow users to mute all replies from a tweet. This is so basic. I can do this anywhere else. It’s a client-side option, not server-side. Add a new piece of metadata and a new API call. Fucking done. So easy. Very few engineering hours would need to be put into this.
  2. Add an account option to verify a unique phone number. This functionality already exists. Twitter knows if an account has a unique phone number attached because this is required for any account that has created an account in the developer console with write permissions. Create another piece of metadata with a boolean that specifies if an account has a unique phone number, and allow clients to filter notifications based on this data. Egg problem is mostly solved.
  3. Stop talking about banning IP addresses. That is dumb and you are dumb for suggesting it. Do you know how many usable IPv4 addresses there are? A lot, but we’re running out. If you’re not at home, you’re probably behind a corporate NAT with a lot of users. Do you want to not be able to access Twitter because some asshat at your company did something stupid? Also, so many IPs are dynamically assigned, especially when we’re talking about mobile clients and home internet. Not only can someone easily get a new IP, but you could be stuck with an IP that used to belong to some douchecanoe that misused the service. Stop trying to make IP bans happen. IP bans are never going to happen.
  4. If user A has blocked user B, and user B is following user C, user B can still see any RTs of user A by user C. This probably has to be fixed server side, so it’s more expensive, but it’s still doable.
  5. Allow users to not show their tweets to unauthenticated users. If I’ve got someone blocked, they can easily see my tweets by logging out or opening an incognito browser window.
  6. If user A has user B blocked, user B shouldn’t be able to use Twitter search to see tweets by user A. Once again, this is something that likely needs to be done server side.
  7. Allow users to block content instead of users. For example, I should be able to block a hashtag. I don’t want to see tweets that include that hashtag. While you can do this with Tweetdeck, Tweetdeck is a piece of shit and by far one of the worst clients Twitter maintains. This is functionality that should extend to all clients.
  8. Fix Tweetdeck. Fix Twitter for Android. Fix Twitter for OSX. Twitter for OSX still has a hard limit on how many blocks it can apply because they didn’t bother updating the API call when they switched to paged requests. It also crashes a lot if you’re receiving a lot of notifications. Tweetdeck doesn’t use server side mutes. The ability to mute users originated from Tweetdeck prior to Twitter buying it. They then added this functionality to Twitter itself, but never updated the client to store these mutes server side. It also doesn’t process incoming block events, so if you block on a different client, an existing running Tweetdeck application won’t see it and remove the tweets from your timeline or notifications. This is actually a problem that exists with most clients, but I like picking on Tweetdeck because the project manager is too busy adding bullshit like Twitter Teams to bother with basic bug fixes.
  9. The ability to list blocked users only is useful if you’re blocking a handful of users. It is unusable if you’re blocking a lot of users.
  10. Block import/export is shit. You can’t revert imports. You can’t view changesets. You can’t toggle imported lists. You can’t sync to a newer revision of an imported list. Blocktogether reigns supreme.
  11. If someone I’ve got blocked mentions me, I don’t want to see replies to this tweet. Automute all replies to this conversation. This can be done by looking at the in_reply_to_tweet_id metadata recursively and comparing the user_id of each tweet to a list of blocked users. This could be expensive for API calls, but it’s still possible and a client side fix.
  12. Quality filter sounds rad, but let’s elaborate on what that means, and allow users to specify a sensitivity level. Here’s where things can get fun. Accounts should be scored on a variety of factors. It’s about quality of interactions. Do they often tweet at accounts that don’t tweet back? Do the majority of accounts they tweet at immediately block them? What’s their follower/following count look like? How old is their account? Did they verify their email address? Do they have a unique phone number? How many tweets have they made? Are they using the default egg profile pic? Getting even more granular, do the accounts that I follow ever interact with this user in a positive way? Do people that I follow also follow this account? Do they block this account?
  13. Allow me to see only the tweets that have been filtered. I want to see tweets from users that I have blocked, or that were removed via quality filter. This seems counter-intuitive, but the ability to review blocked data (perhaps after having a large glass of wine) for actionable tweets to report to Twitter or the police is super fucking important. This is 100% possible to do via the API client side.
  14. Have a better reporting system. I should be able to view a list of all the tweets I’ve reported, along with any actions that were taken. Emails should include a link to the tweet. If you report a large number of abusive tweets, there’s no way to know which tweet is for what email. Twitter likes to ask for more information. I have no fucking clue what to tell them, because they refuse to tell me what tweet that report is even about. Even after I ask.
  15. If I have a protected account, people not following me can’t see my tweets. That’s great. However, they can search for my name and see tweets that other people are directing towards me. This is a server side fix, not client side.
  16. Fix the API rate limits. Some of these limits — such as getting a list of followers for an account — are ridiculously low. If a user has a high number of followers and you try to pull down that list, you don’t actually have any guarantee of getting the complete follower list because you have to pause and wait for the rate limit to be refreshed.
  17. Create an API call so I can view the users that have favorited/liked a Tweet. This doesn’t exist.
  18. Create an API call so I can view *all* the users that have RTed a tweet. This exists but only gives 50 users, I think.
  19. Allow me to disable Twitter moments. I’m having to use a CSS fix for this. It’s a pain in the ass. I keep hitting it in the client on accident. It’s in a different order in the iOS client than it is on the webpage. That’s dumb. All of this is dumb.
  20. Allow users to toggle displaying tweets from blocked users in search results. I’ve written about how to fix this on web. It’s in the freaking HTML5 tags. CREATING A TOGGLE WOULD BE SO FUCKING SIMPLE WHAT IS WRONG WITH YOU BONEHEADS.
  21. If a protected user tweets at a user that isn’t following them, that user should be able to see this tweet. I shouldn’t have to follow a protected user for them to be able to interact with me.
  22. Allow users to only see notifications from people that are following them. Yes. That’s right. Not people that they are following, but people that are following them. If you’ve ever been the subject of a dogpile, you’ll understand why this is useful.
  23. When I select Mentions instead of Notifications on the notifications page in Twitter web, it should remember this option. I don’t want to have to hit this every time I go back to that page. That page remembers if I’ve selected viewing notifications from People That I Follow versus All, so this makes no sense. NONE OF THIS EVER MAKES ANY SENSE.

I expect my check in the mail, Twitter. You’re welcome.