Adblocking: down the track in travel

I’m not going to go to deep into the pros and cons of actually using an adblocker, other than to say I don’t agree with their use — especially if a publisher makes it clear they don’t want you to use one. Instead I wanted to write about what the results of adblocker use by a large majority of readers might look like down the track, within the travel writing sphere.

There are three main aspects to this. How advertisers and ad networks will respond, how publishers will be affected and how readers will be affected. What will happen to the reader’s experience is the most important to my mind, but I’m treating it last as the other two are inter-related and contribute (obviously) to the reader experience.

How advertisers and ad networks will respond
Two primary arguments are raised by the pro-adblocker camp: Ads are annoying and detract from the reading experience and adtracking is loathsome. Currently, most adblockers block third party Javascript, which is used to load both ads and tracking cookies, removing both issues.

The most straightforward way to address the first part of this (the ugly annoying ads) is to load them server side. Plenty of sites already do this, so those ads are (generally) not blocked; expect to see more of this. Adblockers can block on creative size — for example, they can block all images that are IAB unit sizes — but there will be a considerable amount of collateral damage to this approach (as not all 300*250 images are ads, for instance).

Getting around the tracking block is more difficult but not impossible. Assigning unique IDs to readers and then identifying characteristics like referrer (where available!) and other user-agent/platform stuff, plus plenty of site specific stuff (such as time on site and pages viewed) is relatively straightforward. This information could then be baked into the querystring and passed to an adserver on click (because the ads are now being served server-side). Some publishers would probably agree to bake that into their entire site navigation for enough $$. Sure, it’s not as comprehensive as current tracking, but it is a start. Take a look at ANY Online Travel Agent querystring once you’ve surfed around a bit to see what I’m talking about.

Content-wise, what should we expect to see? A massive growth in native content — this is basically advertorial, renamed to make is remotely more socially acceptable. Brands pay the publisher to have their editorial staff prepare stuff related (sometimes vaguely, sometimes very specifically) to the brand, whittling down the editorial/advertising Chinese wall. As Medium founder Evan Williams says, “Native ads are the only thing that can work. Other stuff hasn’t been a win-win especially for users. It’s on its last legs.” I’d never categorise native advertising as a win-win, but Williams’ sentiment is a common one.

Responsible publishers clearly disclose native content — phrases like “Partner content”, “In conjunction with” and “Sponsored by” are all code for advertorial. Of course, clearly disclosing native content to your readers means you’re also clearly disclosing it to adblockers. So expect adblockers to increasingly block this material as well.

Therefore the next step will be for brands to require undisclosed native content blended in as closely as possible to editorial content. This will be far more difficult for adblockers to detect correctly and remove. It will also be extremely difficult for readers to realise what they are reading is actually an ad.

This last step is a double win for the advertiser — unblocked content that readers don’t realise is advertorial. It isn’t so much a great thing for publisher trust because when readers realise they’ve been tricked into reading an ad, they’re generally not very happy.

So the ads and much of the tracking are gone — yay! They’ve been replaced by material that is advertorial and indistinguishable from editorial — not so much yay!

What will happen to small-scale publishers?
At, say, a 75% percent block rate, many independent smaller scale publishers (ie too small to have dedicated ad and tech teams) will stop publishing. Aside from lawyers, bankers, cocaine dealers and politicians I can’t think of many occupations who work with a 75% profit margin; take away three-quarters of any business’s income and it will struggle. Non-professional hobby sites will undoubtably continue, but maybe they’ll just pull in enough for a slab of beer annually rather than monthly.

Obviously a wise approach as a professional publisher is to not have all your eggs in one basket — being totally reliant on advertising has never been the best idea. Travel-themed affiliate marketing and ebooks are two obvious and relatively easy candidates to help in this regard. But these revenue streams too may well be blocked in the future by adblockers because of the zeal of people who simply think information should be free (never mind the cost of compiling the information).

In travel publishing, we’ll see a vast growth in advertorial (sorry, I mean native content) — not that it wasn’t already a massive reader problem in travel. Expect more luxury hotel insider pieces paid for by luxury hotels, adventure travel experiences paid for by adventure travel companies, local food pieces written by local food tour providers, PR companies paying for guidebook writers to visit certain properties and so on. The travel vertical is already awash in native stuff. Expect to see plenty more from publishers willing to do it and less and less of it to be disclosed to the reader.

The reader experience
As an adblocking reader, you’ll be tracked less and see fewer ads. You’ll also be presented with far more content that, well, is probably actually an ad. You didn’t realise? That’s the idea. And if you don’t use an adblocker? Well, you’ll still face reading crappier content online as well as some publishers bend to the new regime.

For some readers, this is a reasonable trade off. But it is worth considering that the most likely result to your “hating ads” and so blocking them, will be getting to read ads without realising they’re actually ads.

And whatever you do, don’t worry about all the tracking that is going on while you browse the web logged in to Facebook. (That was sarcasm.)

