- 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.
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:
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".
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".
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 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 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.
Posted on : 22-04-2012 | By : Bozho | In : Opinions
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.
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.
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.
- 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)
Posted on : 03-04-2012 | By : Bozho | In : Opinions
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