Christian Heilmann

Author Archive

Google IO 2012 Notes – lots of them

Monday, July 2nd, 2012

OK having fulfilled my tourist guide duties with my UK colleagues, I got time to write up a quick report about Google IO. So here goes:

Disclaimer: These are my personal views, I was fortunate enough to be invited for the event on an “influencer” ticket.

For the TL;DR folk:

Google did a tremendous job with the conference, the organisation was impressive, their messaging concerning the web less “use Chrome” and more “here is cool web tech Chrome supports” and they released all the things I hoped and feared about: Chrome for Android and IOs. There was a massive amount of great tech talks and most are available online. Big web announcements were Chrome for Android and IOs and lots of updates to Android, Google+ and search on Android.

Now, more detailed info for those not conditioned by 5 second cuts in music videos:

Event organisation

Overall I was very impressed with the conference organisation. But of course there are some snags. Here are what worked and what annoyed:

Worked well:

  • Value for money – on a very literal level – is ridiculously good. Just the hardware giveaways (more later) are giving your money back three-fold.
  • Before the keynotes they showed demos submitted to chromedemos on stage – this must have made quite some people proud
  • Lots of great content, a lot of it live streamed and already available on YouTube – I guess it helps owning that)
  • Amazing AV equipment in the rooms and especially in the big keynote hall (the three screens made me drool and want to talk there, but it also would mean I have to make prettier slides)
  • Food was adequate and ample, and drinks and coffee were available throughout the event
  • The staffing of the “business hours” tables was very good and it was no problem whatsoever to get your questions answered (this might be as I knew a lot of them though). The Chrome booth was stacked with all the people in the devrel team and Chrome engineers, no boothbabes in sight. Actually, none at all. This was a Google event with Google experts – an impressive feat to pull off.
  • Lots of places to charge your hardware – a lot of the rooms have rows and rows of outlets and there were massive Android figures standing around with all kind of cables to charge a plethora of devices.
  • Every talk had a cardboard box with “+1” cards to throw in at the exit of the talks to vote for it. I loved that idea as it was physical, showed the 1 character of Google and gave them a mechanism to measure the success of the talk (that a few speakers I talked to never saw people changing the boxes is a bit worrying though). There was no scanning of your badge on the way in to the room as it was last year – I guess they gave up on that.
  • Every talk was transcribed live on big screens for the hard of hearing – this is not cheap and hard to pull off, but a wonderful little touch.

Worked less well:

  • The insane amount of attendees (around 5500) lead to a lot of queuing up for the keynotes and swag pickup (which needed both the conference badge and a photo ID which lead to even more delays). The first day we did a loop-the-loop around the keynote room to get in and the second day we had a long and random queue in the foyer. Maybe letting people in earlier would have fixed some of the issues.
  • The repeat of the “amazing suprise” of the first keynote (people sky-diving onto the building wearing Google Glass) which was sold as a behind the scenes turned out to be probably the most boring Mythbusters episode ever. The reason for the repeat jump was that Google paid for two days of rights to fly over the Moscone centre to make sure the weather was good and as this is not a cheap feat they wanted to make the most out of it. They should have let me jump with the people on the second day – maybe in the Firefox costume (or as an Android, or just me).
  • The Google+ presentations were weird. Whilst presenting the new Events feature (which is much better than what Facebook offers) and trying it out at the afterparty went down well, the obviously non-impressive numbers of Google+’s growth compared to competitors seemed not needed to me. I guess the focus is on fact soundbites for the press, but when they are easy to be slashed, why bother? Maybe I am just sick of the numbers game
  • The official app for the event was laggy and didn’t get updated in time. I missed a few talks because of that. It also had the wrong hashtag when you tweeted from it (which I edited before sending off but I doubt a lot of people did which must have skewed the twitter numbers).
  • Schedule display was patchy at times and I found far too much going on in parallel. Maybe shorter sessions would have allowed a better experience.
  • The last day was very much empty and felt like an extra day for networking with not much organised content. Good idea but seeing that lots of people didn’t bother going defeated the networking purpose a bit.