On Travelfish
Advertising is a minor but important part of our revenue stream. If 75% of our readers blocked ads, we wouldn’t be very happy about it, but we wouldn’t go out of business. You’ll never read native content on Travelfish. We’d shut the site down before it came to that.

We will continue to run ads, as we currently do, primarily through Google Adsense which remains, by far, the most cost-effective way for a small publisher to monetise their website. To the full extent that the Adsense platform permits, we disallow advertiser practices that present a poor user experience or enable excessive tracking. For example, we block third party and interest-based ads as well as more than 2,000 “Google-certified ad networks”. There is definitely a revenue cost for us associated with blocking these “services”. Does this matter to adblocking software? No. An ad is an ad is an ad.

If the adblock rate gets high enough, we’ll paywall adblockers. Don’t want to pay and don’t want to turn your adblocker off? Take your entitlement over to Wikivoyage please. (This is not meant as a slight to Wikivoyage – they’re a solid site – but rather highlighting a non-commercial site providing similar information to Travelfish.)

We don’t think we’ll be the only publisher to do this — others who get that icky feeling about native content may well do the same. If you buy an adblocker, consider that down the track you may also have to buy access to a site in lieu of seeing their ads. Some people are cool with that; if so, everyone is happy.

One thing I’ll give adblockers: blocking comments on blogposts was a great idea. But what about the perfect adblocker?

Does social matter?

If you have a travel-related website, perhaps not.

A big fat NOTE up front here, I pulled together this information from SimilarWeb which delivers estimated stats on desktop traffic and I couldn’t see any way to split the stats out by device. One would imagine the stats would be somewhat different on mobile.

Anyway, I gathered the site stats on ten travel websites (Lonely Planet, Rough Guides, Fodors, Frommers, Travelfish (my site), Tripadvisor, Moon, Wikitravel, Travellerspoint and Gogobot) and then gathered the same information for ten news websites (NYT, Guardian, The Atlantic, New Yorker, SMH, BangkokPost, FT, The Australian, LA Times and the Independent). I then plonked them all into a spreadsheet and made the following four simple charts.

Get a magnifying glass for social.

Get a magnifying glass for social.

Social traffic
This is FAR more important to news websites than travel. Rough Guides derives the largest proportion of its traffic from social, but it is still below 5% of overall traffic – the average across the ten travel publishers was just 2.09%. Compare this to the Independent in the UK who gets 36.68% of traffic from social, with an average across the ten publishers of 22.03%.

Search traffic
This is the bread and butter to travel publishers, with an average of 73.62% across the ten. News by comparison is just 30.66% across the ten. Similarweb doesn’t break out results from so I’m assuming it is wrapped into the overall Google figure. I’m kinda surprised it is this low, but, to be honest, I can’t remember the last time I looked at Google News – Twitter is now my newsfeed.

A closer look at social for travel websites. The “big three” are Facebook (52%), Twitter (16%) and Reddit (16%), but there are very big fish in a tiny pond. Taking Rough Guide for example, their largest social source of traffic is 41.43%, but that is 41.43% of 4.48% of their overall traffic – ie Facebook represents 1.85% of their traffic.

One point eight five percent.

This all makes sense I guess, breaking news is far more “share-worthy” than a profile of the guesthouse that you stayed in last night, so maybe give that some thought before you slather social sharing buttons all over your website.

Traffic data is here.

Why is Indonesian telcom firm Telkomsel hijacking websites?

Update, added a couple of links below with previous coverage on this scabby behaviour.

Indonesian telcom firm Telkomsel have for a while been injecting crappy little banners above websites without the website owner’s permission. This happens if you’re using their prepaid 3G simcards. This has for years been regarded as a particularly crappy parasitical practice, but Telkomsel take it to an extra level by coding it so badly that the sites they are injecting the ads onto (including mine) get broken.

Here are some screenshots:

Travelfish homepage
This is a “best case” usage as the injected ad (the “weplay” leaderboard up top) doesn’t actually break the site.

Example 1

Example 1

Travelfish forum page
This is a “bad case” usage, where, because their crappily coded stylesheet uses the same element names we do, it breaks the form on this page (it overly widens it) making it impossible to read the screen.

Example 2

Example 2

Agoda booking form
This is a “worst case” usage, where the crappy Telkomsel code makes the Agoda page unusable. I’d imagine Agoda and Priceline’s legal departments would find this of considerable interest.

Example 3

Example 3

Here’s the code Telkomsel are using to inject the ads — they are clearly hosting it. I’ve wrapped it for legibility and bolded a couple of the ad serving URLs.

For websites that are transactional, like Agoda, there is a clear revenue affect here where the ad code Telkomsel is inserting is making Agoda’s website unusable. For other sites, like ours, it is just a PITA.

&lt;meta http-equiv="refresh"content="0;
<link href="" rel="stylesheet" type="text/css">
<script type="text/javascript" src=";i=174559005&amp;j=2&amp;
<script type="text/javascript" id="placeholder-script"

