SitePoint Podcast #169: Web Intents

Karn Broad
Karn Broad

Episode 169 of The SitePoint Podcast is now available! This week the panel is made up of 3 of our 4 our regular hosts, Louis Simoneau (@rssaddict), Patrick O’Keefe (@ifroggy) and Kevin Dees (@kevindees).

Download this Episode

You can download this episode as a standalone MP3 file. Here’s the link:

  • SitePoint Podcast #169: Web Intents (MP3, 41:27, 39.8MB)

Episode Summary

The panel discuss topics such as the statistic that around 50% of popular websites link to Facebook, an online retailer introduces an Internet Explorer 7 tax and more.

Here are the main topics covered in this episode:

Browse the full list of links referenced in the show at

Host Spotlights

Interview Transcript

Louis: Hello, and welcome to another episode of the Sitepoint podcast. We’re back with a little news and commentary show this week. With me on the panel are Patrick O’Keefe and Kevin Dees . Hi, guys.

Patrick: Howdy, howdy.

Kevin: Hey, Louis.

Louis: What’s been up? I haven’t spoken with you guys in a while. I missed last week’s show.

Patrick: Kevin, you were away last week too. What have you been up to?

Kevin: OK. I was helping out at a youth camp, where kids go into the community and do repair work on homes and go into nursing homes and do little drama skits and stuff. That was really cool, so I volunteered to do that and helped journal that experience for the campers, as they went throughout the week.

Louis: Very nice.

Patrick: Wow, that sounds great and makes me look like a selfish piece of crap. Because I just released a book. I didn’t do anything to help other people.

Louis: Well in fairness, the book is free, so it somewhat selfless, right?

Patrick: Right, it is a free book. It’s called “Monetizing Online Forums,”
and it’s about monetizing online forums in the right way, in a way that respects the community and balances out the need for a great member experience, with the need to generate revenue. Though it is focused at forums, it’ll be for people who are looking to monetize website in general as well. There’s a lot you can pick up, and we cover all the methods in a detailed manner, with a lot of information based on real life experiences, and just a really detailed guide. I’ve been managing online forums for 12 years, and nothing out there that’s really like it, so I wrote it.

Kevin: Very cool.

Louis: Awesome. I had a quick look at the website. The whole design is really sleek, I like it.

Patrick: Yeah, as you know, as you might guess, I can take no credit for that. Skim Links sponsored the project, and basically that’s why I’m able to offer it for free, because they paid me. I had full independence though, I had full editorial control over the work, and that’s how I made my money, was from them paying me. They get value from being associated with the work and from the resulting coverage. But the design was totally them. They have a great designer, Barbara Sunlai. Hopefully I’m getting her last name right, but she did a great job with the book and with the cover. I love the cover. She took some phrases that I came up with, and I’m sure all designers can relate to this, for what the work represents. Then she made this really nice visual interpretation of those ideas. Basically it took my pile of nonsense and turned it into something beautiful.

Louis: I’m speechless. I guess it’s just Skype calls, you don’t expect when the end of something is going to come. It’s not like talking to someone face to face, so you get like . . .

Kevin: You don’t get that face to see “hey,” wink.

Patrick: Anyway, that’s enough about that. If you want to download it you can go to

Louis: Very nice.

Kevin: Yeah. I’m actually looking forward to reading the book, Patrick. Because I have a blog that I’m wanting to start up, and I might want to advertise on that. That might be a good resource for learning how to do that.

Patrick: Excellent. I hope so.

Kevin: Awesome.

Louis: All right, I’ve been away for a while, so I’m itching to get into it. I might kick off the first story. The thing that caught my eye this week, something that actually happened a little while ago, but I only saw it mentioned recently, is the arrival of Web Intents API in Google Chrome. The latest version of Google Chrome is version 18, which was released in mid-May. It includes an experimental support for a new specification called the Web Intents API. Kevin and Patrick, have you heard of Web Intents at all?

Kevin: I heard of it just today.

Louis: From me?

Patrick: I heard of it just now.

Louis: Was it from me, Kevin?

Kevin: Yes, it was.

Louis: OK. All right.

Patrick: You know, you are responsible for the outreach for Web Intents. Most of the people who know about it, at least on this call, know about it because of you.

Louis: I think that is a statistically accurate statement. Let me try and break it down a little bit. The idea is that you know how when, in your desktop operating system, when you come to open a type of file, basically your operating system prompts you and asks you what application you want to use to open the file, right?

Kevin: Correct.

Patrick: Yes.

Louis: Right. Web Intents is a way to do the same thing for web applications. If I have let’s say a photo sharing service like Flickr, I can provide an intent that says I can accept a shared image. If I’m building a website and I want to integrate with Flickr, I can just code my thing and say, “here’s a button and you click to share the image.” All it does is send a copy of the image, and then the other application hooks up with some simple JavaScript API as a way to receive that. If I’m visiting Flickr, then it will give me the option to install an application in my browser that allows me to share my photos. Then any other website on the Internet that uses the Web Intents functionality to allow people to share photos can share them to an application of the user’s choice.

When you first click that share button on my web app, it pops up a little dialogue saying, “What do you want to share this to?” I might have an application installed that shares it to Flickr. This gets around the issue of currently, if you want to do this work flow now, if I have a photo on one web service and I want to upload it to another web service to put a meme on it or whatever, I have to go, right click it, save it to my desktop in a temporary folder, and then go back, click “choose file,” upload the thing. The idea is that creating a language for the web applications to talk to each other around some common parameters like picking a file or sharing a link or things like that, that could talk to each other without necessarily knowing each other before hand, and provide a more integrated experience for users. Did that make sense?

Patrick: Yes, it did. The news is that it’s integrated into Chrome 18, correct?

Louis: Yeah. Are either of you using Chrome at the moment?

Kevin: Yeah.

Patrick: Not at the moment. I have it downloaded, I have it on my desktop and I use it occasionally.

Louis: Kevin is, so this is cool. Add This, do you guys know Add This?

Kevin: Yes.

Patrick: Yes.

Louis: Add This has already added support for Web Intents to their service. What I’m going to do, I’m going to send you guys a link. Here we go. Kevin, if you just go to that page.

Kevin: All right, live demoing, I like it.

Louis: Live demoing, exactly. You just go to that page. This is Add This is overview page about their Web Intents support. If you scroll down to the bottom of the page, you’ll see a list of share buttons. There’s a Facebook icon, a Twitter icon, then there’s that weird concentric circles icon, between the Twitter and the email.

Kevin: Stumble Upon, right? I believe it’s Stumble Upon.

Louis: It’s not Stumble Upon. Maybe we’re not looking at the same thing?

Kevin: You have Twitter, Stumble Upon, Facebook.

Louis: Hold on a second. Scroll down to the bottom of the page.

Kevin: OK. It says, “I found this article helpful, I did not find this article helpful,” and then . . .

Patrick: I think I found what you’re talking about, Louis. I really want to work this. I have it.

Kevin: Oh, the four icon group. OK. Got you.

Louis: Right. That second one there, what it says is this demo has the config Web Intents set to true. A browser without native Web Intents support would simply ignore the field. Then it shows you the three icons, what you would see if your browser didn’t have Web Intents support. If you click on that little concentric circle icon.

Kevin: OK.

Louis: You should get a little pop-up window in Chrome where it’s suggesting apps from the Chrome web store that can be used to handle web sharing content.

Kevin: Very cool.

Louis: Now, if you already had one installed, it would just have that at the top, “Would you like to use this application?” It’s because you don’t have any installed it’s just saying, “Here’s some suggestions of some apps that can handle this kind of intent.” If you want to install them, you can share them directly through that. Obviously there’s not a lot of stuff in there at the moment. There’s a share link to Twitter app, there’s a share to Gmail app. There’s an Add This app. Obviously this has only been in the wild for about a month, and it’s only in one browser, so the amount of apps out there to handle this is pretty limited, but it’s a really interesting step for the web I think, of being able to have our web apps more seamlessly integrate with each other and provide ways to communicate, without necessarily having to maintain. If I have a photo sharing site, I don’t have to know about oh, I have to integrate with Flickr and integrate with Instagram and integrate with Facebook. I just say look, I can handle photo sharing, so all I have to do is write a short piece of code that says my website handles photo sharing. Then anyone that wants to share, when they come to click, if my app is installed then they can do that.

Kevin: That’s very cool.

Louis: It’s a really interesting direction I think for the web to take. Now, if you go to, this is pretty much spearheaded by Google at the moment, although Mozilla’s also involved. Currently Mozilla’s working on it only in Boot to Gecko and not in their actual Firefox browser, but once they’ve got a stable implementation of it it’s likely they’ll move that across to Firefox and we could start seeing it elsewhere. There is currently a JavaScript shim that lets you give similar functionalities to users on Internet Explorer 8 and 9, Firefox 3 and up, and Safari. Also older versions of Chrome, but really, who has an older version of Chrome?

Kevin: Yeah.

Patrick: They’re not allowed to.

Kevin: I have all 18 versions.

Patrick: You have a special app that’s on your computer that’s like,
“Google Chrome tester,” where you can pull up Google Chrome 1 and see how your website looks.

Louis: Yeah, hopefully that icon is not the final icon that represents Web Intents, because that was a little hard to identify with the action of sharing.

Patrick: Is it a bullseye?

Louis: I don’t know what it is. Obviously if you’re connecting this on your website you can use whatever link or icon format you want, so.

Kevin: I say we use the HTML5 shield. That would be awesome.

Louis: Don’t get me started on the HTML5 shield. If people want to check it out, there’s also, if you really want to get a good, more in-depth overview of how the functionality works, and what the code is to make it work and how you can start using it straight away, there was a really great presentation given at Google IO just a few days ago by Paul Kinlan, who’s one of the editors of the specification, and James Hawkins, who’s the dev lead for the Chrome team. Some people who’ve been working on this gave a good presentation at Google IO, explaining it in a lot of detail and giving you examples of how to build an app that would use it. I will post a link to that in the show notes.

Patrick: This looks very cool.

Louis: If anyone listening uses Android as their personal phone operating system, you’ll be familiar with this, or has ever done development on an Android, for that matter. This is very similar to the way that Android handles interaction between applications, so I think the people at Google just saw the potential for extending that into the web. I think it really does make sense for the web, given that there’s all these applications out there and right now the ways of interacting between them are pretty kludgy. Copy/paste a link from one application to another, or we’ll download a photo to a temporary directory like I was talking about earlier, and then re-upload it to another thing. When really, if we just create a language that allows the services to say, “Hey, I want to share a link”, and this other application’s like, okay, cool, I can handle link sharing. Here we go, we’re all good.” It would really make a lot more sense for users.

Patrick: Good deal.

Kevin: I have a link, and it’s more of a story on the development of jQuery. In fact it is on jQuery the blog, and if you go over there they talk about the future of jQuery, which includes the release of 1.8, 1.9 and 2.0. I’ll start with 1.8 and move on from there. The reason I want to talk about this is they’re making some significant changes that you may need to be aware of, just because of the popularity of jQuery. In fact, in their blog post they mention that jQuery is now powering about half of all major websites on the Internet. It more than likely applies to who ever’s listening now, our avid listeners. Part of jQuery 1.8 is the ability to modulize the components in jQuery that you want, to cut down on the size. Which I’m really excited about. However, it appears that they only have it as a command line tool for you to be able to that. It’s not quite like Modernizer, where you can go in and nicely select each of the boxes and the components that you want to test against. That’s really good news for the jQuery community, and there’s a lot of different things going on there. However, the more important news, which I’d like to get some of your feedback, Louis and Patrick, is on the 1.9 and beyond. Which is basically the jQuery team saying in 2.0, they’re going to drop support for IE 8, 6, and 7, or in order, six, seven and eight.

Louis: Or even further out of order, seven, eight and six.

Kevin: Correct, but that’s only the 2.0 release. Their thought process behind the browser support is that in 2.0, they’ll give you the choice to basically not support older versions of IE. If you need that support, you can use 1.9.

The reason why I wanted to talk about this too is there’s been a little bit of confusion in the community as to what that really means. Because some people were confused as to, jQuery’s not going to support IE anymore? What’s going on? They even had to do a follow-up blog post to that, but I think this is really exciting. They gave some examples of what you can do with the power of this, so you can use, for example, conditional comments to detect if you’re less than IE 9, to just serve up jQuery 1.9. If it’s greater than IE 9, then of course you can use jQuery 2.0. This is really big news for the jQuery community, because it’s going to give you the ability to create more streamlined plugins. Obviously jQuery itself is going to be lighter weight. The list just goes on and on and on, about the benefits of this. However, the support for that, right? You have to have two branches, which they will be working on, 1.9 and 2.0 at the same time. So they’ll have the same features set.

Louis: I guess one of things that that means is they have to maintain a totally compatible API in jQuery 1.9 and 2.0. As bug fixes are rolled in, they really have to make sure that they’re completely parallel branches so that you can have the same code that can rely on either jQuery 1.9 or 2.0. Other than that, I think that’s a great idea. Obviously I can only imagine, I haven’t read the jQuery code in great detail. I’ve seen snippets of it, and even in the little bits that I’ve seen, you have a function that’s 50 lines long, and of that 30 are dealing with weird regressions and bugs in older versions of Internet Explorer. The ability to make it much lighter weight, and potentially faster also, if it’s not dealing with all these conditionals and looking up to see if features exist and working around old, weird properties. It could potentially give most users who are on modern browsers at this point a much faster experience and a quicker download.

Kevin: I think so, especially for apps, right? Because you’re only going to use specific parts. With the release of 1.8, you can modelize that, and then when 2.0 comes out you can get rid of all the IE cruft that comes with it. In most cases if you’re running a hardcore app or something like that, maybe on an intranet or something like that, where you’re distributing it within a closed network, you can really see speed improvements in there. You won’t have to worry about as much code bloat and security.

Louis: Absolutely.

Patrick: Have they said how soon 1.9 is coming out?

Kevin: Right. The plan is for this release to come out in early 2013. Of course, open source code is developed by a community, so sometimes the timelines can be shuffled around a little bit. That’s their goal. Going into the early part of 2013, just after, not long after 1.9, they’re going to try to release jQuery 2.0.

Louis: Right. jQuery’s been really good with their release schedules thus far. In terms of, as far as open source projects go they’ve pretty much nailed their deadlines pretty regularly. I’d be really looking forward to that.

Kevin: It helps that they have a vibrant community.

Patrick: It’s all about the community.

Kevin: It is.

Louis: It is. Yeah, it’d be very, very interesting to see, and I think it’s a good direction for jQuery to take. You can keep working on adding features and adding features, but at some point you want to make sure that the speed and the size are commensurate with what people want, and this is a good way of doing that. If you realize that a significant percentage of your code base is dealing with what constitutes maybe less than 10% of the user base of most websites, then maybe it’s a good idea to start stripping that away, and giving people the option if they need it, but really focusing on the majority of users.

Kevin: Yeah. They have a lot of really cool other things in here that I didn’t mention that you should go check out on the blog, such as animations and vendor pre-fixed CSS properties that you should know about as well.

Louis: Nice. We will link to both of these blog posts. One of them is about the release of jQuery 1.8 beta, covering the modularity and other new features. Then there’s another blog post, which is detailing the road map for the future and the split between jQuery 1.9 and 2.0. Definitely post the link to both of those in the show notes.

Patrick: Pingdom published some statistics on the web hosting industry, and specifically where websites are hosted. Drilling down to the top one million websites in the world according to Alexa. They were only able to measure about, let me get the exact number here. It was 935,472 out of the top one million websites in the world. Not a million, but close enough. Using that data, they looked at where the sites were hosted. Unsurprisingly, the U.S. was far and away the leader in web hosting countries, with 431,000 of those sites. Coming in second place, I don’t know if this is a surprise or not, is Germany with 82,152. If you put together all of Europe, Europe as a whole comes in at 313,252. All of Europe is about 120,000 less sites than the United States. Australia, relevant to this podcast, comes in at 15th, with 6,769 sites. I don’t know if there’s a huge discussion topic here, but I thought it was interesting to look at this list, and the data that Pingdom usually puts out is usually interesting to stare at and ponder, and think about. I don’t know. Reflections?

Louis: Yeah. I mean, it’s interesting. First of all, it’s a really obvious paralleled distribution, like you see. The drop off is very quick as you mentioned, even at number 15, Australia’s only about 6,000 sites. Although it is interesting to note that this is where the sites are hosted and not so much where the users are coming from, or where the owners of the sites are located, for example., for example. The entire business is run from within Australia, but our sites are hosted in the United States. Why? Because most of our visitors are in the U.S., because Amazon Web Services is in the U.S. So I guess there’s some questions about, are a lot of the sites that are in the United States actually run by overseas companies? It would also be interesting to see how this progresses over time, as well. I’d love to see, the number in China is pretty high, it’s number three on the list, and I’d imagine that’s been growing pretty quickly. It would be cool to see a time progression. Just as it stands, I think it’s a more skewed distribution than I would have expected. If you just asked me to quickly jot down some numbers of where I thought sites were hosted, it probably would have been a bit more balanced than this. It is interesting to see Germany so high.

Patrick: Right. I don’t know what it means, but it’s interesting.

Louis: Yeah, exactly.

Patrick: You make a good point, because I am based in the U.S., but I host my sites in Kuwait, which is 86th on the list.

Louis: Really?

Patrick: Not really. No, not really. Yeah, no. I host my sites in the US, too.

Louis: I don’t know whether maybe you had to host them in Guyana or something because of your domain.

Patrick: Oh yeah, yeah. I do own, for some maybe URL shortener in the future. No, the top five in this list are the U.S., Germany, China, United Kingdom and France. The bottom five on this list of the top 100 are Belize, Syria, Nigeria, Puerto Rico, and San Marino, coming in with 48 to 51 of the top million sites, respectively. It’s a fun list.

Louis: San Marino, that’s pretty high. San Marino’s not that big, is it?

Patrick: The only Marino I know is Dan Marino, so I’m not sure.

Louis: Oh boy. I think it’s a very, very small country.

Patrick: Yeah, San Marino is a very small country that is according to this map I’m looking at, it appears to be surrounded by Italy?

Louis: Yes.

Patrick: It’s in the middle of Italy.

Louis: Yeah, that’s right. It’s one of the micro-states.

Patrick: The population, according to the CIA World Fact Book is 32,140 people in the country in July 2011, and that’s an estimate.

Louis: Also worth noting, I’m getting this from the Wikipedia page. Just because I love interesting facts, San Marino is the oldest surviving sovereign state and constitutional republic in the world, as the continuation of a monastic community that was founded on September third, 301. Huh? Huh?

Patrick: San Marino’s holding it down.

Louis: Kicking it old school.

Patrick: No wonder. If they’ve been around that long, they must have been on the web early.

Louis: Right. Allowed them to get a foot hold, and despite having a population of only 30,000 people, still hosts 50 of the top million websites in the world. Which I think is actually the most interesting statistic in this whole thing. I think San Marino coming up on this list, very impressive.

Patrick: I ran across what I thought was an interesting story. That’s how it always starts. At the The Next Web by Martin Bryant. The story is titled, “Twitter Should “Memorialize” Our Accounts When We Die.” The crux of the story is that Christian Payne, received a DM from a friend who died four years earlier, and it was a spam DM as you would imagine. He blogged about that and suggested that Twitter should be able to do something about this. In this article, Martin Bryant talks about how Facebook has a section of their site where you can submit proof a person’s death and lock the account down. It won’t send out app notifications or any other sort of activity that might upset people. But people can still remember that person via their status updates and via their account.

To be fair, Bryant in this article talks about the challenges for Twitter in doing that. Twitter accounts are not as tied to one person often times as a Facebook account is. It’s not an easy task for them to tackle. But to me it brought to mind, do we have a responsibility in developing services, to account for this? Do we have a responsibility to account for death on our platforms, and if so, how should we go about doing that and executing it in a way that we can actually manage? Some of us are small timers or one man shops or small teams. How much can people expect of us in this area?
Louis, what do you think?

Louis: Yeah, that’s a really interesting point. I can totally see and I’m very impressed by the work Facebook has done in this area. I think their approach of turning the page into a memorial page is really good. And I think as we move in the direction where a lot of our lives are online and it’s our primary way of communicating with a lot of people. I see myself hugely, having been in Australia for about three years now, most of my communication with any of my friends back home is on Facebook and Twitter. Given that we live in these online worlds, instead of the traditional communities we used to live in, then I guess there probably is some shifts that need to take place in the way we think about other phases of life. Death is obviously the hardest one, because you can’t choose how to present your own death online. I know there are services out there that are focused on this, but for most people it’s not something you think about.

Whereas you might think about how you want to announce your engagement or the birth of your children on Twitter or Facebook and you can frame that in a way that you’re happy with, it’s different for your death, because you’re not around to do it. So it’s a much harder challenge for the designers of social software to deal with that in a respectful way, especially when you’re dealing with services that obviously include an appeal to people of so many different cultural and religious backgrounds. Which may have completely different views of death and how memorial services should take place. It’s something, especially when you get to the size of Facebook or Twitter, where you’re dealing with, I don’t want to do the statistics to find out, on Facebook’s user base, how many of those people die every day. But I’m sure there’s a number every day, because it’s just that big statistically. So you’re getting the point where it’s something you really have to deal with and it’s going to come up. I don’t think it’s something that necessarily every community or every piece of social software needs to deal with, because a lot of times, if you’re not that important to people’s lives, and we want to overvalue our own applications, but people usually don’t spend their entire lives inside of our applications.

Whereas Facebook and Twitter, that’s almost the case for some people. It’s more important for them. For the rest of us, I think that if that page just goes away, then it’s not as big a deal. Obviously in this case I can imagine it can be terrible to suddenly start getting spam messages from someone who passed away four years previous. I think with the way we usually deal with spam accounts or hacked accounts, which is to suspend them, or take them offline. In most cases that’s fine for this situation, except if you’re the size of Twitter or Facebook. I don’t know. Kevin, what do you think?

Kevin: I actually have a personal experience with this. I think online services should create the inputs for the community to decide what they want to do, as far as friends and family online. For example, like you were saying, a lot of people may just live in the online space, and they may have very deep and personal connections to people through the online medium, their looking glass into people’s lives. Versus the more physical interaction that you might have going to physical locations and events, meeting friends, that kind of thing. That could be due to disabilities, anything. People can escape online. My personal experience with this was one of my very good friend passed away, and he was in an online multiplaying game with me. It’s called City of Heroes. We played that for a good many years and we created a lot of friendships online, with people who we called over the phone, traded emails with, shared personal information, all that kind of stuff. When he passed away, it really impacted a lot of people. You can look on the outside and say “that’s kind of weird,” but it really was a group of friends just getting together to hang out, and it happened to be video games. So, I think in the same space like Twitter and this, those things can happen. In fact in the online game, we decided, there was 50 people who were really good friends. We had an online memorial service for my friend, and it was emotional for everybody. It was really interesting. Things like Twitter and these larger communities that have this network, where connections are made and where people’s lives are influenced, I think it’s important for them to recognize that that might be their only interaction with that person, whether it’s through Twitter, or through Facebook. There needs to be an outlet for those people to get their closure.

Louis: Yeah, that’s a really good point. I guess it’s definitely something that any kind of forum or online community or online software needs to at least think about a little bit.

Patrick: I think it’s good for communities to just be open to the idea of this, and be flexible in how they apply it. Someone at Facebook’s level, obviously they can create a forum, like you said, they have this happening to a substantial number of people every single day. Whereas a lot of communities that may not be the case, or may not be as important to people on that community. Contact forums, just paying attention to people and listen. Often times a community, it’s large, but not so large where you’re totally out of touch with what people are talking about. Often times there will be areas that are dedicated to, unfortunately, death or death notices or people dying, and people will grieve in their own way. In those cases, you can do things with the account, lock the account, some kind of online tribute with the account. The tricky thing I think is confirmation in some cases, right? Because let’s face it, we live in a sick world. And people would try to do something to an account they don’t like or to a person they don’t like. That brings me to the next thought I want to share with this, was brought up in the article, was the Twitter account @Martin. The author of the article, his name again is Martin, so he had thought about trying to get it but it belonged to someone who passed away, and it was clear from the account, apparently. Someone else got a hold of it somehow, through Twitter’s inactive name process, whatever it is. That made me think about the logistics of this, and how long someone’s entitled to a username. Does locking down the account mean that the user name stays with it, or is the user name just a trinket? We pass on, we have this property, this property gets sold, it goes into other hands. Is the user name just like another piece of property? There’s no right answer here, but I thought it was an interesting subplot to this whole discussion. This user name was this person’s, they passed away, now someone else took it.

Louis: Yeah. I guess that’s really tricky, right? I guess that’s a limitation of Twitter’s application structure, that it places so much emphasis on user names. Whereas for most other services, you have a display name that’s customized, and then the hard link to your account is your email address, so it’s less of a problem, right? Twitter is an edge case with regards to that, because the Twitter user name is a type of real estate. Obviously that’s challenging for them, but for the rest of the web it almost feels like, I don’t know, it feels like that’s a bad structure. It’s a limitation of Twitter that came out of the fact that they were trying to make it work over SMS, and if you had any other kind of application it wouldn’t work that way, and it wouldn’t place that much impact on the user name. Although I guess Facebook does have user names in terms of getting your custom URL, but it seems like less of an issue.