Overall impressions

  • The technical messaging was fair and interesting. Whilst last year a lot smacked of “look at those numbers aren’t we awesome and you should use us” this year was much more about “look what is possible and how we support it”
  • Google released a lot of products and services in direct competition with smaller players (Tripit, Shazam, Turntable.fm) and released a few products blatantly aimed at Amazon (Kindle competition, offering Infrastructure as a service), Apple (Siri competition) and Microsoft Office (Docs upgrade to allow for collaborative writing and offline use – which only will work in Chrome).
  • There was quite some snark aimed at Microsoft in the keynotes (“try doing that with Sharepoint and spreadsheets”) and of course there were “and another thing” and “xyz isn’t cool abc is cool” sightings.
  • In comparison to last year the keynotes were more polished and seemed less “please use this”. There was more self-assurance on stage. However, quite some of it seemed too scripted for my taste and had a lot of “this is my favourite thing ever” which gets unbelievable after a while. I liked that the man showing Google Now and the lady presenting the design ideas behind Glass were scared as heck on stage and thus showed real emotions and were much more believable. The keynotes are online: Day1 Day 2
  • The after party was much simpler than last year – Train was a very fitting band for San Francisco and Paul Oakenfold can’t have been cheap (but I had to spend a lot of time explaining US folk who he is). The alcohol ran out rather quickly, but that might actually be a good thing. There were a lot of entertainment things but less of a “maker faire” flair than last year.
  • Google IO allowed for a lot of people to be in town, which meant that outside events cropped up, like a beer.js in the thirsty bear and some other quick meetings about Web Components with people from a lot of browsers and large companies.

Great releases

  • Google Hangouts are very much focused on using WebRTC now and seem to be quite a competitor to proprietary and installable solutions. The message that “WebRTC is available in IE via Chromeframe” made me spit coffee and laugh though – sadly it is not that easy.
  • Google Chrome for Android and IOs is great, shame that the former is as an opt-in for phone service providers and will not be backfilled to Android older than ICS. The slickness of the presentation of Chrome was impressive though – history syncing over devices is incredibly useful. Now I want that with my apps state on Android (a boy can dream)
  • Speaking about Android, the atomic app update in Jelly Bean is what was a benefit of web apps vs. native apps that is going away now – instead of needing to download the full APK you now download the changed parts. Time to change my presentations :/
  • Google Drive got some impressive new features including automatic OCR and face/sights detection in photos.
  • Google’s collaboration with Subatomic and Cirque de Soleil
    Movi.Kanti.Revo – (keynote section) is probably one of the coolest tech demos I have seen in the last year. It uses the camera and movement detection to navigate an interactive dance and performance experience.
  • Google compute engine could be a real threat to Amazon’s EC2. You can fire up lots of virtual machines for computation in a very simple manner

Talks I’ve seen and can recommend

  • The web can do that? is Eric Bidelman’s overview of cool new web technologies delivered in a very matter-of-fact way. Great talk!
  • GRITS: PvP Gaming with HTML5 was a very well delivered talk on HTML5 gaming and the GRITS blueprint game you can download and learn from.
  • The Web Platform’s Cutting Edge is a wonderful introduction to web components and the need for them (also mentions X-Tag, so, like, win!)
  • Turning the web up to 11 covers all the details of the Web Audio API - this has great demos and tools but can be a bit daunting
  • The Mobile Chrome summit was a great meeting with all the big names in mobile web development asking the Chrome team questions. Notes will be out soon, and I wish they’d implement my suggestion of building Chrome Frame for Android :)

Talks I will watch and sadly enough missed

Free stuff

  • Google once again showered the conference attendees with free hardware: a new Galaxy Nexus phone running Android Jelly Bean, a Nexus Seven (geek credit++ from me on that name) tablet, a Nexus Q (which I left as a present here as it is the approximate weight, shape and usefulness of a cannon ball in my hand luggage as most of the Google Play streaming content is not available in the UK), and a Chromebox. Google painted themselves in a corner a bit with that – there is no way IO can be a non-giveaway conference ever again.
  • Other swag was a lovely Google IO shirt, stitched HTML5 badges, Sticker sheets with the HTML5 logo and related technology icons and Android figures filled with Jelly Beans.

Was it worth it?

Expletive yeah! I will be back next year.

