• You are currently browsing the archives for the General category.

  • Archive for the ‘General’ Category

    For Fox’s sake!

    Thursday, April 3rd, 2014

    summit fox
    Photo by Marcia Knous

    I work at Mozilla. The non-profit organisation to keep the open web, well, open and alive. I work here because of a few reasons:

    • We have a manifesto. Not a “company guideline” or “our vision” or “about us”. We mean business, but not in the sense of “what brings us the most money”.
    • We have people, not employment figures. Amazing people, creative people, misfits and average people. From all over the globe, with all kind of ideas and beliefs and backgrounds. And they work together. They clash, they disagree, they flood my inbox with CCs as I should know the answer to how they can work on this. They all have different setups and ways to work.
    • We empower people. We work with a lot of people who we don’t pay. We help them learn, we help them become speakers for a good cause, we help them communicate and we let them be our communicators in regions and languages and manners we have no idea about. We trust them. And it shows. Going to a Mozilla summit is like going to a concert or festival. You have a lot of fun, you have a lot of noise and boy do you get a lot of demands. People are hungry to do good, and are ravenous to learn all about it.
    • We are a stepping stone. Quite a few people who I trained on public speaking and tech evangelism got better jobs immediately after that. I write more recommendation letters than ever before. And I see people getting a chance to move to another country and get a job they beforehand only dreamed about.
    • We are more than a company in the Silicon Valley. We are world-wide, everybody has the right to work from home and most people do. We trust you to use your time wisely and only ask you to show up for video meetings where we need to sync. This means we release much more than I have ever seen in any other company. Your output speaks for you, not how on time you arrive in the office, how you look or where you are from.
    • We value passion and personality – I can be a total pain in the lower backside. Other people drive me crazy. We don’t have to have the same ideas, instead we find a common ground and analyse what is good for the project as a whole. Then we do that together. There is no problem disagreeing with a director, a manager, or even a CEO. If you have a good point, it will be taken in and – after peer review – taken on. You can get away with a lot more than you could in other companies. And this isn’t about “yeah, let them rant – it makes them happy” – if you are professional and have a good point, you find an ear to listen to you.
    • We disagree and discuss. The old saying “Arguing with an engineer is like wrestling with a pig in mud – you realise far too late it is enjoying it” is very much alive here. All discussions and disagreements are public. Personal disagreements are normally taken on head-on and in direct messaging. Nobody is asked to agree with anything without having had their say. This delays things, this makes things much more complex, but it also makes us who we are. A free, open product can not be created behind closed walls. Open Source does not mean “code is on GitHub”. It is pure transparency and a messy process. But it makes for strong products that can not be killed if one person leaves or gets bored. Open Source means the big red bus has no power. What is shared can not get taken away, neither by organisational changes, nor by outside powers, nor by silly things like hardware failure.
    • We work with the competition. – I have no problem speaking to Google, Microsoft, Opera, Twitter, Facebook and whoever else I please. I speak at their events, I share upcoming work on our part with them. I applaud and publicly promote the great things they do. We work on standards and best practices. These can not be done in one place. They have to have peer review.
    • We allow you to speak freely. – there is no censorship, there is no “you have to use this channel to communicate”. The latter drives me crazy, as I have many a time to react to things people say about our products on their personal blogs or find amazing examples and code randomly on the web. People prefer to write on their own channels about products they built on company time rather than using an official channel. In other companies, that is an HR issue. Hell, I had contracts that said that whatever code written on company hardware belongs to it. Not here. You can talk and you should also be aware of the effects your communication has. Many times this means we have to help you out when you miscommunicated. That is tough, but it also means we learn.

    many voices - one mozilla

    All of this is the messy craziness that is Mozilla. And that’s why I am here. It is not a 9-5 job, it is not an easy job. But damn is it rewarding and interesting.

    When I started, I took a paycut. I continuously get better offers from the outside. I had a six hour interview with six people. These were the best brainstorming I had done for years. When I met volunteers on my way out and saw them giving their time for Mozilla with a smile that was contagious, I knew I am up to something good.

    When I interviewed, nobody asked me about my personal or religious beliefs. This would be illegal – at least where I am from. I don’t have to agree with everyone I work with on a personal level. All I have to do is to allow you your freedom to be who you are and flag up when your personal views inconvenience or hurt others and are just not appropriate in a work situation.

    So when you tell me because I work for Mozilla I share ideas of other people “above me” in the hierarchy, you don’t know me and you have no idea how Mozilla works. We are different, and we work differently. You make something that thrives on communication and helping another and having thousands of personal voices something you understand: a hierarchical company with one person who is the embodiment of everything the company does. A figure like that exists – it is a one-man startup or a movie superhero. It doesn’t work for a loosely connected and open construct like Mozilla.

    I’ve had moments where I was ready to give up. I had some very painful months lately where all my work of the last years was questioned and I felt I ran out of things to excite me. Then I concentrated on the people who give their free time on us and talked to them. And I found the spark again.

    I am here for all the people who spend time to keep the web open, to teach web literacy, to give people a voice where it would be hard for them to get heard. They may be my colleagues, they may be volunteers, they may be people in other companies with similar goals. This is bigger than me and bigger than you. I hope it stays, I hope it thrives and I hope people understand that what Mozilla did and does is incredibly important. Information wants to be out and free. The internet allows for this. We made it our passion to protect this internet and give you software that is yours to use – for free, without backdoors or asking you for your information upfront. If that’s not your thing, fine. But don’t give it up because you disagree with one person’s personal actions and beliefs. I don’t.

    Want some of this? Contribute to Mozilla or start working here (the former can also easily lead to the latter).

    On hating

    Monday, March 31st, 2014

    Some months ago I wrote about a word I can’t stand and explained why. I have another one that annoys me, especially when it is used in a flippant fashion in online discussions: hater or “hating on something”.


    Hate is a powerful thing, and it is always destructive. It is the opposite of love and whilst being just a word, for me it is the end of all creativity and creation.

    I don’t have to love everything, but there are various degrees of loving things. There are no degrees of hate. Hate is a final state, giving up on something and despising it. Hate is destruction, hate is the opposite of evolving.

    You can dislike, you can disregard, you can disagree, you can be annoyed by something. That is good. That means you want to change it. When you hate something, you dismiss it as not useful and not for you, no matter how it’d change.

    That’s why I feel utterly crushed and ready to give up when someone calls someone else a “hater” for criticizing something. I feel almost physically woozy at the grammatical abomination that is “don’t hate on $topic”.

    I get it, it is a slang thing and used at times in a flippant fashion and can be countered with a “haters gonna hate”. To me, this ends a useless conversation, a pointless exchange of nothings and sooner or later a decrease of the value of hate.

    Hate to me is a powerful and final state. Death of information, death of conversation, death of ideas. By using it flippantly describing someone’s dislike or criticism of a topic, we make it a common thing. We seemingly strip it of its power, but what we really do is invite even stronger opinions, and in many cases the worst ones we can imagine.

    By calling any point of view that is not ours “hating” we achieve two things:

    • We silence the people who actually had good input on the matter
    • We invite the trolls to take over

    Hate is something that needs to die. It is not helping. Hating is something people do who want to destroy without interest in learning about the thing they are against. Don’t call people that unless you are 100% sure that this is what they are.

    Words build up or tear down people. Use yours wisely and make a better world.

    100 super useful web sites allowing one simple task each

    Tuesday, March 25th, 2014

    I just came across this post on imgur showing lots of cool little helper sites. Sadly there were no links in the description, so using some Sublime Text Magic, I converted them.

    Just to find out later that not only do imgur posters either post screenshots of links or unlinked links, no, all of this was once again stolen content.

    The original list is maintained by Amit Agarwal so please go on to:

    The 101 Most Useful Websites

    Excellent work, Amit, shame people don’t respect it.

    To make this not a total waste of blogpost, at least here is how I used Sublime Text to turn a list of non-links into a list of links using a bit of regular expression knowledge (go fullscreen).

    Do HTML5 apps have to be online all the time?

    Sunday, March 23rd, 2014

    One would think that almost five years after the definition of HTML5 offline capabilities this question would be answered. As someone spending a lot of time on HTML5 panels and Q&A sessions at conferences I can tell you though that it gets asked every single time.

    being offline

    As part of the App Basics for Firefox OS video series we recorded a very short video that shows that HTML5 apps totally can work offline:

    You can see the demo explained in the video in action here: non-offline version and offline enabled version.

    So here it is: No, HTML5 apps don’t have to be online all the time, they do work offline if you write them the right way.

    “But, but, but, but, but…”, I already here people go, “it is not that simple, as there are lots of issues with offline functionality”.

    Yes, there are. Appcache is a less than perfect solution, as researched in-depth by Jake Archibald and published in non-minced words almost 2 years ago. There are also issues with localStorage being string based and synchronous and thus being less than optimal for large datasets. For larger datasets the issue is that indexedDB is not supported by all browsers, which is why you need to duplicate your efforts using WebSQL or use an abstraction library instead.

    But: these are not insurmountable issues. I am very happy to see offline first becoming a UX starting point, I am super excited about discussions about replacing AppCache and the ServiceWorker proposal showing a much more granular approach to the issue.

    For an in-depth showcase how offline can really work, check out Andrew Bett’s 2012 Full Frontal talk.

    The problem is that these are details that don’t interest the business person considering using HTML5. All they hear is experts complaining and bickering and saying that offline HTML5 doesn’t work. Which isn’t true. It doesn’t work perfectly, but nothing on the web ever does. Many, many things in Android and iOS are broken, and many apps don’t work offline either. These shortcomings are not advertised though which makes native apps appear as a much more reliable alternative. We should stop showing our behind the scenes footage as a highlight reel.

    I really, really want this question to not show up any longer. The documentation and proof is out there. Let’s tell people about that. Please?

    Edgeconf 3 – just be there next time, trust me

    Saturday, March 22nd, 2014

    I just got back from Edgeconf 3 in London, England, and I am blown away by how good the event was. If you are looking for a web conference that is incredible value for money, look no further.


    The main difference of Edgeconf is its format. Whilst you had a stellar line-up of experts, the conference is not a series of talks or even several tracks in parallel. Instead, it is a series of panels with curated Q&A in the style of Question Time on BBC. Questions are submitted by the audience before the conference using Google Moderator and expert moderator triage and collate the questions. Members from the audience read out the questions to the panel and the moderator then picks experts to answer them. Audience members also can show their intent to ask a question or offer extra information.

    In essence: the whole conference is about getting questions answered, not about presenting. This means that there is a massive amount of information available in a very short amount of time and there is no chance to grand-stand or advocate solutions without proof.

    The main workload of the conference is covered by the moderators. It is up to them to not only triage the questions but also keep the discussion lively and keep it entertaining.

    All the moderators met the day before the event and spent half a day going through all the submitted questions and whittle them down to seven per panel. Each person answering a question has 30 seconds to a minute to answer and there is strict time-keeping.

    The whole event was streamed live on YouTube and the recordings are available on Youtube/Google+.

    During the panels, the audience can interact live using the Onslyde system. You can agree or disagree with a topic and request to speak or ask a question. All this information is logged and can be played in sync with the video recording later on. Onslyde also creates analytics reports showing sentiment analysis and more. Other conferences like HTML5DevConf, Velocity and OsCon also started using this system.

    Another big thing about Edgeconf is that any of the extra income from tickets and sponsorship (in this case around £10,000) get donated to a good cause. At the end of the conference the organisers showed a full disclosure of expenditure. The cause this time was Codeclub, a charity teaching kids coding.

    I am very proud to have been one of the moderators this time and run the accessibility panel (a detailed post on this comes later).

    I have to thank the organisers and everyone involved for a great event. I learned a lot during the day and I am happy to be involved again in September.