<meta content="minimum-scale=1.0, width=device-width,
maximum-scale=0.6667, user-scalable=yes" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<title>What's the most famous attraction in Hong Kong? :
Travelfish Hong Kong travel forum</title>
<script type="text/javascript"

<div id="container">
<div id="top-banner">
<div id="offdeck-ads-div"
style="height: 69px; padding-top: 2px; padding-bottom: 0px;
margin: 0px auto; background-color: rgb(221, 221, 221);
position: relative; box-shadow: rgb(0, 0, 0) 0px 2px 3px;
-webkit-box-shadow: rgb(0, 0, 0) 0px 2px 3px; z-index: 50;
clear: both; background-position: initial initial;
background-repeat: initial initial;">
<div id="ads" style="width:100%;text-align:center;">
<div align="center">
<a href=";t=1411104155737
&amp;acc=4040581&amp;monitor=0&amp;n=http%3A%2F%2F&amp;a=85733636&amp;data=" accesskey="">
<img src="" alt=""></a>
<img src="
height="1" width="1" alt="" style="display:none">
<hr style="margin-top:2px; padding-top:0px; padding-bottom:0; margin-bottom:1px;">
<div id="toolbar" style="width:100%; text-align: center;">
<div style="width:300px; margin: 0px auto;">
<div style="text-align:right; width: 295px; display:inline-block; height:12px; vertical-align: top;">
<img id="btn-hide" class="ibn-ads-button" src=""
style="cursor: pointer; height:10px; width: 50px; vertical-align: top;">&nbsp;
<img id="btn-close" class="ibn-ads-button" src=""
style="cursor: pointer; height:10px; width: 50px; vertical-align: top;">
<div id="middle">
<div id="left-banner">

<div id="content">
<iframe id="main-frame" scrolling="no"
height="5015" style="height: 5015px;">

<div id="right-banner">

<div id="bottom-banner">

<script type="text/javascript">
p={'t':'3', 'i':'174559005'};
<script type="text/javascript">
var b=location;
if(typeof window.iframe=='undefined'){
<script src=""></script>
<script src=""></script>

<div id="showbutton" class="sh-div sh-div-top-bottom sh-div-top " style="display: none;">
<span class="showbar">
<a id="btn-show" href="javascript:void(0)" style="padding: 5px; font-size: 10px; font-family:
verdana; color: black; text-align: center; font-weight: bold; text-decoration: none;">show ad</a>

So Telkomsel, could you stop doing this please?


Update 20 September 2014, seems I’m very late to the party on this issue. Here’s some others who are equally displeased with the situation.

On similar practises by another Indonesian Telco, XL, Batista Harahap says: “I can’t agree with these kind of practices. Period.”

Aulia Masna in October last year for Daily Social: “There is a concern that XL’s employees or anyone with access to this practice will be able to capture people’s login details for various websites.

I liked your post so much I didn’t read it

Last week, as a part of our “giving back in Southeast Asia” series we published a piece profiling the Soi Dog Foundation. They’re a group in Thailand doing great work helping stray dogs (and other animals) and are funded totally by donations. Nice work!

The charity pieces tend to get very few reads on Travelfish and this was no exception. But, as you can see from the screenshot below, the story got quite a few likes — 3,894 according to Facebook.

Likes all over the place!

Likes all over the place!

It wasn’t till the author of the piece let me know that the Soi Dog Foundation had shared the piece on their Facebook page, that this made more sense. Afterall, they have around half a million “fans” on Facebook. Sure enough, when I look at the piece on their Facebook page, there are the bulk of the likes — 3,580 of them.

How can you not like that dog?

How can you not like that dog?

I got all excited, expecting a tonne of (well 3.5 tonnes to be exact) readers on the story on our site. But, it seems I was barking up the wrong tree.

A bit of a dog.

A bit of a dog.

The above screenshot is from Google Analytics and shows ALL traffic to the story — not just from Facebook. The busiest day saw 313 reads.

What does this mean?

It means that one shouldn’t see Facebook likes as some kind of proxy for web traffic.

It indicates, that at least in this case, the vast majority of readers (90%) liked the post without reading it.

Perhaps most importantly, it means that a story displaying a badge saying it has x number of likes is largely meaningless. (We’re removing them in the redesign).

Lastly it means all stories you publish to Facebook should include a photo of a cute dog.

You can learn more about the great work the foundation is doing here.

How to speed up your website

The easiest way to speed up your website is to invest in a better server.

The second best way to speed up your website is to not have 3 meg GIFs of cats on the page.

But what about after that?

I took a typical Travelfish feature story page, with a standard Adload and went through a series of steps to see just how quickly I could get it to load. You’ll see that the problem of a lagging load are quickly taken out of your hands.

All results are via the smart cookies at Pingdom

Grade 77
Requests 107
Load time 2.43 seconds
Pagesize 1.2 meg

Step 1: Remove all social sharing buttons
Theoretically effects ability of readers to share content on other networks.
Grade 80
Requests 81
Load time 3.54 seconds
Pagesize 1.1 meg

Step 2: Switch Adsense ads to async
No downside I’m aware of. That the code wasn’t already async was my oversight.
Grade 79
Requests 89
Load time 3.53 seconds
Pagesize 1.0 meg

Step 3: Reduce Jpg images from 80% to 60%
Slight change to image quality. More noticeably on retina screens. This was the biggest single improvement.
Grade 79
Requests 91
Load time 2.05 seconds
Pagesize .915 meg

Step 4: Split images across four S3 subdomains
This would have more of an effect if I had say a dozen images as there could be more parallel downloading. In this case a bit of a non issue.
Grade 78
Requests 91
Load time 2.01 seconds
Pagesize .916 meg

Step 5: Remove GAM to basic Adsense code
Removes ability for me to set an artificial floor on the ads displayed. Immediately started seeing weightloss ads. This change would have a revenue implication.
Grade 80
Requests 84
Load time 1.79 seconds
Pagesize 1.0 meg

Step 6: Dump to a plain HTML page
Removes ability to serve dynamic content.
Grade 80
Requests 82
Load time 1.15 seconds
Pagesize .918 meg

Step 7: Remove all ads
Obvious revenue implication!
Grade 85
Requests 37
Load time 0.715 seconds
Pagesize .614 meg

Step 8: Remove Facebook like code
Ego/social proof buttons no longer shown – this should have gone in step 1 – I forgot.
Grade 92
Requests 26
Load time 0.647 seconds
Pagesize .466 meg

Step 9: Remove Google search suggestion from the search box
Readers lose search suggestion.
Grade 97
Requests 19
Load time .416 seconds
Pagesize .361 meg

Step 10: Remove Google Analytics
Obvious loss of traffic measurements.
Grade 98
Requests 17
Load time 0.357 seconds
Pagesize .345 meg

So in ten steps I’ve improved load time from 2.43 seconds to .357 seconds — not too shabby. In the process though, I’ve removed all sharing, tracking and revenue opportunities. This is not exactly a win win situation.

Off the top of my head takeaways.
1) Any changes while still serving Adsense are difficult to measure as Adsense can serve wildly varying ads that will impact the Pingdom results. On one load I saw an Adsense cumulative load of around 700meg!