[Mozilla Evangelism Reps] Great talks – Pablo Defendini – Books in Browsers – Adaptive Web Design

Wednesday, June 20th, 2012

As part of the Mozilla Evangelism Reps program, I am right now preparing a training on how to learn from other talks. As a demo I went through a few talks showing what makes them interesting and pointing out good tricks the speaker (in most cases subconsciously) used and how you could use that for your own talks.

One of the first talks is Pablo Defendini with “Adaptive Web Design” explaining how he created a responsive online comic and why.

You can find the minute-by-minute analysis of the talk on the Mozilla Wiki.

I really enjoyed this talk as it shows that enthusiasm about a subject matter and just “having a go” can work out really well. It also shows that everything can go wrong when you present and that it isn’t the end of the world – you just need to move on swiftly.

A call for shorter talks

Monday, June 18th, 2012

Right now I am in San Francisco working on training materials for the Mozilla Evangelism Reps program. As a part of this I am analysing great talks and point out the tricks the speakers used and what new speakers can learn from that.

I love giving talks and I love watching good talks. I used to watch Southpark and American Dad episodes on the cross-trainer in the gym but lately I replaced them with TED talks and presentations from YouTube (why isn’t there an option to download them without an add-on) and Vimeo.

Both when watching and when giving talks I realised a thing lately: shorter talks tend to be better. Yes, a well crafted long talk can be very exciting, too, but I find myself drifting off quite quickly. A well written and executed 15-20 minute talk can bring across the same messages as a one hour talk that is padded with a lot of demos or stories.

Running the danger of many a “how dare you suggest how to run an event, what have you done to earn a right to say something about that” comment and tweet I wondered if we shouldn’t think about aiming for shorter talks at events and if they aren’t more effective. Here are some reasons for shorter talks:

  • The audience’s attention span is not stretched to its limits
  • You can have more talks, thus offering more choice and also a chance for unknown speakers to have a slot
  • Speakers are forced to plan their talks better. You concentrate on one thing that makes a difference instead of once again telling “the history of HTML5” or “how medieval sock-knitting relates to responsive design”
  • Talks become more of a “check this out and look it up later” giving the audience resources to look up in their own time and on their own terms
  • After the event re-use is easier. A 15 minute talk is easier to edit and release on the web and will get much more viewers than an hour or longer talk – simple file size and dedication from the viewer’s side are the reasons here
  • Content becomes more reusable. If your talk is shorter you are likely to show things that people can try out for themselves later. In a longer talk you can show all kind of cool stuff that only works in your setup and a special version of the browser and so on. In a short talk you don’t have time to explain how people should set up their environments
  • We have more time for Q&A

Of course this doesn’t apply to all talks. A good inspirational session or something discussing an idea in depth will take more time and a good speaker will make it worth your while. I have, however, seen shorter talks work very well in unconferences and lately more and more conferences seem to favour them, too. I for one am happy to deliver more short, focused items (maybe several in different tracks) as it keeps things fresh.

Of course some talks are performances and the time is planned well and it makes sense to allow the speaker to deliver a short play around a topic. This is very much not me though and for quick educational items maybe less is really more.

Comment on Google Plus if you are so inclined.

Video training shoots with Microsoft – get the slides and code to present them yourselves

Wednesday, June 13th, 2012

A few days ago I was in Miami, Florida, as my old Ajaxian colleague Rey Bango invited me to record a few videos with him on HTML5 topics for Microsoft’s Channel 9 developer programme.

Rey Bango and me on the beachFilming on the beach
Video shoot on the beach

Originally we planned to have presentations with live coding examples – each 15 minutes long by Rey and me on our own. Thinking it over, we found it more natural to do them together and so to say show the presentation and code examples to each other in a chat format. Rey and Chris

Rey covered development tools and how to test across different browsers and I was asked to talk about Building for real standards and Modern Web Development.

The first session we recorded was about “Building for real standards”. In this we talk about what a standard means, how this applies to HTML5 and discuss problems and pitfalls to avoid. The slides are available on Slideshare and there is also a version with presenter notes.

