Finally, the last day of an excellent conference. Today’s keynote was the master of the wiki, Ward Cunningham (@WardCunningham) on Federated Wiki.
The point of a federated wiki is to expose data through markup languages (think CSV meets markdown) and for a page to render data from whichever source it has come from. Not only that, but data sources can be combined from other sources or pages, so that blended views of data can be combined together.
There’s an example federated wiki at ward.fed.wiki.org along with some Vimeo videos demonstrating what it is like (http://vimeo.com/27671065, http://vimeo.com/27671347 and http://vimeo.com/27673743).
The use of d3js to provide the chart rendering and graphics in a browser was a pretty neat trick. It uses HTML5 Canvas if available, and if not falls back to SVG and even VML to render the graphics, so it works on almost every browser that has a graphical interface.
Physical Pi with Steve Freeman and Romilly Cocking
The most interesting talk for me was about a Raspberry Pi. Steve and Romilly had created a Pi-driven robot; they announced early that morning that they had run out of batteries, and at the start of their presentation they said that they had still run out of batteries and so couldn’t demo it. (Somewhat makes you wonder why they even told anyone about it, but hey.) The slides are available but the video probably has more energy, for when it comes out.
As someone who was interested in electronics at an early age but fell into software soon after, the Raspberry Pi seemed like a great way of getting back into it again. Although I have yet to buy one, it will be a purchase this year sometime, in part thanks to this presentation inspiring with various ideas.
They didn’t only have a Pi but also a connection with Arduino boards using the I2C communications protocol, with the Pi being the brains to the Arduino’s limited but functional slave system. With all the software being coded in Python, it makes interacting with other devices much easier than it was in the past. (That’s twice this week that people have been talking up Arduino and Pi devices; surely a good indicator if nothing else as to what I should be doing this year.)
I do wonder whether the Pi is really for a new generation of enthusiasts, or an older generation pining to be the younger generation again. In that way, it’s a bit like SodaStream – and probably more successfully, Lego – in that they were once a household item, dropped below the radar, and then resurfaced when those that used to love them turned into those that could purchase them for their kids. Heck, there’s even a Raspberry Jam running just down the road from me in Milton Keynes every now and again.
Ah, nostalgia. I remember it well.
Inside Lanyard’s Architecture with Andrew Godwin
The next talk I went to was one on Lanyard’s architecture by Andrew Godwin (@andrewgodwin). The slides for this are also available.
They have a highly available architecture which allows them to evolve the site, and have the ability to put the site into read-only mode with cached content should the back ends suffer from any issues (or upgrades). They deploy content continuously (several times a day) and roll out new features with feature switches that allow some parts of the stack to be switched on or off depending on the user or group that they are associated with. This doesn’t do A/B testing in the strict sense, but does mean that the beta users get to see the new features before the wider audience against production data, so that they can get a feel for what works and what doesn’t work before it goes live.
Visualising Information with HTML5 by Dio Synodinos
One of my fellow InfoQ editors, Dio Synodinos (@synodinos) gave a talk on visualising data with HTML5 (slides).
He covered using techniques like CSS3 transitions and 3D transformations, as well as Canvas and WebGL drawing. There were also some cool demos, such as http://graphicpeel.com/cssiosicons which shows a screenshot that looks very much like the iOS home screen, but with icons that are entirely CSS based. There were also some Canvas demos, such as BrowserQuest, a graphical adventure rendered in a Canvas.
There were also some other JavaScript libraries mentioned, such as Raphaël, <a href=”http://processingjs.org>Processing.js</a>, D3.js (again), and Fabric.js (providing Canvas with fallback to SVG).
If you’ve not looked into some of the above, have a look at the examples and what’s possible – the world of visualisations has moved on a lot in the past few years.
Knockout JS with Steven Sanderson
Steven Sanderson (@stevensanderson) from Microsoft showed a demo of using Knockout JS to wire up UI models with underlyin events, so that an object model could be used in the browser to render content whilst at the same time reacting to changes in the model. I’ve seen this approach before in other libraries like Objective-J and SproutCore (which seems to have passed on, much like iCloud has). The difference with Knockout.JS seemed to be that it was a much more natural fit for JavaScript, without having to go into many details as to the underlying framework.
The second part of the demo was how to wire up Microsoft Azure services so that they could drive the JavaScript app, by exposing a NoSQL type DB with REST CRUD operations directly from the JavaScript app itself. The fact that all this existed within a ready-to-go Azure console was a pretty slick part of the demo (and subliminal advertising) – but Steven also had a demo in the Apple app store using PhoneGap as a web view for the same JavaScript app that he had developed (or at least, a previously created version of the same).
Both Knockout.JS and Azure are definitely worth a look, if you’ve never heard either of them before. The slides are available, though given that most of the talk was an interactive demo they don’t buy you much.
Summary
That was it for QCon this year. There’s a lot of the slides available at the conference schedule for Wednesday, Thursday, and Friday, so head over there if you want to find out about what other sessions were going on. A few were recommended to me afterwrds, such as Simon Peter Jones’ talk on fixing the ICT crisis at school but the slides (and if you’re logged in to InfoQ and attended QCon, videos too) are available from the schedule pages.
New this year was the immediate availability of the videos on the same day as the conference. Prior years have drip-fed them out from the conference via InfoQ over the next six months, but this time raw video footage was available as early as the same evening. This was great for the conference goers who missed out an opportunity to see something (and would otherwise have forgotten had it not been immediately available). Once they’re edited with the slides in situ, they’ll be made available on InfoQ as well. The immediate access videos were only available to paying conference guests, though there was some interest in making a separate video pack available to purchase – if you have any thoughts on that, contact Floyd or I can pass messages on to him.
The open spaces were also a new idea for this year. I’m not sure that they worked on the whole; the user groups of prior years seemed to have higher footfall. It also seemed odd to me to finish the conference on an open space; it meant that many just left early on Friday and so the conference gradually slowed to a halt instead of a closing keynote.
What is clear is that it’s QCon’s biggest year ever. We expanded to more floors than before and had a higher footfall than any previous year I recall. And one of the things that makes QCon great is the diversity of talks with a wide range of industries (and government!) represented. Which other conference can you go from a robotic Pi to a massively distributed architecture talk and meet some of Computer Science’s greats into the bargain?
See you next year.