2) The “easiest” improvement was reducing the image quality. But there seems little point in doing this when Adsense can dump something massive in. The second easiest way is to remove ads. Great for readers — not so hot for the bottom line.

3) Google (and Facebook to a lesser extent) really need to consider adopting some of the “best practises” they keep advising everyone else to.

The parasites of travel

So this afternoon I received an email from a very well funded US travel startup called Hopper, titled “We shared your blog on Hopper”. It caught my attention because a week or so ago I’d called them a parasite on Twitter because of their practise of scraping other site’s content into their system, without permission and then “nofollowing” the links back to the source material (they do appear to have stopped this though). Anyone who knows anything about good link practises will agree this is scabby behaviour — perfected in fact by Wikipedia (but I’ll save that rant for another day).

So I was surprised to receive the email. As you can see from the screen shot below, the email had a prominent call to action, asking me to “See your featured post”. The link actually led to:

Must click on the yellow box.

Must click on the yellow box.

From the URL I guess (a) they think I’m a blogger and (b) I’m being “onboarded”. Yay!

So of course, idiot that I am, I clicked on the link. Here is where I ended up.

Wow I'm a Hopper member!

Wow I’m a Hopper member!

There’s a few interesting things on this page.

a) There’s no mention, anywhere, of the Hopper Member who actually submitted this content.
b) The Blank headshot icon and “travelfish” near top left implies it was submitted by a member called “travelfish”.
c) Image is still pulled from our Amazon imagebank — so we’re paying. (this is a minor issue, but I’m feeling pedantic).
d) The image is credited to with a dofollow link, below the image. Image actually belongs to Penang Global Tourism who gave us permission to use it on We forgot to ask permission for Hopper as well.

Moving on.

If you click on the “travelfish” link near the top you get to the following page:

Us be parasites absolut.

Us be parasites absolut.

Wow. You know, I didn’t know I had an account named Travelfish. Well, I don’t actually. I guess perhaps someone else started up an account called travelfish… But hang on, who is this Matthew dude?

Now I’m guessing here, I’ll be generous and assume Matthew is a real person and not a bot scraping websites… but it seems he was the one who actually submitted the photo. That’s a bit surprising really as “Travelfish” is mentioned at least five times on the page and hell, if you ask me, with that prominent blank head shot and Travelfish up top, this really looks a lot like Travelfish’s member page — I guess they must be submitting their stuff to Hopper because they think Hopper is a shit hot site.

Actually we think Hopper is just shit.

It’s a fab example of the breed of funded travel startups who feel no need to, well, travel. Instead, they take a leaf out of Wikipedia’s book and hoover up, rewrite and nofollow.

