The Be Nice AMP Project
11 October 2015
Yeah, we all know that the web suck sometimes. It's slow. Especially on mobile. But hey it seems to be a solution to that! Steve Souders, Ilya Grigorik and other smart people has helped us understand how we can build web sites that are fast. It started with Steves YSlow rules and have continued through the years with the excellent O'Reillys Velocity conferences. The knowledge is there. Why are some sites then so slow?
I think the focus hasn't been right to make sites fast. Yep, I know we have the evidence that faster websites makes more money, more visitors, more whatever. But we haven't been able to show the business that a site that is two seconds faster gives X more dollars. And we don't actually have a really good way to measure speed. We have Speed Index (tool specific) and User Timings (site specific) but we are still looking for a magic bullet.
When I started working as a web developer, I had a hard time to fight off the business. When the business said jump, I said how high. When the business wanted to include code from a partner, I did it. Even though I knew that the code was bad and could hurt our performance. Being a young developer I didn't have the courage to say no to the business. I think it is quite common.
That's why at a first look at Googles new AMP Project it looks like something useful. It's a way to force the business to make fast web sites! We are only following the AMP Project standard, no we cannot have ads from XXX or no we can't have the Facebook share button. Remember Googles goal is that our site is fast. It would help me as developer against the business.
So is that what it really is? When I look at the AMP Project website I see:
- Many scared publisher-faces saying that they love the new initiative helping the web to be fast. Scared because if they haven't joined, competitors joining would make them lose visitors and make less money.
- Companies that want to make sure people continue to share content through their sites (Twitter/Pinterest/LinkedIn).
- An "Open Source" project but who decides what should be in it? Who lead the project and who makes the decisions what should be included or not? To me the decision to not allow any author-written JavaScript or third-party scripts is a business decision to make sure competition is kept out of the way. I could be wrong though so please show me.
- I see a couple of cool ways to make web pages faster combined with some things I don't like. Taking the lookahead-parser out of business is sad. Making the browser parse Javascript before it can start download other content is wrong, that could never be right. But the most important thing: You don't need a Javascript library to build static content sites.
The AMP Project is naked! Ok so I said it. The AMP project is a way to lock in companies with Google, making a mighty company even more powerful. And I don't see how that could make the world a better place (even if some sites would be faster).
That's why I made the Be Nice project. The Be Nice project has adopted the knowledge in the web performance community and leverage on that to make your pages really fast. In fact, this page is, itself, built with Be Nice technology.
The page you are currently reading is an Be Nice document!
It is HTML with the CSS inline. And using HTTP/2 and server push you don't even need to inline! The Javascript here is Google Analytics and share buttons. Want images? Use responsive images.
The Be Nice project is kind of a joke but I think you should take it seriously.
P.S I don't hate Google, I just don't think the AMP Project is the right way to go for the web. Why? Checkout when I compared the speed between the Be Nice project and plain AMP: Without any cache and with cache. However the last one is a little misleading since the whole page is cached in Be Nice.
Written by: Peter Hedenskog