Christian Heilmann

Author Archive

Domo-Kun in CSS

Wednesday, January 18th, 2012

And in the “pointless but fun” section and as my preparation for the trip to Japan tomorrow for Mozilla Vision 2012 I thought it would be fun to try to create a Domo-Kun in CSS from two lists of info about it.

I am sure real CSS gods like Lea Verou and Chris Coyier could do it in one element. :)

Reclaim HTML5 at Super VanJS in Vancouver, Canada

Sunday, January 15th, 2012

I am in Vancouver, Canada right now and yesterday night the Super VanJS meetup attracted around 160 people to come and see Rebecca Murphy, Robert Nyman, Jim Andrews, Preet Jassi and little me talk about all things JavaScript.

My own talk was the last of the day and was an ad-libbed introduction to a few of the things I coded lately wrapped in a request to reclaim HTML5 as JavaScript developers. The audio of the talk is available on archive.org:

The links to the demos I talked about are available here and here is a gist of what was covered:

I started by explaining my confusion about Supervan JS as Supervan is a terrible movie from the 70s with very interesting cover and back sleeve art and even more awesome posters.

I then continued to explain my unhappiness about the decline of HTML5. With this I meant that there are lots of marketing demos of HTML5 using a lot of technologies that are actually not HTML5 or use it in a very Flash-intro-ish way. I showed just how annoying it is to play Angry Birds online and how the recent Cut the Rope port looks much smoother. I also pointed out that none of them really use the web to their advantage by for example have feedback mechanisms or allow for level editing.

In essence I wanted the audience to think about bringing HTML5 into the “boring” world of day to day deliveries instead of just games and showcase sites. For this, I showed a few code examples and explained how they can benefit from HTML5 features.

I showed how to move an element to the current mouse position and how you can make this faster by using CSS translate instead of left and top using translateZ(0) to trigger hardware acceleration even when you don’t go 3D. I then showed that you can move things smoothly by adding CSS3 transitions instead of writing a JavaScript animation.

I continued introducing the 3D CSS maker, a tool to play with CSS 3D translation and animation that generates code for you.

The blue beanie maker was next showing how you can use drag and drop to put an image into the browser and manipulate it with Canvas.

The image cropping with canvas demo shows how you can enhance the functionality of browsers without having to write and install extensions. In it you can get a bookmarklet to crop any image on the web in the browser by double-clicking (in Webkit and Opera) or with a context menu (in Firefox).

I then continued to show a demo of less obtrusive video overlays showing how you can add hints for overlays on videos by reading data- attributes in the HTML and reading the current time of the video.

The last demo was a simple game with a an HTML twist that showed using canvas for game animation, touch, orientation and keyboard events to control a game paddle and how to read the necessary game data from HTML and thus making it easy to rebrand and change the game.

I ended with a plea to try some of these things out and play with all the cool APIs and hooks browsers provide us with these days instead of relying on frameworks and libraries for everything or build for one single environment. HTML5 is there for developers, if we allow only marketing people to play with it we do a disservice to ourselves.

I will follow up this with in-depth posts on hacks.mozilla.org and we also shot videos of the talks which will (quality permitting as there were some issues) be released soon.

All in all I had a great time, got lots of good questions and enjoyed the event a lot. Seeing that Vancouver is only a 2 hour flight from the valley there is a big chance I will be back soon.

[open tabs] some reading I did lately and you can now, too

Saturday, January 7th, 2012

My 2012 wishlist – don’t make the unicorn cry!

Monday, January 2nd, 2012

This year I will not go for any new year’s resolutions. In a market where the hotness is responsive design resolutions seem a bit outdated. Instead I will list my wishes for 2012. Wishes are a good thing as they bring you on the way rather than the burden of resolutions (which we always hush up in case we didn’t deliver them). So with this in mind, here’s me making my wishes for 2012.

chris heilmann holding a pink unicorn telling it my wishes

All of these are short and – in some cases – do need more digging and I will write longer posts about my views later.

I wish 2012 is the year where we help projects with code instead of telling them off

This happens all the time – someone releases something cool on Github and tweets about it. Then the avalanche of better-knowers rolls over twitter pointing out that the author should use “this or that” otherwise it is “useless” and “not accessible” or “hurts the web”. Well, the code is on GitHub, if it is as simple as adding more semantic markup I really wished people would just do it, send a pull request and fix it for the web. Bickering hurts the web, too.