The most ridiculous thing is, the photo used isn’t even ours. If our mate Matthew had even bothered to read to the bottom of the post rather than just act on a hoovering alert for “Hey it is Chinese New Year, go find some dragon images from somewhere to rip off” he’d have noted that the image wasn’t actually from Travelfish, but in fact from a tourism org who gave us explicit permission to use the image.

You know Hopper, you can do that — you ask people — or organisations — before you take.

But image use aside, I’m very curious about the “travelfish” account as it certainly appears to have been set up as a result of me clicking on the link in the email. Assuming that is the case, while it’s a clever little tech pirouette, nowhere in the email did it say that in clicking on this link I’d be setting up an account on Hopper, nor implying that I approved having an image that we were using under permission.

So, I’d appreciate it if Hopper could remove the Travelfish username and also blacklist the addition of any Travelfish content to their site, because, well, their site sucks and we don’t want to have anything to do with it whatsoever.

Thanks and have a great day!

Received the following email from Jess Petersen, VP Product at Hopper this morning.

“Hi Stuart,

I just wanted to let you know that we’ve removed your content from Hopper as you requested, and added your site to our blacklist so that no more content can be shared from your site.

I’m very sorry that we upset you by sharing your content on Hopper. We are big fans of travelfish; in fact, one of our developers mentioned he got a lot of great advice from you guys on his 3-month trip though Asia last year.

Ultimately we are trying to build a site that benefits both travelers and bloggers, but we understand completely if you don’t want to be a part of it right now. We’ll keep working on making the site better, and we welcome your feedback along the way.

Hope you have a good day, and safe travels,

Jess Petersen
VP Product, Hopper”

So a thanks from me for acting quickly on this. Cheers

Escape from Gorontalo

It’s not often you meet a plane crash survivor in a hotel lobby, but that’s what happened to me last week, in the foyer of the New Melati Hotel in Gorontalo, northern Sulawesi. “Good morning,” I said, as I sidled up next to her, waiting for her to finish with the receptionist. She turned, smiled and blurted out, “I was in a plane crash last night. Our plane hit a cow.” [Story updated at end with apology from Garuda]

Indonesia: where the unexpected is to be expected.

The woman and her family had been on the Lionair flight from Jakarta to Gorontalo via Makassar on Tuesday, 7 August. Upon landing the aircraft either hit a cow “idling” on the runway and skidded off into the grass or skidded off the runway, then hit a cow. Both are perfectly credible as Lionair pilots do sometimes have trouble finding the runway, and as we later saw, plenty of animals hang out around the runway at Gorontalo airport thanks to gaping holes in the fences.

Not a cow in sight.

Not a cow in sight.

While uninjured, the woman I spoke with was still visibly shaken — she had only just found out that they had hit a cow (via media reports online). Lionair had told her and other passengers nothing at the time. She said it felt like the plane had hit something before it bumpily halted; passengers opened the emergency exits, but the crew told people to stay where they were, even though they could smell something burning. When they finally got off, they saw it was the grass the plane had stopped on.

But I’m not going to write too much about Lionair today. Instead I’m writing about Garuda: Indonesia’s flag carrier and, according to Skytrax, the World’s Best Regional Airline. Why? Because we had a flight out of Gorontalo to Makassar, then a connecting flight with Lionair the next day from Makassar to Bali. We were due to be leaving the morning I met the cowcrash survivor, on Wednesday 8 August.

No we're probably not flying anywhere today.

No, we’re probably not flying anywhere today.

We had booked back in May two legs: Gorontalo to Makassar with Garuda and Makassar to Bali with Lionair. A month after purchasing the tickets, Garuda advised us by email of a change in the time of the Gorontalo flight, which meant we would now miss the original connecting Lionair flight. When I contacted Garuda to explain the problem, they suggested we change the flights to the previous day — at a cost of 111,000 rupiah per ticket. So even though we were changing the tickets in response to a change Garuda made, we still had to pay the fee. We sucked it up and paid, and were thus also forced to have an overnight stay in Makassar.

Then on Monday 5 August (two days before departure) I received an email, this time from the Garuda office in Gorontalo (which, by the way uses a Yahoo email account), notifying us of another schedule change. The flight was again being shifted from morning to afternoon.

Then, on the Tuesday, Lionair crashed into that cow, closing the airport to 737s (smaller aircraft, used by for example Air Wings and Sriwijaya, apparently used it the following day).

Gorontalo airport cow-gate.

Gorontalo airport cow-gate.

After meeting the cowcrash survivor, we asked the receptionist at our hotel to see whether the airport was open or not. It was closed; so I hoofed it over (geddit?!) to the Garuda office in Gorontalo for clearer information. There I was told the airport was closed, but that we were all confirmed on a Garuda flight the next day, which would allow us to still make our Lionair connection out of Makassar.

