011: Why pagespeed matters to DoSomething.org

Pagespeed is an important metric to DoSomething.org because it impacts usability, SEO and the overall health of the code. We talk with Matt Holford, the CTO of DoSomething.org about how they are working to reduce page load time. Learn which tricks they have for launching a new Drupal site and optimizing for speed.

Resources

Find Matt on twitter and ask him questions.


Musical Thanks to The Freak Fandango Orchestra

Hilarious and just plain fun gypsy alt rock band.

Transcription

Episode 11

SPEAKER 1: Hey podcast listeners. Before we get to today’s show we just want to share a huge milestone. We just passed our twenty thousandth download since creating the Whole Whale podcast in March so thank you so much for listening. Also something fun, we’ve created a keyword shortcut thanks to our friends at Mobile Commons, they try to train people in using SMS and what is possible with text messaging. So, how do you do it you ask? Well, you text the word PODCAST to 36453, again text the word PODCAST to 36453. Now we got a sort of fun game set up where you can give us a little bit of feedback but also see how you might be able to use text messaging for yourself. Alright let’s jump into today’s episode.

This is Using the Whole Whale, a podcast that brings you stories about data and technology in a non-profit world. My name is George Weiner, your host, and the chief Whaler of Wholewhale.com thanks for joining us.

So this may or may not come as a shock to you listening right now but the truth is you’re impatient and I have the data to back it up. I’m just gonna log in really quickly and pull up some stats for you. So I love the 90s as much as the next person but I’m sorry, if our internet speeds were still going this fast where you ran across a connection like this you’d probably throw your computer out the window. And so, it’s just a simple fact of nature that we have become a culture that expects speeds that are far faster than what AOL used to deliver and in fact, let’s say if you worked at Amazon, every .1 seconds that goes by the slow page load costs you one percent in sales. That is freaking crazy.

Welcome to episode eleven. This is the part two interview that we did with Matt Holford the CTO of Dosomething,org and today if you haven’t figured out we’re talking about page speed and what a technology team can do and focus on with regard to key performance indicators to keep that page speed down. Before we jump into that part of the interview I’d like to just quote a very famous speed expert here. ( Motor revving, I feel the need, the need for speed )

Perfect, let’s jump into the interview.

SPEAKER 2: I’m happy to be here. I’m Matt Holford and I’m the Chief Technology Officer at Dosomething.org which used to be your position George

SPEAKER 1: Ha my position. So we’re in a fine position overall here

SPEAKER 2: I know we are

SPEAKER 1: So I’ve been watching from afar getting the emails, the alerts and whatnot and it’s been really impressive I think maybe it was a result of one great project great vision from the beginning but it is the cleanest I have ever seen the site in terms of focus on this is what we do. Can you talk to us a little bit about what are the metrics that you’re looking at, that you’re now following and that you’re constantly on there, how are you measuring success from the technical perspective?

SPEAKER 2: Well, we did take a fresh look at all of our KPIs, our Key Performance Indicators at the beginning of the year knowing that we were kind of re-platforming and some of the behaviors would be different and also that we would have the opportunity to, to track certain things more cleanly so a lot of the KPIs have to do with how people will come to the site how they go through the kind of sign-up registration flow, participate in campaigns and complete them. One of the KPIs that we report on now are site speed and we use two tools to measure that in the actual report often very different things. One is Google Analytics and one is, one is Nurelic’s browser site monitor. So I’m a big fan of Nurelic we already had Google Analytics in Nurelic but I started focusing a lot on much deeper Nurelic integration when I started a year ago.

SPEAKER 1: So you chose site speed of all these things instead of like new acquisitions, new e-mails, like I thought Dosomething was all about getting T’s gate what the heck does site speed have to do with any of this?

