Skip to content

Instantly share code, notes, and snippets.

@eevee
Last active December 15, 2016 00:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eevee/0c09bcdd376b36a5ba6bd1c737035bf5 to your computer and use it in GitHub Desktop.
Save eevee/0c09bcdd376b36a5ba6bd1c737035bf5 to your computer and use it in GitHub Desktop.
Twitter bugs and inconsistencies and general weirdness

Twitter bugs and inconsistencies and general weirdness

Derived in part from my attempt at a comprehensive list of the rules, which is probably out of date by now: https://eev.ee/blog/2016/02/20/twitters-missing-manual/

Tweets and replies

  • Poll options on web Twitter do not render emoji with Twemoji. They're left as plain text.

  • On web Twitter, typing several capital letters in a row tends to bring up a user suggestion dropdown. I guess the idea is that a word starting with a capital letter is likely to be a name, but the behavior seems erratic and unpredictable. It has never once been useful to me — if I want to mention someone, the first thing I type is @.

  • When a tweet has an embedded card with an associated handle (via twitter:site), replying to the tweet on Android prefills that handle as an addressee, but replying on web does not.

    Third-party use of the handles is somewhat inconsistent, so the correct behavior is not immediately obvious — my own site is tagged as me, which makes sense, but a link to a GitHub repo or YouTube video is tagged as @github or @youtube, which makes no sense at all.

    Also, it's a little weird that I don't get a notification when someone links to my site, but I do get CC'd when someone replies to a tweet with a link to my site. (Sometimes, depending on client.) Extra weird now that I get notifications for retweets/likes of a photo I'm tagged in.

    Other than Android's auto-CC behavior, I don't know what other use associated handles have. I can't see what a card's handle is other than by replying on Android, and those cards don't seem to automatically be shown in Analytics.

  • Similarly, replying to a tweet with a quoted tweet will CC the quoted tweet's author on Android, but not on web. Android seems obviously correct in this case.

  • All notifications on web have a timestamp. Notifications other than mentions on Android do not.

  • I can refresh the web notifications page to "collapse" a bunch of recent notifications on the same tweet together; I can't do that on Android.

  • Embedded tweets act as a regular tweet link, which I can right-click to copy the URL or middle-click to open in a new tab. Embedded image cards act as shortened links, which are slightly less convenient but still functional. Embedded videos (e.g.) act as nothing — if I want to open the video in another tab, I have to start playing it so I can get at the link in the YouTube iframe. If YouTube didn't offer its own direct link, I don't know how I'd get one.

  • If someone retweets me and their followers like/rt in turn, I get notifications for all of it. If someone quotes me, I get a notification for the quote, and that's all. This seems odd now that quoting is presented as a variation on retweeting.

  • Web Twitter has separate tabs for non-reply tweets and all tweets. Android Twitter only has the "all tweets" view, so visiting a stranger's profile gives a markedly different experience.

  • Web Twitter's media tab shows tweets, and now includes tweets with foreign embeds like YouTube links. Android Twitter's media tab shows the actual media, so embeds aren't included.

  • Web Twitter's profile lost the "view conversation" link, so there's no longer any indication when a tweet is part of a thread, which can make them read pretty weirdly. It's a bit weird in general that threads read forwards on my home timeline but backwards on the author's profile.

  • I currently have 10,292 followers. Web Twitter rounds this to 10.3K; Android Twitter truncates it to 10.2K.

  • I don't understand Twitter's rules for what consistitutes a bare domain name, and I've sometimes tried to post code only to have an arbitrary chunk of it mangled into a t.co URL. (Sometimes this has made the text longer and overflown the 140 limit.)

    foo.dot is turned into a link, even though .dot is not a TLD. (edit: yes it is, my bad!) eev.ee is not turned into a link, even though that's my own actual working domain and .ee is the ccTLD for Estonia.

  • Tweeting dm me still produces a no-such-user error, because it's interpreted as a "dm" SMS command targeting the user @me. I don't think anyone is trying to use SMS commands from the Android or web Tweet dialogs.

  • It's not obvious that you can reply to your own tweets, and doing so requires extra work, so a lot of people make unthreaded tweetstorms or replystorms. These are really hard to follow after the fact, especially with Twitter's magical reply ordering. (It usually works okay, but not here.)

    Android Twitter recently learned to show me a link to a tweet I just made, which is nice, but there must be some more straightforward way to nudge people into threading. Especially for replies — replying to the same tweet twice rapid-fire is rarely a useful thing to do.

  • Android Twitter has no way to switch accounts while looking at a tweet. If I'm browsing my private account and see something I'd like to share publicly, I have to DM a link to it to myself in order to retweet it.

    This used to be possible, but the ability was silently removed when the new sidebar menu was added some months ago.

  • Lists would be fantastically useful if they had the same capabilities as the regular timeline, like threading and visibility rules and WYWA.

  • I don't understand the rules for whether an account's creation date is shown on its web profile. It seems completely arbitrary.

  • Keyword muting only applies to notifications. Twitter still has no way to deal with spoilers, political garbage, phobias, etc. on one's public timeline. This would be really, really, really, really, really, really, really, really nice to have. All we've got is the "sensitive media" thing, which is so clumsy that half the people posting porn don't use it anyway.