Early in the morning on Thursday August 8 (3:17AM!!!) I received an SMS from Gorontalo Garuda notifying a flight schedule change, with flight now departing at 13:50, with a note to call (0435) 830444 for more info. This number didn’t work.

At Garuda allowed our kids to sleep on the terminal floor.

Waiting for… Garuda.

We decided to be conservative and so headed to the airport early. Cost: 280,000 rupiah. Arriving at 11:00, we were first in line and Garuda staff at the ticket told us the flight was “on time”. We then tried to change our Lionair ticket onwards to Bali but were told by the Lionair staff that there would be a cancellation charge of 90%, as “there’s no problem in Makassar”. Cost: almost 3 million rupiah.

As time wore on, we expected Garuda check-in staff to appear. No. At no time did ANY Garuda staff come to address the passengers lined up waiting to check in. Then, at 12:35, Gorontalo Garuda texted to advise that the flight was cancelled (an hour and 15 minutes before ETD from Gorontalo). I asked Garuda staff at the ticket office at the airport what was going on, but they said they didn’t know. Other passengers were told by other staff that there would be a flight at 14:00, then at 16:00. No staff mentioned that the Lionair aircraft had still not been moved and this was why we couldn’t get out. The airport reportedly lacked the equipment to move it — we heard later they tried to move it with an excavator a bulldozer.

Happy Garuda customers.

Happy Garuda customers.

As the number provided by Garuda didn’t work, and the ticket office was a madhouse, I called Garuda in Jakarta at my own expense, spending 30 minutes trying to get advice on what we should do. They were unable to tell me whether any flight was happening that day or the next. With two tired children — and thanks to it being Idul Fitri, not a single shop open at the airport where we could buy water or snacks when our own supplies were finished — we gave up and returned to Gorontalo (cost 200,000 rupiah).

The check-in counter: We're all about service.

The check-in counter: We’re all about service.

Later, back at a hotel in Gorontalo — Garuda didn’t offer transport back into town, accommodation or meals — we spent another half an hour on the phone with Jakarta Garuda. Finally, they told us we had a confirmed reservation on Friday August 9. We then purchased connecting flights (with Garuda) to Bali for Sam and the kids (I was heading to KL). Cost: another 3 million rupiah.

What, do I need to spell it out for you?

What, do I need to spell it out for you?

Other friends who were also hoping to fly on August 9 (with Lionair) head to the airport earlier than us. Upon arrival, staff told the airport was closed to jets; they called the hotel to tell us. We then spent a full 80 minutes in total (across a series of calls) with Garuda Indonesia in Jakarta trying to shift change our departure city from Gorontalo to Manado, a nine-hour drive away. In the middle of this, we received an SMS from Garuda Gorontalo advising the flight is cancelled. Despite being on a confirmed flight on Friday from Makassar to Bali, we were now pushed to Saturday’s flight — which is full, so we were waitlisted.

Though on the first call we were told that charges will be waived if we shift to Manado, as the call dropped out we need to call back — again and again and again. And the final person, to whom we explained the entire scenario again, refused to waive the fee. We would have to pay an additional 2 million rupiah. (At the start of each call, we asked the Garuda agent answering whether, if the call drops out, they can call us back, and gave two mobile numbers. Each time, nobody called back. On the final call the agent told us that actually they are not permitted to call back clients.)

Trying to get a straight answer out of Garuda in Jakarta.

Trying to get a straight answer out of Garuda in Jakarta.

We then chartered a car for the drive to Manado (that’ll be another 1.2 million rupiah — we wonder whether the thought of putting a bus on for the scores of other passengers like us on the first day occurred to Garuda?). One of the kids was now coming down with tonsilitis, but that’s probably the one thing we can’t blame Garuda for. Though if we had been home by now, nobody would have been vomiting during the first hour of the drive, right?

Roughly five hours into the drive, at 18:57, we received an SMS from Garuda Gorontalo advising that a flight from Gorontalo to Makassar was due to depart Gorontalo at 20:10. We had to laugh. It was pretty hilarious after all. Check in is supposed to be one hour before departure; we were given 13 minutes to check in, and Gorontalo airport itself is a 45 minute drive from downtown. We ignore the text as we’re closer to Manado.

Gorontalo airport then called at 20:33 advising that the flight would indeed be departing soon (from Gorontalo). I explained that we were on the way to Manado.

The next morning, the gracious staff at Manado agreed to waive the change fee on the tickets and 1.5 hours later we were, finally, in Makassar. Sam and the kids however were still waitlisted on the flight to get back to Bali. The child with tonsilitis had a high fever return; we couldn’t sit outside the airport for four hours to see whether we would make the flight. Business class seats were available. We called it a minor emergency; the kids were starting school on Monday. We bought the upgrade. Ka-ching — another 3 million rupiah.

What could have been done better?

Nobody expects an airline to use a Twitter or Facebook account to move an aircraft. They do expect it to be used to assist in customer support.
Suggestion: @indonesiagaruda “We’re working with Gorontalo airport to get the Lionair aircraft off the runway ASAP.”

