Interview with Google’s Ben Morss about AMP

Jon Henshaw interviewed Ben Morss, Developer Advocate at Google, about what AMP is and isn't. The discussion included the origin and purpose of AMP, how it's different from regular web pages, and Google's plans for the future of AMP.

AMP is a web component framework that was created by Google and it’s intended to help digital publishers develop content that is user-first. It’s controversial among many SEOs and internet advocates because of concerns about Google leveraging their dominance in search to force publishers to use the AMP framework over other technologies if they want to maintain visibility in their SERPs.

Ben Morss, a Developer Advocate at Google, was kind enough to spend an hour with me to discuss the misconceptions and realities of AMP. We covered a lot of topics and I think most people who care about what’s happening with Google and AMP will be interested to learn what Ben told me.

Video Transcript

Jon Henshaw: I’m here today with Ben Morss and we know each other from I think a couple of years ago when we met at Google Headquarters in New York for a conference.

Ben Morss: Is that Ezoic or something like that?

JH: Yeah, I think it’s Ezoic and we were both speaking on performance I think to some degree. You may have been speaking on AMP at the time and I was just talking about things like first meaningful paint and that kind of stuff, but can you, for the people who’d be watching or listening to this, can you tell me what you do at Google?

BM: I seem to recall giving you a pointer about putting scripts at the bottom of the page.

JH: Yeah. You told me about the Defer loading JavaScript, and I can’t remember if it was Sexton or someone like that. It’s his site.

BM: It’s one of the things where you can request that the script be loaded as late as possible, but it tends to get loaded first anyway. I think it was actually for a script last in HTML. I don’t think it’s loaded first anyway because browsers load scripts aggressively. So that last often does nothing.

JH: That’s exactly…because I was suggesting async and stuff like that, and you were like, you know what that may not be the best thing for you. You might actually want to defer scripts using an actual defer script.

BM: Now that we’re actually on the topic, it actually does do something. I had the solution which involves actually regressively loading the script via JavaScript after content is loaded after the load event, but this is not done very often in the actual world. I’m making a video on this but it hasn’t gotten done yet. So eventually it will be somewhere out there in the world in video. Anyway.

JH: Well when you do it let me know so I can share it, and watch it, and yeah alright cool. So what do you do in New York? I know that you don’t stay in New York all the time cause you just got back from Tokyo for the AMP conference.

BM: We had our AMP conference, our annual event in Tokyo last week and this is why I’m still jet-lagged which is sad. I’ve been back for five days or so I’m still a little jet lagged. I shouldn’t be you’d think, but also yesterday I brought my kids to the Six Flags Theme Park over here and did pretty well until the Nitro rollercoaster towards the end…after that I couldn’t walk steadily for the next three or four hours. I’m out of it today. My voice is a lower pitch than usual and I’m a little bit dazed so probably I’ll just be pounding you with AMP complaints and I’ll say I don’t know! I don’t know!

JH: So what you’re saying is that-

BM: I’m helpless!

JH: You’re at Six Flags with your kids not just drinking and smoking all night every night. That’s why the voice is lower?

BM: That’s correct. The reputation I have is false. I took my kids to the theme park.

JH: Okay, well you are a musician also, so I don’t know what your nights look like.

BM: I do music still after some years doing it full time, but my job now at Google is called Developer Advocate. My job here for the last couple of years has been to try to make the web good. For Google the web is really important and so a bunch of us our job is just to make the web better, and that often involves working on things like web performance or new features on the web or encouraging folks to do Progressive Web Apps (PWAs) or just to make websites in general that are on the devices that they’re used on often which is mobile phones. Make sure that they’re also good under bad connections and countries where speeds are slower and data costs more and so on and so forth. I worked on performance for a couple of years here and now I’m working more on AMP. Which comes out of my work in performance which we can also discuss that connection.

JH: Yeah one of the main reasons, if not the main reason, I wanted to talk to you today was because of AMP. I have a lot of questions about it. I think from conversations that we’ve had just even online it sounds like I may even have a lot of misperceptions about it. I definitely want to get into that pretty soon. I was curious to know, you said you were working on performance before you kinda got into AMP. Were you part of Lighthouse or any of that stuff? Were those things that you worked on? What were you doing that was not AMP before you really focused on that?

BM: Yeah I wasn’t involved in making Lighthouse, but I know that people that did it. We always talk about these things internally and wring our hands at how performances and try to figure out some way people can be into a device, make insights a little faster. But mostly I work with companies that have ads with Google because the belief is at Google that if the companies that have ads with Google have more effective websites then they’ll make more money, they’ll make more sales, more conversions and that helps Google too because then they can forage and get more ads. The ads are more effective because they link the sites that work better, so in Google’s own self-interest that’s just, it’s the generosity of some sort.

I was working with various companies on performance and trying to get them to see why their sites were slower then they knew in many cases and help them find easy, often simple ways to make them faster.

JH: Well and I appreciate that perspective because I think a lot of times, and maybe it’s consciously done from a PR perspective or maybe it’s done because truly people like yourself at Google…and I would even, I’m not at Google and I’m for this.

BM: Every time you say Google my phone wakes up! I guess our voices must be similar.

Google Assistant: My apologies. I don’t understand.

BM: No you sure don’t.

JH: That’s amazing by the way. That’s the greatest.

BM: Anyway.

JH: Like an Alexa

BM: Try again.

