Twitter Outage – Possible Reasons

Twitter went out today, and it was “a big thing” – many users used facebook and tumblr to complain about the outage. This is the biggest twitter outage since October last year, and it deserves a bit of attention. Why do these outages happen? Twitter reported that it’s a cascaded bug, which probably means very little to the public. A hacker groups claimed it was DDoS. And it might have been a different thing entirely.

Sites like twitter, facebook, google, etc. have hundreds of servers that run the same application. So when you type “twitter.com” you are connected to one of X hundred machines in the server farms / cloud / data centers. It’s no big deal if a server crashes – the rest of the servers take the load. Even if 10% of the servers are down, the rest should be able to take the load. Moreover, when the server capacity drops, some features are turned off. For example, you can’t read your favorites or your replies. Features are turned off so that the main features (tweeting and the stream) remain active. But turning off features wasn’t enough. So what can be the reason for such an outage? Here is a very high level explanation:

 

  • cascaded bug – let’s assume the official version is true. Twitter constantly releases updates to its code, and some updates contain bugs. Some bugs might be so severe that they cause the server to exceed its memory (RAM), or “eat” too much CPU. Since the code is released to all servers throughout the day, if some engineer made a mistake, it could have possibly caused the outage. The timing also hints something like this: 11:59 (actually 12:00 server time) is a time when some scheduled operations take place. If the scheduled operation exceeded the memory resources of a single server, it could bring it down. And so it can bring down all the servers the code is deployed to.
  • cascaded outage – this has happened to foursquare once. When one server dies, its load is transferred to some of the rest. But if they can’t handle it, they also die, and their load is transferred to the rest. Obviously, they can’t handle it, and the problem cascades until everything runs out of resources. This might be related to the previous cases – if all of the servers with the new code “die”, and the rest can’t handle the load, they also die, leaving no servers to handle requests. This can happen if the load is reaching the limit of what servers can handle. It can’t happen if all servers are operating on 50% of their resources.
  • DDoS – distributed denial of service attack. A hacker group claimed to have performed a DDoS, thus bringing twitter down. There is the so called “bandwidth” – its the amount of data that the connection can transfer for 1 second. If hackers occupy the whole bandwidth with their requests, legitimate users are rejected – they can’t reach the routers, load-balancers and servers. DDoS is performed by multiple machines, usually containing a virus, and are coordinated by a hacker group. So imagine millions of machines firing thousands of requests to twitter at the same time. The network can’t handle it, and so many requests are rejected.

Which one is the true cause? I guess twitter will explain in the upcoming ours. But the fact that no “fail whale” appeared hints that a DDoS is not unlikely.

 

Strange Experiments By Facebook

Recently some friends and I noticed weird behavior by Facebook:

  • seeing stories by pages you haven’t “liked” just because a friend likes them (but the friend hasn’t liked the particular story). E.g. “Check pictures from our promotion” by a brand you don’t like, but your friends do.
  • setting pictures and statuses by friends of your friends. “The baby is born!” by a person you only have one friend in common.
  • getting notifications from events you are invited to, but haven’t RSVP’d. “X Posted in the Y event”.

This adds a lot of noise, and things that you most certainly are not interested in. It is said that Mark approves all these changes to the news feed, and if that’s the case (and not some random bugs crawling in), we might see even more noise. I don’t say experimenting is bad per-se, but showing obviously irrelevant information is not a good thing. Probably they are A/B testing it, verifying if there is lower interaction with these stories, and will revert the change. I hope this happens soon, because I just saw a profile picture of somebody I’ve never seen at the top of my news feed.

“Favorite” Is The New “Like”

The “Favorite” button on twitter was once used for storing a list of favorites and mostly a “Read it later” list. But after twitter introduced some changes it evolved into something else. The apparently innate need for “liking” things on the web is slowly taking over, and more people are using the “favorite” button exactly as a facebook “like”:

  • you indicate that you like something without resharing it with your followers/friends. You wouldn’t share it yourself, but it has grabbed your attention / made you laugh and you want to perform some action on it.
  • you tell the author that you like or appreciate it. It’s not uncommon to favorite replies – something that would never happen before, is now a way to say “great” to the author without actually writing a reply.
  • your action appears aggregated to some users, but you don’t know which and when. Facebook likes don’t always appear on your friends’ news feed, and your favorites are rarely visible to your followers, unless they go to “#Discover”.

