Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for March, 2013.

Archive for March, 2013

CSS3 – know your arsenal – a show and tell at Posscon

Friday, March 29th, 2013

In the afternoon of the second day of Posscon I was asked to give a talk on the benefits of CSS3. Instead of having a presentation I put together an interactive slide deck with direct Q&A. Here is the recording of the session.

The slides are posted here and you can see a
screencast of the session on YouTube

In the session I covered the benefits and pitfalls of using CSS and showed how newer features like advanced selectors, pseudo selectors, transforms, transitions and animations can make it easier for you to create beautiful web products with much less code than before.

“Is open still enough?” – Keynote at Posscon 2013 at Columbia, SC

Thursday, March 28th, 2013

I just delivered the Keynote at Posscon in Columbia, South Carolina talking about the history of Mozilla, open source now and how Firefox OS is ready to disrupt a very closed market.

Abstract


In the open source world we know why we put our time and efforts into the larger goals we try to achieve. We successfully showed that the barriers and lock-ins of the past don’t hold up in the test of time and got even the enemies of old to release their code.
This made us lax and we can be seen as hard to talk to and deal with. We seem to have quite a strong lack of empathy for people who don’t “get” open and our behaviour can lead to a lot of opportunities to go wasted.
Times change and the new mobile computing world and closed app markets give end users an incredibly alluring world of simplicity – a world that is built on lock-in, afford-ability and making the user the product. A world that the open alternatives to date can not match when it comes to simplicity and shininess.
Mozilla, amongst others, is battling this change by offering a truly open alternative called Firefox OS. In this keynote Chris Heilmann will show how open can still win the minds and hearts of the main market and what we as an open source community can do to avoid the future to be behind shiny and yet sturdy bars and locks.

Slides and screencast


The slides are available online and the Screencast of the talk is on YouTube.

Notes


Today I am here to talk about the success of open source. At a massive open source conference. Bit of a no-brainer, isn’t it? So I want to take this opportunity to share my views of how open source changed the IT world, how the foundation I work for had a massive impact and what challenges lie ahead for the world of open source.

Specifically I will talk about the world I know about and care deeply for – the web and how its use changed media as we know it.

I work for Mozilla, a large player in the open world space with the flagship product being Firefox, the web browser. Mozilla emerged from the ashes of Netscape, with its Navigator and Communicator products and the messy fight with Microsoft. When the dust settled after Netscape was defeated a few of the Netscape folk realised that the web needs something that is open, free and a way to promote standards above closed software and technology. Thus Firefox was born. In its very core the values of Mozilla are to keep the web open, available to everybody and that consuming the web is on the terms of the end user. Not the terms of a corporate agenda, not the monetisation of a product, not the need to build products that age very fast so that you need to buy the next one.

Firefox brought the web to people who didn’t have it. Without it I am very sure we wouldn’t have had Wikipedia, we wouldn’t have had the social web revolution, and we wouldn’t have had all the open source goodness we have on the web with great products like WordPress, Drupal and others taking on traditionally very commercial markets.

This is not because of Firefox the product. It is because of Firefox the idea. The browser that is dictated by the needs and wants of the users. The browser that doesn’t shy away from making unpopular decisions in the eyes of developers when the security and privacy of end users is at stake (remember WebSockets?).

From the very beginning Open Source was the main success factor of Mozilla and Firefox. First of all you can’t destroy what is open and distributed. You can not buy it out, you can not block it. Open Source projects die when end users don’t care about them or developers don’t keep them up to date or don’t hand them over to other people who care in time.

And here is the amazing thing. A lot of years went past and by now, open source is very much the standard when people start web projects. Other browsers are open source, libraries, frameworks, whole operating systems are.

One of the things we have to give a lot of credit for this is ironically enough not open source although it builds on an open source infrastructure: GitHub.

GitHub made version control easy, it made pull requests and commenting social and it had a friendly interface – something incredibly important but sadly enough far too often forgotten.

Traditionally a lot of companies, users and developers flocked to more closed environments as they were simpler. We got to admit that we expect a lot from new developers and the open source crowd is not that known for being the most embracing and welcoming when you don’t play by the rules – rules that in a lot of cases don’t even get explained.

With Github it became easy, and it makes sense for people to release their products there. They get the benefits of version control, and have a direct channel to end users. There is no long process to become part of a project. You fork it, you fix it, you send a pull request.

