avatarSamantha Scott

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

4873

Abstract

f Ads’.</h2><p id="e5e8">A developer at Jyllands-Posten pointed me to a setting in <i>the</i> performance measuring tool, <a href="http://www.webpagetest.org/">WebPageTest</a>.</p><p id="b8c3"><i>(WebPageTest is <b>what you use</b>, when you do performance tests. <b>SpeedCurve is actually based on WebPageTest</b> — and the most important things in SpeedCurve are the automated tests and a much better design/UI, at least some of the parts — I’ll get back to that.)</i></p><p id="ac27">What you have to do, before you do a WebPageTest test, is to ask WebPageTest to <b>remove the letters ‘PTST’ from the user agent string</b> (which every browser uses to identify itself):</p><figure id="f815"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*XitVzBWd_DGzCIjccWOjHw.jpeg"><figcaption></figcaption></figure><p id="e364"><i>(I’ve written <a href="http://ebudvikling.dk/blog/2016/02/15/et-flueben-i-webpagetest-kan-betyde-meget-for-din-performance-maaling/">a blog post in Danish</a> about this nifty little feature.)</i></p><p id="31bb">‘PTST’ is the culprit in all of this. When our ad technology provider AdTech (<a href="http://oneadserver.aol.com/">now a part of AOL</a>) sees a browser with these four magic letters in the user agent, it withholds the ads from rendering. The reason: <b>To avoid wasting ad displays on tests</b>. Which makes sense, when you think about it.</p><p id="a021">Run a test on WebPageTest with this checkbox checked and you get <i>everything</i>. And that’s what we want. I’ve seen tests where the<b> ‘fully loaded’</b> time (the browser is saying “I’m totally done with loading this site now”) <b>multiplied by 5</b>; that’s a 400% increase! In the same test the <b>total number of requests was multiplied by 3</b> (200% increase).</p><p id="1f8d">Oh, and our <b>SpeedIndex</b> value (an expression of how fast the first screen view/viewport loads) <b>increased by 30%</b> in a test.</p><p id="24ab">But while WebPageTest can give us the correct data, <b>it can’t automate it</b>. We could do something via <a href="https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis">the WebPageTest API</a>, but this is something we want to avoid, so as to not have too many products and service to monitor and maintain.</p><p id="8a91">We then went back into SpeedCurve, but there was no feature to allow this. But… in the ‘Enterprise’ edition of SpeedCurve you are allowed to use <a href="https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting">the WebPageTest scripting language</a>. One of the things you can do here is <b>set the user agent, which is exactly what we wanted to do</b>.</p><p id="eefd">Documents were written, meetings were held, decisions were made. And we (across JP/Politikens Hus, that is Ekstra Bladet, Politiken and Jyllands-Posten) <b>signed up for SpeedCurve Enterprise</b>. O, how we thought we had it made.</p><p id="a842">We now saw SpeedCurve rendering the <i>entire frontpage</i>. Just like we wanted. And we <b>started lacking in the comparisons </b>in SpeedCurve, just as we had expected. Especially compared to the Danish Broadcasting Corporation (which has no ads, since they are funded through Public Service).</p><p id="2930">And the good times kept on coming. SpeedCurve announced that they would now support the <b>same browsers as you can choose between in the developer tools in Google’s Chrome browser</b>. A developer at Politiken tested this and yes, it meant we no longer had to script our user agent. This was a huge plus.</p><p id="3606">Just look at what happened once SpeedCurve updated the browsers and <b>started including ads</b>:</p><figure id="3451"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*qDl1ZCRvq4Df8XJ_-4E_1w.png"><figcaption></figcaption></figure><figure id="f16c"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*S0yQfx9Xvxm3BpTAXBSUTA.png"><figcaption></figcaption></figure><figure id="ca74"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*coOQm61VDAbkCz7rD7TFKA.png"><figcaption></figcaption></figure><figure id="8af5"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*bjoBX9-KatudVZE_IKPv_w.png"><figcaption></figcaption></figure><p id="bbdb">As you can see, ads have a…certain influence on our front page.</p><p id="767b">These two screenshots from SpeedCurve shows how big a percentage third party stuff (here; ads) take up of the front page:</p><figure id="db75"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*AoHX6PgiVGzvOWyyWKtOPg.png"><figcaption></figcaption></figure><figure id="2d69"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*rAHw9tS-CTQNzbV_B-zfIg.png"><figcaption></figcaption></figure><p id="4480">Notice those percentage numbers…</p><p id="51e5">When something takes up almost 80 p