JH: That’s pretty funny. I think that I really believe that from all the people I’ve interacted with, including you at Google who works on these projects that there is a sincere interest in making the web better. In making the user experience better like you were saying earlier, on mobile and that type of thing. I think at face value when people talk about how they’re really just trying to make things faster and better and that type of thing, I believe it. I believe it, and yet at the same time what you just mentioned right off the top of this it’s also for making the core business of Google function well too.

JH: In other words, we want this to be better but we also know that what’s fundamental to publishers, in particular, is there’s always going to be some version of advertising. If somebody on a phone, maybe with not the greatest connection, can still read content and can even still have advertising which makes both Google and the publisher money- I mean that’s kind of the model for free content, and it can be done in a way that’s not annoying and doesn’t slow down things and doesn’t make things kinda jaggedy or in front of the content then I think everybody, for the most part, can agree that’s a better web experience right?

BM: You can’t do this upfront because you know the larger organizations aren’t always benevolent to the world because they’re just nice people. Governments you know, people have their own reasons for doing things. Organizations have their reasons for doing things. There’s this magical thing where people like myself and a bunch of other people actually really believe in the web and like the web can do what we think is right about the web. And just say we want it to be better and faster, happens to align with Google’s own goals. We can be hired to do this kind of work, it doesn’t involve trying to sell people anything or make any money off anything because it’s more of a long term play which is…if the web is good that’s good for people out there, and it’s also good for Google. That’s why Google also makes things like Chrome, the web is supposed to be part of Google’s business. Understanding Google’s business model I think helps understand why AMP actually came into existence and what it’s supposed to do, whatever it’s thought to be, or not by various people.

JH: So you just brought up my first question which is why was AMP created? And I’ll let you answer in a second I just kinda want to preface with that, because I’m going to give you my perspective just as somebody who works outside of, but yet still builds sites or works in the publishing world.

The internet started to get really frustrating, even though our bandwidth for a lot of people started to go up, and you could do more it seemed to be that every time you had something more and you had something faster it would be filled in with more crap. It would be filled in with a bigger JavaScript framework and more intrusive ads. Whatever it is that they could do that would fit, I would say-

BM: They’d squash it in there.

JH: Yeah the bandwidth increasing, whatever it is, they would. It kinda got to the point where it was maybe livable on desktop, but on a mobile phone, it was like, ugh this is impossible. Not only are many sites, at least back in the day- when I say back in the day I only mean like a couple of years ago difficult to use because they weren’t optimized for a mobile they were also pushing all the things they push on desktop onto mobile over a cellular network and so it was slow. It was difficult to read, you know that type of thing. I think maybe two, three, some odd years ago Google even started to say you need to start doing these best practices. Just in general, from a UX perspective from a mobile perspective, and what we saw was nobody was listening. You can get SEOs to listen when you say this is going to be a ranking factor, but aside from those publishers big and small were not listening and it just kind of stayed the same. The mobile experience just kind of stayed, I’ll say it again, crappy.

BM: Yeah, well everyone discovered that JavaScript was this wonderful magical thing all of a sudden. Google was part of this too, companies and people realized you could do all these cool things with JavaScript and the last seven or eight years it just exploded into this wealth of front end code. So that trend was much stronger then any trend people had which was they tried to curb that or warn about that. People were just-

JH: There was an increased bloat. Increased JavaScript bloat right? Just on the client side.

BM: Yes.

JH: Yeah okay. So that to me sets up the scene for why I think AMP was probably created. I’ll just kind of throw in that’s also a problem because not only does it affect what sites Google might want to put in the search result, but it affects their ability even effectively serve ads if things aren’t even running correctly or they’re on top of each other or people are just bouncing. So in order to both create an experience that would give pages that they would want to put in the mobile search results, but also maintain maybe even grow the advertising side of the business which is core obviously to Google. It seems like Google is like we’re going to have to force publishers in some way to do this, and AMP ended up being that solution. I have some follow up questions after you answer this as far as why didn’t you do this, type of thing. Would you say a lot of that is true, I mean is that kinda why AMP was created?

BM: I think that part of those things are true and part of those things aren’t quite true. I wasn’t there when it was done so I can’t tell you from first-hand experience, but my impressions are, and I know from people who have actually been involved in creating AMP, is that people working on performance for a long time and people at Google were talking about it probably for the last eight or ten years. Other folks as well. Instead of things getting smaller on the internet they got bigger. So you look at the trend lines, there are always more images, more bytes of images, more bytes of JavaScript, more bytes of CSS every year. With it getting bigger and bigger the performance advice people were giving seemed to have no effect at all.

There were people that worked on AMP that thought this is not actually working. Even though Google had done some things that tried to incentivized the small things, like for example including speed as a ranking factor for a desktop and now in mobile as well. When Google does things like that they can influence the direction because they can do these small things like this might matter in search in some way. They can then affect how people actually make sites.

Google always has a need to do anything stronger than that because seems like that might be something in some way using our power too strongly and we really want to avoid doing that at Google. I think it just feels weird Google forces you to do things. So AMP is the thing that Google did to which is a little bit stronger incentive. I think people were never really forced but it was more like if you do this, you actually will get some benefits in search. Although notice that AMP is not a ranking factor in search. But there is the AMP carousel for publishers. Now when Baidu actually made a copy of AMP a couple of years ago, which they call MIP by the way-mobile instant pages, they forge the code, they took it and copied it and made it their own thing and used it in China. It was a ranking factor in search. I believe this may be not true, I believe the Baidu ads were also prioritized. I think also the Yandex in Russia, this could also be false.