I wish 2012 to be the end of memes

Being on b3ta for years I saw my share of memes and they can be funny in a small community. On the web as a whole they are pointless noise. This applies especially to ragefaces. Using ragefaces in your tutorials or presentations is the equivalent of coming to a party with nose goggles or a hilarious fake arrow through the head. A sad attempt at humour.

I wish 2012 to be the year the accessibility world stops shooting itself in the foot

As Karen Mardahl wrote inspired by some of my very old presentations out there, accessibility on the web should be about conversation and teaching and not about fighting for a cause that falls on deaf ears. This is big, and I will write more about it. Fact is that if a11y doesn’t get their act together it will fall even more to the wayside than it does right now. Nobody likes grumpy complainers with no better solution.

I wish 2012 to be the year where identity and who owns it matters

I am very happy to be part of a group that right now works hard to solve the issue of identity on the web. We live in very dangerous times and the concept of “Everything for free, always” comes with a lot of information you give out without wanting to. Let’s take back who we are on the web and let’s stop teaching people bad practices when it comes to asking for more access. Passwords must die.

I wish 2012 to be the year where people expect more from conferences

I spent most of my time last year on conferences. Being on the road that much and spending the time to write a new talk and release the slides and audio immediately afterwards is a full-time job. I wonder if it is worth it when I see people seeing repeat talks and not getting the recordings or slides at all and still being “amazingly inspired”. I think conferences should be more than a day off work and I’d love to see people demand more outcome. If it is OK that our twitter streams are clogged up with information about a certain conference when it is running we should also be allowed to see a few things that happened afterwards. Less T-Shirts, more follow-up would be good to aim for. If speaking about tech topics is 90% entertainment then I’ll care less about it in the future.

I wish 2012 is the year were we stop discussing diversity and make it happen

This has been an endless topic and lately lots of heated debates. Many a righteous person not part of the group they are defending swung the banner and fought the good fight in many a tweet and blog post on their personal blogs only read by a few people. This can easily look like grandstanding and doesn’t help the cause. I, on the other hand, have happily seen the rise of gender diversity and race diversity in speakers and publishers on the web lately and my wish is that we concentrate on supporting and nurturing and thus making the issue redundant rather than re-heating it over and over.

I wish 2012 to be the year of spring cleaning in the web education space

The web of information how to learn our jobs is a total mess now. Tutorials have become the new “eyeball content” and it doesn’t matter if they teach something as long as they get people to click them. After more than 10 years of teaching people what web development means this is a sad state of affairs. Where should newcomers go to learn? What do they find first? Why do we have many competing “beginner curriculum” resources? We need to collaborate more and try less to build an education brand around courses to pay for that don’t relate to the official academia or give you a certificate at the end that is worth something. Teaching should not be the new SEO, we should be mature enough to collaborate and point at one, constantly updated resource.

I wish 2012 to be the year of “viewable in any browser and hardware”

Right now I am getting flashbacks to 1999 when “works in IE6” was the new hotness and it was totally OK to build for one browser as it is fastest and coolest and most easy for developers. Let’s not repeat that mistake. I can see the rise of WebGL to lead to a lot of “your video card is not good enough for this web site” and that is not what the web is about.

I wish 2012 to be awesome for all of you

Go out there, write, comment, code, style, give feedback, encourage and support. Everybody has something good to give to the web and it is far too easy to be a bad critic instead of being a supporter. Less bitching, less moaning, less endless fights and more collaborative working and the future is bright.

Remember, if those wishes do not come true…

…you will make a pink unicorn cry, and that will make you a terrible person. Now send this to ten friends (this is how it works on Facebook, right?)

My personal wishes are simple:

  • I wish to spend more time coaching and training other people as public speakers
  • I wish to write and code more and travel a bit less
  • I wish to empower people in other countries to give talks instead of me flying there for a few days and not finding the time to follow up
  • I wish to spend much more time with a certain lady
  • I wish that my dad manages to fight cancer and live a lot longer

[Open tabs] things of note I read and saw lately

Friday, December 30th, 2011

