Web Directions Code Melbourne 2012 – Day 2

web-directions-code-logo

After a great 1st day at #WDC12. The small end-of-day-one-party was hosted at LaDiDa, with some booked dinners around Melbourne with some of the locals (which sadly I wasn’t able to attend). None the less we got right into it with an interesting start to day two.

Dmitry Baranovsky
JavaScript: enter the dragon
This was quite an eye opening and scarily entertaining motivational address by Dmitry. The phrase ‘You Suck’ was uttered the right number of times to motivate an audience full of developers to strive to be better at JavaScript, software development in general and even physically fitter.

The forced take away was to be aware of the intricacies of JavaScript by actually reading the language specification PDF link and (annotated here) and to build your own JavaScript six-pack:

  • Types and type coercion
  • Operators + ==
  • Objects and primatives
  • Functions and constructors
  • Closures
  • Prototype

Jed Schmidt
NPM: Node’s personal manservant
For those familiar with the .NET world, Jed is a Hanselman grade presenter, with great delivery of a comedy element to deliver a presentation as funny as it is educational. Jed introduced many concepts around package management for node (NPM) he built a small demonstration framework to walk us through various concepts, the readme file contains a complete list of everything he covered.

dinkumizer

Jared Wyles
Removing the gag from your browser
Jared delivered a very usefully technical presentation around effectively using the Chrome Developer Tools to trouble shoot, analyse and track site performance. The most important take away was being aware of all the network timing elements for your site when it’s served to a user for the first time, and ensuring items are cached correctly for subsequent visits. He covered using the memory and CPU snapshot and measurement tools to trace any memory leaks and code inefficiencies in particular around interrogating/traversing the dom.

Anette Bergo
Truthiness, falsiness, and other JavaScript gotchas
Anette took the audience through some of the stranger parts of the JavaScript language where it’s likely anyone who hasn’t experienced any of those particular bug prone approaches may run in to trouble. Some key ones to be wary of that you may expect to not really cause problems were:

  • ParseInt()
  • Operators and coercion

Damon Oehlman
The main event: beyond event listeners.
Damon gave us an introduction to eve – an eventing library, just check it out.

Mark Dalgleish
Getting closure
Mark covered “Immediately Invoked Function Expressions” and some of the benefits like protecting against unwanted global variables, and ensuring scope, along with explaining the closure concept. His detailed slides are up on his blog.

Ryan Seddon
Debugging secrets for lazy developers
Ryan‘s theme was automation, get as much of your repeatable tasks scripted. He walked through using headless browsers via Travis-CI, but reminded us that will only get you so far you need to test in real browsers too. An exciting little project of his is a port of the Yahoo Yeti tool, to work without the YUI test runner, his is called Bunyip and should be available soon.

Tony Milne
Party like it’s 1999, write JavaScript like it’s 2012!
Tony covered an issue with dependencies in JavaScript when your chain of references gets larger, and how ideally the responsibility to link required JavaScript files should exist in a better place than just the html files. He mentioned Require.js is great for in browser use, but the really great ones exist for server side JS.

Tony Milne 2012 style JS

Tim Oxley
Clientside templates for reactive UI
Tim was a another entertaining presenter with some choice phrases to compare and contrast developers he admires and frameworks that support development of thick-clients. Tim had a sweet spot for 3 templating frameworks Dot, Jade and Handlebars.js (where Handlebars > Hogan > Mustache )

Rob Hawkes
HTML5 technologies and game development

Rob stole the show in terms of general inspiration and being uplifting with his love of games and how it helps build better online experiences in particular in browser technologies. The vision he presented was a world where the browser platform, in particular on mobiles extended the gaming experience from the desktop world instead of only partially emulating it. Rob mentioned a few interesting APIs/concepts/products worth checking out like; WebWorkers and PointerLockAPI and TinkerCAD. Rob works for Mozilla the not-for-profit software foundation that gets so much amazing stuff done with only 600 employees only half of which are developers, so if you want to see what’s coming up check out Firefox Aurora, or what’s being worked on right now Firefox Nightly and if you want to get in touch with anyone at Mozilla find them on IRC.