The question is that the Amdex is something similar which again is geared toward the Amdex ads. Google didn’t do it that way, so it wasn’t about ad revenue. It really was this play to make the web faster in a more strongly phrased kind of way. Also, their publishers were involved with this. If you remember about four years ago, three years ago you could get your phone and look at sites by publishers. You found a link somewhere on Facebook and went to the web, or found something in a news feed the sites were almost unusable in many cases on a mobile phone.

I remember going to certain sites, I’m not going to mention any here, it would be ads flying in, content moving around quickly, and all this stuff that made it almost to view the site. The publishers were concerned too, and one of Googles concerns is that publishers are struggling in the last several years because the web has gotten so dominant. I worked at the New York Times for a couple of years-

JH: You mean just traditional print publishers?

BM: Yeah they were struggling you could tell, obviously a lot of them have gone under. They’re struggling to make money online. At the New York Times when I was there people were pretty concerned about this, I’m sure they still are although their subscription has done well for them. Especially the last couple of years, subscriptions have risen quite a bit.

JH: It’s like something happened politically in America that caused that, I don’t know.

BM: Could be a coincidence.

JH: I’m not sure.

BM: Whatever it is Times paper…they’re doing pretty well these day I think. Although for sure my impression is subscriptions have risen there a lot. Publishers struggling everywhere and Google is concerned about this because publishers depend on Google for their survival in lots of cases. So publishers got together with Google and helped create a thing which was called AMP.

Actually one of the ideas behind AMP which didn’t really quite take off might still be useful. One of the first names for it was Portable Content Unit (PCU). One of the ideas was it was going to be a thing you could package up and serve in various different kinds of ways. Not just on the web as we know it now in the browsers, but other kinds of means. Actually, it’s still part of the way AMP is built is to be this portable content format-

JH: So was that kind of meant to be embedded in an existing page or was PCU we’ll call it, was that still originally designed to be like AMP where AMP is self contained? It’s its own thing, it is the entire page.

BM: It was supposed to be used in both ways, it still can be used in both ways. You can embed an AMP page within another web page. Using a thing called Shadow AMP which we have a demo that shows you how to do, but it’s not one of adopted for whatever reason. So that was the idea behind AMP, and it did actually do this thing which was new for Google of saying if you use this special new format we’ll give you this special privileged position in search if you’re a publisher. You might get into this…sorry I’m really tired today. This search carousel-

JH: No you’re good.

BM: Carousel at the top of the page, and in certain cases you might even get your page pre-rendered in an iframe in the background so that when you actually click on the search result it appears immediately. So there was this cache which-

JH: That’s what I was going to say, you just described the cache.

BM: Yeah the cache has become very controversial, but the idea was making it as fast as possible. Google would grab your content, grab your HTML, optimize it further, optimize your images, do whatever it can to make it faster automatically to rip from its own servers to make it faster in that way too. To enable this almost instant experience from Google’s search. Various things were done that were supposed to make it faster but what actually happened was when things got faster people got mad in some cases. Because-

JH: What do you mean?

BM: They didn’t always trust Google, and I understand this because before I worked here I was like this large corporation is not my friend. They have ads in the subway saying make your passwords better. They don’t care about me they’re just some large corporation, they’re probably bad people.

JH: I can’t believe I’m hearing these jaded words from you.

BM: Now I actually work here and I was pleasantly surprised to learn as far as I can tell people here are pretty nice and want to do good things. I’ve never-

JH: Hey, HR is watching.

BM: This is serious. I’ve never seen anybody say, okay we’ve got to now crush the competition. We’re gonna use our powers to destroy somebody. Google has a mix of good and bad things, I think everyone’s aware of that. I think people that work here overwhelmingly want to do the right thing. If that helps at all, it’s a corporation that’s large and powerful but people here one of the things you’re hired for is called Googliness. It actually is a term that is used and part of Googliness is that you’re supposed to be considerate of people around you and caring, and actually not just some kind of robotic evil programmer person.

JH: Right it’s part of the company ethos. Which I think is a good thing. I mean very rarely have I met somebody from Google who didn’t have Googliness, I can’t believe I’m saying this.

BM: The Googliness is a real thing.

JH: Right. Right. In the midst of that, I still think, at least from what I’m hearing in this conversation is that neither of us is blind to the fact that it’s still a corporation and it’s got to do stuff. What I’m hearing is that they still have really good hiring practices. You know as far as, they want their company to be full of people like you who are making decisions that are both sound from a business perspective but also involve a good workplace where everybody treats each other well and with respect and they’re trying to make the world better and all that stuff.

BM: Few things where people are Google has done some things that are sort of questionable, and employees have spoken out against us and stage walkouts and things like that which is a fascinating thing that’s happening. You look at other corporations that have done various bad things in the past, I shouldn’t name other corporations, but –

JH: Yeah don’t do that.

BM: Bad things companies have done. Hopefully Google is among the better of all these large corporations.

JH: As far as with the creation of AMP, one question I have was why did they decide to go down – and I know you weren’t there when it was created so you may not know this, but maybe you know sort of after the fact with conversations with colleagues, but why did they decide to sort of create a variant of the current HTML standard? Because it really just uses the current standards it’s just slightly tweaked in a way. And I know there’s more custom codes and stuff with JavaScript and stuff like that but why not do something that essentially analyzes a regular page and pretty much says if the assets that are being used on this page, and the speed of this page, and kind of what Lighthouse does now, you know, as it analyzes a site and looks at all aspects of performance.

If you don’t meet certain criteria then we’re not going to include you at least today, the way it works, you know in Top Stories carousel or something like that. The article you wrote, the way you’re serving it is so slow that we’re not going to do that. Why is it that they didn’t try to enforce it with existing standards like that, and instead wanted to create their own- and I realize it’s open standard you know that’s been created technically, why did they decide to do AMPHTML or AMP-the element? And do this whole other thing versus trying to enforce something and give a budget essentially.

BM: That’s a really intriguing idea. Before I even answer the question I’m going to go back and say that AMP is actually not a thing where they take certain elements and just change the name. That is not what AMP actually is. AMP is-

JH: Then what have I been looking at this entire time?

BM: I think the one element has been changed that way that I can think of is with images. I think that’s it. Everything else is web components which have been added to HTML so there’s no AMP paragraph tag, AMP bold tag, AMP page one. That isn’t how it works at all. The image has been changed and there’s good reason for that, because well I’ll talk about it in a little bit. Everything else is just components that have been added to HTML. So what AMP actually is is an adding of new tags to HTML which then lets you do new things you couldn’t do before without JavaScript.

The idea being to have you write less JavaScript because AMP does those things that JavaScript used to do for you.

JH: So when I look at the source code on an AMP page, which I do in my day job often, the structure of the page looks very similar to me to a regular HTML page. Which is why I came to that conclusion which you’re saying is not necessarily correct because it’s actually processed differently apparently.

BM: I hate to say this, it’s totally false. It’s not what AMP is at all.

JH: I feel like I just woke up from a dream. Now you have to explain this to me because I’m surprised you didn’t try to scold me online when I-

BM: I wouldn’t do that online to you.

JH: That’s really nice of you.

BM: I didn’t give you more details, I just said AMP is not actually this. The problem with AMP is that it gets a bad rap because people regard it in sometimes…not everyone does…there are those who regard it as Google’s attempt to take over the web. Which actually it really isn’t which seems kind of sad. Those who make AMP feel very bad about this, and they’re trying to curb that perception in many ways.

What AMP actually is, is a few things. One thing it does is it adds these new tags to HTML via web components. The web has grown a lot over the years, when the web was first created it was for documents so it was here’s a paragraph, here’s italicized, this is underlined. It wasn’t like here’s a menu. It wasn’t like here’s carousel images that fly around the screen. It wasn’t all those kinds of things. It wasn’t here’s animations. So now those things are done with JavaScript. HTML 5 has some more things then HTML didn’t have but it’s not that different really.

So web components try to make those things possible as HTML tags. So you get the power of the modern web as tags and AMP does that. For example, there’s an AMP tag that gives you a menu with no writing of JavaScript or extra CSS, although you sell it yourself. AMP sidebar gives you a menu that flies up from the side of the screen. AMP carousel is an image carousel. You don’t have to use JavaScript libraries it just does it all for you.

That’s kind of the idea of AMP. That instead of writing your own JavaScript so much, you can use AMP‘s JavaScript which runs these components. And the way that this works is that there’s JavaScript that AMP uses that run these things. The image thing is done because images, as you know, are probably the biggest cause of slow pages. Some will say JavaScript is the biggest cause of slow pages, the biggest cause of byte size I see on the internet is images. So AMP wants to be able to control images that actually load, so it does that by changing the tag. That way if it’s not an image tag the browser won’t see img it sees AMP img it doesn’t know what it is. It doesn’t load the image. When AMP starts up it downloads the image when it wants too. So this does two different things. One is that for example if the image is off screen it can easily load if it wants to.

Number two is that – sorry too tired. Oh, the layout would be stable. So AMP makes you declare the size of all objects in advance. This thing where an ad loads in and your text kind of flies down or an image loads in or a video loads in your text flies down and the page moves around layout isn’t stable. Which is hard for users but also slows things down. It doesn’t occur with AMP because everything declares the size in advance. So your ad loads in your image loads in it pops into its spot on the screen. So those things are part of what AMP is actually supposed to be.

JH: So just to test to see if I fully comprehended what you said.

BM: A lot of words.

JH: No, it made sense to me as you were saying it, I want to verify that it made sense. AMP is essentially a framework that works within the shell of HTML. Would that be a correct statement? So for example-

BM: It fits with the JavaScript framework basically.

JH: So when I look at the source it looks really similar. Just because something says AMP hyphen and has a similar element name that doesn’t mean that it’s doing the same thing. Instead what I’m hearing is that it’s its own framework and when you actually use those AMP elements in the code its really like an object. It’s something that AMP handles, the carousel, the whatever it might be, it’s not a one to one with the HTML. Is that right?

BM: That’s very true. It’s not replacing HTML tags with one exception so only one out of however many HTML tags get replaced the rest are all added in HTML. And it’s a framework. It’s a web components library. There are tools you can use to build your site. What it does do, which is also controversial is it discourages your running your own JavaScript. Because JavaScript tends to get big, it says you can’t do that anymore. If you do that, you can do it, but it’s not going to be a valid AMP. It’s not going to pass AMP validation. We’re not going to include it in the Top Stories carousel. It won’t get lightning bolt treatment in search.

JH: Back to my question of why-

BM: Oh yeah.

JH: No no no I mean I think you’re sort of answering it.

BM: It’s a great question. I love the question, because it’s a good idea.

JH: It sounds like that may have been too hard to do, or it may not have achieved what the engineers at Google wanted to accomplish. What I mean by that is it’s a very blunt approach in a way to basically say you can only have so many assets to this and whatever, but doesn’t necessarily address certain UX issues. What you just described with the AMP framework is that there are components that do certain tasks, carousel being one of them. There are components that do certain things, that’s really hard to do when you’re just looking at regular HTML. All you can really do is say does this load quickly.

JH: You could certainly render it and use those resources to see how that lays out. Everybody does everything differently. Everybody has a different way of doing it so you can never totally be sure just because they were able to meet the budget, the asset budget or whatever that the user experience is actually any good. But with the AMP framework you can enforce that. With the AMP framework you can actually know that if you’re taking this approach we know because the framework itself controls and determines how things would actually end up working if you’re using it correctly. We know that part. Another component is how strict Google is about whether there’s an error or something. Does it validate? I know from my day job that if one little thing is wrong out of there. We’re not even going to include it. It could be the dumbest thing. It could be one little thing.

BM: It’s pretty harsh isn’t it.

JH: It is really harsh. I mean I sort of get it I sort of don’t. That’s what I’m seeing as the reasoning behind it. It would be probably very difficult, it wouldn’t accomplish the goal of what you set out to do. Which is for good and bad to have control over this user experience and know that everyone is playing by the same rules and that any time somebody accesses something you know if they’re using this framework that the user experience is really good on a mobile phone. Does that sound correct?

BM: I think that part of that is true, and part of that I can’t tell because I wasn’t there. I think you’re right that they like having the idea that AMP will mostly guarantee a good user experience. It isn’t always a guarantee, you can even with an AMP make an experience that is bad-

JH: I’ve seen it. I’ve given presentations on it before, just even years ago in the early days. I won’t mention names either, but I have seen some big publishers just make it look like it’s not AMP anymore. Make it look like the old version with the overlay ads and whatever and I can’t even read the article anymore and this is all AMP.

BM: Its possible to get around AMP‘s restrictions in various ways. It will get more possible with time with things that have happened recently at AMP conf but back to the original point. I think your idea is actually a good idea. Google could have gone made a Top Stories carousel or some sort of cheap non-search that said this page is fast. A little decal that says we’ve tested this page, we know it’s pretty fast trying it out. I think you’re right it wouldn’t have accomplished the goals. I think the real goal people had wasn’t to control things but to provide an alternative because people just couldn’t do it. Very few sites out there, there are few exceptions, can make sites that are that fast and keep them fast over time.

BM: When I did performance work with a companies if they actually listened to what I said, which happened fairly, sometimes happened and wanted to make things faster if they actually had the time to do it and the programmers were able to prioritize it product was able to prioritize it and so on and so forth. It would get faster sometimes and then often it would regress. Often a couple of months later it would be just as slow as before because somebody would add a large image in marketing. Someone would add a new JavaScript library and nobody was really there to enforce it.

BM: Some large companies like Amazon are very good at enforcing these things. People sometimes have a job which is to make sure things don’t slow down they measure the speed all the time and if it slows down they find the person who did and they fix it because Amazon knows that speed is money for them. Most companies haven’t got that kind of resource. I think the is to give people a tool, like hey try this thing over here we’ve made this thing and it takes advantage of these various attributes and HTMLs that aren’t well known. Web component things and shadow things and sticks it all together in this magical thing and will make it easier to make faster pages.

BM: I think what they didn’t realize probably, I’m guessing, was that tying it to the search was going to make certain people upset about that.

JH: Uh yeah. I’ve only been doing SEO for like two decades. So people who live by trying to make their content visible at least it gets the people I’m around and have been around for many years going what is going on? Why are they changing everything?

BM: Yeah the belief was something had to be done because things weren’t getting any better. Now the things that are complaints about AMP they’re trying to deal with all of these things because people that make AMP fell bad about this stuff. For example, Malta Ubl the creator of AMP is a huge JavaScript fan. He’s part of JSConf every year and he likes JavaScript a lot and doesn’t want people to feel like they can’t use JavaScript. One of the ideas in the beginning was to allow JavaScript to be used but within a certain kind of safe standbox.

It took a couple of years to make that actually work reliably. They announced this at Google IO last year and also at AMPCon it was announced…IO? I forget maybe a different summit. Anyway, it was announced this year they actually showed a demo of it working. Its worked for over a year but they wanted to get it right I think and a lot of time to make sure it works in all cases. You can now use JavaScript and AMP inside of a web worker so it’s in a restricted area and it can’t run on page load so it can’t slow down the initial load. It’s restricted 150K so you can’t fit giant frameworks in there, but you can actually now run custom JavaScript in AMP. So they’ve done that, we can discuss all those things in detail if you’d like to.

BM: The other complaint was that because Google will serve your page if it’s from Google search you lose your domain. When you do that usually you see your own domain in the Google app, you can’t sometimes see this weird long looking thing…I mean people don’t like this, neither does anyone at Google so they now have this thing called web packaging inside an exchange which Chrome supports which is out there live now which you allows you to get your own domain back.

JH: And that is a question by the way I have for later-

BM: There was a third thing I think.

JH: The assigned HTTP exchanges.

BM: Also the search thing. So they’re working on this thing to allow non AMP pages that are AMP like in their behavior to get the AMP treatment in search, but it’s still a work in progress. It’s pretty complicated to make it work it turns out. Everyone’s discussing what metrics do you use to measure speed? How do you measure layout stability? What are all those things? So nobody wants to make this new version of the web. Nobody wants to force people to use AMP. I actually have a presentation to give at[inaudible 00:34:28] one of the slides is, I don’t care if you use AMP. It’s actually I don’t care if you use AMP or not. I care if you make your pages fast. But in most cases, you can’t do it by yourself.

For example somebody a couple of weeks ago someone talked about the fact that if they had people who wanted to make their own pages. Wanted to add things to their own pages, wanted to add things like extra JavaScript extra stuff and told them they couldn’t do it because you have to know how these things. They gave them this tool never had before to argue back against people and product and marketing to say we can’t make the page slower. Actually AMP won’t permit it. It gives you this bargaining chip. Because it people at the company don’t have the will power the discipline to enforce on themselves speed, which is very hard to do, I don’t blame anybody for that, the AMP will make you do it.

JH: Oh man, so many things.

BM: It’s alright a lot of words.

JH: No it’s just a lot of questions just popped into my head. I think the first one I’m gonna ask is, you talked about how people can make sites faster. There’s definitely the issue of degradation over time because people come in after the fact and ruining it. I think that can be kinda solved by just the fact that Google bot does a good job of revisiting and retesting and then deciding that something has changed in a bad way and then, therefore, the visibility would go down if they slowed it down or something like that.

BM: If you noticed there are ways to stop the regression but I still haven’t seen the things in practice.

JH: I think you described the reality for a lot of sites a lot of organizations.

BM: It’s busy out there, everyone has a job and things to do and features to make.

JH: But if you do have, whether it’s permanent or not, if you do have pages or sites that really have done the work to make something really fast, an example would be even just my own WordPress themes and sites that I do. I’ve pretty much do really well in Lighthouse as far as the things that at least Lighthouse says that they’re checking for me it’s 100. I know how to make things fast, I know that that’s not the norm for a lot of people out there but it doesn’t mean it’s not achievable.

JH: If more sites were able to achieve that, were able to meet what at least has been publicly shown to be the criteria for high performance to Google, so they will they compete against AMP pages in Google search? What I mean by this is we already know that the Top Stories carousel for Google news, that AMP seems to get preferential to treatment. If you’re using the AMP and it’s good content we’re probably going to show that over something that’s maybe non-AMP. It might be more difficult to get in even if the choice is because we think it’s a slower page or whatever.

JH: What if there’s a publisher who has figured all this stuff out, they haven’t used AMP and the thing is super fast and they pass all of Lighthouse with flying colors. Do they get equal treatment in Top Stories?

BM: That is the goal that this will happen some time this year. I know they’re still working on it, there’s no scheduled release date for this but there is this project that publicly announced to give fast non-AMP pages the same treatment as AMP pages, the same as-

JH: Oh okay, awesome.

BM: The same as all those things. It’s not there yet, if you go to the Top Stories carousel you’re going to see AMP pages in most cases maybe even all cases because AMP is so prevalent among publishers.

JH: Sometimes I see non-AMP but most of the time it’s AMP.

BM: Okay that’s good they’re including those things. I think personally that you shouldn’t be forced to use AMP also if you’re good and you have the time and you have the small enough organization to do it it can be faster then AMP because AMP involves loading from JavaScript before it starts up.

JH: I know you can, I’ve been trying to tell everybody this!

BM: It happens all the time.

JH: You can be faster than AMP.

BM: Look at Wikipedia for example they’re super fast, Wikipedia is for everyone they mean what they do for example. They just don’t see it that often. People like you who have part of their job to be an expert on these things, do this kind of stuff and the actual rest of the world it’s just not that common.

JH: Well I’m also very nerdy about it, it’s the stuff I like to do. I like to figure out, I like to tinker code because I enjoy writing HTMLs stuff a lot and I’m a big fan of performance. There’s plenty about AMP that I do like, I mean just because I criticized it doesn’t mean that there aren’t things that I don’t like about it.

I also understand a lot of the reason why, as we’ve already discussed, why you’d even want to do that or consider that direction. I think that’s a big deal what you said, at least to me.

BM: that’s very much the goal.

JH: It is a big deal to know that…its confirmation that we already know that AMP gets preferential treatment at least for that particular part of the search. There is a goal internally to open that up back to people who make a really good user experience and high performance. Included in that I think that’s really fair and I think that’s a smart move. I’m thinking just from people who are going to claim monopoly or claim this or whatever I think it’s a really smart move to still make it available to people who don’t necessarily want to use the AMP framework.

BM: It was announced a while ago it was being worked on pretty hard, its still a work in progress. It’s a complicated thing to figure out how to do. That is certainly the goal. People that make AMP are friends with those who hate AMP too, they know these people very well. How many people they feel bad if their friends are, what you’re making I regard as this kind of tool by a monopoly to dominate further. They’re like not that’s the idea I’m going to prove it by…so yeah.

JH: Well I think the commonality, the commonality between us even is we love this technology, we love the web. We really ultimately want the same thing.

BM: That is the goal is to help the web in some way.

JH: Exactly, and I think that’s why we don’t have to agree on everything but we generally at the end of the day see eye to eye on the things that matter the most. That’s how I think of it. The next question that I wanted to ask around this, still on topic a little bit, is I have a perception that Google is really pushing people to build all AMP sites and before you answer this I through the coil community that I was telling you about that this is going to go on, I had some question from people in that community when they found out I was going to be talking to you and one of them was that they’re getting people within their organization who are coming to them and saying should we be building an all AMP site? There’s a lot of confusion in big companies small companies where they’re basically going everything I’m hearing is everything is about AMP and we should actually get on top of converting our entire site to an AMP site. What would you say to those people?

BM: I’m surprised the word is that well established, I thought it was people-

JH: People I talk to at least.

BM: I thought it was being ignored by the world.

JH: It’s a tiny world that I live in, my myopic view.

