Christian Heilmann

Author Archive

Why I don’t write my slides in HTML

Tuesday, November 2nd, 2010

At the Fronttrends2010 conference Tantek Çelik spent the last few minutes of his HTML5 talk praising HTML as a great format for presentations and urged people for the good of the open web to use HTML slide systems instead of Flash or PDF. Other presenters right now write awesome CSS3 driven slide shows and build their own scripts to show their presentation. I could, but I don’t – and here’s why.

Presentations are not web documents

I am all for the open web (heck, I just took a job evangelising it) but I don’t write my slides in HTML and I really don’t consider it a good format for something like a presentation. Here are my reasons:

  • A presentation is not what you see on the screen – many speakers have notes that are shown in presenter view in Keynote or Powerpoint and not shown to the audience but on a different screen. There are probably ways to do that with CSS and media queries but I have yet to find a slide system using web standards that supports this requirement. If you just read your slides you might as well not be on stage.
  • Adding images should also allow you to edit them – I find myself dragging photos into Keynote and cropping and resizing them all the time. This can be done with CSS and JavaScript but I have yet to see a slide system have that functionality.
  • Presentations need to scale to different resolutions – I’ve encountered anything from 800×600 to 1280×1024. A slide package resizes my fonts and keeps them the way I intended them to – HTML doesn’t do that yet. Again, I am sure with SVG, Canvas and clever trickery this can be easily done but please tell me about a system that considered that.
  • Presentations need to be a single, printable file – presentations get mailed around and printed out for people who like to edit or read on paper. Using a PDF I can do that. Printing out is needed for example when you have a conference with sign translation. As sign translators do not translate word by word but sentences by meaning it is important that they know what is coming. Unless HTML slide systems also support good print styles this is not really possible
  • HTML slides can’t be embedded and resized – using Slideshare people can embed my slides in their blog posts or articles and people can watch them in context. You can put HTML slides in an iframe but they wouldn’t resize but instead get massive scrollbars
  • Slides might need to be synced with audio to make sense – I normally record my talks in addition to offering the Slideshare embed. I also used to do slidecasts, but the editor on Slideshare is not good enough yet. This is something we could write for HTML slides – a syncing tool with audio that automatically moves ahead in the deck.
  • Slides need to work offline – many a conference doesn’t have working wireless and people want to read the slides on the train. If you use third party fonts or images hosted elsewhere or you link to live demos this is very frustrating. You can use offline storage for that though.
  • Slides should work without your computer and your browser – many hand-rolled slide decks expect the presenters settings, operating system or nightly build of a certain browser and are not written with progressive enhancement as they are for personal use. When people try to watch them on their own computer and cannot see the effects or demos explained this actually is bad advertising for open web technologies.
  • A slide deck has a fixed layout and fonts – and differences in browser rendering or elastic design effects are not welcome in a slide deck – so why choose a technology that excels in this?

Presentations are more than a document on the web and unless I can do the things above as effectively and easily in HTML as I can do them in Keynote, I won’t switch.

Arguments for HTML slide decks

The main argument – beyond “doing the right thing for the web” that Tantek mentioned was that your slides as a PDF or Flash movie just can’t be found on the web. This is not true – Google happily indexes PDF and Flash and furthermore Slideshare creates a transcript of your slides as an ordered list for SEO reasons.

The other argument which is more to the point is that HTML documents are easy to edit, re-use and update. Collaborating on a slide deck in Keynote and Powerpoint can lead to annoying inconsistencies across operating systems and software versions.

My hybrid approach

Personally, I use a hybrid approach to the issue. I write my presentation as notes and then create a slide deck from those. I explained the lot (and the above arguments against HTML slides) in the presentations chapter of the Developer Evangelism handbook:


When I write a new slide deck I start with a text editor. I write the story of my presentation and I follow the same rules as for writing online articles. That way I make sure of a few things:

  • I know the content and the extent of what I want to cover – which also allows me to keep to the time limit when presenting.
  • I have the information in a highly portable format for people to read afterwards – by converting it to HTML later on or blogging these notes.
  • I already know all the links that I want to show and can create easy-to-find versions of them – for example by bookmarking them in Delicious.
  • I don’t get carried away with visuals and effects – which is a big danger when you play with good presentation software.

Yes, this is duplicating work, but I think it is worth it – after all Slideshare is a community for slide decks – you already have a captive audience rather than hoping Googlebot comes around and considers you better than another resource on the same subject.

A bit of harmless Friday fun – what is your Ninja name?

Friday, October 29th, 2010

Going through my RSS feeds this morning I found this Ninja name translation table:

Ninja translation table

I thought that was a perfect candidate for a YQL table, so I made one. So find out your Ninja name in the YQL console.

Conversion was easy – simply convert the table to a hash, check that the user has not entered any non-alpha characters, lowercase and loop over the different characters with a lookup. You can see the source of the table on github