The conference wrapped up at The Carlton down Bourke Street in an awesome after party where beer fueled discussions could run rampart.

Web Directions Code Melbourne 2012 – Day 1

I spent today (23rd May 2012) at Web Directions Code first time attendee of the Web Directions conferences, and this is the first Web Directions Code (at least in Australia or Melbourne).

web-directions-code-logo

It was a great day, a combination of great speakers, face chocolates (see below) and a single track taking out the stress of selecting which presentation to go and see. It’s a 2 day event so I’m quite excited to be going back tomorrow. (Here’s my Day 2 wrap up).

Face Chocolates & Eat Play Code

Faruk Ates
The Web’s 3rd Decade

Key take-away is this slide, with the important message being better tools are clearly what’s missing right now that’s making web development not productive as it should be, we should be further along in terms of getting more of the basics done. This comes about from achieving the other 2 items – more involvement along with making it clearer how to use and integrate existing frameworks and or tool sets.

Dave Johnson
Device APIs: closing the gap between native and web

Dave spoke about technical challenges in building PhoneGap. The most challenging being those around; security, sand-boxing, privacy permissions, and performance. Basically its hard work, many devices many lacking features, in particular around new HTML based video and audio.

Damon Oehlman
HTML5 Messaging

Damon covered off a lot of technical details around messaging in HTML 5, listing two main types: ‘Post Messaging’ and ‘Channel Messaging’ stating that post messaging is simpler to get going with. He went further to discuss web-sockets and some example frameworks like Socket.IO and Sock.js. He demonstrated posting messages via his presentation and created a web socket connection to twitter to receive messages as soon as they arrived at twitter. Then briefly touching on Web Intents.

Andrew Fisher
Getting all touch feeling with the mobile web

Walked us through the basics of touch, with some nice demonstrations and a walk-through of how common touch mechanics we’re all familiar with work.

Silvia Pfeiffer
Implementing video conferencing in HTML5

Had a very impressive setup of some node.js server logic coordinating 2 browsers connecting to each other to perform a video conferencing call on stage between her and the audience.

Anson Parker
The HTML5 History API: PushState or bust

Gave us a neat little round up of the History API and how it works, Anson took the opportunity to remind us that companies like twitter with their hash-bang urls are breaking the expected behaviour of the web. He gave an example of how much data is delivered regardless if you’re requesting to view a single 140k tweet versus their tweet stream (typically paged at 10-20 tweets). He wrapped up with a cool demonstration of a site he’s in the process of building, that looks very promising kahzu.com

excessive twitter download

Tammy Butow
Fantastic forms for mobile web

Tammy walked us through the basics of building suitable input forms for mobile devices, taking advantages of types such as ‘tel’ to bring up only the numeric keypad for input, all the tips are up on slide share.

Max Wheeler
Drag and drop and give me twenty
Walked the audience through drag and drop concepts.

John Allsop
Getting off(line)

John overwhelmed with a flood of information about the complexities and pitfalls of working with appcache. He walked us through sessionStorage and localStorage and the tradeoffs of what you can store, how much space is available, and security concerns (in particular when browsers crash). He covered a great deal so here’s a link to an older version of his presentation from a previous web direction conference (I’ll update with a new one when I find it).

Developing with AppCache

Divya Manain
Designing in the browser

Divya made a very clear and strong case for having a process that involves designers writing code, and building prototypes sooner rather than later (or not at all). Advocating moving from very initial rough paper sketches straight to prototyping using a fair few useful tools (note this is still rough notes, I’ll follow each up and link directly).

Tools / resources for prototyping

designing in the browser

To top off a great day we got a gift each from Blackberry a PlayBook.

blackberry playbook

One last thing the graphic of the day to get the most reaction (excluding courage wolf ones).

eating clag