This is great and it makes me very happy to see that people care to release their products open source. However, I start to see a bit of an annoying trend concerning this: it is fashionable to release things open source.

Companies have a hard time hiring new developers. It costs a lot of money to get an engineer through the door and finding them is not easy. That’s why it makes sense to go where the developers are. And GitHub is that place right now.
This leads to a lot of strange products being released as open source without really being it. I found two main happenstances here that I refer to as Ta-Dah sourcing and pasture sourcing.

Ta-Dah source is when a company releases an open source version of a commercial product after releasing it commercially. All the new features and design decisions are done by the company and the source is then released a few weeks later. This is fair enough, but it smacks of using the open source community to fix your problems rather than making them part of the design process and have a say in the direction of the product. It also means that derivatives of your product will always be a version behind and get rude awakenings when you change something very vital to the original product.

Pasture sourcing is when a company or an individual throws a product over the fence to the open source crowd to maintain it for them as they lost interest in it, or it doesn’t really fit their company goals any longer. This way of releasing open source has a bitter aftertaste. It feels as if the company is doing the open source community a favour by releasing code, but it actually just means that you throw out damaged goods or something that is not fashionable any longer. You don’t really act out of altruism or to go open source, all you do is to feel smug about “not letting a product die” by making other people do the maintenance work for you.

Both of these approaches assume that communities around your products happen magically and don’t need any supervision. That is never the case. Open source developers donating their time and effort are not worker drones to do free work for you. You should give them the respect, guidance and feedback they deserve.

Of course not all companies do that wrong. I want to give a quick shout-out to Adobe here. Yes, Adobe the evil corporation that brought us Flash and Dreamweaver and Photoshop and Illustrator. Adobe saw the sign of the times and that open is better than closed. That’s why their new HTML5 tools are built very much with feedback from the community and their web-based editing tool, Edge Code is released in parallel as an open source project called Adobe Brackets.

Adobe Brackets is a great example how a very closed and highly commercial company can go open when the right people have the audacity and stamina to plow through meetings and give lots of internal presentations. Not only is the code of Brackets available – they also have a great way to triage new bugs and invite new developers to come in. Easy to fix bugs are being flagged as that to get people into the project with a quick win, and not by being overwhelmed with tons and tons of documentation. The project planning is openly visible, and pull requests from the outside take precedence over internal ones. Thanks, Adobe for being a good role model.

There is however a big change happening that is quite a throwback in the terms of open source. Many, many new users start on the web with a mobile device and when you look at that market, the word open is mud.

The mobile market is a highly competitive one and it seems the most money is made by suing each other over patents. It is also an incredibly weird market where the people who shout the loudest are not the ones who make the most money.

It is a market where people closely guard their products and try to keep their cards close to their chest. The massive scare-word is fragmentation, which we who work in the open would call choice.

In a highly competitive market the main issue you have is that you want to have an ongoing presence. You don’t want to build a product and then not see any of it any longer. The concept of in-built obsolescence is very, very common. You got to make sure people want new, bigger, better, faster more. And you need to build the shiniest product.

This didn’t go down well with Mozilla. We are here to keep the web open and free and leave it the choice of the user what to use to go online. We also wanted the web technologies to be the platform of choice because of their open nature and them being built on agreed standards.

It all started that way – in the 1997 keynote Steve Jobs talked about reinventing the phone with the iPhone. He also very much pointed out that HTML5 and the Safari browser (which is built on the open source WebKit engine) is the platform your apps run on. “No SDK” was the message. That changed, and my educated guess is that in-built obsolescence is the reason.

Nowadays all the apps that want to really perform and get access to the interesting hardware in the phone need to be written in Objective C and be distributed through the marketplace as apps. HTML5 apps are of course possible but they get a slice of the pie, not the full one.

Android is better as it is open source. Well, to a degree. It suffers from the same issue that HTML5 apps are limited in their access. Even worse, older Android versions have a stock browser that is lacking in very necessary HTML5 support features, which is why Chrome, another Google product is now on newer Androids.

Newer Androids being the main point here – the goodness of HTML5 is not given to older phones and tablets not capable of supporting the latest Android. Android is full on in competition with iOS and thus has to play the same game of in-built obsolescence.

