Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for February, 2014.

Archive for February, 2014

How I save money when traveling for work (San Francisco/Valley/US)

Sunday, February 16th, 2014

As we are currently re-evaluating our travel costs I thought it a good idea to share my travel tricks. Here are some of my “hacks” how to save money when traveling whilst adding status points and having a good time. I did 39 business trips worldwide last year and 42 the year before. I am Gold member with British Airways with over 420,000 Air miles. And I managed to stay sane – of sorts.

plane taking off long exposure

Being a person who was brought up to value every penny (as we didn’t have many) I always try to see what could be done to make things cheaper without losing value. Often high travel expenses are based either on taking the first available option, being scared of the unknown or just not knowing better. So here are some of my tricks:

Don’t book late, don’t book one-way

Book return flights in advance. I try to book at least 3 months beforehand. The reason is that flights are cheaper the earlier you book. Furthermore, the cheap first price doesn’t change much, even when things go wrong. Say you need to book another different flight back or to another destination. All you need to do is to book a cheap, short distance flight for the other trip and change the return date. This is much cheaper than going back one-way. In general a booking change of the return leg on British Airways is $200 for a transatlantic flight. Try to find that one-way. Even not taking the return leg and moving on to another itinerary is cheaper than a one-way flight. And there is no punishment for forfeiting the second leg.

Layovers aren’t always bad

If you plan to spend a bit more time, get a layover flight of a few hours. It is healthier as you don’t sit on your butt for 11 hours at a time, they tend to be cheaper and you get double the air miles. Layover flights make it much easier on One World Alliance to rack up enough tier points to reach the next stage. Sometimes airlines offer layover flights when you fly domestic in the USA - offer that you’d be OK with that if need be when checking in. I once spent an hour extra in LA, got $150 for my troubles and an upgrade to business (on United).

Pack light – stay independent

Try to only have hand luggage. First of all, a lot of airlines charge extra for luggage handling. You also won’t need to fight the crowd of people who are convinced that standing as close as possible to the conveyor belt and in other people’s way will make their luggage magically appear. There’ll be an extra section here on clothes and how to get by with the least amount at the end of this post.

Huddle up – groups make everything better

Build groups instead of traveling alone. Whilst traveling in a group is a lot more work (the problems seem to multiply) it also has lots of benefits. You can have a chat about work, you get to know people in high stress situations you didn’t cause and you can share coffee and snack bills.

You pool knowledge – most of the time one person of the group will be savvy about the public transport system or how a certain place works.

If you travel at the same time as frequent travelers, you can take part in the status goodies we get. Dedicated check-in desks, fast track security and boarding lanes. Free food, drinks, shower facilities and magazines in the lounges. I am happy to sign a second in as a guest – I feel dirty getting all this just for myself.

Taxis are a last resort and safety measure

Taxis are only needed in dangerous destinations and if you get lost. In most cases, public transport is a much better option.

In London, for example, the average speed of a car is 7MPH; trains run much faster and don’t get stuck in traffic. A taxi ride from San Francisco to the Valley and back costs more than getting a rental for the week. Traveling in San Francisco is easy by getting a clipper card, which works, on all the lines and buses. In London this is the Oyster card, in Hong Kong the Octopus card.

If you have to take a taxi always go for the official taxi booth – never get a “deal” from some random driver. In NYC, for example there is a fixed price from airports into the city. In many other airports this is also possible. Try to share. I’ve saved many a dollar and time by asking people where they go in the taxi queue and thus cut the price in half. In some places, like Paris asking people can mean you do not queue for 1.5 hours in the rain.

Rental tips

If you rent a car, get it at the airport rather than the city. Comparing the rental car prices in Europe and the US is shocking. It is dirt-cheap to get a car in the US compared to Europe. Don’t get individual cars; instead share one as a group. You can take turns being the dedicated driver for the whole trip.

Aside: if you are only staying in San Francisco, do not get a rental. Parking is terrible and parking spots expensive and boy do they love giving parking tickets. If you know how to park, there are quite a few spots in the Haight area. They need parallel parking in reverse up a hill, which means they are always free :).