Yours, mirishikiari.

So what is the job I am going to?

Thursday, October 28th, 2010

Luke Skywalker hanging from the Bespin weathervaneOK it is time to end the cruelty of the cliff-hanger.

As mentioned yesterday, today I shall reveal the identity of my new employer. I left clues – videos of people with Dinosaurs and some CSS geekery:

#chris{
—moz—position:relative;display:inline
}

So yes, this is it, to say it with (mock) YQL:

insert into mozilla (employee) values (
select chris from yahoo where color=”red”
)

From the first of December 2010 onwards my job title will be “Principal Developer Evangelist” at Mozilla. The job contract came from Denmark but as far as I know I don’t have to start eating pork.

My new employer - Mozilla

Principal Developer Evangelist – what will I do?

The job is more or less the same as I have in Yahoo right now, with a few differences:

  • The main topics are the open web and HTML5 - we want to move the amazing Mozilla Developer Centre to become the “Switzerland of HTML5” which means reporting on all the cool HTML5 stuff that happens and showing people how you can apply them cross-browser. Microsoft, Apple and Google all do a great job evangelizing HTML5 but a lot of it is product centric without fallbacks for “the other browsers”. We want to change that.
  • Instead of being the only one doing it the job already comes with two open headcounts to fill to fight the good fight with me.
  • My office shall be my flat – I will finally use it!
  • I will work closely with the Mozilla Drumbeat people to also drive the adoption of open web technologies in schools and universities.

Why Mozilla?

People already asked me why I would go to Mozilla and then vented their frustration about Firefox. Well, when I talked at Fronteers this year I concentrated on the great things about our jobs in my talk and explained that happiness and excitement is the main factor that makes you successful and get up in the morning with a “fuck yes, I want to do something cool” attitude rather than “here’s to my paycheck, I hope my boss is late, too”. Whilst I wasn’t unhappy at Yahoo I felt redundant (as explained yesterday) and Mozilla made me feel incredibly excited:

  • I always was a Mozilla fanboy – heck, I even preferred Netscape and worked with Firebird, Phoenix, even Kmeleon before switching to Firefox as my main browser. More importantly I love the open attitude of Mozilla. Read the Mozilla manifesto and check what I have done in the last years and you see how this meshes completely. This web has to constantly become better and only open discussion and collaborative efforts will make that happen.
  • I went through a few other interviews (no, I won’t mention names) and felt unhappy during the interview. A lot of companies try to make you uncomfortable or intimidate you during an interview. I find this pathetic. The interview in Mozilla was 5 hours of the best brainstorming I had done in a while. We bounced ideas off another and people came into the meeting room in between interviews as they were excited to see me there and asked me for a quick comment on a new idea of theirs. It was pure creativity.
  • People walked around with dogs in the office – you can’t argue that that is not awesome
  • I knew most of the people who interviewed me and had worked with them before – it is a great sign to see people you like and trust ending all up in one spot
  • Sections of the office are called “Ten Forward” and “Holodeck”- c’mon, do tell me you don’t want to work there!
  • Firefox4 is friggin exciting and I am looking forward to working with Paul Rouget in Paris from time to time to build great demos

Settling in

So, I am right now handing over my responsibilities, ordered my hardware from Mozilla and look forward to the Christening of Mozilla – as I am Chris, I work directly for Chris Beard (who is clean shaven) and with Chris Blizzard. I am so looking forward to the confusion that will happen on conference calls because of this name clash. I am excited as heck!

The book that never was – the why of YQL

Wednesday, October 27th, 2010

YQL is great, it is a technology that turns the web into a database and allows you to mix and match and filter before writing your first line of code. It also allows you to release an API without any infrastructure, knowledge of authentication and access control. In essence you can use Yahoo’s server infrastructure and processing power to unleash the awesome of the web into your products or the awesome of your data on the web.

There is a truckload of documentation, forums and blog posts about YQL on the YDN web site but as it is people love books so I was asked to write a YQL guide for Yahoo Press.

Specifically I was asked to write a demo chapter for the book to pitch to O’Reilly over Christmas, which I did. I then waited for the paperwork to be signed off and so on and time came and went until I was offered to write the YQL Guide for O’Reilly together with my colleague Tom Hughes-Croucher (as he had also sent in a proposal for a YQL book). We agreed on some collaboration and then Tom moved on to write another book.

As I am leaving Yahoo and yet have to see a contract about this book to sign, I announced that I am not going further with this project. Being the techno-hippie that I am though I thought it would be a waste to not give the first chapter to the world, so here it is:

You can read the chapter online, download the PDF or browse the “source” on GitHub in case you want to translate or quote it. I licensed it with Creative Commons so go nuts!

Goodbye, Yahoo – it was an awesome time