We saw this and realised things have to change. The first thing we did was beef up Firefox for Android, which is a browser you can install and gives you lots more HTML5 goodness on Android with backwards compatibility including Froyo. On iOS, no browser is allowed that doesn’t run the same JavaScript engine as Safari, which means Firefox can’t get there. This even forced Opera to swallow the bitter pill of ditching their engine and make their browser WebKit based.

We also realised that the lock-out happening on the mobile web is not only based on expensive and fleeting hardware but also in the infrastructure around it. Many people in emerging markets would love to play with apps and the new mobile web world but have no credit card and their connections still cost by the megabyte, which makes a 50MB Angry Birds upgrade a costly affair.

So we went the extra mile and built Boot2Gecko. This was a new operating system for mobile devices based on the same Linux core as Android. On top of that we have a stack of drivers and open, standardised APIs to access the hardware via JavaScript. The rest of the phone is Gecko – the engine that powers Firefox. Every single thing in the phone’s interface and in the apps you build for this platform is HTML5. It is the hardware platform and OS the standard deserves.

We showcased B2G last year at Mobile World Congress – the biggest mobile event and a cut-throat sales show. We had some success. We went home, did our work and came back – and this year we owned the show.

In two days I gave 54 interviews to all kind of media about Firefox OS as the final product is called now. Everybody wanted to know about that open source thing that managed to attract 18 mobile provider partners and 4 hardware partners to bring phones to emerging markets where other approaches have failed.

Firefox OS is the open answer to all the problems I mentioned. We are not trying to compete with Android and iOS on the high-end. Instead the aim is to bring highly affordable phones to a market that wants to go online on their terms – with billing to the carrier and apps that can be tried out before you download them.

Let me quickly show you what that means. {demo}

The great thing about all this is that Mozilla built this system over the course of two years. Not as the open source deliverer for mobile providers but with them – a lot of the code has been written by partners.

The beauty of all of that is that when you write apps for Firefox OS, you write them on your own terms. You can publish them outside the market, bill your users with a payment API instead of having them sign up for a marketplace, and above all – your apps will also run on Android, iOS, and desktop browsers. You will not get all the goodies you get in Firefox OS across the board, but nothing stops you from using PhoneGap to, well, bridge that gap.

We bet on open and we won a massive battle. Now we are ready to roll out enjoyable mobile experiences for the masses without them having to be part of an arms race between two large corporations. This is about getting people online, not about getting them as consumers. And that, to me, is a massive opportunity.

So here’s to an open future of the mobile web. Come, join us.

A quick update and screencast of the Mozilla HTML5 slide system

Sunday, March 24th, 2013

After messing around with it for some of my latest presentations, I just updated the Mozilla HTML5 presentation template (on github). It has been a while since I did that, so here are some new features:

  • Smooth transition from slide to slide
  • Blockquotes with cite link
  • Notes functionality
  • Smooth inner-slide bullet navigation (greyed out to full)
  • Option to suppress page numbers
  • Centered, left- and right-aligned images
  • Image frames, dropshadows and frame dangling animation
  • Live code editing

You can see how to use the system in this 10 minute screencast.

Happy editing!

You already have the best presentation tool

Tuesday, March 19th, 2013

Helping out people with giving their first public presentations can be frustrating. The reason is the misconception that we have based on years of conditioning in school and corporate environments that a good presentation stands and falls with the slide deck.

Chris Heilmann

Of course a beautiful slide deck is a nice thing to have and allows you to emphasize your points. In some instances it is also extremely important to have a good and consistent slide deck. But when you start out and want to become an engaging speaker sweating about what slide format what font and which system to use is a waste of your time.

You already have the killer presentation tool: yourself. Your talk will stand and fall with your performance, how engaging you are and how much you know about the subject matter that is interesting and relevant to the audience. And this is where you should start. You become engaging by being engaged yourself. The first step to any good presentation is to find out why you are excited about the subject. Then build on that.

Sharing your excitement is the most addictive and convincing thing there is. When you are confident that you can explain why you are excited and how the audience can get to the same stage, you could stand in front of a wall of drying paint and people would still remember your talk as something that helped them and was interesting.

Slides are an aid – something to bring your message home. Wallpaper, so to say. At least in talks that are meant to engage and audience and get them to find out more by themselves.

If your presentation is to a group in a meeting room getting everyone up to speed on the state of a certain project – different story. But even then reading from your slides is not the best way to keep people awake. Nothing says “this will be boring, feel free to skip parts” more than an agenda in your slide deck. Sometimes this might be needed, but that is already an indicator that the meeting is badly organised.