Be a good driver. Do not exceed the ridiculous speed limits in the US. Every state is broke and happy to fine you (and online traffic school is so not fun). Don’t drink and drive. I don’t care about the legal aspect of it – it just means you are an arse who is likely to hurt innocent people.

Buy a full tank, return the car empty. Opt for the filled tank to pay for when you rent a car for a longer trip and bring the car back empty. Most airports in the US do not have petrol stations near the airport. If you do the “fill up” option you get charged much, much more for the half empty tank than for a full one.

As a European, don’t expect anything resembling a car when you rent one. Most of the time you get things that could hold a small band with instruments but is not roomy with four people inside. Just nod and smile and don’t look at the petrol gauge with the sense of dread we have in the old world. For a deer-in-headlight experience, ask for a “stick shift” option.

Most rental companies will offer you a GPS to rent per day. A lot of cars have them built-in, too, so that’s a rip-off. You can also use your phone with a local SIM (in the US T-Mobile has one for $3/day for traffic). It is illegal to use your phone as a GPS in California so don’t showcase it on the dashboard. Just listen to the lady trying to pronounce EXPWY instead.

Avoid anything named “valet”

Valet is a Medieval French word and its original meaning – avid worshiper of Beelzebub and drowner of kittens – changed thanks to good marketing. Valet parking is for show-offs and people who cannot plan anything.

A great example is the Triton hotel in San Francisco. You pay $25 a day for overnight valet parking and they literally drive the cars round the corner into the parking garage that charges $10 a night. So, in essence, you pay $15 for the wait for your car in the morning.

If you go to a restaurant as a group, drop the group off, find a nearby free space. For example, in Santana Row in San Jose this means you cross the road and park in the free shopping mall. Then come back to join them – they can sip waters and fondle free bread rolls until you come in. Some restaurants will not give you a table if the whole group isn’t there. In this case, you are a surprise last minute guest – wahey!

Posh hotels expect people to spend more

In the US, the higher the hotel class, the fewer things you get for free. Often a 3 star hotel will have free WiFi, a kitchen to cook things, coffee makers and free water while 5 star charge extra for these things. A lot of hotels charge for the WiFi, but have free wired connection. This also means the wired connection is much faster as everyone and their dog uses the WiFi. Bring an own router (I got one that is also a phone charger) and you have free WiFi.

Anything edible or potable in your hotel room may be a trap

Do not touch things in your hotel room if they are not marked as “free” or “complimentary”.

There is always a free bible and a pen – you can highlight naughty phrases as your free evening entertainment and surprise for the next visitor – but I digress.

Minibars are very, very bad for your expenses and a total rip-off to boot. If your hotel charges for water bottles, get one outside or take the one you get on the plane with you and keep refilling it in the gym of the hotel. Every gym has a water dispenser and most are open 24 hours.

The San Francisco/Valley gap

When in Northern California, everything is much, much more expensive in San Francisco. If you are most of the time in the valley, go and get a hotel there instead. You can spend the money you spend on a great hotel in Mountain View and a rental for a mediocre one in the city. The meals will be much, much, cheaper, too. You can drive into the city if you want or take the Caltrain for a night out – if you want to drink. If you take a Caltrain when there is a game on you will drink anyways – people keep giving you free beer cans on the train as you “have a cute accent”.

Extra Tips: How to pack light

Disclaimer: this only applies 100% as I am a man devoid of any fashion sense of what goes with what else. Shoes take a lot of space, I always wear one pair and bring foldable gym shoes. Some of this may not be applicable for the more fashionable traveler. But you can still apply some of this, I presume.

You can get by with a smaller set of clothes if you dry-clean them where you go. You’ll have smaller luggage and you pack two week trips as one week ones. Do NOT use the dry-cleaner in hotels – they are super efficient but also much, much more expensive. Almost every hotel I stayed in had a dry cleaner in walking distance. Drop them off in the morning; pick them up some day after work – simple.

When packing, space in your luggage is your enemy. Well-folded clothes, when packed tight, stay free of wrinkles and are a joy to behold. Strap that stuff in – do not let it bounce around.

