Patrick Meenan (WebPagetest)
6 Dec 2012
At Velocity EU, Joshua talked to Patrick Meenan, one of the creators of WebPagetest -- the seminal testing tool for the performance industry. They talked about WebPagetest's humble beginnings on a corner of Patrick's desk at AOL, where WebPagetest is going, and why Patrick should never get in the UI business.
Joshua Bixby: Hey guys, this Joshua here, President of Strangeloop Networks and this is the inaugural podcast in the Web Performance Today podcast series. I have been very excited about putting this all together. I had the idea a few months ago that it would be fun to have some conversations in our industry with experts, haven’t seen a lot of podcast, I spent a lot of my time listening to podcast, well, a lot given that I have two children, a dog and new one on the way and a couple of businesses to run, but the time that I have walking my dog or late at night doing dishes, I often put on a podcast with one of the beautiful radio voices that I listen to all the time and that is not my voice, but I decided it would be fun to setup a podcast series and let’s hope that there are more in this series than just this one.
I was recently at the Velocity Conference in Europe, where I had a chance to talk to Patrick. Patrick is the Head of WebPagetest, the Head Honcho of WebPagetest as many of you know him. To me he is a friend and I thought if I was going to start a podcast series in this space, the ideal candidate would be someone that flies under the radar, that’s humble like Patrick is, but that has made such an important difference in our industry. We got a chance to talk about WebPagetest’s humble beginnings in the corner of Patrick’s desk at AOL. Talk about where our WebPagetest is going and why Patrick should never get into the UI business, I hope you would enjoy.
Here it’s Velocity Europe with my good friend Patrick Meenan. Patrick, tell me whenever one stands and tells you how great you are repeatedly blog post, seemingly every second velocity talk, how does that feel?
Patrick: Yeah I, you know I still don’t believe it, I mean I am just an engineer right? I hack away on web browsers, I play web performance and I talk to people about stuff and I mean you know there are so many more people in the industry that do so much more than I do it. It’s a little unreal and you know honestly I don’t think it’s entirely warranted it’s, you know it’s not difficult engineering, it’s just trying to get the word out and talk to people about stuff.
Joshua Bixby: So tell me, take us back to the start. Take us back to WebPagetest doesn’t exist, you are at AOL, take us back there, how did it all come together?
Patrick: You know it was really interesting. I mean, it sort of started from we had this issue and it’s probably not completely unheard of is we would be getting complaints or feedback that pages were slow, the developers would counter with it’s very fast for me and it was largely because you know we sat on a GigE network across the street from the datacenter, literally you could look our your window and -.
Joshua Bixby: Literally across the street.
Patrick: Datacenter, so there was absolutely no latency, huge bandwidth, everything always felt fast to the developers and we were trying to figure out a way to get them and they all used at it was time Firefox because Firebug was there, it had the best sort of debugging tools and stuff, so no one tested on a IE even though AOL shipped IE internal to the client, it was like 90% of our market share weren’t actually tested on it. So we were trying to figure out -.
Joshua Bixby: They wouldn’t be caught dead on IE, right?
Patrick: Right, so we were trying to figure out how do we get the message through, how do we show developers what the performance looks like and at the same time, we were also doing monitoring, we are using backbone monitoring from you know some of the big vendors that do the backbone monitoring and our results there, you know, didn’t marry the real user experience either. So we did some work, we saw one of the things Steve had setup at Yahoo! I guess was a proxy for doing latency testing. So I setup a proxy on my desk that developers could proxy through, run dummy net and we had some profiles, no one really used that because there is too much overhead and configuring your browser to a proxy and do the testing and everything else and so we went from there. YSlow was becoming popular at the time as well.
Joshua Bixby: Right.
Patrick: For doing optimizations, checks and stuff like that, it was also Firefox focused. So we looked okay what can we do to give developers better tools for letting them see what’s going on with performance. We first built a desktop browser plugin — page test — and it was a browser helper object, it was a – installing IE, you get a menu, you can click on it and you can actually still do that with the IE agent code and you would get a UI that would show you the waterfalls and everything else and it would do optimization checks as well, but the overhead for that was still you needed Windows, you needed to install IE, you needed to install the desktop browser.
So we decided, I can’t remember exactly when, but we had a review with an exec and said they were like, you don’t get it, this is way too much overhead for someone to do and actually it was kind of funny. The one quote I really remember is, one of the things we were talking about one of the rules was combining style sheets and why that had an impact on performance and the feedback from the exec was “don’t you know what the C and CSS is for? cascading style sheet, you are supposed to have them separate, you are supposed to have them cascade” and it was like yeah logically yes, they are suppose to cascade, but it sucks for performance.
So we had to find a really low overhead way to do it. We finally came up with the concept of just having a place where people could submit urls; it would run it on our test infrastructure. We had the browser plug-in. We had already automated and it was running daily test kind of thing, so we set it up so that you could do a one off submission for that and that had huge uptake. I mean when you got rid of all the overhead you just go to this one page submita url you get your results back, it was great. The UI was horrendous, if you could look in the Way Back Machine, you can see the early WebPagetest UI’s and you guys have been there from the start.
Joshua Bixby: I’ve, yeah I remember.
Patrick: I mean.
Joshua Bixby: Yeah I remember, it’s better, it’s a lot better.
Patrick: It’s ugly now and I will be the first to admit I should not be allowed anywhere near end user phase in UI, but it was a white, it looked a lot like the Google page, that’s a lot of radio buttons and check boxes and dropdowns and stuff.
Joshua Bixby: I will put a screen shot up actually for those interested as I, when I post this podcast.
Joshua Bixby: They will see the beauty.
Patrick: Oh wait, put it in a url and get your results back and it just sort of evolved from there as I needed stuff to do, needed more visibility into things or we would get feedback from some of the power users, you guys included, we needed to do this, we really needed to do this or we can’t quite see this. We just start adding on the capabilities in it, it just, it worked out that we had a reasonably good architecture from the beginning that let us sort of add everything on incrementally and it’s round to where it has a big props to AOL for letting me open and source it back in 2008 and since then it’s just exploded.
Joshua Bixby: You say we a lot, who is the we?
Patrick: So the we is I did most of the dev work but we actually had a focus Dave Artz runs the web performance team at AOL, he provided a lot of feedback on what it should do, how it should do it, Eric Goldsmith as well was really big in the driving, he did a lot of the external talking initially as well on what WebPagetest is, what it should do that kind of stuff and then ones it was open and we started getting a little attraction Steve himself drives a lot with the features, he is a huge power user. The Filmstrip View for example was entirely from Steve, his idea, he is like you know I really like the videos but I like to be able to see them frame by frame and I like to be able to scroll it and this is what it should look like and so it’s great, I mean that’s probably one of the best things as the user base drives a lot of the features.
Joshua Bixby: Yeah.
Patrick: And they use it so that’s great.
Joshua Bixby: And we have seen a huge increase in use right? Does that correlate to your page views I mean how have you seen pages change?
Patrick: Yeah I mean in a constant upward trajectory. I am just glad we have been able to holdup so we never built in support for deleting old tests with the hope that all of the test results would always be permanent. The result you get back, the url you get back is like a permanent link to your test results and we started, it’s been growing pretty exponentially, hopefully we will be able to keep up with that.
Joshua Bixby: Good thing data is cheap right?
Patrick: Yeah and it continues to be cheap, I think we are running, last year we stored about 1.2 terabytes of test data, we are at two terabytes halfway through this year so it’s -.
Joshua Bixby: How many test since the day, since it’s – if you have never deleted them what’s your estimate on the number that are sitting there?
Patrick: Oh wow I know it’s in the millions, I don’t know how far in the millions.
Joshua Bixby: There is no ticker, that sort of the insider that tells you in your dashboard.
Patrick: Yeah there used to be sort of the test ID’s are just a hash of an up, ongoing counter.
Joshua Bixby: Okay.
Patrick: And then maybe a year ago I changed it so that it resets daily so that the urls didn’t get too long, so I used to be able to tell how many tests had been run just by looking at the test ID’s but you know.
Joshua Bixby: Tell me about the future WebPagetest, where does it go?
Patrick: You know I don’t know, it’s largely up to the customer, the end users, where do people want to see it. Mobile is huge.
Joshua Bixby: Yeah.
Patrick: There is a lot of pressure to get off of Windows as a requirement, so we are definitely looking at cross platform browser support, you know, Windows are still by far the biggest end user base but there is a lot of overhead from running a testing infrastructure in getting Windows licenses, managing Windows machines, getting approval from security to install Windows machines in production.
Joshua Bixby: You mean your friends at Google aren’t particularly excited about…
Patrick: Well it’s not even, not even…
Joshua Bixby: Even just internal to companies?
Patrick: Yeah so I can but one of the big things with WebPagetest is this, on open-source you can run your own private instances and one of the biggest feedbacks I get is there a lot of Unix shops, Linux shops and even the thought of running Windows just drives them away and drives them completely nuts. So having an option to run on non-Windows as long as we can keep the performance consistent and probably the most important thing to us is make sure it’s always representative of the actual end user, we don’t want to get away from that. As long as we can maintain that and provide options for the community just getting more people using it, this is really what it’s all about.
Joshua Bixby: It feels like there is a big push in future development, lots of new stuff added if you sort of worked a plot feature, new features added, it went up and then it sort of started to slow down the pace, do you anticipate that most of the major features are there and now it’s about things like cross platform or do you still have a laundry list of new features that the communities demanded and you are getting to them?
Patrick: I think there is a lot of little nitty things out there.
Joshua Bixby: Yeah.
Patrick: As far as the core features there aren’t a lot that people have been asking for, a lot of it’s there, it’s sometimes hard to realize a lot of it’s there just because there is just so much there.
Joshua Bixby: Yeah.
Patrick: Some of its hidden in the scripting, there is sort of hidden UI elements here and there that if you know where to click you can get the different types of information. But I don’t know that there is mobile, I think you are going to see a lot of work ongoing in mobile as it’s sort of where desktop was years ago. You can run an url and you know you can get a waterfall and that’s about it, so getting more visibility into mobile, more of the traffic shaping but it’s really bringing it up to par with desktop from a core testing platform it’s you know, I think we are mostly done.
Joshua Bixby: Yeah, we have to wrap up, you are going, you are going to do what your seventh talk here at Velocity London?
Patrick: That’s not that, this is I think is number three and I have got number four this afternoon so it’s fun, I like talking to people.
Joshua Bixby: It is wonderful to listen to you. You know how much we appreciate all of your work, thanks for stopping by.
Patrick: Great thanks a lot.
Joshua Bixby: Take care.
Joshua Bixby: Thanks again to Patrick for taking the time to chat. If you have any questions or you want to comment on this podcast or even better you want to suggest a topic or volunteer yourself to be an interview subject for a future podcast, please go to webperformancetoday.com and send me an e-mail email@example.com, I would love to hear from you, I would love you to volunteer. I hope you enjoyed today’s podcast take care.