I am right now offline at an airport and closed Aurora for the first time in a few weeks so I had time to read all the tabs I opened but haven’t covered anywhere yet (except for a small tweet here and there).

I thought it might be a cool idea to publish those when I find they pile up as a reading list. Do you agree? Well, here goes, this was open:

  • It is silly but the Tea Rex makes me want to drink more tea. I am also a big fan of the Tea Sub.
  • Jeffrey way has a genius command to start a server for the current directory with one line of code on the terminal.
  • Skepchick has an incredibly annoying article by Rebecca Watson on atheists on reddit being nothing but misogynist ass-hats. Seriously, banter is all fine and good, but making jokes to abduct and rape a 15 year old girl is not really the behaviour open forums should tolerate. Or, if we keep not caring about that we shouldn’t be surprised if the powers who want to censor the internet will get there.
  • URI.js is a script for working with URLs. It offers a “jQuery-style” API to read and write all regular components and a number of convenience methods like .directory() and .authority(). We talked about this at the smashing meetup , and now it is out.
  • Everything for free, always: how Facebook ads show us the sad state of the Internet is a stark reminder that the “we want everything for free” attitude towards the internet as a media is not helpful in the long run. Paying $2 a year(!) could ensure that Facebook is not selling you as a product to advertisers. There was also a great article “don’t be a free user” on that topic on the pinboard blog. My favourite quote was this:
    Most people aren’t willing to pay for services or content on the Internet. There is an expectation that everything should be free, and that at the same time, companies should respect our privacy and keep The Brands™ away from our personal information. It’s not a realistic expectation – something’s gotta give if no one is willing to pay for anything. But most people don’t think about it long enough to realize that.
  • Cedric Dugas published a rant about the Occupy Flash site (I can’t call it a movement) in It’s never been about the open web. Cedric has some great points, especially the washing out of the term HTML5 as anything that was added to the web stack for the last two years. He praises Adobe for turning around faster than the W3C and that Flash’s APIs are much richer. Cedric has some good points but it is a rant. The argumentation is very one-sided and not mentioning Mozilla at all when it comes to the open web is just sloppy. In essence the rant is the same arguments native app developers bring up when they talk about web apps. Things can coexist and – as Cedric rightfully says – using the right technology for the job is part of our task as developers. The main thing he fails to mention is that open web tech is for us to change and be part of. If it doesn’t move as quickly as it should then rants like these and fanboisim like Occupy Flash are to blame.
  • I don’t write “JavaScript” is already a bit older. It is an explanation of a Twitter developer about the lack of semicolons in Bootstrap. In it we learn that JavaScript is forgiving when it comes to syntax and that it is fine to omit curly braces and semicolons as the JS parser does all that for us. And if you don’t agree then you are probably one of those guys who love Crockford and are too strict to be taken serious as web developers anyway. Yesitistotallyfinenottosticktoasensiblesyntax. YoUcANProbaBLYreadTHIS. IFitI5EA5Y4UisTheQuestionWeNd2ask. Personally, relying on semicolon insertion in your code is lazy and the same arrogance we had with table layouts in HTML - hey they worked, why bother doing things in a more maintainable way?
  • Which brings me to a great post that repeats things I have said for quite a while and lived by throughout my career: “My Career Advice: Make Yourself Redundant“. The idea of being the one person who knows something as a means to stay in charge and in a job is outdated and – if you think about it – in a market where the average retention rate of talent is three years borderline ludicrous
  • In “Let’s start recognising the hidden gems within our community” my colleague Robin Hawkes ponders about changes in the awards sites and events of web development and that they should focus on new, unknown people rather than being a popularity contest with the same people year after year. Some good ideas there, but I for one would be happy not to have any awards at all. We are not Hollywood and we don’t need Oscars. Our work should talk for us and not a fake celebrity cult. I remember in the beginning we had “cool internet sightings” web sites and “site of the day” as the topic of on IRCNET. More of those accompanied by a making of would be interesting. Unknown people could show how they got successful by taking a different approach.
  • In “Constructive feedback, not destruction and damnation” my good friend and even better egg Chris Mills talks about the hoo-hah of the “bad speakers list” on Twitter a few weeks ago. He explains why new speakers are needed, why bad presentations happen and how it is our job to encourage and nurture rather than damn new talent who takes the plunge to go on stage and talk about what they did.