There’s a bonus here – all your favorites are tracked, unlike the volatile “likes”.

This change of behavior makes twitter (retweet and favorite) even more the same with facebook (share and like) and Google+ (share and +1). Whether that’s good or bad doesn’t matter, but one thing is clear – people need to like/favorite/+1/pin/etc. things on the web.

The Social Web Is Not So Social

Everyone is talking about the “social web”, due to the rise of social networks like Facebook, Twitter, Pinterest, and Google Plus. But is it actually the “social” factor that drives this enormous success?

Mark Zukerberg claims that people like to do things with their friends online, and he has stood on that claim for a long time. The social web, therefore, is all the social networks and their embedded buttons and controls into other websites that enable people to interact with their friends and acquaintances.

I argue, though, that this has less to do with “social” than it has to do with two other major factors.

There are more and more internet users. 10 years ago it was only geeks that were actively on the internet. Now it’s everybody. That’s why services like pinterest and 9gag are possible now, and were not possible 10 years ago. That’s also the reason social networks from the dawn of the internet were not that successful – they did not and could not have the critical mass. With more users online they have to do something there, and simple-to-use services like facebook are ideal for them.

The social networks that we know today heavily rely on broadcasting. You post one thing and it reaches many people using the same channel. That’s way more powerful than the “doing things with your friends” mantra. I have 350 “friends”, but I don’t communicate with more than 15 of them. Most of them are simply acquaintances, and they don’t differ much from strangers. Especially with Google+ the realization came that all these people are not in fact your friends. They are your audience. The audience of your broadcast. You are broadcasting all sorts of things – thoughts, news, pictures. Instead of sending them personally to people that are interested, you push it out there for everyone to see. This saves a lot of time deciding who to share with, and increases engagement.

So, “social” is in fact “personal broadcasting to a large internet audience” and has nothing to do with friendship. You may argue that it is important to know and trust the person when, for example, you use your friends to get recommendations. In fact the same thing is true if you post on a public forum, with one exception – you are certain that the person is not a bot or a sales person advocating his own product. So here comes an important third factor – online identity. Social networks give users an identity that was not possible before.

I’ve already argued that things like social gaming are not social at all, or at least not anything new, due to very similar factor – scale. Social widgets on the web are simply a means of pushing more content to social networks, not a way of making the web more social.

Ultimately, the “social web” is not in any way more social than the one from 10 years ago, that had basic forums and mailing lists. But it is bigger, allows broadcasting and assigns identities.
That’s why I would prefer to use the term “broadcast web”, as it better defines contemporary social networks.

Facebook Adds A Stalking Feature

Facebook recently became a stalkers’ paradise. The so-called “close friends” group appeared. In fact, it might have appeared earlier, it’s just that now facebook started giving you suggestions to add friends to your “close friends” list. What it does is simple – you get a notification (the red number at the top) every time a close friend of yours posts something. Of course your friend does not have to confirm the “close friendship” and is not notified about it.
So now, when a stalker want to track everything you write, he just adds you as “close friend” and gets notified on each post by his “victims”. Good for the stalker. In fact, a similar feature is under development in welshare, but the button is called “Stalk”. No euphemisms. (And you will be able to stalk twitter users you don’t follow. Pretty mean, I know)

But the main problem is not stalkers. The problem is that facebook are driving this in a very bad direction. Namely, that your close friends are your online close friends. That’s greatly asocial. Normally people that see/talk to each other more than once a week need something to talk about and discuss. You probably know the awkwardness when each conversation is ended with “yeah, I saw that on facebook when you posted it”. Interaction with close friends is happening in the real world, that’s why they are “close friends”. In a way, they should be exempt from the broadcast nature of social networks – they are privileged to learn things first hand. Yes, go ahead and share your experience with your 500 friends, but tell it with more details in person to your close friends. That’s social. In fact, welshare also has “close friends”, but the purpose is exactly the opposite (and it is still in progress) – you may choose not to see any update by your close friends, because you like to get updated in person.

