Sorry for the down-time. BeTwittered is back, again. I notified the folks at Twitter as soon as I diagnosed the problem on Friday, January the 30th. Being the second time this happened, it only took me a few minutes to diagnose and then notify Twitter. There were some unfortunate delays, but I must say that today, @al3x apologized for the delay, got on top of the issue, and made sure that there was follow through. Shortly after we chatted via email about the status this morning, there was obvious action. It’s Alive! @al3x really provided me (us!) with good customer service in the end.
The longer version of the story.
The reason for the down-time? Twitter is pretty popular (you probably already know that!) and many people have written programs to do everything from act as a client (like BeTwittered) to attempt to read and process EVERY tweet that passes through Twitter. They then do all manner of data manipulations to provide info like who’s the most popular, the most chatty, who’s following who, where people chat from most often, etc.
Now, there are many ways to write a Twitter client. One, and the most common: write a Windows/Mac/Linux application that runs on your PC. We gleefully install these, and they run on our PC. We send and receive Tweets, and they travel between our PC’s and the Twitter servers, directly. That’s nice, but sometimes it’s nice to have another type of “no install” web based client. This other type of Twitter client, like BeTwittered, is actually just a web page. When we use BeTwittered, our tweets go directly between BeTwittered.com and Twitter.com. The key thing to note here is that this is a SERIOUS flood of traffic, and it’s not spread out between all of our PC’s. There are tens of thousands of BeTwittered users, now (Much to my surprise, I must say. I wrote BeTwittered because I thought it would be a nice thing to have, and I wanted to learn to write programs, especially web programs)
Now for a bit of conjecture mixed with a bit of my knowledge. Twitter saw the huge amount of traffic being requested by BeTwittered.com and most certainly made an obvious assumption. BeTwittered was being a rude Twitter citizen and just appeared to be trying to pull huge amounts of data for it’s own purposes. If I were to design an app that was going to analyze large amounts of Twitter data, I would make an arrangement with the Twitter team and ask them how they’d like my server to “drink from the fire hose,” as it’s called. My mistake was not realizing that the huge growth of BeTwittered had crossed a line at some point. It started looking (and being?) a bit greedy and rude. So they cut us off, not too surprising in hindsight.
I now know that they weren’t aware that BeTwittered was just aggregating the traffic of thousands of people. I look back and understand that I didn’t actually make this clear after getting banned the first time. This time, there was a bit of a “eureka!” moment when I communicated this properly. Also complicating things a bit was a Twitter change of policy that happened between the 1st and 2nd “blacklisting” They instituted a limit on hourly requests to the twitter servers, one that applies to high traffic generating servers like BeTwittered.com. BeTwittered apparently burst through the gates like a track star and crossed that limit almost immediately.
When I get a chance, I’ll be looking much harder at caching more requests to Twitter. I’m hoping to find ways of pruning any unnecessary requests that there might be. That’s a complicated business though, since I need to avoid meddling with legitimate requests… deceptively picky stuff to mess with.
I wonder now, about open vs closed systems. Twitter is private and closed in the sense that it’s a private commercial business with openings only where they choose to allow them. They are VERY open about sharing their data, though, as things stand today. I must give them that. The problem that looms large: What happens, though, when lots of people depend on a closed service, and the terms of service suddenly change? I’m not saying twitter would do this, and to be fair, they didn’t even have to talk to me OR restore BeTwittered service. But what if we depend on a communications system like Twitter and then the rug gets pulled out from beneath us? Email is an example of an open system. We don’t have to stick with our Internet provider to communicate with our friends. You can be on AT&T and I can be on Comcast or even AOL (ick) and still send email back and forth. There is, by the way, identa.ca! Like twitter, but open. We’d have to all move over there, though. What’s twitter without our friends? I’m digging a bit deep here, I admit. We do need to keep an eye open for these things, though.
Oh, well, all better now.
Off with my tin-foil hat… and again, thanks Alex! I appreciate the help again!
Robert
BTW – Sorry to anyone who was waiting on this explanation of the events. I’d promised it after the first outage and just got into one of those places in life where I never seemed to get any time to do anything.
Thanks.
Pingback: meta_robert » Blog Archive » Change is tough, isn’t it?
Wanted to let you know that BeTwittered is scrolling off the side of it’s area in iGoogle. I work in Firefox 3 and usually have Google zoomed in two levels cause my eyes aren’t so hot and so I’m having to scroll right and left to read all the tweets. I zoomed it back to normal (zero) and it still goes slightly out of the box at a normal zoom level.
It would be great if it didn’t do this. If it continues to do so I’m afraid I’ll have to use another option as it’s annoying as heck to constantly scroll left and right to read people’s tweets.
Thanks for the great work you do!
Mark
P.S. Don’t know if it matters, but my Betwittered it positioned on the right side of the page.
You’re welcome to contact me at my email.
Hi Mark,
Thanks for letting me know you are seeing that issue.
That scrolling is an issue I haven’t figured out how to fix in a nice way, and is a bit of a problem that plagues web designers. I’ve searched and searched for a good solution.
The good news is that it will go away when the offending “tweet” scrolls off of your screen. It’s caused by-a-very-long-word probably strung together somehow like I just did. HTML code doesn’t have a nice way to handle that sort of thing.
Please do let me know if I’ve misunderstood, though. If I have, I’d like to know so I can look into the problem for you.
Sorry!
Robert
Yup, I understand the problem. I scrolled back and found the offending tweet even.
I’m wondering if there are internal browser functions (though there may be a general, standardized function) to measure the onscreen display length and to measure the display length of a set of characters and force a line break.
At the very least I would think there would be some sort of box that would force the text to go to the next line.
:/
Maybe not, just a couple thoughts born out of enough knowledge to be dangerous but not useful.
@Mark
You are actually on to something, I’ll have to look into it more. It may be too complicated to do well, but I’d have to write javascript to parse the timeline when it appears, and every time the browser window changes size. It may be ugly, though, trying to put words back together again when the browser window gets bigger. The outcome could be a Frankenstein’s monster… :-0
Thanks for your thoughts. I’ll be rolling this idea around for a few days, I think!
Robert
I added the betwittered to iGoogle. It was fine til after an hour it wouldn’t let me use it. Here’s the screenshot ~
http://i44.tinypic.com/2uyt7yd.jpg
Is there something I can do?
Hi Star,
Sorry to hear about your problem. I personally run into that one regularly because I’m messing around with Twitter quite a bit.
That error originates at the Twitter servers. It’s basically saying that there have been too many request for your Twitter account. They are pretty liberal, but it’s still not too hard to go over.
This *usually* happens if you use more than one or two twitter clients at a time. Twitter doesn’t separate the tracking per client, they track by account, unfortunately.
The solution might be as simple as waiting about 20 minutes. If that doesn’t work, you can try changing the setting for refresh rate in BeTwittered. The default is 3 minutes, but you might want to increase it a bit.
Let me know if this doesn’t help!
Thanks,
Robert
Hi Robert,
I’m sorry if this is the wrong place to past my problem, but I’m desperate to find a solution. I have BeTwittered as an app on my iGoogle, and when I try to load it on my desktop the text box and my username show up, and the loading circle spins, but nothing else loads. None of the tweets load, and I can’t do anything with the application. I have enabled 3rd party cookies on firefox, and am at a loss for what else to try. If I try to log out and log back in I get an error 401. Please help!