A timely tweet from Garuda in the midst of the drama

A timely tweet from Garuda in the midst of the drama.

While we understand this whole drama was caused by either Lionair or Gorontalo airport’s incompetence, Garuda and its passengers were directly affected and Garuda was in complete control of how it responded to the situation. At no stage did Garuda use social media to address our concerns. We did get one message from an account we hadn’t actually tweeted to, telling us that they were trying to get confirmation of whether a flight would leave Gorontalo. But they never tweeted us again.
Suggestion: @indonesiagaruda “We apologise to our passengers stranded at Gorontalo airport and are working to rectify the situation ASAP.”

Pay attention
In ignoring our tweets, Garuda demonstrated a flagrant disregard for the wellbeing of their passengers. Why was international media able to pick up and respond to our tweets and photos while Garuda was unable to even acknowledge them?
Suggestion: @indonesiagaruda@sagabrown We’re sorry, the flight has been cancelled. Please return to Gorontalo and stay at the Quality Hotel — we’ll fix you up for it.”

Supply updates
In 2012, Indonesia had the fifth largest number of Twitter accounts in the world. Garuda has a Twitter account — one with almost a quarter of a million followers in fact. Why didn’t Garuda use its highly visible account to notify passengers of updates? Why did they pointedly ignore customers who were actively trying to contact them?
Suggestion: @indonesiagaruda “We’ll be running a courtesy bus to Manado for those who want to change their flights (free of charge). Contact the Gorontalo Garuda office for more information.” This was their chance to also supply a corrected phone number.

What did Garuda do instead?

Absolutely nothing.

We think this might make a rather good case study for carriers generally in how NOT to behave when flights are cancelled/delayed. We’d be happy to hear what Garuda thinks — so we’ve left the comments open.

We’re looking at tickets from Denpasar to Rome in September… but not with Garuda.

This one is for you LionAir (Pic )

This one is for you LionAir (Pic )

Final note
If you’re looking for a good argument for travel insurance (which we didn’t have because our preferred travel insurance provider World Nomads unfortunately doesn’t cover us in the country we live) this should be it.

Update: 19 August
I just received the following apology from the Social Media at Garuda Indonesia.
Dear Helpdesk Admin

following up the posting of “Escape from Gorontalo” listed on august 17th,2013, about cowcrush accident at august 6th,2013 in Gorontalo airport that caused cancellation of flight schedule. For the flight cancellation on that moment and airport service were not all Garuda Indonesia responsibility ,however,from the side of Garuda Indonesia, we would like to say sorry for the inconvenience and would like to say thak you for critic and suggestion.And we would hope and try for the best services in the future that apply very well to customer.


Travelfish turns 9 today

It probably strikes some as a bit odd that Travelfish’s “birthday” is the same as mine, but given it sometimes feels like an extra appendage, it seems appropriate — and it does save me one date to remember.

Another day, another year, soon another decade… But what has the last year brought us? Well first and foremost it has seen our slowly growing membership continue to work to make the site the great resource it is. Thank you — every single one of you — even those who drive me a little mad.

Separately, we’ve seen a dramatic deepening of our content in some areas, while others remain badly out of date. It’s a perennial juggling game, but with 18 excellent writers in the region we’re very well placed to address the out-of-date issue and we are working on it. Really.

We’re on a seemingly more solid financial footing — with 17 paid correspondents filing once or twice a week, one full-time writer based in Bangkok, plus, in the last few months (FINALLY) a programmer to assist me with the site’s tech needs — and Sam and I on the case pretty much around the clock, we seem to be just about there. It’s only taken almost a decade — but we’ve an excellent rounded team we are proud of. Travelfish writers, take a bow.

The site is still growing, both in membership and traffic, although both seem to be levelling off somewhat. We’ve never had a hockey-stick style growth — rather slow and more or less steady. Now, with a programming assistant on board, we’ll be adding a lot of new features to the site — some have been popped on already — that we hope will help our already dedicated readers become even more so. It should also help some drive-by visitors slow down a little more to take a good look at us.

So what’s on the cards?

As regulars will already know, we commenced research on Burma at the start of the year. Content will start to come online in the coming weeks. We also continue to expand our Indonesia and Malaysia coverage, and there’ll be a lot happening with some of our now quite dated Vietnam coverage in the coming year.

We’ve renamed our blogs to “wires” and they too are growing in readership — they do have a way to go before they start really earning their keep, but they’re certainly moving in the right direction.

We released our first iBook a month or so back, for Flores in Indonesia, and we’ve got a few more in the pipeline. We’ve phased out our well regarded iPhone apps in favour of iBooks, as we feel the latter are a superior planning tool. In a step that sets Travelfish aside from most in the travel publishing industry, there’s no DRM involved in our guides and they are 100% free.

This coming year is also going to see wholesale changes to our mapping system as we drop Google Maps in favour of MapBox and, in a step back to our humble beginnings, printable PDF maps. We believe both will prove to be considerably more useful than our existing offerings.