Options

ercent of a websites requests and sites shouldn’t it also receive about 80 percent of the attention?</p><h2 id="4c1a">PSTS back in, ads back out</h2><p id="955b">Alas, it wasn’t to last. <b>SpeedCurve changed the browsers and reintroduced ‘PTST’ into the user agent string.</b> Therefore; no ads. We noticed this and went back to scripting the user agent. But that didn’t work either. Though it had earlier.</p><p id="6f31">I got in touch with the SpeedCurve folks. They told me they had fixed a ‘bug’ and that <b>a test browser should <i>always </i>label itself as such</b>, as Mark from SpeedCurve told me in an email:</p><p id="a423" type="7">WPT should always be identifying itself, even if the UA string has been set via scripting.</p><p id="276d">Instead he created <a href="https://github.com/WPO-Foundation/webpagetest/issues/606">an issue</a> with WebPageTest to allow the user to set the user agent (without ‘PTST’) in the scripting language. <b>Nothing has happened since April 25th.</b> Steve Souders (who is the closest you’ll come to a ‘Mr. Performance’) who also works at SpeedCurve has created <a href="https://github.com/SpeedCurve-Metrics/SpeedCurve/issues/62">an issue</a> with SpeedCurve itself to allow us to remove PTST via a checkbox, like in WebPageTest. <b>This issue was created on March 1st</b>.</p><p id="d119">We still had one shot left though: <b>Whitelist a browser with a ‘PTST’ user agent with our ad technology provider</b> to to allow the SpeedCurve test browsers to see the entire page rendered. Unfortunately, this is not possible since it is a “global setting across all client networks”. That means, it would have to be changed across all of the sites that use their technology. According to <a href="http://oneadserver.aol.com/">their own website</a> they have 74 countries with active clients.</p><p id="484c">I then asked if we could allow the browser through if we scripted the user agent to include the word “SpeedCurve”. In effect, <b>their block functionality would allow a browser through if <i>both </i>the words ‘PTST’ and ‘SpeedCurve’ are in the user agent string. But no dice:</b></p><p id="3ef4" type="7">As long as PTST is in the UA we will block it.</p><h2 id="c77f">Alternatives?</h2><p id="bb21">This is, obviously, a precarious situation for us to be in. <b>We can’t measure the performance of our entire site automatically</b>.</p><p id="0fdf">The logic step is to look at alternatives. So far I’ve only tried one: <a href="https://calibreapp.com/">Calibre</a> (which was suggested to me by the same colleague who suggested SpeedCurve). I even wrote to the guy behind Calibre up front to be sure that it would include ads. But the same result: A fast, lean website. Which just isn’t the truth ;-)</p><p id="5988">Until SpeedCurve (or WebPageTest) comes up with a change we <i>might</i> look at the initial no-no: <b>Running automated WebPageTest tests through their API</b>. As Jyllands-Posten’s developer suggested, <b>we might be able to get it up and running pretty fast <a href="http://calendar.perfplanet.com/2014/webpagetest-private-instances-in-five-minutes/">using Amazon</a></b>.</p><p id="9432">So… here we are. Thinking about what to do. Since we can’t automatically measure our entire page render, we can’t <i>really</i> do any performance budgets. We can’t measure any tweaks or changes, either. <b>We could do it via manually tests but that is the last way out.</b></p><p id="77b0"><i>(Also note: Performance budgets are really hard to do, once you’ve got ads in the mix. The load and performance of them vary a lot; week to week, day to day, hour to hour, even banner to banner. Also, the biggest influence on your performance is outside of your control. So ask yourself if a performance budget is the way to go.)</i></p><p id="fa04">If you made it all the way through this article and have either a trick (or a fully fledged automated performance test tool which include ads…) up your sleeve, <b>please leave a comment.</b></p><p id="3b36">Banner ads (and for us; the way they are found, delivered and rendered) are a huge performance culprit but we can’t automate the measurements of that fact. <b>We are stuck with manual tests in WebPageTest — or browser developer tools like those in Google Chrome.</b></p><p id="be1a">(I you found this post by Googling your own frustrations, know this: <b>You are not alone</b>.)</p><h2 id="4029">Update on June 14th, 2016:</h2><p id="d99c">Apparently this <b>isn’t a problem will all ad tech providers</b>:</p> <figure id="e652"> <div> <div> <img class="ratio" src="http://placehold.it/16x9"> <iframe class="" src="" allowfullscreen="" frameborder="0" height="undefined" width="undefined"> </div> </div> </figure></iframe></div></div></figure></article></body>