Media

A running theme here is that I give Twitter some data, and Twitter turns it into garbage. I understand the need to cut bandwidth and storage costs for a massive service, and lossy encoding is fine for cat photos, but Twitter destroys a lot of art forms. Using Twitter for art feels like an constant uphill battle — not only does it take extra effort to distinguish your actual work from miscellaneous garbage, but unless you know and use a bunch of particular workarounds, Twitter will actively ruin your work.

I stress again that people who make stuff are kind of important to a social platform.

  • Videos created from GIFs seem to pause on the final frame, which can be jarring for otherwise smooth loops. The workaround is to halve the length of that frame.

  • Twitter's rather low JPEG quality setting destroys digital art, adding very noticable artifacting. Attachments, avatars, and headers are all affected. It would be nice if Twitter could err on the side of leaving PNGs alone (who is uploading photos as PNG, anyway?), or at the very least come up with some heuristic (e.g. "is a PNG") that uses a much higher JPEG quality for non-photographs.

    A common workaround is to add a single transparent pixel, which will make Twitter leave the image as PNG.

  • Twitter understands PNGs with an 8-bit alpha channel, but not indexed PNGs with 1-bit alpha (where one color in the palette is designated as transparent). The latter lose their transparency, replacing it with some other color.

    I have files with 1-bit alpha from sprite editing or, ironically enough, from using optipng to try to keep my files small.

  • I've uploaded pixel art animations (very few frames, very small resolution) and had Twitter's video conversion lose the transparency, render them so blurry as to be nigh unrecognizable, and produce a video bigger than the original file. This is very silly. Video is great for clips of TV shows but not so much for hand-drawn animation.

    Workaround is to scale up the art by 2 to 4×, add a solid color background, and include a link to Tumblr which leaves GIFs intact.

  • The criteria for uploading video are fairly strict, and if you violate them, Twitter doesn't explain what the problem was. I was once pulling my hair out because I'd recorded a brief clip of my desktop at 60fps.

  • I have an alt account with both "all my media is sensitive" and "show me sensitive media" turned on, but I still get the sensitive media warning for my own attachments, making it very inconvenient to browse my own tweets. I'm trying to do the right thing, but Twitter makes it suck for me.

    Another Twitter employee once told me that this is deliberately special-cased so that I know when my own media is flagged by third parties, but it doesn't do a very good job of that, since it still uses the same wording: "Your Tweet media settings are configured to inform you when media may be sensitive." No, they aren't! Also, you could just show me the media and put a single line of text under it, or send me a notification, or email me, or whatever.

    This is the case on both Android and web Twitter. Curiously, I can browse my own media tab in either client with no warnings and nothing hidden.

  • Though the API supports it, official clients have no way to set a single tweet as containing sensitive media. You can flag it after it's posted, but I don't even know how flagging translates to actually marking as sensitive.

  • If an embeddable URL (a tweet link or a site with a card) is in the middle of a tweet, it displays as both a URL and an attachment. If at the end of the tweet, it displays as just an attachment.

    That's a little weird, but okay. The real confusion comes when a tweet has two embeddable URLs at the end, one right after the other. The first URL is left as a plain link, but the second is turned into an attachment, and that can look like the other common case of the same URL being displayed two ways. I don't know how to easily fix this.

  • Polls and image attachments no longer count against the 140, but trailing URLs that become cards still do, even though the URL itself doesn't appear in the tweet text. I imagine this is difficult to fix since you can't know whether a URL will have a card ahead of time, but it feels inconsistent.

