work

Developer Relations revelations: travel is hard work

This is part of a series of posts about the life as a DevRel person and how not all is unicorns and roses. You can read the introduction and the other parts of the series here.

So, today, let’s talk about traveling.

Sleeping on a plane

When I worked for the Red Cross with elderly people one thing became pretty obvious to me. People who traveled in their lives were not only more interesting, but also aged much better. They had more energy, showed more excitement about new things and generally felt more alive.

Traveling as a DevRel person isn’t like that. It can easily be the exact opposite.

Coming from a low-end working class family traveling around the world always was a dream for me. Each holiday was cramming the family in a car and driving 14 hours to Italy to go camping. To the same place every year. And yet, I made the best of it. I loved going to highway stops seeing cars and trucks from all kind of countries. I deliberately chose to work on the web as it meant I can connect to people from all over. Getting to know them, finding out our differences and maybe – if I every get really lucky – visit them in real life.

From this point of view my job right now seems a dream come true. It seems that I get paid to travel the world. I have Gold status with one airline affiliate group for three years running. I have Silver and Gold status with a few hotel chains. My travel history is pretty impressive:

My travel statistics, 965369 miles traveled, 1931 hours in the air, 27 countries and 48 destinations

My Android location history
My Android location history See yours here

Here’s the thing though: travel for work is not at all like being on a holiday. It is taxing. It takes a toll on your health, it takes a heavy toll on your relationships and it is very easy to overdo it. You need to be happy with being on your own and being the only person to rely on. You also need to ensure that all your creature comforts get covered. This is often at odds with the budget of conferences or your company’s expense policies.

Faux Jet-Set

There is a strange disconnect in business travel. You are part of the jet set but you almost never have time to enjoy it. On paper it feels great to have travelled to all these cool destinations. In reality all you see is the airport, some means of transport, your hotel room and the event venues. This can be depressing. You constantly have this carrot of world traveler excitement in front of you. To experience it you would need to sacrifice free time. The days before and after an event are crucial for our jobs and it is hard to tack on a few in each direction.

A constant “do I deserve this” feeling

Lonely meals and nondescript rooms are much less fun when you didn’t hang out with people you know. And you don’t want to add yourself to other groups or ask people to dine with you as that would be work. And you need to ensure you have some time off to re-charge. Interestingly enough, the fancier the accommodation is the worse I feel. When I am in a really cool hotel and have no time to use the facilities other than crashing for a few hours I feel weird. I spend other people’s money without reaping the rewards. Trying the hotel out for a holiday later is not as common as they tend to be costly or optimised for business travel.

It is important to be on the road. A two minute face-to-face conversation is often worth weeks of emails, chats or calls. Meeting people where they are can open great opportunities for you and your company. So, here are a few tips that helped me on the way and still make it much easier for me.

Find an airline alliance to collect points and status with.

That means things that don’t sound much but will add a lot to your well-being.

  • You do not have to worry about luggage restrictions.
  • You get priority boarding, which means you can book a cheaper seat and still get on the plane first. You can store your hand luggage above instead of having to keep it at your feet.
  • It is imperative that sooner or later you get lounge access. This turns a layover caused by a missed plane from a nightmare to an opportunity to get some work out of the way. Then you can sleep or relax on the plane.
  • You are also more likely to get upgrades if you have status with an airline. Conferences or your company can book you an economy ticket and yet you travel in comfort.

All hotel loyalty systems are pants

Hotel loyalty systems only give you proper benefits when you book on their web sites or in their apps. With your own, personal credit card. If, like me, you have a corporate card, the most you get is a free bottle of water on check-in (yay?) and late check-outs. There is not much point to be loyal in this case. Something else is much more important when it comes to hotels.

Your hotel matters

Your hotel on a company trip can either be a place to crash at night or your base of operations. I try to make sure I can do the latter. That means the most important part is that it is close to where I need to be. You don’t want to spend a lot of time in transit between hotel and event, carrying a lot of swag and hardware with you. If that means you stay in a cheaper, but closer, hotel, this is a good thing. If it means the conference or your company needs to pay more, so be it. Most trips I do are short which means I will spend most of my time at the event. Having a fancy hotel isn’t useful when you have no time to enjoy it. The most important bits are that the place is clean, has fast connectivity in your room, and is easy to reach.

Stay active – or your health will suffer