BM: Your elite friends. Maybe it’s getting out there, I know agencies talk about this kind of stuff. I think it must get confused about when it actually is and don’t really know what to say about it. There is certainly a push from certain people that are working on AMP to encourage people to build their site with AMP. I think the strongest encouragement is to make your desktop and mobile site, sorry you have a page you’re making AMP make it AMP on desktop and mobile because it’s easier for you to then add less code to deal with . Instead of having a parrot approach to having two different pages to maintain, have one page to maintain and then I think the general encouragement is to try AMP as a framework and try it for all the things that you can. You find that it is useful for you for certain pages then don’t use it because it’s pretty easy to use AMP for certain pages not for other pages.

For example the WordPress plug-in that Google’s helping to create does that. You can say I’m going to have these pages be AMP these pages not be AMP. Of course, this is very easy to do. I think personally having worked with AMP quite a bit I’m actually making this demo E-commerce site that I’m going to be talking about at IO in a couple of weeks. I think there are cases where AMP is really useful and cases where it’s gonna be annoying. If it’s annoying don’t use it.

I will say though another change is happening to AMP which is I think a big help in this case. Sorry, the part where it’s annoying is when you’re working with AMP and you’re using AMP components. Lets say you were working with AMP and you’re making an image carousel and you’re like AMP carousel I cannot style it the way I want it to style, I miss using slick. I miss using something else. You want to add in some non-AMP things that are JavaScript to your page but then they’ll be a problem so AMP is making it so that you can now, not now sorry let me say this differently….AMP working on a thing where you can use AMP components and other things on the same page and the AMP components will still work.

It won’t pass validation you want to use AMP for your site and want to make a page that has AMP components and then some JavaScript that actually will probably still work now. People are doing this now in the world but it’s not guaranteed to work. Certain AMP components might expect to have control of the whole page and JavaScript gets in there and changes things and they confuse them. The project now internally to make this so it is totally okay to use AMP components and other things at the same time. So it gives you a way out. Also AMP script gives you a way out too if you want to make a different kind of interaction then use JavaScript do it with AMP script.

My recommendation personally is to try AMP out see if you like it. You like it use it for the pages where you can use it. If you don’t like it then use something else.

JH: So I’m going to ask this in a different way, because your answer was great but I think the intention of how that question was originally asked to me to ask to you was more around if we don’t make an AMP site does that mean we’re gonna have less visibility in Google search? Does that mean we’re gonna rank, or we’re not going to be able to…are we going to struggle competitively if we’re not making an AMP site?

BM: It’s not a ranking factor so you shouldn’t. What is a ranking factor is speed so that may actually matter? There are other ranking factors, that I think that I’m not an expert on search, I know less about it then you do probably, isn’t it true that if you go to a site and you stay there for longer is that a ranking factor? Maybe it’s not.

JH: I don’t know. There are some theories around it, it’s around the idea of bouncing back to Google Search. Whether or not they use that information to against that site in some way…

BM: I don’t know to be honest. Whatever it is you might see better results from AMP you might not. I think people often do but I don’t think it’d be that-

JH: You think it might be because of speed not because you’re using some sort of preferred format like Google?

BM: I would expect that if you had a fast site or a fast page then AMP would make a real difference. I mean there are Top Stories carousel but beyond that if you’re not a publisher for example or if you’re a publisher and you’re somewhere else in your in the funnel somewhere I think it matters that much.

JH: Okay well if you don’t know it’s fine. You don’t have to have the answer to every question I have.

BM: I don’t get that involved in the search for obvious reasons. I can’t say much about it even if I did know things.

JH: I know that that group gets fairly siloed in the company.

BM: I avoid hearing about these things, and other people that talk about this stuff I don’t ask them a lot of questions that I don’t want to know.

JH: Maybe they don’t want you to ask them either. They’re like I don’t want to talk about it.

BM: If the fear is if I don’t use AMP will I be punished in search, I don’t think so. I mean you should use AMP where it matters to you. If you want to get Top Stories carousel hit those pages in AMP or if you’re a person who does other things that have carousels in it, use AMP for that. Otherwise use AMP if it makes your pages faster and its easier to make the site. If it’s really painful then I would just use AMP for pages where it matters the most.

JH: So I would make the assumption that because of the direction A team some teams are going with it looks like Google News, Top Stories, carousel that in the future it won’t have to be AMP if the pages really fast. That they would hopefully approach the other parts of the search page the other components and areas of the search page similarly. Which is that it would work the way we think it does today which is AMP doesn’t affect any other part we just kinda know if affects the carousel for news. That would be the direction they’re going. So it sounds like if I were to make your answer the most concise it would be, consider using it if…one just consider using it cause you think its a good thing but also consider going that direction if you are unsure that you’re gonna be able to make a site as fast as an AMP version and if there’s even the possibility if what you described earlier which is a degradation over time.

I think there are some good reasons to create an all AMP site based what we’ve already talked about so far which is degradation and just the ability to be sure that you’re going to have a fast experience. One other thing I heard you say was in some cases it still may not be the right solution because you may not be able to have and do all the things you want to do with your site with AMP the way it is today.

BM: Yeah for example after making a checkout flow for an E-commerce site you may have to make a lot of API calls from certain pages that might be really hard to do with AMP. Also pages that are highly interactive that have a lot of things that move around after a while it becomes harder to do with AMP buying and AMP lists and AMP interactive components. They work great for simple things like in my E-commerce site I’ve been working on I have things like dynamic pricing and filters and sorting and a number of items like heart turn into two or three of these things are pretty straight forward once you get used to how they work and they’re really maintainable. They don’t involve very much JavaScript so they’re pretty simple to copy from site to site. They’re nice but if you get too much stuff on a page it can become a little hairy and maybe you want to use JavaScript or things like you’re making a mortgage calculator or you’re making your own version of an email program. This case is very interactive where AMP would be pretty hard to work with.