As to what format and system to use: find what makes you most effective. Writing your presentation should be about bringing the messages across, not playing with technology. Just be aware that presenting at an event in 99% of the cases means you will have no connection to the web and that making your slides available to the outside world is a different step to preparing and presenting your talk. There are a lot of “host your slides here” systems out there – these are great for distribution, less so for reliable presenting.

RIP Google Reader – I’d have paid for you

Thursday, March 14th, 2013

Google just announced that on 1st of July 2013 they will shut down Google Reader as a service. Just like that. The reasons are meager:

There are two simple reasons for this: usage of Google Reader has declined, and as a company we’re pouring all of our energy into fewer products. We think that kind of focus will make for a better user experience.

This is a big disappointment for me. I have a few thousand RSS subscriptions I get my information from (and send it out on Twitter and Google+ which a lot of people appreciate). I can not see how any other resource than feeds give you the speed, quality and control over the content you consume on the web.

Yes, RSS has been declared dead many times and people keep banging on about the social web and that Facebook, Twitter, Reddit and others have replaced the old style of blogging and having an own feed. But I don’t buy it, sorry. Every social network is full of senseless chatter and organised advertising. Social media experts and PR folk make sure that information about certain products and celebrities get read and retweeted. I don’t care about that. I don’t want it. The same way I don’t watch public access channels or randomly surf channels but instead plan what I want to see on TV. Random exploration and finding things by chance is fun, but it is not helping you to keep up to date – it is the ADHD of information consumption. I myself use Twitter, Facebook and Gogole+ much more frivolous than my blog. The reason is that they are terrible as an archive of my thoughts or to put out structured data. Search is terrible in Twitter, which is why I use pinboard to bookmark links I tweet automatically. Google+ has the same problem. Finding quality information is damn hard as all the social networks are there to have lots and lots of interaction and not make people write good articles or posts.

Of course the real issue is that this is not about users or the web or making it easy to find information – this is about numbers, quick updates and showing more ads to people. Google+ is where people should go in the Google world. There was never an offer to pay for Reader. I’d have loved to pay for it – much like I paid for pinboard.in when delicious got the “oh we innovate and make it prettier” treatment. There is also no way to pay or call the shots in Google+ – as the consumer you are just there to bear with changes and use them or not. What’s the difference between a circle and a group? How many competing ways to organise our contacts can we use before we spend more time shifting sources around rather than reading what comes from them? Can you rely that anything you put in will be available for you later on? Can it be indexed and searched outside? Maybe, but will that be the same in the future? RSS was open – it was decentralised and used the web to link to each other and give you a mechanism to get information about news without having to go to a site and surf it. This is not good for advertising – you need to own the interface to own the user’s attention. Twitter is also feeling this heavily which is why it is killing all third party clients one by one.

My favourite answers on Twitter when I said that I am sorry about Reader going to the farm where old services go was that people told me that there surely must be an app doing the same thing. Maybe, but how the hell is an app that I need to download and install on all my devices a replacement for a very simple web service with great searchability and archive-search and very quick keyboard controls? Any app needs a sharing button where I need to go to yet another service and the first app needs to log-in on my behalf. On Reader sharing was copy+paste. Simple, works, and it also means when App B gets hacked my personal social stream on the web is not full of spam.

It seems to me that we’ve been thoroughly brainwashed into seeing a nicely packaged – and hard to upgrade – app as the better option for anything. To me, it isn’t. Reader was a simple App tab in my Firefox, lighting up whenever there was something new. Easy to go to, press J a few times and go back to my other tabs where I create things, write or read. Of course this is not how everybody uses the web, but this is how content producers use it. I don’t write long descriptions of my links on my mobile – I re-send them, I simply distribute instead of filtering, commenting and distributing with context.

No, I don’t want to switch to an app for that. And neither should you. The power of the web is connected content – via links and open text-based formats that are easy to index and search. Content permeates through your environment – whatever it is. You shouldn’t have to have a certain app to consume it or comment on it or change it. More walled environments with a “live stream” and no access to the archive or linkabilty are not the answer to keeping the web a knowledge resource. They are the answer to the need of showing us more ads and making us click pointless “like” buttons. The interactions are what is monitored and counted. Not the content – content is just there for a fleeting moment until the next information fix scrolls into view.