Friday 11 November 2011

Øredev 2011, Day 3 - it's all over, but something new begins...

I'm so happy I got the opportunity to go to Øredev. It's such a huge inspiration and gives a lot of new ideas and new ways of thinking and coding.
It's been three wonderful days. Great speakers, great subjects, great ideas, great people, great food and great organisation from the Øredev crew! Perhaps to many geeks in one place though (and to few women)..? :-)

If you just gonna read one thing of all the session reviews below, skip to the Dan North review.
Otherwise, keep reading :-)

Keynote - Stack Overflow: Social Software for the Anti-Social Part II: Electric Boogaloo - Jeff Atwood
Pretty good speak. Nothing new. He gave his thoughts on how Stackoverflow works and how it became popular. End of story.

Building HTML5 Applications with Visual Studio 11 for Windows 8 - Tim Huckaby
The title doesn't corrolate to what he actually talked about. He actually didn't have time to show any building of any application at all. He didn't even show Visual Studio 11(!) Tim is a really good speaker though, so it was a very giving talk anyway.

He talked about HTML5 and that it's more of a "concept" than a standard. As we already knew.
Then he started to talk about what Steve Jobs did when he introduced the iPad. He actually helped Microsoft! Instantly, Steve "killed" flash instantly. And if Flash is dying, so will Silverlight. In the end. Tim didn't really say that, because he was recorded. But he someway did. And he felt sorry, because he had been a devoted WPF/Silverlight developer for many years.