SPEAKER 2: Well, a lot of what we need to do is bring in organic search traffic and we’ve known for a while that, that Google especially cannot set speed in it’s ranking algorithm so one of the ways to get higher and be better on competitive keywords in terms is to make your site faster that was one thing. The other thing is that it’s an indicator of overall platform health. One thing that can make a site, especially a Droopler site slow is just having a lot of code and for me it’s a proxy indicator of a few things. One is just general uptime and stability. If the site speed is all over the place from day to day then there’s something weird going on. Another is the resiliency of the infrastructure to certain conditions because if you, let’s say if you have a single database server that bogs down under weird conditions you’re gonna get a surge of traffic and see site speed just bucket out and. A third is the front end architecture and that’s something where the front end engineers that we have, have done just amazing work and honestly one thing that they did was clear out a lot of the code that that Droopler ships with and rethink radically the very minimal amount of stuff they want to send to.

SPEAKER 1: Do we really need all these modules on every single page?

SPEAKER 2: Yeah exactly. Do we yeah do we need all the like Javascript files and .css files these modules contribute? So if you look at the code you can I mean if you’re familiar with what Droople output looks like you can still basically tell it’s a Droople site but there’s a lot of stuff that’s not included in the front end anymore and so I think site speed is a good indication of just the cleanliness of the architecture, the cleanliness of the front end build, and the kind of resiliency and stability of the infrastructure.

SPEAKER 1: While also helping a lot if you have only pos, so while it is a great proxy for how things are going down under the hood. Like if your car is going ten miles an hour down you know, the New Jersey turnpike you’d be like, “This is a terrible car I need a new one”

SPEAKER 2: Right

SPEAKER 1: It’s the same happens that you’re working with teenagers , not the most patient group

SPEAKER 2: Right

SPEAKER 1: And so when they go to your site on a mobile phone and it takes more than five seconds you know that you’ve lost forty percent of them

SPEAKER 2: Right

SPEAKER 1: And so there’s bounce rate and factors across the board and I love that as an API and I rarely hear it I tried in vain to get us below five seconds back in my day could you let us know how fast is Dosomething currently loading?

SPEAKER 2: Well, to be honest it’s been slow slowing down as we put more load on on the new site so I think when I sent you a screenshot two weeks ago it was at 2.6, something like that. I checked today before this and it was at 3. I wanna get it back down. One great thing the new Relic gives you insight into is not just site speed but why. Why is it slowing down, why is it speeding up? Right now it’s actually slowing down on the browser site. The server side has been humming along same response rate the whole time on the browser site it’s been slowing down because of some network delivery issues so we’re actually gonna address that and bring it back down by using some more content delivering networks. We’re talking to a couple of them right now, Akamai and Fastly.

SPEAKER 1: A content delivery network is simply a service that you can pay for and it holds a cached version of your site, sort of like a copy of it, in a local supernode, or just a cluster of computers that is closer to where someone may be requesting something. So for instance let’s say there are files on your local computer but you know, your mother across the country wants to get access to them. Well, instead of having to make that request all across the country to your computer that’s in your room well you can have a copy of those files that are say in California so that she can access them a lot faster. These types of content delivery networks are great ways of reducing the site load time for the users making requests from the browser side so that’s just one of the things that Matt and Dosomething are looking at to increase their site speed. Alright, let’s get back to the interview.

SPEAKER 1: So can you briefly explain like the server side versus browser side

SPEAKER 2: Sure

SPEAKER 1: And how you’re balancing that as a priority in development.

SPEAKER 2: Yeah well the server side, the server side reflects requests that actually give all the way back to the server that it needs to handle and come up with a response for but not every request actually gets all the way back there. Things like logging in, or registering, or signing up for a campaign, those are those are transactions between an individual using a browser and the actual server who needs to write stuff to the database so that’s a transaction that goes all the way back to the server where it does need to respond. There are a lot of pages like if I load the homepage and I’m not logged in that’s a chance for something in that stack to send me a cached response and so in our case it’s actually varnished which cache is the html and the images and all that stuff and it’s super super fast and so that request probably will not make it all the way to the application servers. So one thing we track is you know how all the requests that make it back to the application servers, how are they doing? And the other side the browser side is just out of everything including all the cached stuff that it served by varnish never makes it back there, how is that stuff doing? So the server side, we’ve seen remain remarkably stable as in and part of that is because we we soft launched there wasn’t like a lot of fanfare and then march.

SPEAKER 1: I love that it’s always the like code book developer , Let’s Soft Launch.

SPEAKER 2: Let’s Soft Launch. Let’s soft launch for a year.

SPEAKER 1: Yes (laughter) Soft launch until the next thing

SPEAKER 2: We had three weeks which was great.

SPEAKER 1: A fantastic example of how well you’re doing communicating with Nancy in the leadership you normally want to when you launch a site bring, bring the brass band, get us on the front page of the everything while the tech people are like let’s as quietly as possible whisper campaign this thing out there and see what is happening before we do this big announcement.

SPEAKER 2: Totally, and our goal, so our goal is to get one campaign out and we got quite a few out that first week actually and now we have I think about seventy out which is more than the total number of campaigns the last three years combined and that’s because we haven’t been able to ramp up slowly and because we have defined this campaign as like a content type you can just publish so it’s like publishing a page in WordPress except it’s a big long huge content type with a million fields you have to fill out. So we got one up and everyone understood that we were targeting this particular time which is the the middle of March 17th, 18th of March specifically because we knew there was an external date three weeks beyond that so as an organization we were able to kind of focus everything on the 17th and 18th and whittle away all of the kind of features and other builds that were tightly coupled to that getting out one campaign up and running and naturally what let us kind of get to that launch in the middle of March. So we could have gone later and we still could have made it

SPEAKER 1: Yeah

SPEAKER 2: But, but we kind of pulled out all the stops at the end. We had a twenty hour day.

SPEAKER 1: That’s great. I mean I feel like you really need that one just because no, no sort of site launch is complete without that

SPEAKER 2: Without the 20 hour staying overnight.

SPEAKER 1: That sort of flip the switch moment at like 3am

SPEAKER 2: My father has done a lot of hardware engineering on the computer side, which I have almost no experience with and so he’s often been obsessed with like the burn in period. Like if you make lawnmowers, before you sell them, you wanna make one lawn mower and just let it run like until it’s out of gas just to see does the thing run? You don’t do anything to it just like put it in the garage, or a well ventilated area and then let her run for a while. So what we wanted to do was let this thing run. So the other thing that’s kind of important to point out about that is we didn’t suddenly switch the fire hose of internet traffic from the old site to the new site. We actually have two pools in our production environment, two pools of application servers still. One that serves stuff that goes to the old site, one that serves stuff that goes to the new site. It all comes in at at Dosomething.org and depending on the path you request it either goes to the new application pool and serves the new stuff or the old application pool and as we said we have these like book reports and all these other fax pages and a whole bunch of older stuff that we didn’t want to just disappear, we also didn’t want to migrate it all over at once. That was like putting a lot of pressure on everyone to make everything work all at once perfectly so the soft launch period, which I think of going at least until the end of June, is about having these two pools handling traffic and slowly migrating things from the old pool to the new pool.

SPEAKER 1:Yeah I mean that makes a, a heck of a lot of sense and something that has to be easier when you have your internal team working as opposed to outsource where an outsource priority is like the last thing they want to hand it off. You’re going to have experts over there but once that delivery date is they’re like when are we done? So they tend to in my experience.

SPEAKER 2: When is our final payment?

SPEAKER 1:When’s the final payment? When’s this thing delivered?

SPEAKER 2: Which we, you can understand. I did that for years and years and years, that was my role. You want the project ending when you deliver it you need your final payment so like everyone can pay their rent and stuff like that it’s very important. We knew that we needed a lot of nuance in the coordination of this thing. Even a year ago before we even knew what we were doing, we knew it was going to take a lot of coordination and and we’re going to have to make a lot of like fast decisions at the end to kind of make everything make sense because there was a lot of complexity involved and we were building something that was that size with a small team. So yes I think in the end we benefited a lot in keeping all that internal and because it let us have a lot of kind of minute technical decisions we could make at the last minute.

SPEAKER 1: Flexibility there. So now you’ve got a brand new great site focused on campaigns that you can now turn out you know 70 plus you know I know descents got a crazy number of, how many do you go across here?

SPEAKER 2:Oh let’s say 250, 300

SPEAKER 1: Nice round number and I’m curious now you know. Super successful first year, launched a new site, what does the next six months look like?