WRITING ROUTINE

How To Create A Writing Routine You Won’t Want to Break

It’s time to give writing the attention and priority it deserves.

Photo by Cathryn Lavery on Unsplash

The idea around creating a writing routine is to let your mind and body know that it’s time to write. It’s not time to scroll through Twitter or check your unread messages and emails — it’s the time to sit down and write and only write.

  • I can’t seem to find the time.
  • My schedule is so busy.
  • I have to do XYZ before I can start writing

Sounds familiar? This is often what’s said by people who want to develop a writing routine but struggle to start. Bluntly put these are excuses of procrastination and these people simply lack discipline.

By nature, we are all creatures of habit and so we crave routine. Like most things in life, without a routine, it’s too easy to procrastinate.

Turning writing into a habit is necessary if you want to write consistently. Forming a regular writing habit will allow you to hold yourself accountable for your goals, create a regular writing flow and as a result, keeps you on track.

If you follow these tips for establishing and, more importantly, sticking to a routine they’ll help you become a productive, prolific writer.

Schedule Time

Block out some time in your diary that cannot be interrupted. Find a time where other things can work around your writing times and don’t allow for distractions.

You can do this right now, open your calendar and allocate a realistic amount of time that you know you can afford. Schedule this time at least once a week and set an alarm to remind you.

Make this time Sacred

This time should be non-negotiable. If you can’t write every day, make sure you have time blocked out multiple times a month and review this schedule on a regular basis — it may be that you can allocate more time in future.

Not only will this help you stay consistent, but it will also keep you from booking in something else over your writing session and allow you to give writing the attention and priority it deserves.

Photo by Chris Spiegl on Unsplash

Dedicated Writing Space

When establishing a writing routine having a dedicated writing space can help you get into the routine. Eliminating distractions is key here so wherever your space is, it must be a place where you’re comfortable and where no one will bother you.

Put your headphones on, disconnect other devices, concentrate and focus. This time is solely for writing.

Tell your loved ones

Telling your friends, family, and or loved ones will put pressure on you to commit to your writing habit.

Sharing your progress will incentivise you to stick to what you said you would do because you’ll want to live up to the expectations you’ve set for yourself.

Even if they are not actively holding you accountable, the simple act of sharing your commitments will help you hold yourself accountable.

Commitment

Once you’ve got a routine that works, you’ll need to stick to it. Your commitment to the routine itself can’t change. The repetition of a routine becomes the most important thing because it’ll allow you to reach a deeper state of mind. The more often you write, the easier it’ll be to establish an effective routine.

It’s important to understand where you can produce your best work and use this to your advantage. Forming a writing routine will give you direction and help you stay on track.

The key is to stick to your established routine by remembering to always prioritise your writing…texting your friend back or doing the laundry can wait.

If you enjoy reading stories like this and you want to support me, why not consider signing up for a Medium membership? It will only cost you $5 a month — and you’ll get access to all stories on Medium!

If you use this link, I will earn a small part of that, otherwise, if you want to stay updated when I share a new story, you can signup here, for my free newsletter!

If you liked this article, here are some other articles I know you will enjoy.

Writing Tips
Writing Life
Writing Routine
Routine
Lifestyle
Recommended from ReadMedium