Patrick: Right. I’m Patrick O’Keefe, and you’ll have to pry it from my cold, dead, oh, wait. That doesn’t work here. I don’t know. The Sitepoint forums better not give away iFroggy if anything should happen to me. I’m just saying that now, I’ve had it for a number of years. Don’t auction it off or give it away to anybody.

Louis: Going to spotlights now, my spotlight this week is a blog post written by Lucas, who is our dev ops guy here at Flippa. It’s a bit of a recap of how he and Chris, who’s the dev manager, dealt with the AWS outage that happened over the weekend. Anyone who was not aware of this, there was a pretty major power outage. Which caused an outage at Amazon Web Services over the weekend. It caused some major, major services to be unavailable, including Netflix, Pintrest, Instagram, and I just wanted to try and mention us in the same breath.

Patrick: Flippa’s moving on up, man. Facebook is going to make a bid tomorrow.

Louis: I just wanted to try and slide that in there. But nonetheless, they spent most of the day trying to deal with recovering. Basically what happened was it affected our database server, and we were trying to get access to it. We brought it back up but we couldn’t read from it. When we finally did get access to it, we did have an EDS snapshot of the database server at Amazon. But that snapshot was about 40 minutes old, so we were missing about 40 minutes of writes. If your service is fairly active, that’s a pretty significant chunk of data, and you definitely don’t want to restore to an old backup. What this blog post goes into is the basic message that they were trying to work on recovering separately, based on our mySQL logs, which were stored somewhere else, and replaying those on top of the EBS snapshot, to get our recovery going instead of just waiting for Amazon. Because in this case, it turned out that we got our data back before Amazon reactivated our database server, so we were able to bring up a separate database instance, and have all the data back before we would have gotten it from Amazon. Having redundancy plans and working on your own recovery, even if Amazon says that they’re going to recover it, you might still be able to beat them to the punch if you’ve got a couple of backups and you’ve got options. It’s just some quick thoughts that he jotted down about the outage, and it was pretty interesting to me. I love this kind of postmortem stuff, as anyone who listens to the podcast regularly will know. Check that out, it’s on tumblr, and I’ll post the link in the show notes.

Patrick: Yeah, this is a really interesting story, obviously playing at a level that I don’t fathom because I don’t have this quantity of data coming in. It’s interesting to me, he calls it dumpster diving, a dumpster dive through the mySQL activity as you discussed, the replica, and extract the last 40 minutes of data from the bin logs. That’s pretty good then. At least you had that I guess, to be able to go back to. Someone should be patted on the back for that bit of redundancy.

Louis: Yeah, absolutely. One of the reasons we keep an off-site mySQL replica is for this reason. Nonetheless, Amazon did eventually get the same data back online, but it’s possible that they mightn’t have been able to and we would’ve been stuck with 40 minutes of data loss. Which, depending on your application, may or may not be a big deal. Because we deal with auctions it is a big deal, because if someone had won a site in the past 40 minutes and suddenly they didn’t because we don’t have that data anymore, that’s a big deal. Being able to recover that is huge. Just some ideas here about trying not to put all your stuff in the same baskets, and trying to be prepared for all kinds of different possibilities. That includes keeping copies of your data outside of AWS, and just being prepared.

Patrick: As I always like to say, don’t trust the cloud.

Kevin: In the tone of being prepared, I have a link here that might help people. Which is this Swatchbook thing. If your site goes down, and obviously you’re going to be serving up 404 pages, you should have something at least somewhat sexy. This Swatchbook could be a nice little tidbit that you could throw on there to keep people distracted from your downtime. That’s an awful segue, I know. You can make fun of me. But it’s actually pretty cool CSS transition and jQuery technique, being used.

Louis: All right, let’s have a look. Hey, swatches. Nice swatches.

Kevin: It’s very sexy.

Louis: What are the things I do? Oh, I click on them, there we go. Yeah, I like it. The idea is you can use this as a menu I guess, is that the idea?

Kevin: I hope not.

Louis: It sounds like a terrible idea if someone actually does.

Patrick: You looked at it the wrong way, Louis. You looked at it wrong. It’s not a menu, stop.

Louis: Well they look to have set it up like a menu, right?

Kevin: Right. They have, in the example, set it up as a menu. Do what you will with it.

Louis: I really hope no one ever does that.

Kevin: Right. If you really need to navigate a site, this would be a great example of what not to do, but.

Patrick: What are you talking about? I always like to wait half a second for my menu options to display in front of me.