There’s another thing that bothers me here – facebook might have gotten this right, people may really be needing this feature. So in 5 years they will barely be talking to each other, they won’t send a chat “Hey, let me tell you what happened yesterday”, and when they meet in person they’ll know all the stories. Don’t get me wrong – I’m not against online communication, and I’m not against the broadcasting nature of social networks. But facebook is imposing an asocial behaviour on us, and that’s bad.

 

The Language Problem Of Social Networks

The world is diverse. There are thousands of ethnicities and languages, and hundreds of countries. And we claim that the Internet helps us live in an open world without borders. True, but language is an important aspect of that. If you don’t have a common language, you can’t communicate with anyone. Social networks are a major part of contemporary life, giving the ability to broadcast a message to thousands of readers. But again – if you have a common language.

For a long time I’ve wondered whether I should create a 2nd twitter account where I tweet only in English, because rarely someone not knowing my language would follow my tweets. And I obviously couldn’t follow anyone except people tweeting in English or my native language. That language segregation may not look like an immediate problem, but I believe it is not be ignored.

There are some solutions, of course. Last week I had this short conversation on twitter – there are browser add-ons that give you the option to translate a tweet. I’ve seen bing-powered translation on some facebook posts. And my service welshare offers inline translation for every tweet/facebook post/message (via google translate). But the language barrier problem remains open. Should English be the language? No. Should we try to invent the babel fish? By all means. But it’s really hard. And the more we are able to broadcast our messages, the more problematic the language barrier becomes.

Is It Just Me, Or Technorati’s Claim Token Is Stupid?

I just submitted two blogs to Technorati. It appears that they want you to make a new post containing the claim token. I have been validating many sites for many purposes (e.g. analytics), but most of them required a special tag somewhere in the code or a DNS record. Never it required visible content.

So, supposed I followed the instructions and pasted the code (7RHXV5MMZ84Z, yeah, I’m getting verified) in a blank post. This will go to all existing readers subscribed by RSS and email and to all services that aggregate your blog. And they will see something completely irrelevant. If you have ten readers and you do it on a Saturday evening, that would probably go unnoticed. And you can edit an existing post, and add the token at the bottom, so that nobody notices. But the idea is far from great, and following the instructions will lead to confusion.

I’m aware that owning a blog doesn’t mean you can add headers or add dns records. But you can certainly add the code somewhere on your blog, be it the profile page. And there have to be more than one option for that. I would just go and add a widget with a hidden input containing the code, and it would work without disturbing any reader.

I guess this has been the case with Technorati for a long time, and I’m really surprised that it is still the only way to do it.

Doing The Same Thing, Only Better

There is a discussion whether innovation is really happening, or we have been stuck in the past 15 years. This fear stems from the unrealistic expectation that innovation should be sporadic, exploding and obvious. Truth is, it has always been happening slowly, one step at a time. Something gets created. Then it gets improved, over and over, until a horizon for a new thing emerges.

And that’s how the tech world has been working for the past 15 years. Every famous product out there is just doing the same thing as somebody else, only better:

  • Google. They handled web search much better than Yahoo, AltaVista and Lycos. But it is still web search. It came to Larry and Sergey that the current situation can be improved, so they decided to crawl the web, thus improving on the existing search.
  • Facebook. Yet another social network out there. There were lots of similar products before that, notably MySpace. But they were just not good enough. Facebook nailed a couple of cool features, combined it with the growth of internet population, and a dose of luck, and got to where they are today – the social network. But it is not, and was not fundamentally new. It was a slight improvement on existing social networks.
  • iPhone. Not the first smartphone, not the first phone with GPS, internet or capacitive display. But it was better than everything else that existed, although it had nothing new. Just another phone, properly marketed, and built right.
  • Skype. Neither the first chat client, nor the first to provide VoIP. But they did it much better than the rest – quality of sound, ease of use, and more importantly – p2p architecture.
  • Pinterest. They are still not that huge, but are worth mentioning. Pinterest is basically a modern “delicious”. Delicious didn’t work out. Pinterest made it shiny, added pictures, pin buttons and a lot of “social”, and the thing worked. A new concept? Definitely not – it’s the same old web bookmarking, only done right.