Wednesday, October 27th, 2010

Last week I handed in my notice at Yahoo to leave them for pastures new. I’ve been with the company for almost 5 years (which would have given me a gumball machine) and I have to say that I do not regret a single moment.

So yeah, I quit! Anybody for a Hot Piece of Engineer/Evangelist?

Hot piece of engineer/evangelist anyone?

So yeah, another Yahoo jumps the ship – I can already see people talking about talent bleed and all that. To all the people who blog, write and publish that Yahoo is not a technology company and there is no innovation going on I can only say: bullshit.

Yahoo rocks as a tech company

The amount of talented people I was lucky enough to work with is one of my best takeaways from the time I had at Yahoo. The amount of innovation and kick-ass tech being produced is staggering, too. Yahoo doesn’t blow its own horn about it enough, that is all. If, as a web developer you look at the Yahoo homepage and see the JS implementation and the performance you will see what I mean. Yahoo also publishes and gives out the findings for free. The design pattern library, YUI and the performance guidelines can be used by you to be as awesome without much work.

In Yahoo I learnt a lot I previously thought I knew already – having come to the company with already 8 years of experience. I got a chance to hone my speaking and training skills and I witnessed the birth of amazing technologies like GeoPlanet, YUI, YQL, YSlow, BrowserPlus and all the other things you probably miss out on if you see Yahoo as a huge ad company on its way out like some of the rag mags of our tech world love to paint it.

It is about the people

The thing that kept me for a long time in Yahoo are its people. You can have fun working there. Travelling the world and visiting different offices I was amazed just how much local flavour is retained rather than being a Silicon Valley drone someplace else. It is also OK to be outspoken in the company and nobody gets stopped from blogging, tweeting or writing their own thoughts on their own server. Going through a few interviews I found this not to be the norm at all with other companies like Yahoo.

I find myself being in contact with all of the people I care about outside the company channels and there is no way that I will not use these connections in the future to share great ideas, get inspiration and bounce off previews of the things I will release. There are far too many people to thank personally for the time I had in Yahoo and this is not for public – you know who you are.

Yahoo has its problems, and given time I will write about a few I can mention. None of these are really surprising given that they are a big company. Putting too many people together to solve a problem will always result in a lot of noise vs. signal – it is simply human nature.

So why am I quitting?

It is actually very simple – my job is done here. I’ve spent the last two years evangelising Yahoo and left over a hundred different presentations, numerous blog posts, demos and screencasts and other info on its technologies and how they fit into the larger picture of technology or how you can use them to make your life easier.

I find myself repeating what I said before and getting congratulated for getting people excited about technologies like YQL just to get the final blow of “I had no idea Yahoo did anything like that! I thought you guys were almost dead”. I don’t mind the misinformation – albeit wrong – I mind that I feel I ran in circles telling people about the real Yahoo just not to be backed up by other official statements and actions of the company.

I proposed to start a full evangelism department in the company (based on requests from engineers which also lead to me writing the Developer Evangelism Handbook), training up engineers to talk to the world and get them excited and offer evangelism and training as a natural evolution for engineers who want to talk about what they do. Right now Yahoo has two full-time developer evangelists: Tom Hughes-Croucher in the US and me for the world. There were no plans for that to change in the near future so maybe a change is in order.

The other thing is that I have been in the company too long. As I mentioned in my talk at Fronteers this year it is amazing how much better you work when you concentrate on the good things about your job. If you’ve been at one place for a long time you start to get tainted and always see the “this will not work as it didn’t before” instead of the “fuck yeah, let’s do this”.

The good news is that the man who brought me to Yahoo in the first place, Murray Rowan, is now in charge of YDN international, so I am confident he will find a replacement for me soon.

So what’s next?

Later today I will publish a chapter of a book I started but never went anywhere – so this is one of the goodies I will leave immediately. Update this is now live get the book chapter here.

As for the new job…

You know, what? I keep that announcement for tomorrow. I have a new job and I am as excited as a 12 year old in a candy shop with a free puppy section. There is a hint in the source code of the Wait-till-i.com start page and I can say that I am very much looking forward to being Wash and playing with Dinosaurs:

I am also very much looking forward to being able to rant and realise that it is me who can and will fix the thing I am annoyed about:

Thanks!

Again, me leaving Yahoo is not on a bad note – I just see myself in the way of people who should get a chance to shine. I will still be rooting from the sidelines and talk about their stuff when I like it. My last day is the 24th of November, my last official Yahoo gig is YUIConf in Sunnyvale and I will be at Science Hack Day in Palo Alto. Then I will go to Jordan to talk to the Maktoob people about the wonderful world of Yahoo Tech and on the first of December my new job starts – with me brewing a coffee in my own flat in North London and writing my first mails to the people I had so much fun with during the job interview.