|Home » Learning Curve » Developers Workshop
Three Tiny Twitter Bugs
So be it.
A few bugs have been found in Twitter's standard web interface. These bugs are relatively new. One's less than one year old.
The most egregious of these bugs is about your popups and your location bar. From time to time, you'll discover that your Twitter 'feed' (aka your 'timeline' or 'TL') doesn't match your location bar (the part with the URL). This has only been documented on Apple's Safari for Mac and may not apply to other browsers, so...
But this would seem to be a software design issue. What happens is that good old Twitter wants to temporarily change your URL. But, for some reason, it's only capable of thinking about two levels down on the 'stack' - it wants to revert to your original URL once their process is complete, but sometimes - somehow - it doesn't make it back.
Try this - and see if you can duplicate it.
Go to your notifications page.
You'll see interaction in there from other users. Click something to open a popup.
Inside that popup, you should find tweets from others. Pick one out - pick a spam tweet if you can.
Go to the right, to the context menu for the tweet. You'll get something like this.
Now report the tweet. (This goes best if it's really something to report.)
Hopefully you found spam, so report it as spam.
Click 'Next', and do whatever you want on the following sheet to end the dialog.
Now check your location bar. Are you in the right place? Are you where you're supposed to be?
Because by now - ceteris paribus - those Ruby coders at Twitter will be so confused they won't know themselves where they are. Your location bar will say one thing, and the feed you're looking at will say another. They won't match.
This is a relatively new bug. It's only been observed for a year. So give Jack's peeps some time, OK?
Now the other bugs. To see them, you got to get Twitter to kick into an 'old' version. And they have lots of those online!
The best of these is an archaic mobile version that never learned to count to 140. That's true: it's in production, it stays in production, and it still can't fucking count to 140. And it's not about the URLs that are supposed to be shortened, or whether the Twitter code counts before or after the shortening - it literally cannot count to one hundred fucking forty. Seriously.
The next bug is their inimitable URL shortener.
Considering we have all the tools we need today - the RFCs, help from the Unicode consortium, experience in programming and thinking in terms of tokens - this should be easy, right? For the big issue is getting that database working fast, right? It should be simple to get the URL parsing working, right?
Right. Try talking to Twitter.
Twitter, bless their souls, began by essentially disallowing any string character that wasn't the good old A-Z. And as time's gone on, they've expanded. Not their consciousness, but their set of allowed characters. And so on.
Talk about doing things bass-ackwards.
Twitter should read RFCs. And other stuff. And learn things.
Parsing URLs is not about figuring out what characters can be in a URL, you doofuses - it's about recognising the substantially smaller set of characters that can delimit a token (a URL). But if Twitter's going to keep on trucking with their heads up their arses, so be it.
Paul Graham and Robert Morris (yes that one) knew how to do it. They knew that their code - including their bugs - went out to lots of people all at once. IBM mainframe developers learn how to use IMS regions to test their code under rigorous conditions before putting it into production and possibly bringing down the entire company.
Twitter's front-end programmers are at the other end of the spectrum.