One of the best things I bought was this Eagle Creek package system. In it are instructions and a plastic sheet to fold shirts over, and you can fit about 10 shirts in a quarter of a hand-held roller. As there is no wriggle room, they won’t wrinkle at all.

Layering is a big thing – you can wear a shirt for two days when you wear it with an undershirt on the first day. That way you cut your amount of clothes in half. Have a simple zip-up to go over it and you can survive in many temperatures. One rainproof outer layer is another good idea – especially in SF.

Merino wool is one of the things evolution came up with to make the life of travelers easier. It is temperate – you don’t sweat or freeze in it. It doesn’t keep smell in it – just hanging it out of a window makes it good as new. You can wash it in a sink and dries in an hour over a radiator. Check out Icebreaker. I am not affiliated with them but it is the best travel gear I know.

Want more?

I got more to share, in case there is interest.

Quick Note: Mozilla looking to survey Mobile App Developers in the Bay Area – tell us what you need

Friday, February 14th, 2014

The Mozilla User Experience Research team is looking for developer who have experience writing mobile Web apps in the Bay Area to participate in a paid research study that will have a significant impact on making our developer-focused efforts even better.

To qualify for the study, please take this 10-minute survey.
If you’re eligible, a member of our team will contact you to tell you a little more about the research and schedule time with you. Developers who qualify for and fully participate will receive an honorarium of $250.

We’re looking for developers who are:

  • willing to participate in a 2-hour in-person interview at their workplace or home
  • available for the interview the week of March 10 to 14 (the weekend before / after may also be possible)

The interview will be recorded, but all materials will be used for internal research purposes only.

You DON’T have to use Mozilla products or be part of our community to participate (in fact, we’d like to hear your voice even more!).

Your feedback has the potential to improve the experience of other Web app developers and influence the direction of our products and services, so we would love to get a chance to talk with you! Please feel free to share this opportunity widely with your own network as well.

Three geeks and a microphone – recording screencasts with Telenor in Oslo, Norway

Tuesday, February 4th, 2014

Beginning of last week I spent three days in Oslo, Norway, with Jan Jongboom (@janjongboom) and Sergi Mansilla (@sergimansilla) of Telenor Digital recording screencasts for an upcoming series on Firefox OS aimed at developers in Asia. These will be dubbed and localised, which is not only super exciting, but also very powerful.

sergi and chris

Here’s a quick recap how we managed to create ten different screencasts and six intro/outro videos in two and a half days. It was taxing, it was tiring, but it was also amazing. Many factors played a role, but probably the most important one was a Scandinavian “hands-off” attitude by the video production crew and PR and trusting in the abilities of people involved.


Before meeting to record, we shared a Google Doc and created an outline of all the different things we want to cover in the screencast series with scripts for each section. These didn’t have to be detailed scripts as we all knew what we are doing. Just “show app xyz in the emulator, connect phone, push to it” – this sort of thing.

things go here, only things, not stuff

Heads up: I’ve recorded other screencasts that had very defined scripts like “go to the input box, enter ‘fiddlesticks’ and press the button labeled ‘submit’, explain the viewer that this sends the form to the server”. These can work and are important if the person recording is not familiar with the matter or the script needs review by 8 managers and 5 random people from the legal department. We were lucky to have a much more freedom as these screencasts were meant by developers for developers.

We agreed what to show and wrote the code, sharing it on GitHub.

This is immensely important: the code needs to work and be done. You can of course fake to write it live in the screencast using the AppleScript by William Bamberg and me or Stuart Langridge’s Sublime Text plugin. You will not have any time to re-code much (I did clean a few things up) and you will lose time with technical issues as it is (we lost an hour to an appcache problem and another with some problems with the Marketplace submission process). This is not the time to be a coder ninja – this is the time to be an educator, so make sure your stuff works, is documented and understandable before hitting the record button.

Technical set-up

All in all our setup was simple:

  1. A dedicated room that is sound-proof-ish with a large table. Adding a thick black tablecloth to it prevented both unintended “knock” sounds on the recording and made for a good background for recording the mobile device
  2. A good USB microphone that can be easily handed over from presenter to presenter (we used a Yeti).
  3. Three computers, one being the dedicated recording machine, the others for writing and editing. The main machine was a Retina MBP, as you can never have too high a resolution of your original material (downsampling is easy, blowing up video makes it blurry). It is also important to have one machine to record on as this means all the editor settings and the look of the Desktop is the same in all videos. It also means that only one of us had to clean up their machine and start a whole new, clean profile without embarassing autocompletes and history entries (we chose Sergi’s – he is by far the most grown-up and organised amongst us).
  4. An external HD (500GB, USB3) to store all the videos and transfer large files from one computer to another
  5. Screenflow to record and edit the screencasts
  6. A small HD video camera with a Gorilla Tripod to record on-device actions that needs to show hands

Recording and editing

Once all was set up, we divvied up the different screencasts amongst us and got started recording them. We spent the first two days only recording screencasts and left the “talking heads” video shoots for the last day. That way we could work without having to have the film crew around which is a good thing as they tend to be paid by the hour.

jan recording video

People have different ways of working and it is important to allow them to apply their strengths if you want to create a lot in a short amount of time. Us three, for example, learned that I am most comfortable when I speak and show what happens in the screencast at the same time (a running commentary of my own actions). I am not happy reading from a script, as I did that as a job for far too long before escaping to the web (I worked as a radio newscaster).

Both Jan and Sergi struggled with showing and explaining at the same time and thus got much more effective when recording the screencast without audio, then writing a script and re-recording a video of the screencast and narrating the script over it.

The great thing about Jan and Sergi’s MO is that it allows for asynchronous creation of content: when recording and doing the live coding any distraction in the room is tricky to work with and you need to use the one machine to record. When de-coupling the recording of the audio, the editing of the screencasts and the writing of the scripts you can silently sit in the room and edit or write while the others are recording. The thick table-cloth and the quality of the microphone made sure you couldn’t hear any typing in the background. Swearing, yes, but that could and was cut.

The way we recorded worked the following way:

  1. We recorded the screencast according to the script, one person recording and another making sure there are no issues with the recording (for example “learn Indian” as a To-Do List item in an app could be offensive, as there is no “one” Indian language). Make sure to leave some breaks in the screencast to allow for more detailed narration.
  2. The person who recorded then can go and look at the screencast on another computer and write the script of it.
  3. Meanwhile the other two can record the next section
  4. Each script then got another peer review to edit for flow (active vs. passive language, adding the “what is in it for me” messaging, shortening of sentences and many other tricks – if you are interested I can do an own post about that)
  5. Once the script is done, the presenter goes back to the main computer and records a screencast speaking over the old recording, taking breaks to cough and assemble thoughts as needed without endangering the quality of the recording – all you need to do is to stop the video part of it. You even don’t need to worry about the size of the video and you can resize Screenflow and have a text editor with your script side-by-side.

It is important to keep the recording going. Stopping every time you mess up and starting from scratch only increases the frustration. The same rules apply that apply on stage: you can mess up – just admit it, take a very short break and move on. You can always edit, and it is easier to cut out a single “shit!” than to have to make a very annoyed sounding start of a screencast palpable for viewers.


The final production of the videos will be done by the professional editing team, but, as they are paid by the hour and because of the way we already used Screenflow to record and separated audio and video we could do a lot of the editing ourselves, cutting the “uhms” and “errs” and heavy breathing and adding still images over longer parts of narration. Screenflow makes this super easy by hitting “t” at the place you want to split the audio or video streams and moving the chunks around.

Next steps

Currently the videos are in production and will be dubbed and we’re putting together the landing page on the Wiki where they will reside. We also clean up our outline and script to be the descriptions of the videos. Thus, nothing was wasted.

Before you go on a righteous rant about professional screencasting…

We are very much aware that professional screencasting and recording looks different and by no means we want to say that it should always be that easy. Professional learning materials need much more planning and more meticulous execution and you should pay people who do that well what they deserve – a lot.
However, for three geeks and a microphone, we’ve done quite well and this might inspire others to do the same.

Why “just use Adblock” should never be a professional answer

Sunday, February 2nd, 2014

1983 Apple T-Shirt Ad showing a Stylin' "Apple Family"

Ahh, ads. The turd in the punchbowl of the internet party. Slow, annoying things full of dark interaction patterns and security issues. Good thing they are only for the gullible and not really our issue as we are clever; we use browsers that blocked popups for years and we use an ad blocker!

Firefox preventing hundreds of popups

Hang on a second. Whether we like it or not, ads are what makes the current internet work. They are what ensures the “free” we crave and benefit from, and if you dig deep enough you will find that nobody working in web development or design is not in one way or another paid by income stemming from ad sales on the web. Thus, us pretending that ads are for other people is sheer arrogance. I’ve had discussions about this a few times and so far the pinnacle to me still was an answer I got on Twitter to posting an article that 40 percent of mobile ad clicks are fraud or accidents:

offensive tweet about ad clicking people

I believe people who intentionally click ads are morons

Don’t get me wrong: ads as a whole are terrible. In many cases they have the grace of a drunk guy kicking you in the shin before asking you to buy him a beer. They are very much to blame for our users being conditioned to things behaving in weird ways on the web, thus opening the door for the bad guys to phish and clickjack them. Ads may also be the thing that drives many of our users to preferring apps instead. Which is kind of ironic as an app in many cases is a mixture of a bit of highly catered functionality wrapped in an interactive ad.

We’re blocking our own future

So what does that make us? Not the intelligent people who know how to game the system, but people not owning the platform we work for and are reliant on. As people in the know, it should be our job to ensure ads we publish or include in our project are not counterproductive to the optimisation efforts we put into our work. We also should have a stake in the kind of ads that are being displayed, making sure they don’t soil the messages we try to convey with our content.

A lack of empathy and a lie to ourselves

This is uncomfortable, it is extra work and it feels like we are depriving ourselves of an expert shortcut. The problem with blocking ads ourselves is though that we are not experiencing what our end users experience. We get the first class treatment of the web with comfortable computers and less interruptions whilst our users are stuck in a low cost carrier where they get asked every few seconds if they don’t want to buy something and pay extra if they forgot to bring the printout of their ticket.

By blocking all the ads and advocating for “clever web users” to do the same we perpetuate a model of only the most aggressive and horrible ads to get through. We treat each ad the same, the “find sexy singles in your IP range” and the actual useful ones: we just block them all. Yes, I’ve had some deals by clicking an ad. Yes, I found things I really use and am happy to have now by clicking an ad. I could have never done that with an ad blocker. What it does though is cut into the views of ads and thus force ad companies to play dirty to get the figures they are used to and use to negotiate payments to the people who display their ads. In essence, we are creating the terrible ads we hate as we don’t allow the good ones to even show up. It’s like stopping people swearing by not allowing anyone to speak. Or trying to block adult content by filtering for the word “sex”.

The current ad model is too comfortable and can be gamed

You could say that people who expect everything to be free don’t deserve better. This would hold water if the paid experiences of the web without ads were better or even available. In many cases, they are not. You can not pay for Facebook to get rid of ads. Many providers are so comfortable in the horrible model of “plaster everything with ads and create as much traffic as possible” that trying a subscription model instead bears too much danger and extra effort in comparison.

A sign of this is the horrible viral bullshit world we live in right now. Creators of original content are not the ones who make the most money with it; instead it is the ones who put it in “this kid did one weird trick, the result will amaze you” headlined posts with lots of ads and social media sharing buttons. This is killing the web. We allowed the most important invention for publishing since the printing press brought literacy to the masses to become a glossy lifestyle magazine that spies on its readers.

It should be up to us to show better ways, to create more engaging interfaces, to play with the technology and break conventions. It is sad to see that all we have to show for about 16 years of web innovation is that we keep some parts of our designs blank where other people can paste in ads using code we don’t even know or trust or care to understand. This isn’t innovative; this is lazy.

There’s more to come here and some great stuff brewing in Mozilla Labs. It is time to be grown-up about this: ads happen, let’s make them worth-while for everyone involved.