I recommend trying it out though and I do think that very few sites out there get as fast as AMP without using AMP. Very few sites won’t regress, I’m talking maybe less then 5% of sites can really do this. When I worked on the site I’ve had the same problems. Like my band site, for example, is pretty slow. I’ve not made it any faster because I’m too lazy to do it. It takes a lot of effort and you have to fight with people internally, you want features, you don’t want an ad. It’s really hard to do so I think AMP is a nice way to try and make your site quicker and build it more simply. I think people should try it.

JH: Cool. Alright. Moving onto the next so we can….i think we both have-

BM: So we should…

JH: Do what?

BM: We have maybe five minutes left.

JH: Okay.

BM: I lose this room.

JH: Alright. I’m gonna go fast. This is speed round. Lightning round. What in the heck is AMP as a service? That was announced and I know a little bit of it but I want you to tell me as briefly as you can about it.

BM: I don’t know what that is either. What’s AMP as a service?

JH: Oh it was in the… I don’t know. Okay well, I guess we’ll go look at the site. It was announced in the keynote at Tokyo. It’s a service it’s like a thing.

BM: I must have missed this one. I’m not sure what it is. Alright, hold on I’m looking now on Google. I remember watching her rehearse this talk because I helped her rehearse it. Let’s ask Google. I think it’s just a term that she used for an approach to programming. I don’t think it was a new product or anything.

JH: Okay. I mean that’s loaded thing to say it has a service because you think it’s fast and everything else like that so I wasn’t sure. Do you know, are there any privacy implications with how AMP is used now even with the sign HTTP exchanges all the way to just how things are cash now? I’ve read concerns from people about when they do that you’re giving Google all of you’re data. If they’re posting it or their go between you’re actually passing it along stacks and information that maybe you typically wouldn’t but you can’t get around that if you’re going to be using AMP.

BM: Yeah I don’t really get what Google would be doing because Google already goes to your page and reads your HTML and look at it anyway. It could distort it if it wanted to somewhere not that it does.

JH: They will but in this case it’s actually the analytics side. It’s one thing to crawl a page it’s another thing to actually be hosting and serving and be the go-between because then you’re actually, even if you’re not using Google analytics you’re getting all the data. You know when people are hitting it and maybe who’s hitting it.

BM: I guess each case it would be lets say you’re page is served from the AMP cache dot from your origin and it uses the AMP analytics for example to send pixels somewhere. Google could somehow grab the information and store it in some way. You can actually watch how this works you can go try this out. Go to an AMP site, use Analytics and look at the requests and see what actually happens. I don’t think Google serves are really involved because the browser would be sending the requests some sort of API run by some sort of analytics provider. It isn’t Google’s server sending the request. It’s possible I’m missing some case where Google could grab some information but I don’t think we would care about that honestly.

JH: Okay. I just wasn’t sure. Like I said I’ve read some things and seen some stuff discussed online about privacy concerns. Especially around signed HTTP exchanges and stuff. We don’t have enough time to even get into that and you must know enough about it to-

BM: Find an actual case where Google could do this, like an actual scenario where this happens, this can be taken by Google in this way let me know. I’d be curious to look at that.

JH: Okay last one I wanted to ask you about the whole push to sort of combine AMP with PWA, but I’m more interested right now in asking you a quick question about AMP for email. Which is I’m super interested in knowing what the fall back is. For example people have to adopt this within the client, right now its really mainly web clients I think or a native app for it to work. What happens if I’m just using..I use Fastmail for my email just cause I prefer that and that’s just kind of standard IMAP SMTP. What happens when somebody sends me an email that has AMP for email built into that message, and I’m using fast mail or just my regular email client via IMAP.

BM: It isn’t supported you mean.

JH: What happens? What does that user experience look like? What’s the fallback? Is there a fall back I would assume there is but I don’t know enough about it.

BM: I don’t know. As far as I know, the email would be just a regular email. The main components built in to do things like get fresh data or let you send something to the server. For example, if you’re using Google docs you get a comment on one of your docs or your sheets and you can respond to it in the email. Which by the way is incredible, especially if you’re in a bad connection on a plane.

JH: Well you have comments and the rest of that stuff. I see a lot of really good and I see a lot of oh no I have another channel to communicate with people, and now it’s embedded in my email message. Oh my goodness.

BM: Yeah I don’t know if it’s really a good or a bad thing to have email change into something but it’s pretty useful. Is it good or bad I can’t say, but I think the fall back would just be the AMP things wouldn’t do anything? So you’d still get all your content but you wouldn’t get fresh content or you wouldn’t get the interactions that AMP would allow you to do.

JH: Okay.

BM: So it would be an email with the same content as before.

JH: Hey Ben, I know you’re out of time so I just want to say I really appreciate you taking the time out of your busy schedule, especially since you’re tired and you’ve been traveling and you’ve been going to Six Flags.

BM: Busy. But thanks for asking me all those questions. Thanks for all the intelligent thought you’re putting into this, I’m really glad to hear that you’re thinking about all these things and other people are too. I know AMP has its flaws and I want to hear about those flaws. Part of my job is to know what the flaws are. We are the people thinking about AMP and some people here, you know John just said this about AMP, have you considered this before?

JH: Such an important question that John asked.

BM: Exactly.

JH: Alright well cool thanks so much.

BM: Yeah alright, have a good week.