If you can, try to find a hotel with a gym – no matter how basic. It is the best thing to fight jetlag and to clear your head. It is also important. When you travel, you sit a lot and you don’t move on a plane. That’s bad for you. You also consume a lot of food and drink on planes and you don’t give your body a challenge to burn it. I found that going to the gym before and after events allowed me to be much more energetic. Look after yourself – nobody else does.

If you’re tired or sick, your work will suffer

Jetlag is a pain and will turn you into a liability. You can not be in a stressful environment when you are not awake and relaxed. You will make mistakes, you will say things you can regret online later and you won’t be able to take in as much as you need. So look after yourself and get sleep when you can. You don’t need to be part of every social activity of an event and should sneak out for a kip whenever you can. Try to get enough time to deal with jetlag and look at what you eat and drink. You can not get sick. And believe me, this is a full-time job. Time differences, over-zealous air conditioning, pressurised aircraft and unknown food all mess with your body. Everyone I know working in DevRel carries a bag of medication. Acid reflux, indigestion, unwanted bowel movements and sore throats and runny noses. All commonplace enough to prepare for them.

Adding to that is that being on the road and constantly having to adapt does things to you. In Pattern Recognition William Gibson describes jetlag as “your soul trying to catch up with you” and that is pretty accurate. Being more emotional without planning to is common on planes. There is a lot of research into Why people cry on planes and I also find myself doing that.

Take care of yourself, please.

Point-to-point annoyances

One thing I am adamant about is that a conference or office makes it as easy as possible for me to get from the airport to where I need to go. I don’t want to deal with pushy unlicensed cabbies. It is also not fun to try to use public transport in a place you don’t know after 30 hours in the air. This may sound whiny and “first world problem”-ish but any minute wasted on the road isn’t doing you any favours. At least demand a good explanation what to do to get there from the people who invited you.

Expenses sound fun, but aren’t

Living on expenses sounds great, right? It is, to a degree, and it would be much harder – and silly – to spend your own money to do your job. But it also means that you need to be diligent about keeping receipts, and note down who you ate with, what and when. You often also have a company card unknown or unsafe to use in a certain place. Then you need to get money out. And you need to explain your company why you didn’t pay by card, suffering twice from the lack of support. It is important to do your expenses on the spot after your trip. Otherwise you end up delayed and get fined. It has become much easier to file expenses digitally now. I remember typing in all receipts, staple them to a piece of paper and mailing them to a different office. Yet, often you wait for weeks for things to get sorted out even now.

Summary: DevRel travel is lost time

When you travel as a DevRel, travel is not a gift any longer. It is a necessary part of your job. Where it is OK to rough it for a holiday, you shouldn’t sell yourself short when it comes to travel for work. It adds to the stress of your job. It takes up a lot of time you could be doing things to diminish the workload you already have. Whilst you can work in a lounge and on a plane I find it not that fruitful. Often I am tired, or euphoric about a certain topic and write a lot of things that sound lucid but are a write-off later on. One exception is going through emails on a plane. Being offline is a great opportunity to take time answering them without distractions. Traveling as a Developer Relations person is a lot of time a matter of good negotiation. Don’t try to be nice by allowing people to put you on a cheap flight and the wrong hotel. You don’t do them any favours as they would get a grumpy, non-effective you rather than the person they invited.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Coding after work Podcast featured me talking about PWAs, Open Source and AI

Back in March, the coding after work podcast interviewed me at the Techdays in Finland.

Today they released the podcast

In about 45 minutes I cover Progressive Web Apps, Microsoft and Open Source and the rise of AI as a technology for us to care about. Hope you enjoy it as much as I did recording it. Thank you to Jimmy and Jessica Engstrom for having me!

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Developer Relations revelations: workshops are a lot of communication work

This is part of a series of posts about the life as a DevRel person and how not all is unicorns and roses. You can read the introduction and the other parts of the series here.

So, today, let’s talk about giving workshops.

Giving a workshop is very different to presenting and needs a different skillset. Whilst preparing a great talk already takes a lot of time, workshops are a different beast. As a rule of thumb, a good trainer spends eight hours research and preparation for each hour of a workshop.

Workshops are where you can’t fake anything. It is not enough to know the subject matter inside-out. You also need to deal with the attendees. Their requests, different speeds and knowledge levels. You need to lead the group and guide it. And you can’t do that if you don’t feel confident about the material or know much about the group you will teach.

