JSConf 2012 – fireworks, bull riding, JavaScript & lots of bacon

For the second year in a row I had the privilege of attending JSConf – a conference that is ostensibly about JavaScript but has become more about the Web in general, and one that has taken on almost mythical proportions in both the JavaScript and wider Web communities. Again it was an immaculately presented and run conference – I would say even better than last year. Massive thanks must go to organizers Chris Williams and Laura Williams and everyone else that helps them out. To me it’s the gold standard of community focused conferences.

It’s always a little intimating attending JSConf. Not only are the speakers invariably amazing, but almost everyone attending could probably speak just as well. Therefore the talks can never be just about JavaScript (how does “this” work?) – they have to be more aspirational – moving beyond what we use and know and love into an entirely different way of thinking – something that can then turn into a discussion between sessions, whether that’s while sipping a Mojito in the beautiful Scottsdale, Arizona sun, or over a beer at one of the nightly parties.

This year started with fireworks. Now it wasn’t actual fireworks (a little disappointing actually) – but instead an Oprah-style giveaway by Mozilla of the very first batch of Boot 2 Gecko phones. B2G is an open source project from Mozilla with the goal of building a standalone mobile operating system that is entirely web based: all the apps are written in HTML5 (HTML, CSS & JavaScript) – even down to the screen you use for dialing a phone number! It’s a very ambitious project – but one that is right in the wheelhouse of developers attending JSConf. Needless to say we immediately brought down the usually very impressive JSConf WiFi by swarming the network with 200 new devices (I’ll save my review and my thoughts on the B2G platform for another post).

After the fireworks had died down we got into the talks. A lot of the early talks were really around performance – in fact performance in general was kind of a theme from a technical standpoint. We had Andy Wingo from Igalia talking about JavaScriptCore (the JavaScript engine in WebKit); Stephan Herhut from Intel talking about the RiverTrail parallel extensions to JavaScript which can enable parallel computing; Vyacheslav Egorov from Google talking about V8 (the JavaScript engine in Chrome); and, Jarred Nichols from Sencha talking about running JavaScript on the GPU (because he can – kind of).

It’s really amazing how low-level and deep developers are going to make JavaScript as fast as native. There’s a reason we recommend browsers like Chrome – there is a constant effort in the industry to enable heavy JavaScript applications such as Xero run faster and faster. The big problem is how these different engines actually optimize the code. As a JavaScript developer I can’t think about the virtual machine interpreting my code – which is why V8’s observe, adapt and optimize approach is the most appealing.

Was nice to see some familiar faces presenting at JSConf. Paul Irish, who presented at last year’s WDCNZ, was there to talk about web development tooling (tools are what aid us in our development lives such as JavaScript frameworks, build & deploy systems etc). In many respects modern web development is still in it’s infancy and some of the tooling is quite immature. At Xero we use a mixture of some open source tools as well as some we’ve built ourselves (sounds like yet another blog post in the making!).

One of the big themes that ran through JSConf this year was one of play. This idea that a lot of what we achieve as developers happens when we think outside the box – both in terms of how we write software and in terms of the software we deliver to end users (in some cases those end users may well be other developers utilizing your library or API).

Probably the best talk on that concept was by Dan Ingalls (one of the pioneers of object oriented programming and one of the inventors of Smalltalk). He was there to demo the Lively Kernel – a new approach to web programming that’s almost a web development version of Fabrik, the visual programming development environment designed by Ingalls at Apple Computer in the mid-1980s. Essentially it’s a drag-and-drop development environment built entirely in the web browser. Everything you do (whether it’s connecting to a web service or animating graphics) can be manipulated in real-time. It’s really quite amazing and has to be seen to be believed. I doubt it will have usefulness in general web development – but for teaching the possibilities of the web to younger developers it could be very powerful.

Jacob Thornton from Twitter probably gave my favorite talk of the conference regarding libraries (as in JavaScript libraries such as jQuery). While you really had to be there, the crux of the talk was that libraries or API’s shouldn’t be written without a test specification in place first – not just for test driven development purposes, but for the purposes of sharing that specification with other developers who may want to implement that library in another language or build just a subset of that library. So instead of someone trying to recreate jQuery by heart – they would take the jQuery test specifications and build against that. It’s an approach that Mustache has used very successfully. It’s a fascinating and simple idea.

My other favorite talk was by Jake Archibald from Lanyrd. He gave an amazing presentation on the pitfalls of using the browser application cache. It’s a fairly dry subject – but one that’s important for any web developer thinking about offline support. Not only was his talk excellent but his slides were a master-class in HTML5-based presentations – combining a beautiful mixture of HTML, SVG & CSS3 transitions and transforms. He writes about building the slides here. I urge anyone interested in the bleeding edge of web development to take a look.

The whole conference ended with something a little different. Rick Falkvinge, the founder of the first (Swedish) Pirate Party, was invited to speak on how he founded the party and what political activism really means. His message was about the power of the vote – even taking a few percentage points can upset the balance of power and make the larger parties take notice. It was an inspiring talk – however I believe a lot of the power in the vote that he talks about has more impact in a proportional representation system (like in Sweden) than it does in the US (where there is a distinct, two-party system).

To be honest I could probably write a synopsis for every talk I went too – the conference was that good! Thanks again to Chris Williams and the JSConf team. Can’t wait for next year!

Oh – and JSConf isn’t just for the US. JSConf EU will be on October 6/7th, JSConf Argentina May 19/20 and for those of you downunder JSConf is coming to Australia! There aren’t a lot of details yet – but it shouldn’t be missed!

Santander Corporate & Commercial UK customers can now connect to Xero and automatically receive their bank transactions. With direct Santander bank feeds, your statement transactions come direct to us from the bank, authorised by your signed authority. There’s no third party involved and you don’t need to provide your Santander online banking security credentials to ...

UK and US small businesses can now avoid hefty hidden bank fees when paying foreign currency invoices thanks to a new integration between TransferWise and Xero. Using TransferWise, a London-based foreign currency transfer business, small businesses can now save up to 89% when sending foreign currency invoices directly from Xero. Avoiding hefty 3-6% commissions from ...