SPEAKER 2: The next six months is very much about international, that’s a big deal for us right now. We still have some product bills that we’re doing, and and we want to get this legacy site completely out of production, we’d like to retire it, give it a special place in the internet (laughs) that we can refer to and look at it for like institutional knowledge. So some of the immediate tasks are launching our first few international affiliates, and they are running on copies of the same code base that we’re running so they get the same they get the same Dosomething platform that we have, we customize it a little bit for them, they can run some campaigns and not others, they have control over their own content their site but it’s all the same code base. So we’re spitting out copies of that and we have some customizations we need to do for them including a new international homepage and we’re gonna need to get that stuff up in the next couple of months so the first five or six of those affiliates can be up and running and then we’re gonna have a lot more to do with like kind of formalizing that process, making sense of it because we’re only gonna add more and more international affiliates over the next year.

SPEAKER 1: Is decent distracting all over the world.

SPEAKER 2:Yeah they seem to be moving in that direction, totally, totally

SPEAKER 1: (laughing) Well great, any last thoughts? Thank you so much for coming on,

SPEAKER 2: Thanks for having me.

SPEAKER 1: Any, any final thoughts for people out there thinking about oh my gosh we have to do a website build.

SPEAKER 2: I well I think that Dosomething has the ability to make these decisions about staffing, not all not for profits, especially not for profits with smaller budgets can actually make, so one of the important points is that I think that if you’re going to invest in any kind of staffing around technology and you don’t have the wherewithal to have a full on tech team internally, one of the best things you can do is get someone who’s really willing to learn the technology you’re running so someone who can take the time to understand what’s being given to you by an outside developer an outside agency because that kind of institutional knowledge is really worth its weight in gold. So, I recognize that we are in a great position to be able to make this investment in our own staff but I do think this kind of work is possible with outside agencies as long as you have people inside who are really kind of trying their own stuff and and keep the reins.

SPEAKER 1: Well friend, thank you so much for being here, how do people find you on the interwebs?

SPEAKER 3: I’m on twitter @mshmsh5000 that’s real easy to remember

SPEAKER 2: (laughs) Real talk

SPEAKER 2: Yeah yeah yeah. Ok good

SPEAKER 1: Thanks again

SPEAKER 2: Thank you. (music)

SPEAKER 1: It was really helpful to hear how Matt at Dosomething.org treats page speed as a Key Performance Indicator because it impacts so many different things. When you list them out I mean it’s impacting usability. When a page loads slowly, people literally leave, and you can see that in your bounce rate. What’s more, also with Google Pagespeed they are looking for content providers that can deliver content more quickly, that is what they want to do, they want to make the internet faster and so they have a score now the Google Pagespeed score from 1 to 100 that you can actually look up. We’ll be giving all of the urls where you can test your own site speed and get site suggestions from how to increase the speed of your site at wholewhale.com/podcast. Some of the other things that we didn’t even touch on that are impacted are let’s say you’re doing advertising. Well, if you’re doing advertising through adwords, pagespeed matters there as well, not only for the conversion rate cause by the way every single second, one second more slowly that your page loads can result in a 7% difference in conversion. Also inside of Adwords, you’re gonna pay more for a slower site to send traffic there because of the way the Q-score or the quality score of your ads work inside of Google Adwords So again thereby lowering the page speed they’re impacting all of these different metrics all at once down the pipeline instead of trying to change design again, and again, and again, thinking that Oh if only we had a prettier picture here we would increase our conversion. No, it comes down to Pagespeed especially when we’re looking at mobile devices and more and more mobile devices accessing our content. I think has done a great job in recruiting CTO like Matt who came from the ecommerce world and so he already knew this, he saw this firsthand when the page loaded slowly, their site wasn’t able to sell as effectively. And so I’d argue how, how different are non-profits? I mean our sites are all trying to sell something, we’re trying to sell you on action , sell you on a story, cause an interaction that impacts a behavior that you have online or even offline. And so if Pagespeed matters for selling widgets, why shouldn’t it for selling actions? We’ll leave it there and I just wanna say as always, thank you for joining us. Our resources, Wholewhale.com/podcast Take care.

(Music)

This has been, using the whole whale, the podcast. For more on the topics covered in today’s show please check out wholewhale.com/podcast. Consider following us on twitter @WholeWhale and thanks for listening.