Workshops are much less forgiving than presentations. Only a few people will complain about a bad presenter at a conference. It doesn’t feel like a waste of money to get the conference ticket when there was one dud. Workshops are much more expensive and more personal, that’s why criticism is harsher.

Conference organisers like having workshop days as they are much more profitable. Most of the ticket money of events needs to get into venue, catering, speaker fees and travel. Workshop ticket sales get shared with the teacher with a higher profit margin. Venues are often sponsored by companies. For freelance speakers this is great, as it means more money.

For a DevRel person it is trickier, as you represent a company and you have a different agenda. You need not to get people excited about your knowledge but also about the things you represent. That’s why it is also tougher to sell and fill a workshop as a DevRel person. Your workshops are seen as something that should be free and it is OK to put not as much effort in as an attendee. That doesn’t mean though that they are easier to create and run. At all.

With this increased pressure, it is tough to feel great about your workshops as a DevRel person. Your company will most likely want you to create a generic course. One that shows off the benefits of your products.

This makes sense, as it is an upfront investment of time and money. A lot of the products I worked with benefitted from workshops. You find gaps in the documentation, you see where people get lost, and what technical difficulties come up. All great opportunities to improve your product.

The great thing about generic courses is that they are reusable and measurable. The bad thing about them is that they make for disappointing workshops. You might as well have them online as a course with offline participation instead.

I feel a lot of worry about delivering workshops as they are important. Teaching is a tough job and a bad teacher can utterly mess up a subject. Remember school? All the topics taught by a great teacher are things I still love. All the topics run by a lackluster by-the-book teacher I had to re-learn later in life.

A workshop is much higher stress for you. Your passion, your excitement, your fearlessness to play make the course. It is uncommon to have “bad attendees” as they have a much bigger stake in the workshop than listening to a talk.

Your mistakes, your lack of passion, your sloppiness multiplies with the attendees. That’s why you need to be on your toes for the whole duration of the workshop.

The fun bit about teaching is to find out how people tick and what they need to understand something. It is not about telling them a lot of information and hope things stick. Humans keep information they found out on their own much more than those they had to memorise.

That’s why I want a workshop to be a real workshop. I want to know who will come, what their levels of knowledge are and have them set up their computers in advance. I might as well want X-Ray vision, as the sad fact is that often you need to face the following issues:

  • People who hired you expect you to give a five hour presentation showing a lot of technical demos for people to maybe take part in
  • You have no idea how many people and who will show up to your workshop
  • You face a room full of 50 people – no way you can help them individually or even pair them up to help each other
  • Half the people don’t come back after a break as their boss called them out to do “something important”
  • A large part of the group didn’t bring a computer or didn’t expect having to do anything
  • You end up being helpdesk for faulty computer configurations of the attendees’ computers
  • You end up being offline when most of your materials need a connection or are a download to start with

To run a successful workshop you need to prepare for these. That’s why it is much more important to be clear and demanding in your communication. People who invite you to give a workshop often want a detailed outline of it. Make sure that this also contains detailed information about the needs you have. Setup of the room, the machines of the attendees, detailed timing and attendance demands. It may feel bad to be such a stickler for details, but anything you leave to interpretation will come back to haunt you and cost time. Time you can’t use to help attendees reach the goal of the workshop. Time you need to work with individuals whilst you lose the group.

Don’t be the bad teacher that messed up a subject for you. Workshops have detailed outcomes and you need to measure at the end of them if people learned something. This might be hard to swallow when it didn’t work, but it really helps being excited about your job when it does.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Developer Relations revelations: Conferences are a lot of work

This is part of a series of posts about the life as a DevRel person and how not all is unicorns and roses. You can read the introduction and the other parts of the series here.

So, today, let’s talk about conferences and attending them as a DevRel person.

Lanyards on my door

As an attendee conferences are amazing. You watch great talks, you can vote with your feet which ones to support. You can network and meet like-minded people. And – at good conferences – you have enough to eat, drink and you even might catch a cool party. It is a great way to get out of the office, be proud of your work or get inspired to do better. It is a welcome distraction from the daily grind and thus you love putting a lot of time into it.

Conferences for DevRel folk aren’t time-out – at all

As a DevRel person, conferences aren’t a distraction. They are part of your job. Whilst other people put extra effort in to enjoy them the fullest, you need to make sure you pace yourself not to burn out. Having a four hour sleep following an after-party is a lot less fun when you have to be on stage next morning or run a booth.

As a DevRel person conferences means 100% work. Of course, you might give a talk or workshop – I will cover that in the next post. You also might have booth duty. And even if that’s not the case, your job is to represent your company and to keep your eyes open for opportunities.

These could be

  • Covering the conference on social media. It is a nice thing to do for the conference organisers and it is a great idea to be part of the buzz
  • Conversations with influencers.
  • Talking to interesting company representatives to get workshop or collaboration opportunites.
  • Watching a talk by a colleague or friend to give them feedback.
  • Checking what the competiton is doing .
  • Eavesdropping on conversations and what currently makes your audience tick.
  • Taking notes and photos and collecting leads to add to your conference report
  • Talking shop with peers and competitors.
  • Shooting videos with interesting people
  • Showing demos on your computer
  • Helping people with problems with your products on their computers
  • Explaining people how to play with your systems
  • Dis-spell myths about your products or your competitors’
  • Give out swag and collect cool swag from others to add to your laptop

This all takes time, and effort, and a lot of concentration. You don’t sit back and enjoy the show – you are reporting on it and are part of it.

Here’s the thing: you get paid to be there. So you need to make it count for the people who sent you and make it measurable.

And that can be exhausting. It is especially exhausting when you don’t want to come across as pushy and on the clock, but be an attendee instead.

Loose lips cause Twitter Drama

Conferences are a chance for attendees to let their hair down and have fun with like-minded peers. Of course, the same can apply to you and it makes sense to be part of the fun crowd. But, whatever you say and how you behave is very much on the record. You’re not at an event – you are in the limelight.

Again: as a DevRel person at an event you are never off the record.

And the record spans much further than the event you are currently at. The bigger and more important your company is, the better headlines any of your mistakes make. We love to throw dirt at successful companies and people – that’s what all gossip magazines are about. And tech magazines beholden to clicks as revenue are not far from those.

A glib remark, a tasteless joke, some banter about your competition – easy to do at an event. And fun to do – everyone does it. But you aren’t everyone and you are not a stand-up comedian who succeeds with witty public outrage.

Fact is, as a person working at the event, you can not be part of indiscretions like that. It probably is even up to you to call these things out – in person, right at the event.

The reason – aside from the obvious – is that as a DevRel person of a hot company or product people repeat what you say. A lot of people are far too enthusiastic to do so. And what happens is that context gets lost. What was good natured fun at an event or a joke on your slides can turn nasty on Twitter for weeks after. You will be misquoted as attacking a competitor. You will come across as badmouthing your company. In a time where tech news outlets get away with quoting tweets quoting you as a source, that can last for years. Every time I am quoted as a “Microsoft engineer on Twitter” I get a small freak-out.

You have to watch how you behave and what you say as how you come across reflects on your company. And context does not protect you.

A classic trick interviewers love to do is an agreement trap. They trying to get you to agree with them when they say something bad or unproven about your competition. You need to be on your toes to not agree. Instead be adamant explaining that you don’t know about this and have nothing to add.

You do represent your company – for better or worse

People also love to bait you to get information that is speculation about your company. They bring up things your company has done in the past or does in departments far away from your influence.

They ask for very simple, true-ish, statements. Statements that make great soundbites. You need to be on your guard to deflect these arguments and not fall into the trap of being recorded as making assumptions. This would mean colleagues of yours will not only have to deal with accusations. They will have to deal with accusations backed up by a company representative. It is very tempting to shut aggressive people up my telling them what they want to hear. But there are consequences. As a DevRel person it is not uncommon that you have to prove the worth of your position to the company every few months. This won’t help.

You need downtime – but it is hard to come by

These things get a lot trickier when you are jetlagged, sleep-deprived, hung over, dehydrated and your head is full of a dozen things you need to cover at the event. Whilst not all these factors should ever be a thing, a mix and match is not uncommon, depending on your outreach strategy.

Be aware that as soon as you are visible, you will have people come to you and ask for your attention. This is a great thing, but it also needs moderation. You need to take breaks to stay lucent and helpful to people’s needs, and you can’t do that for a whole event. You also need a lot of patience as people are prone to asking you the same questions dozens of times at the same event.

Skipping talks

I’d love to see every talk I am also interested in at events, but I am not a conference participant – I am part of it. It also can get weird. Often I sit in a talk I am interested in, but I can’t see it. As people see me as an expert they keep asking me during the talk if I agree with the current points. Often points that are beyond my grasp or I heard for the first time. As a DevRel person you’re a source of confirmation for people. This is not the time to learn. You are better off watching the talk recording later. Unless, of course, the presenter is a someone you want to support or a competitor you need to watch.

I started to use talks as a chance to go back to my hotel room or a quiet room (if the conference offers those – PLEASE DO!). I fall flat on my face, groan a bit and maybe take a 15 minute power nap. I also do other things like answering emails that would otherwise pile up. I change the shirt that is not too comfortable after my talk or shows sweat stains. In any case, I try to do nothing at all and have a quiet room without people for a while to find my Zen again. You need to do this, too. It’s basic work practice and even factory workers have breaks defined by law – take yours.

When you skip some talks and go out you can come back in the breaks to network much more refreshed.

Creature comforts – drinks and food

It is quite tough to feed a herd of humans with things everyone is happy with and can consume. Especially without breaking the budget of your event. Catering is hard and expensive. I applaud every conference organiser that gets it done even half-arsed. I have massive respect for the people serving food and making sure everything stays in order.

That said, if you work on conferences, things get tricky. Lunchbreaks are a great opportunity to start chats and talk to people. Yet, talking whilst eating is tough. If the conference provides access to food before the mad rush, take advantage of that. Have a bit of food beforehand and work the room with a drink later on instead. That way you can talk to people having their break without covering yourself and them in crumbs.

Alcohol, of course, is a tricky subject. Know your limits, or just don’t drink. I learned that a glass of water with ice cubes and a lime works. You can carry it like a cocktail and it gets you in with the drinking crowd without all the ill effects and deflects peer pressure. But hey, up to you, just remember what I wrote earlier about being on the record.

It is in any case a great idea to try to live a tad healthier than people who come to party. I carry nuts and fruit and make sure I use the gym when I can in the evenings and the mornings. It is also a great opportunity to wipe your memory and get into the next day with a fresh start.

The conference end isn’t the end of your work

Once the conference finished, your collation job begins.

  • You collect all unused swag, pack it up and mail it back to the office (or haul it yourself)
  • You write your reports
  • You follow up with leads and type in dozens of emails from business cards
  • You send out information about your talk or workshop to the audience or the attendees.
  • You answer conference demands like your slide deck
  • You collect and sort your receipts for expense reports
  • You answer enthusiastic tweets and emails people sent you – it is not good to keep happy people waiting
  • You remind people you met about your conversations.

All this you need to do this as soon as possible, as the longer you wait, the more you forget. This means you also need to have some energy left for these task.

So, why do it?

Given all this work you may wonder why we bother covering that many events. Well, there are lots of great parts, too. The network you accumulate with peers and conference organisers is worth a lot. Anything to make it easier for you to get invited helps. It also helps your company a lot when they know about lots of different conferences to see which ones make sense to sponsor. And a chance encounter with engineers of a certain company at an event is often a great foot in the door for collaboration. Often I managed to get access to companies that way that sales and marketing people failed to do for years. The peer-to-peer IRL network of engineers and designers is a powerful access point.

In any case, I just wanted to list the needs and demands a dedicated DevRel person has at events. I hope this helps you prepare. I also hope that some people consider this when they tell you – once again – how easy your life is hanging out at events all the time.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

New blog design – I let the browser do most of the work…

Unless you are reading the RSS feed or the AMP version of this blog, you’ll see that some things changed here. Last week I spent an hour redesigning this blog from scrarch. No, I didn’t move to another platform (WordPress does the job for me so far), but I fixed a few issues that annoyed me.

So now this blog is fully responsive, has no dependencies on any CSS frameworks or scripts and should render much nicer on mobile devices where a lot of my readers are.

It all started with my finding Dan Klammers Bytesize Icons – the icons which are now visible in the navigation on top if your screen is wide enough to allow for them. I loved their simplicity and that I could embed them, thus having a visual menu that doesn’t need any extra HTTP overhead. So I copied and pasted, coloured in the lines and that was that.

The next thing that inspired me incredibly was the trick to use a font-size of 1em + 1vw on the body of the document to ensure a readable text regardless of the resolution. It was one of the goodies in Heydon Pickering’s On writing less damn code post. He attributed this trick to Vasilis who of course is too nice and told the whole attribution story himself.

Next was creating the menu. For this, I used the power of flexbox and a single media query to ensure that my logo stays but the text links wrap into a few lines next to it. You can play with the code on JSBin.

The full CSS of the blog is now about 340 lines of code and has no dependency on any libraries or frameworks. There is no JavaScript except for ads.

The rest was tweaking some font sizes and colours and adding some enhancements like skip links to jump over the navigation. These are visible when you tab into the document, which seems a good enough solution seeing that we do not have a huge navigation as it is.

Other small fixes:

  • The code display on older posts is now fixed. I used an older plugin not compatible with the current one in the past. The fix was to write yet another plugin to un-do what the old one needed and giving it the proper HTML structure.
  • I switched the ad to a responsive one, so there should be no problems with this breaking the layout. Go on, test it out, click it a few hundred times to give it a thorough test.
  • I’ve stopped fixed image sizes for quite a while now and used 100% as width. With this new layout I also gave them a max width to avoid wasted space and massive blurring.
  • For videos I will now start using Embed responsively not to break the layout either.

All in all this was the work of an hour, live in my browser and without any staging. This is a blog, it is here for words, not to do amazing feats of code.

Here are few views of the blog on different devices (courtesy of the Chrome Devtools):

iPad:
Blog on iPad

iPhone 5:
Blog on iPhone 5

iPhone 6:
Blog on iPhone 6

Nexus 5:
Blog on Nexus 5

Hope you like it.

All in all I love working on the web these days. Our CSS toys are incredibly powerful, browsers are much more reliable and the insights you get and tweaks you can do in developer tools are amazing. When I think back when I did the first layout here in 2006, I probably wouldn’t go through these pains nowadays. Create some good stuff, just do as much as is needed.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Make the Web Work For Everyone

Millions of websites have compatibility problems on one or more of the major browsers, leading to a poor user experience. The web developer community can fix this.

The web has changed immensely in the past 20 years. In 1996 there were roughly a million websites; now there are more than a billion. Back then there were roughly 50 million internet users; today there are more than 3 billion. We have more content than we ever dreamed was possible. People are enjoying it on 8.1 billion connected devices, including more than 24,000 distinct mobile device types.

Statistics illustrating explosive growth in the number of sites, users, and devices.

This explosive growth in content, devices and users has made cross browser compatibility even more essential than it was in 1996. Stack Overflow has almost 55,000 questions that include the string “cross-browser”, and hundreds of thousands of questions about things that work fine in [Browser X]. Any question about how a particular browser handles a particular site is a potential compatibility question.

Statistics showing the number of questions on Stack Overflow that relate to cross-browser compatibility.

So yeah, cross-browser compatibility is still a thing. It’s a thing we care about at Mozilla, and we think you should care about it too. Why? Well, your users probably aren’t on the same browser as you. They have different abilities and needs than you think. They won’t change browsers if your site breaks for them. Serving them well is one way to demonstrate mastery of your craft. And modern tools make it easier than ever.

What causes cross-browser incompatibilities? It’s complex. Here are some of today’s top culprits:

  • Developers who use browser-specific features (e.g. vendor-specific prefixing) to achieve certain effects without fallbacks or polyfills for other browsers.
  • Browser vendors who rush to implement features developers want before they are standardized.
  • Browser vendors who are slow to implement standards and fix bugs in their browsers.
  • Sites that employ user agent sniffing to serve different content to different browsers.
  • Developers who are over-reliant on a single toolset (which sometimes only reliably supports a single browser) and may miss cross-browser compatibility bugs.
  • Growth in the industry — intense demand has encouraged many new web developers to join the field, which means developers overall are less experienced on average than they were a few years ago.

Statistics suggesting that browser implementations, developer experience, and developer browser choice may affect cross-browser compatibility.

Some of these challenges have been with us since the early days of the web. But since those days, web development has made great progress. Best practices and modern tools can help us build vibrant experiences on every browser.

So, developers, here are a few things to inspire you to make your next web site work for everyone.

More people use that other browser than you think

Many developers believe the browser they use is the only browser that anyone really uses, therefore they should just develop for it. By some measures, 70% of web developers use Chrome on the desktop. But only about 45% of the general population use Chrome across all device types, and only about 57% of the general population use Chrome on the desktop. Building and testing on Chrome alone ignores almost half of global users.

And browser use varies by geography. Chrome, Firefox and IE/Edge are the top browsers in many locales, but the proportion of users on each varies. German users favor Firefox over Chrome. IE is big in Japan. Quite a few Australians choose Safari. More than 1 in 5 Vietnamese users run a fork of Chromium called C?c C?c. Building and testing on just one browser ignores these market differences.

Finally, features present in your browser may not be present in other browsers. Browser vendors implement features on different schedules, so a cool new API in your favorite browser might be missing for a lot of users.

These factors combine in unexpected ways: Choosing an API that isn’t supported in all browsers, testing your site only in one browser, and launching in a market where that browser isn’t dominant could mean excluding substantially more than half of your potential audience. Leaving money on the table. Leaving customers out in the cold. That’s worth making the extra effort to avoid.

Compatibility intersects with accessibility

Building cross-browser compatible web sites means designing and coding for unknown client environments, in order to make content available to the widest possible audience. And that audience undoubtedly includes people with disabilities — probably more than you think. If your web site works in every browser but falls apart in a screen reader, you’re missing a powerful opportunity.

People with disabilities represent a significant market share. For example, in the U.S. alone, there are more visually impaired internet users than all Canadian internet users combined. Modern web features address this audience’s needs; you just have to implement them.

Accessibility techniques don’t just benefit disabled users either — for example:

  • Pages that are more accessible to screen readers are also more accessible to search engine algorithms. Simple accessibility techniques such as using alt-text on images, using descriptive text in links, using CSS for style only (never for meaning), and using HTML5’s semantic tags improve the overall SEO of a page.

  • Transcripts of video content aren’t just good for people with auditory impairments — they are also useful for users on mobile devices in low bandwidth areas that can’t download the video, and people in noisy environments that can’t hear the video. And more text content means more opportunity for relevant keywords, so again, more SEO.

Users won’t switch browsers, they’ll switch sites

You might think that users will switch browsers to use your site. But many won’t or can’t.

Users have no patience for things that don’t work, and they’ll just go to a competitor’s site instead. Failing at a critical point could turn a potential user away forever. According to Akamai,

  • 32% of users who encounter a problem on your site are less likely to make online transactions with your company
  • 35% will have a more negative perception of your company
  • 45% are less likely to visit your web site again
  • And more than 1 in 5 users (22%) will leave for good.

What’s more, many users don’t know how to install a new browser, or even know what a browser is (many users don’t know the difference between a browser, a search engine, and a web site).

And even if users know how to install a new browser, and want to, they might not be able to. Many companies mandate which browsers their employees are allowed to use, and many people use public computers in places like libraries.

For example, Microsoft gave a deadline of Jan. 12, 2016 for users to switch to a newer version of the browser, but in March more than a third of IE users remained on outdated versions that no longer receive security updates. The 2.07% of IE users currently running IE8 are on a browser that Microsoft no longer patches; the same goes for more than three-quarters of the 1.59% on IE9 and for virtually all of the 10.95% who ran IE10 last month.

Broken web experiences drive users away. If half of your users are on a different browser, and you want to keep them, testing it in that browser is essential.

Statistics showing that browser use varies by locale, and that broken web sites drive away users.

Compatibility === Craft

Creating for the web is a skilled discipline, not just a menial task — we all want to take pride in what we do, hone our craft, and demonstrate our mastery of it. This involves:

  • Staying current with the latest technologies, frameworks, and techniques.
  • Testing carefully and implementing cross browser/platform apps including fallbacks for less capable browsers. Is the experience acceptable?
  • Making sure your web content is accessible to people with disabilities.
  • Making sure the general look and user experience of your creations is pleasant and fits in with your/your client’s brand.

So, as a web developer, launched sites are your resumé. A high quality experience is important to your users, your peers and your present and future employers.

But so often, time and business constraints get in the way of such things. You have a hard deadline to hit. Your boss only cares about how the site works on their iPad and hasn’t heard of accessibility. You don’t have time to fix that IE bug in this sprint. We do what we can most of the time, rather than what we’d ideally like to do.

It can be tempting to let cross-browser testing become a corner to be cut when deadlines loom, hoping your chosen framework’s testing will cover you. But your site isn’t purely framework code, and you’re responsible for all of it. Testing to ensure that your code works well across browsers is a corner that you should strongly resist cutting.

Writing code that stands up over time; delivering information to anyone who requests it; creating rich functionality that works for all: These are the noble goals of a great web developer.

Modern tools can help

Now you know a few great reasons to make your web site more compatible. But how do you do it?

  • If you’ve found a bug on someone else’s site, file it at webcompat.com! If you’re debugging your own site, read on.
  • Try your site in different browsers and move through it as a user might. Watch the developer console in the browser’s developer tools for errors (most modern desktop browsers have incredibly capable developer tools built in to help you debug issues, even on mobile):
  • If you find a bug that is not in your site, maybe it’s a bug in the browser! Open a bug report so your browser’s developers can fix it:
  • Integrate a popular cross-browser-testing tool into your deploy process, to make cross-browser testing automatic:
  • Understand which browsers have implemented web features before using them on your site:
    • Caniuse
    • MDN’s compatibility tables
    • Kangax’s ECMAScript compatibility tables
  • Explore coding tools that can improve cross-browser compatibility:
  • Go deep. Learn about the web’s many features and quirks. The more you know about it the more you will love it:

Delivering on the web’s promise

The promise of the web is that anyone can access content using any browser on any device. Woven into this promise are some of humanity’s greatest aspirations — self-determination, freedom, education and discovery. Designing for cross-browser compatibility opens your work up to the largest possible audience and market, advances your mastery of the craft, and is a noble end in itself.

While the modern device and browser landscape presents many challenges, modern tools offer many solutions. More than 3 billion people are out there looking for your site — is it ready for them?

View full post on Mozilla Hacks – the Web developer blog

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

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

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.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Technical Blogger? Mozillian? Here’s a plugin for you to tell us about your work!

One great thing about Mozilla is that we want people to have a voice. Our products give people a voice on the web without being spied on. As a Mozillian, you don’t have to through various levels of red tape before you are allowed to speak out in public.

many voices one mozilla

As Mozilla grows, it becomes more difficult to stay in touch with what people are saying. Mozilla is many voices, but there is also a lot of noise on the web and others scream loudly about what they do, too. We can help each other being heard by speaking together and tell other people about what we do. We’re not really playing to our strengths when the people in Mozilla who communicate to the outside world hear about great work by Mozillians by chance or from other sources.

This is why we wanted to make it easier for you to tell us when you created something interesting. That’s why Luke Crouch (@groovecoder) of the Mozilla Devengage team extended the functionality of the “Promote MDN” WordPress plugin.

promote mdn

Originally, this plugin was meant to promote MDN by automatically linking certain words in your posts to the correct Wiki pages. We talked about it before here.. Now we added an extra feature: when you write a post, you get a checkbox in the editing screen that says “Notify Mozilla of this post”:

notify mozilla checkbox in the new post screen of wordpress

When checked, publishing the post will automatically send an email to the Mozilla developer engagement team and the Mozilla communications team about your post. That way we can visit your blog, check what you wrote and give you the promotion your work deserves. This could mean tweeting about your article, creating a follow-up post on the Hacks blog, or whatever seems appropriate to the situation.

The Promote MDN plugin still does what it was supposed to do when we originally released it: it links various expressions in your text to MDN for people to read up. These expressions are maintained on the Mozilla Wiki (https://developer.mozilla.org/en-US/docs/Template:Promote-MDN?raw=1) and you have many customisation options allowing you even to fully opt out of this feature:

promote MDN options screen

You can become a trusted expert simply by telling us when you post. We can help get your message much further and you could become a go-to person for us when we need an expert on a particular topics. None of this is mandatory, we just want you to know the opportunity is there to take advantage of.

Get the Promote MDN WordPress Plugin here. If you are interested in modifying the plugin for your own company needs, Luke also made the source code available on GitHub.

View full post on Mozilla Hacks – the Web developer blog

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Webconf Hungary – HTML5 Beyond the Hype: Let’s make it work

I am on my way back to England from Budapest where I spent the last two days in an epic hotel and the day speaking at the 10th annual Webconf. I was invited by the Mozilla community in Hungary, who did a great job showing off Firefox OS to the attendees. My presentation (one of the very few in English) was about HTML5 and how Firefox OS helps making some of its promises a reality.

The slides are available on Slideshare:

And as always there is a screencast on YouTube.

The talk was filmed, and the video should be released soon. All in all Webconf was a cozy one day conference with a lot of very interested attendees. As most content was in Hungarian – a language that seems base64 encoded to me – I didn’t get much, but it seemed the overall quality was very high.

View full post on Christian Heilmann

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)