Steve wrote this (saying that Flash will never be an option on iPhone or iPad), and apple responds with this:
Then Apple responds with this:
They actually didn't. But it's kind of what they did by not supporting it (if you don't have an iPad; the "Lego" brick is what is shown instead of the flash plugin when you browse a site with flash on it). Really funny!

Anyway. Apple loves HTML5! Google loves HTML5 (and is the most driving force in the HTML5 area)! And, Microsoft loves HTML5!

But. There's always a but. We, developers, are not representative for the vast majority of users out there in the world. There are very few browsers out there with HTML5 support. Because there are a lot of old browsers (and computers) out there. And, on the other hand, Silverlight is installed on more than 70% of all computers ou there. It's a bit of a dilemma! So, probably, we wont be doing full-scale HTML5 applications in the near future. And Silverlight will be a tempting option for a few years to come. But we eventually will be doing HTML5! Either we want it or not. Steve actually never wanted a specific language for the iPhone, he wanted all apps to be HTML5. But he also realized that it wasn't an option, the market wasn't ready for it.

So. Is it a step back to the old browser-support hell we had back in the late 90's? Yes! Does Flash and Silverlight offer better graphics, interaction and effects? Yes! But! HTML5 is a standard! And it will be available everywhere! The browser will no longer be filled with plugins, it will be the plugin. And don't worry about the other things. HTML6 is already on the drawing board. And this time it wont take 10 years to finish it!

Delivering Improved User Experience with Metro Style Win 8 Applications - Tim Huckaby
Part II by Tim. He didn't have many slides in this presentation. Well, he did. But he was mostly showing a lot of cool examples and demonstrations of Windows 8 (he hade a to- notch developer tablet with the latest build of Windows 8 on it - it was shaky :-). He also talked, and showed, a lot about NUI (Natural User Interface), YES! So it was kind of more a demo of Windows 8 and it's capabilities than anything else. So it's hard to summarize the talk.

But the coolest thing! He had a touch screen from a swedish company (from Lund) http://www.flatfrog.com/products running Windows 8! He said it was the best touch screen he had ever seen or used! Nice! He also demonstrated the Kinect API for Windows (on Windows 8). He also braught up another guy to the stage (whom he had met in the bar the night before) that had created an eye recognition app. All with .NET and two simple web cameras! Impressive!

One thing that caught my mind was this slide:
  • NUI is mostly for consuming content, not creating.
    • Meaning, not for CRUD-apps, which I mostly create :-( He's right too.
  • Do not conform to the Windows GUI Spec! Yay!

Functional Javascript - Anders Janmyr
He started the presentation by mentioning Dan North talk by saying that Javascript is an uncertain langauge :-)
Otherwise this talk was not what I thought it would be. I thought I was going to learn some cool javascript stuff or architecture or something. But I learned nothing. He just burped up a lot of javascript functions. A lot! And that's it! What functions do you ask? Well: mixin, map, curry, fibonacci (of course) etc etc and finally the famous Y combinator. Totally waste of time! I could as well have read this by my self - if I had wanted to.
Do I have to say I left a red vote in the basket for this presentation?


Data Visualization with Canvas and CoffeeScript - Trevor Burnham
Another red vote in the basket :-( This was mainly a live coding session.
One great thing I learned though! Never use CoffeScript! For the second time in a row I see a CoffeScript presentation and the presenter gets lost. He had to give up! He sat a long time trying to figure stuff out but after a, way to long, time he went back to copying a prepared code. And this guy is an expert! It felt that he didn't have any tools to help him find the problem. Here is why I think CoffeScript is not something for my company (Active Solution):
  1. Adds unnecessary extra skill requirements.
    1. You have to find people (competence) that know CoffeScript. It's not something you learn in 15 minutes.
  2. You lose your Javascript skill. Because you learn CoffeScript instead.
  3. Adds another layer of abstraction that's not needed. And when something fails..? I don't want to think about it.
What about the Data Visualization part? He didn't really got there... He showed some bubbles that floated around on a HTML5 canvas.
He also had a slide that was a bit depressive.
  • The canvas in HTML5 has quite bad performance if you want to do more advanced stuff. But it gets better all the time when browsers starts using the GPU more and more.
  • Handling mouse/touch events on a canvas is hard. If you want user interaction, your'e on your own...
  • No "jQuery of Canvas" exists. But it probably is coming soon.

Patterns of Effective Delivery - Dan North
Dan North had some expecations to live up to from yesterdays talk. And he delivered. You like this guy so much that you get blind for what he says. You accept it all. But he actually has some really mind blowing thoughts.

First of all he was trying to encourage us. His experience as an agile mentor was that he was trying to get developers from stuck to anything. From zero to anything. Because that's an infinite improvement! :-)

Then he talked about optimisation. You need to optimise for something, and you always are.
Agile, as we know it and practice it, was optimised to be easy to learn. Optimised to be teached! Not optimised for effective delivery! It's true. Poker planning, backlogs, sprints, daily meetings etc. It's all about giving certainty - and we want to embrace uncertainty (if you remember my review on yesterdays keynote).
Then he started to talk about some patterns he thought could help to start thinking in new ways.

I'm not going in to details of those patterns because I'd be up all night. But basically:
  • Don't be afraid to not do TDD when you are really good at TDD. Because you know what TDD code looks like. This was on the pattern of "spike and stabilise".
  • A pattern he called "ginger cake": Don't be afraid to copy and paste code (!!!) Because you will eventually clean and adjust that code anyway. And sure, you may copy a bug, but more important - you copy a lot of good code! He compared it with a recipe he had for chocolate cake. On another recipe it said "Like chocolate cake but with ginger" :-) As an expert (or baker) you know when to break rules (or adjust a recipe to produce ginger cake instead of chocolate cake).
  • Be prepared to delete/remove your own code. Don't be emotionally attached to it. Instead, prepare to throw things away. Embrace uncertainty! How? Make small pieces of code that are specialized at one thing. Then thay are easy to throw away and replace. When you create a dragon of code, things get scary. Things that can be done better or adjusted for outer changes must be thrown away and replaced. Make it easy to do it. A pattern he called "short software half-life".
  • "Create urgency". You will never learn how to swim if you never remove your armbands. You will never learn how to ride a bicycle if you don't remove the support wheels!
  • A lot of other patterns he just briefly mentioned. 
He emphasized that you don't have to agree with any of these patterns (it's his). And, they are very contextual. In one context they suite very well, in another they may not.

But! The most important thing of all: what are you optimising for?

See this talk when it comes out! Well worth it!

From Solid to Liquid to Air, Cyborg Anthropology and the Future of the Interface - Amber Case
This talk really felt like you were listening to a TED talk. And she actually had talked at TED. She was very good! She talked about how we really already are cyborgs and how we have changed our tools from being an extension of physical selves (like a hammer) to extend our minds instead. She also hoped that mobile usage will stop drawing attention from other things to just being an extension of our selves. In some way...


Thank you for three wonderful days at Øredev! Hopefully I will have the opportunity to come back (maybe next year?)

This time I actually reviewed (briefly!) my post before publishing it. As Dan North said: from zero to anything is an infinite improvement :-)

1 comment:

  1. Great post, Henrik! Dan North definitely made the biggest impression on me as well. It will be interesting to see what happens to Patterns of Effective Delivery. Will he write a really famous book about it or will it just disappear.

    ReplyDelete