One of our first features with MapBox has been our “Where I’ve been map” that allows Travelfish members to mark where they have been in the region. This is the first step in a bit of a stroll we have planned.

We’ll also be shortly implementing a system to better reward Travelfish regulars for the contributions to the site — more on that soon — we just need a few more rainy days to finish it off.

Talking about the weather, our entire weather section is about to be relaunched with a complete reworking from the ground up. You’ll love it. Really.

We’ve also worked to make the forum a more useful platform for Travelfish members. We’ve improved the PM system and added more countries, for example, and have more planned for the coming months. For many Travelfish regulars, the forum is the core part of their site experience, and we want to help them get as much out of it they can.

Lastly, we’ll be reworking our entire transportation system so it will be easier for readers to compare different ways of getting from A to B, so they can choose what works best for them. We had something like this years ago but it fell over because we couldn’t get it to work properly — that is no longer the case and we hope to have it up and running before the end of Q3.

Well, that’s a bit of a wrap! Hopefully we’ll be able to pull most of the above off and we’ll recap a year from now — when we turn 10.

Thanks for reading!

Stuart & Sam

New free travel guides from

We’re delighted to announce the release of our first full-colour guidebook and plans for an ongoing series.

Our guide to Flores and Komodo (and surrounds) is designed for the iPad and iPad mini, with PDF versions for other tablets, smartphones and printers. This is our most ambitious release yet and replaces our iPhone guides, which we retired last week.

Our first full colour guide: Flores & Komodo

Our first full colour guide: Flores & Komodo

Our first guide is 59 pages and covers the key destinations for most first-time visitors to Flores and Komodo. It offers comprehensive travel planning information for people heading to the region, with detailed accommodation reviews, food and activities information, and simple maps, with all accompanied by beautiful photos that showcase the stunning nature of the region.

Different layouts depending on what your needs.

Different layouts depending on what your needs.

As is always the case with, we pay our own way — without exception — and our researchers have visited everywhere you’ll read about in this guide. If you haven’t been there, you haven’t been there. We have.

Best of all, the guide is 100% free.

A second, less orthodox facet of our new free travel guides is that, unlike some publishers, we’d love readers — and other publishers — to share them.

Want to email a copy to your friend? Go for it.

Finished your trip? Hand it/email it to a new arrival you meet at the airport.

Meet one of the guides we mention or stay at a place we list? Give them a copy.

Have a website and want to distribute it? Go for it.

Have a newsletter and want to use the guide as a way to get people to sign up? Go for it.

Have a trip planning website and want to provide your readers with a useful guide? Go for it.

While we’d love it if you gave us a link back to our free travel guides page in return, this isn’t a requirement. We’d also love it if you let us know.

The only things we ask in return is that:

* You do NOT extract information out of the guides into other products, websites, soup-can labels or anything else.

* You do NOT manipulate the PDF in any manner in order to remove branding or and other content within. The guides as they are contain minimal branding.

* They MUST remain free – don’t charge people for something we’re giving you for free. That’s extremely uncool.

These type of activities are strictly prohibited.

So what’s next?

More titles for starters — in the pipeline right now are guides to some Thai and Cambodian islands, a few markets in Bangkok and a bit of motorbiking in Laos. Plus, a version for the Kindle is coming in the not too far future — though they won’t be nearly as pretty as these ones, unfortunately.

We’re excited. Way back in the early days of we did free PDF guides, then we did even better paid-for ones. Then we upgraded to iPhone apps, and now we think we’re producing our best product yet — and it’s free.

Do travel website landing page download sizes matter?

Catchy title I know. In another bout of procrastination I ran the homepages of a bunch of travel websites and blogs through the “Speed test” tool at Pingdom. I did this primarily because has a rather chunky homepage and I was wondering if I should spend time re-assessing it to reduce the size so it would load faster. So I ran our homepage along with a bunch of other travel websites and it seems that in most cases, travel websites are not all that worried about having a homepage over one meg in size.

The notable outlier was Travellerspoint, which manages to run a homepage a fraction of the size of any of the others I tested, but their load time was only in the middle of the range — get more hamsters into that server!

TP aside, it does seem that everyone else reckons the readers will wait while they bulk out the homepage with big images, Facebook and Google plugins and so on — isn’t anybody reading Jakob Nielsen?

Some of the websites mentioned obviously will have far higher traffic numbers and I assume server load, but likewise I assume TripAdvisor has a few more hamsters in their server than some of the smaller sites listed. Because of this I ordered them by Pingdom’s “Performance grade” which takes into account a number of features in deriving a final score.

As traffic levels to these sites will vary over time through the day, I’ve linked to the actual Pingdom results are after the image. Through those links you can access Pingdom’s history tool to see historic results for a domain (in some cases I had to run the test a couple of times to get a usable result).

Pass the nachos.

Pass the nachos.

Pingdom results