Louis: You can’t even see them while it’s closed. It would be a lot of frustrated clicking, but nonetheless, definitely looks cool.

Kevin: Yeah, great for a 404 page. It really would be.

Louis: If you have a look behind the scenes though, and look at the way these things are done, it’s pretty interesting, all done with rotate transforms in CSS. Very nice way to have a look at these techniques being used and get a feel for them. If you’re not familiar with using the rotates and all that.

Patrick: Cool stuff, Kevin. Well, my spotlight, short and to the point, is the new album from Chester French. Which is band, it’s a duo featuring an acquaintance of mine, DA Wallach. They just released their new album,
“Music for Teenagers.” You can pick it up at They’re not really a genre, they play a lot of different types of music. I know that doesn’t really mean much, but it’s free to listen on Spotify, of course, if you have that, and other platforms. Go to their website, listen, check it out. Maybe you like it, maybe you don’t, but me personally I like it a lot. No discussion needed.

Louis: I guess not, right? Because I can’t comment on it without hearing it. Always good to have some off-topic spotlights, and Patrick is Mr. Off-topic Spotlight.

Patrick: That’s right.

Louis: I will definitely check it out. I’ve been Rdio a lot lately. It’s my new thing.

Patrick: That’s cool as well. The thing about DA is he’s actually artist in residence at Spotify. They created the position for him, and he’s an intermediary between artists and Spotify and making sure artists are represented. The funny thing is though, I like Rdio too, and I hope there’s room for both of them to succeed. Because Adam Pacelli, who was a staff member on the Sitepoint forums, won a couple Sitepoint forum awards, is a designer at Rdio and does a lot of their work. I’m conflicted on that whole Spotify, Rdio thing, and want everyone to be happy and successful.

Louis: Yeah. It’s an accident of circumstances that I do end up using Rdio. It came out of, Rdio was available in Australia about a month before Spotify was.

Patrick: There we go.

Louis: When Spotify was first released in Australia, I had a look and their Android app was really, really crap. They’ve since completely redone it from the ground up and it’s gorgeous and it’s faster than the Rdio app, but at the time it wasn’t, so I just started using Rdio because it was available first and it had a good app first. At least in my corner of the world. Then stuck with it. I’ll definitely try and check this album out, although obviously the issue with all these streaming services is you’ve got these holes in the catalog that hopefully as they become more popular get ironed out.

Patrick: Yeah. In this case, this album is being released independently, I think. I’m not sure if that helps or hurts, sometimes it’ll help, sometimes it won’t. Who knows. The funny thing about Adam, and I just pulled up It’s almost like an Easter egg, but his name is actually on the homepage and his photo, if you go there and look. He probably designed this page, and it’s just a further example that the Sitepoint tentacles run deep. He was on the forum staff when he was a teenager actually, and now he designs for Rdio. You never know when you run into a Sitepoint forums member.

Louis: That’s really interesting. I’m trying to find, where on the page?

Patrick: OK. You know how the page is three tone, white photo, and then blue?

Louis: Yeah.

Patrick: OK. The photo, the first photo is a guy on the couch with his laptop?

Louis: Yeah.

Patrick: If you look, he’s got the window open. I don’t know if you can see the laptop screen, and it’s the browser window and it’s got an Rdio website music player in that. Can you see that?

Louis: Yeah.

Patrick: OK. If you look at the right side of that screen under “network,”
the first face and name is Adam Pacelli.

Louis: Right, there you go. That’s your friends or the people you’re following.

Patrick: Exactly.

Louis: In the sample screen shot. I’ve got you. All right, very cool. Well, I think that is a perfect place to wrap it up on the Sitepoint podcast this week.

Kevin: Yes. I am Kevin Dees at, and at @KevinDees on Twitter.

Patrick: I am Patrick O’Keefe of the iFroggy network. I blog at Find me on Twitter @iFroggy.

Louis: Awesome. You can follow Sitepoint on Twitter @Sitepointdotcom. If you go to that is the place to find all of our past episodes, you can subscribe, and you can leave a comment if you want to let us know what you thought of the show. You can also email us,, and you can find us on iTunes as well. I’m Louis Simoneau and you can find me on Twitter @rssaddict. By for now and thanks for listening.

The podcast is produced by Karn Broad.

Audio Transcription by Speechpad.

Theme music by Mike Mella.

Thanks for listening! Feel free to let us know how we’re doing, or to continue the discussion, using the comments field below.