I’m not trying to belittle the contribution of any of the above. On the contrary – they made very important improvements on the existing scene, which means today we are so much different than in 1995. But is this innovation? I say yes, because it enables further progress. All of the above (probably with the exception of Pinterest) bring a lot of possibilities for new ideas, that were not possible when you couldn’t find anything on the internet, when your social graph was not available as hard data, and when nobody had a power-tool like the smartphone. Not to mention the engineering foundations that these companies have laid for new ideas to come – nobody knew how to handle so much data before Google.

Slight improvements still drive profit, and that’s why many startups are focusing on handling these small improvements. If a tool saves people 30 minutes a day, it can be profitable even though it is not creating anything strictly “new”. The differences between the big successful examples above, and the small failed or sold-out examples, are: the need for the product and the quality of the solution. So are these small apps innovation? Not per-se, but they are part of the innovation environment, which allows real innovation to happen.

Henry Ford once said “If I had asked people what they wanted, they would have said faster horses”, which seems to contradict everything above. But it doesn’t. People didn’t know that the whole web could be indexed – they would’ve requested easier site submission to AltaVista; they didn’t know ads could be targeted by precise demographics and interests – they would’ve requested bigger banners; and they just wanted the emoticons of ICQ to stop changing. Yes, it is not comparable to building a car rather than using a horse, but it is conceptually the same. It is doing something new, that improves the lives of people, and nobody else has thought of (or was able to implement). And to juxtapose Henry Ford’s quote with the title of this article – he did the same thing as others – transportation, but did it significantly better. So don’t worry about innovation – it will happen slowly, by people noticing spots for improvement in the existing environment, and trying to implement solutions that nobody else has thought of.

How URL Shorteners Should Change

URL shorteners’ main strength was the fact that twitter didn’t shorten URLs. But now it does, so it is almost entirely useless to shorten your URLs. Almost. There are two cases that are still valid, and even though I dislike url shorteners, these use-cases will keep them alive for a while:

  • analytics – in case you don’t own the site where the link points but you want to track your engagement, then intercepting the link is the only way to know how many people clicked the link.
  • readable form for for really long URLs – many sites include too many details in their URLs (because they need to), but that becomes unreadable when shared. So people need a short version.

However, bit.ly/fXgfWr doesn’t tell you much. And since we no longer need the URLs to be short, URL shorteners should add a new option. An example link shortened by welshare‘s URL shortener would look like this (though not yet implemented):

http://wshr.eu/techcrunch.com/2011/09/08/facebook/fXd

So what are the components:

  • the url shortener domain
  • a short (limited to around 30 symbols) version of the original URL, without http://
  • an optional /XXX suffix for the user who shared the link (depending on the implementation this can preceed the url)

This way you get the analytics and you get a short, but still meaningful URL, telling you exactly where you will land after clicking it. As we no longer need URLs to be as short as possible, we can get rid of that part, retain the analytics part, and improve on readability.

7 Little Known Ways To Become Immortal Superhero

They say you should write catchy titles to your blog posts in order to get clicks. And so people develop all kinds of recipes to do that. One of the most common approaches is “X [something great]”. “3 secrets to becoming famous on twitter”, “5 important advice for your social media campaign”, “7 ways to make your app popular”, and many more. It does not concern marketing only, I’ve seen technical articles with similar titles as well. But what’s the problem with that?

There is no problem per-se. If you know 7 ways to become a superhero that you think nobody else knows – then title your article like I did. But putting a snappy title to a crappy content is what happens in many cases (probably in the current one, too). Often there aren’t X distinct things in the post. They either overlap, or are not structured in lists. The thing is – I stopped opening these articles, because the content behind was usually nonsense. I seem to know most “secret” and “little known” methods.

So, please, when you decide to put the catchy title on your post, make sure it has the right structure and the right quality. Otherwise people will start ignoring your catchy titles.

P.S. Here are the “little known” ways promised by the title