The second session was about “Modern Web Development”. In this we talked about developing for an unknown environment using Progressive Enhancement, what the differences are to Graceful Degredation and we show how Responsive Design can lead to a future friendly product. The slides are available on Slideshare and there is also a version with presenter notes.

If you want to present these talks yourself, I uploaded the slides in various formats and the code examples with lots of explanations on how to present them to GitHub:

All in all this was a great experience and I can’t wait for the videos to be out. It is good to see that there are people in Microsoft who really care about web standards and cross-browser development. We wanted to record a lot more footage of us discussing more topics but sadly enough one of the harddrives crashes so we had to re-shoot all the sessions on the last day. In retrospect this made the sessions better as we got less formal and kept them shorter. The final products should be around 20 minutes each.

Another foreword – HTML5 in Action

Tuesday, June 12th, 2012

Keeping the streak alive, I was asked to provide a foreword for another book, this time HTML5 in action by Robert Crowther, Joe Lennon, and Ash Blue. So here is what I had to say:

Foreword

Explaining what HTML5 is can be a very daunting task. I’ve been doing this more or less since its inception and I am still amazed just how many myths and how much confusion is there on the topic.

With HTML5 we re-booted web development. The world of HTML4.01 and the non-starter XHTML left those who wanted to use the web as a platform for applications stranded. HTML4 was meant for linked documents and XHTML was far too strict for its own good and it lacked real support in browsers.

HTML5 started with a clean slate. We analysed what was used on the web and added a lot of features we didn’t have before, like CANVAS for creating visuals on the fly or accessing images and videos on a pixel level, native audio and video without the need for plugins and forms that validate in the browser without us having to write extra JavaScript. We also started mudding the waters by merging HTML and JavaScript functionality – a lot of HTML5 will not do anything without accessing the elements via a JavaScript API. This confuses a lot of people. We moved on from a document based web and in that process we need more technical know-how. And this means we need to rethink a few of our “best practices” now which can annoy people so that they spread nasty rumours about the viability of HTML5 as a choice for professional development.

HTML5 is built on the robustness principle, which means that a browser will make a lot of educated guesses what you might have meant when you make a syntax error instead of simply giving up and showing an error. This gives it backwards compatibility and we will be able to show pages developed for a never-to-arrive XHTML world in browsers these days. A large part of the standard is just that – it tells you how to write a browser that renders HTML5 rather than using it as a web developer. Again, this angers some people and they shout about the verbosity of the standard.

HTML5 is also the new hotness. A lot of advertising talk, shiny demos and promises of fidelity that matches native apps on phones make us cynical battle hardened web developers think back on Java, Flash and Silverlight and their promises and sigh. We have a lot of buzz about HTML5 and a lot of things that are not part of the standard are simply declared part of it as it makes a good punch line.

When it comes to extending the language and bringing new features into it we are running wild right now. Every browser maker and web company comes up with great new concepts on almost a weekly level. That can be frustrating for developers who just want to get a job done. Can you rely on the functionality that is currently developed or will the standard be changed later on? We are pushing browsers further into the operating system and allow them to access hardware directly which comes with security and robustness issues that need to be fixed by trial and error. Can you take that risk with us when it comes to delivering your product?

These are exciting times and when you want to be part of the ride you can help forge the future development environment for all of us. If you don’t have the time to follow the discussions on mailing lists, do a lot of browser testing in previews and propose own ideas you can be left quite confused.

And this is where a book like this comes in. Instead of promising you a cornucopia of functionality that will soon be available you get examples that work right now based on examples that worked in the past. Instead of getting experimental demos you learn how to build production code based on proven ideas but using the features in modern browsers that make it easier for us developers and much more enjoyable for our end users. All the examples come with a legend telling you which browsers support the features and you learn how not to give them to old browsers that will choke on them.

You will learn how to use HTML5 now, using secure and intelligent solutions like Modernizr and HTML5 Boilerplate and you will come out at the end understanding how to write things in HTML5 that work right now. This will make you a part of the movement to get HTML5 “production ready” for all of us.

Those who live on the bleeding edge of defining the next browser and language features need implementations in the wild right now. We are past the show and tell stage and we need to get to deliver and enhance. And you can become an integral part of this process by following the advice and applying the examples you find here. Go forth and deliver.