Blocks and mutes

  • If I mute someone I'm not following, retweets of them can still show up on my timeline.

  • If I follow A and B, I have A muted, A makes a tweet, and B replies to it, then I'll see B's reply (per normal visibility rules) even though A's original tweet is hidden (due to the mute).

    I suspect there are some other edge cases that make muting not quite work as "I would like to forget this person exists".

  • When looking at a profile (in either web or Android), retweets of people I've blocked still appear.

  • I've heard that iOS Twitter still shows replies from blocked people when viewing individual tweets.

  • If someone I've blocked mentions me in a tweet, anyone replying to it will have my handle automatically added. That's probably not right. Fixing this would make a decent dent in dogpiling, plus cut down on useless notifications from followers arguing in my mentions with someone I've already blocked.

API and search

  • Pressing / on web Twitter focuses the search box. This is very rude, since / is a longstanding keyboard shortcut (for searching the current page) in Firefox.

  • As I understand it, the API still does not expose polls in any way. Last I checked, there's not even any way to know that a tweet has a poll attached via the API; it doesn't even have a fallback link. Anyone using a third-party client ends up mighty confused.

  • There is no way to see everyone who's retweeted or liked a tweet, short of using the streaming API or repeatedly polling and tracking the activity yourself. Both are capped at 100.

  • Android Twitter (and possibly web as well) seems to forget that I've liked tweets from more than a couple months ago — the heart isn't lit up, and I can like it again.

  • Liked tweets are shown in the order they were made, not the order I liked them, which makes browsing them somewhat less useful.

  • There is no way to search likes.

  • The min_retweets: and min_faves: modifiers in search only seem to go back 30 days. Given that Twitter is happy to search for two-letter words, I'm surprised it has this silent limit on searching by numbers.

  • I can't tell what include:retweets does. It has a checkbox on the advanced search page, even, but it's not documented and I can't find anyone who knows what it does either. from:eevee include:retweets doesn't search stuff I've retweeted. Combining it with "from people I follow" doesn't do anything either. It sounds useful, but it doesn't seem to work.

  • I can't search my timeline, i.e. the combination of "people I follow" and stuff those people have retweeted. Sometimes I see a good tweet on my phone, want to find it later, and can't — it's too far back, it was old so I can't find it in my own likes, and it was a retweet so I can't find it by searching my follows.

  • There seems to be a secret filter:retweets search token, but all it does is search for tweets containing "rt".

  • As far as I can tell, the web profile page is the only way to see someone's tweets excluding replies. It's a shame this isn't doable via search, because queries like "all my media that's not in replies" would be pretty useful. (Media in replies tends to be in-jokes or debugging screenshots; media in non-replies tends to be stuff I actually intended to broadcast.)

  • Searching for eev.ee finds anything that matches "eevee". Searching for eev.ee/ finds links to my website. Searching for https://eev.ee/, with or without the s or trailing slash, finds nothing.

  • When typing in the main web search field, typing a prefix like @ or from: will show a list of matching users. That's very useful! Unfortunately, either clicking on a suggestion or arrow-keying to it and pressing enter will navigate to the user's profile rather than add their name to the search query.

    If you then press the back button to return to the search page, you'll find your query has been erased.

Ads

  • I swear I've seen the same Google Droid ad fifty times on Android over the past couple days. It shows up again every single time I pick up my phone, on every single account. I didn't care the first time. This doesn't seem like a good use of anyone's money.

    It does seem odd to me that Twitter pays its bandwidth and storage bills by showing me ads, which contain videos at a much higher rate than regular tweets. I once saw an ad that just contained an entire episode of some TV show. Not sure how the economics work out there.

  • Please let me give you money to stop seeing fucking ads.

  • I've seen ads with embedded videos that are long enough that a different video ad tries to play first. This has been pretty much my only exposure to pre-video ads. Don't fix it, though, it's hilarious.

Miscellaneous gripes

  • I sometimes wish I could write a short private note about another user — maybe their handle and display name aren't the name I know them by, maybe I want to remember why I blocked them.

  • Outright joke theft is still rampant. I know the internet is built on copying, but it's really sad to see accounts get hyperpopular solely off the backs of other talented people and then sell their attention to advertisers. How the hell is @dory still around?

  • Keyword like spam is still somewhat common, to the point that I run a honeypot bot that tweets nonsense and then adds everyone who likes/retweets it to a shared blocklist.

  • I'm pretty sure a "growth hacking" businessman with 1.9M follows is not following my art account to see pretty pictures. Please just ban everyone with "growth hack" in their bio.

  • I'm still not verified—

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment