GDG DevFest Barcelona 2012

The Google Developer’s Group DevFest Barcelona 2012 (or GDG DevFest BCN for short) edition was held past Friday the 9th of November.

In contrast with the 2011 edition, the event didn’t feature so many “official” Google evangelist talks as in 2011. Instead, there were several local start-ups talking about their experience using Google and open technologies such as HTML+Javascript for building their products, rather than Google-sanctified talks only. Also, there were two tracks at the same time (Android and Web), plus several code labs which were definitely pretty hands-on, so even if they had financing problems this year, the organisers still managed to produce a really good event.

I didn’t take as many notes this year, instead I turned to drawing a few speakers and live-tweeting the others (with pics, because otherwise it didn’t happen).

HTML5 + GAE

So here is Ido Green talking about HTML5 and Google App Engine:

Ido Green at DevFest BCN 2012

He said you can build a really good back-end pretty quickly with GAE, and use its API as the “one point of truth” for all the devices and platforms that access your back-end, from day one. I haven’t played with GAE yet as the lock-in ghost deters me, but since he commented you can also use mySQL somehow, I’ll probably have a look at it at some point. Being your own sysadmin is fun… until you get too popular 🙂

Chrome Extensions / uWhisp

Now you have Miquel Las Heras and Iuri Aranda talking about Chrome extensions development with the experience gained with their product, uWhisp:

uWhisp at DevFest BCN 2012

Unfortunately, they succumbed to one of the most fundamental flaws for a tech talk: they described their product for almost the whole length of their allotted time and only made a little demo at the very end!

When you spend so much time talking and describing something in tiresome detail, by the time that you actually show a demo, people are bored of trying to make sense of all those clever tricks and hacks you had to implement for building whatever it is that you built. Even worse, you have almost no time left, so have to rush the demo, and cannot show how awesomely amazing your product is!

So here’s my free advice for any potential tech speaker: next time you’re invited to talk about your product, make a quick demo first.

Or: a picture is worth one thousand words!

Or even briefer: SHOW, DON’T TELL.

Coffee break & spontaneous web evangelising

After that, there was a quick coffee break where we could also snack some chocolate doughnuts. I found Jordi from Mobile Jazz and Hermes from Robot Media, and spent some time discussing In-App Billing and its utter lack of control (has the transaction completed yet? can I show the user the full app already or has my app been tricked? what do I do in the meantime? huh? argh?). I also tried to lure them away from XCode and Eclipse and into the beauties of HTML+Javascript and having Chrome and Vim as a very lightweight and ultraportable development environment, haha! 👿 👿

Lungo, an HTML5 mobile framework

Next up was the talk from Javi Jiménez about Lungo, an HTML5 framework designed from the ground up to be fast, small and modern (without legacy/backward compatibility code). This was the talk I enjoyed most. Javi was a super entertaining speaker and had the audience laughing out loud early on and until the end of the talk–people even asked him in questions time whether he would like to improvise a talk in Room 3, which was empty at that time! I also shared most of his opinions on frameworks and lightweight code, so it was great to hear this on a conference instead of the usual we use jQuery because well, everyone else is doing it… yadda yadda.

WTF jQuery? cat
WTF jQuery?

Here are a couple of his comments in tweet mode–although they will probably look funny to Spaniards only 😛

Foggy weather

Then there was a talk about porting apps from Android to HTML5 with GWT, by Alberto Alonso. But he hadn’t arrived yet due to weather issues which had delayed his flight. It was funny that he and Reinaldo Aguilera were meant to run the afternoon code lab on Three.js with Ricardo Cabello (aka Mr.doob). But both Alberto and Reinaldo were stuck in Vigo, surrounded by fog and who knows what other mysterious Northern Spain evils. Ricardo was worried as he didn’t feel prepared to run the entire code lab, and was trying to contact them all the time, trying to find out news about them, with no luck. This uncertainty was most exciting! Were they in the plane? Were they flying already? Would there be a code lab? Wouldn’t it? The answer, later on!

GAE + GWT

In the meantime the organisers swapped talks in the timetable to compensate for the weather randomness, and I decided to see what Andrew Mackenzie and Daniel Ruiz had to say on building huge apps with GAE and GWT. Again, they didn’t show a working demo of their product until late, and by the time they did it, my brain was in absolute mental wandering mode so I left the room before they finished, with a very distinctive 90s mood in my mind, as they had implemented everything with Java and insisted in referring to JSONP as “RPC calls”, and enterprisey scary things like that.

In any case it was interesting to hear about their experience trying to avoid a proprietary lock-in when using GAE, but I’m not sure –and they also agreed on that– it was worth it, as the solutions they came up with didn’t seem very elegant to me (compared to using the “native” and more natural GAE ways), and maybe there were better options nowadays than when they started their project.

three.js workshop

After lunch, Mr.doob had almost abandoned all hopes of contacting his code lab co-organisers, so he bravely entered the room 3, to run the workshop as best as he could… which wasn’t much, because he had only brought his Chromebook and hadn’t studied the slides that Alberto had prepared, but he jumped on stage anyway. As Mr. Murphy would have predicted, as soon as he started talking about three.js and showing a few examples of what you can accomplish with it, an organiser who didn’t know who he was entered the room and informed him that the real speakers were about to arrive, which was a funny situation 😀

three.js workshop with mrdoob's chromebook
Mr.doob’s Chromebook login screen

A bit after, Alberto and Reinaldo entered the room, saying sorry for the delays repeatedly, and the code lab could be run as Alberto had planned.

I was curious to see how would anyone run a three.js workshop, as there are quite a few concepts that one needs to grasp in order to develop three.js stuff. Alberto solved it asking people if they knew anything about 3D modelling (most of them had some experience) and taking some liberal assumptions in other cases, but it still surprised me that he wouldn’t stop to explain some concepts such as “rendering”, which if you haven’t done any 3D stuff might sound a bit mysterious. Specially if you hear it as “renderizar”, an Spanglish word which doesn’t exist in “proper Spanish” 🙂

three.js workshop / why webgl?
Why WebGL? Notice the crossed out IE icon… Ahem!

From time to time Alberto relied on Ricardo to confirm his assertions, and other times he just commented on things naturally, without being asked. There was an specially funny moment when Mr.doob said that it looked as if three.js was only useful for simulating cars… as the goal of the workshop was to build a very basic racing car game! 😀

I had the idea of recording the audio in the room a little bit after the workshop had started, and once I put the computer to record I completely forgot about it as I was totally engrossed in following the workshop. I discovered two days later that I had a file of about 8 hours of audio waiting to be saved, which says a lot about the robustness of Audacity. Hooray for Audacity!

Sadly I only had my laptop’s built-in microphone, wasn’t sitting on the front rows, and you can also clearly hear my furious typing, so the recording quality isn’t exceptional, but I decided to upload it anyway. I don’t know if the organisers recorded the workshop, but here are three items that may help you reconstruct it:

I had already built a thing or two with three.js but I still learnt some new things as how to load a Collada file (as everything I’ve done to date was generated). I also liked to be anonymously sitting between newbies and listening to their comments while they struggled with this or that thing. It’s the best way to test an API for usability!

As an example of distracting things newbies find, there was a comment by a guy sitting nearby which went somehow like this:

MeshLambertMaterial? Who the f*** is Lambert?

There was also the Demoscene part… when a guy approached me and asked me if I was Sole “from the demoscene”. I was like WHAAAT!? Why, yes! But how do you know that!!?. There was an easy explanation: I had posted a picture of the workshop in twitter and he had just seen it. Taking into account I was the only girl in the room, it was easy to deduct! Turns out I already knew him from the demoscene too; he was Neuroflip from 303BCN, an Amiga/Commodore 64 musician!! But I had never met him in person before. I just love this–the demoscene is everywhere! 😉

Conclusion

That was pretty much the DevFest for me! Many thanks to the organisers and speakers for all the hard work, time and effort you put on the event! 🙂

I also loved the new location, Cornellà’s Citilab. It’s a very nice space, the wi-fi WORKED FLAWLESSLY and the location is really great.

So let’s finish like last years’ post: here’s hoping there’s a DevFest 2013!