Today, Wednesday, was day 1 for me at Öredev (there were two tutorial days on Monday and Tuesday which I did not attend). It’s been really great so far, so thank you Active Solution for sending me. I have taken tons of notes so hopefully I can squeeze all of those into an interesting summary. It started with a fun keynote from Alexis Ohanian, a co-founder of Reddit, about starting a company and delighting your customers. And ended with a thought provoking keynote by Neal Ford from Thoughtworks entitled the Abstraction Distraction. Very relevant for all programmers, as we work daily with abstractions and most (or all) of them leak. I absolutely loved his onion skin api concept. He used Active Record in Ruby on Rails and Git as examples, the idea being that you can used Active Record at the highest level for 80% of all cases but for the other 20% it leaks the layer underneath in a good way so that it is easy to dive directly into writing SQL if needed.
So here is my summary in chronological order of all the sessions I attended.
C# 5: Async 101
Jon Skeet investigated the new async feature keywords coming in .NET 5. He did this by using following the spec for .NET 5 and implementing it himself using .NET 4. Impressively geeky. Check out his blog series describing his EduAsync project. Jon is very English in a Black Adder/Monty Python fashion which when combined with the geekiness of deep-diving into how the C# compiler works, made for a strange and interesting session.
I follow Sebastien Lambla (@serialseb ) on Twitter and chose to go this session because I was intrigued by this quote “Now, time to take pictures of that unicorn…” at 3 o’clock at night. I felt I couldn’t miss REST combined with unicorns and it was even better than I imagined. Sebastien used a secret agent unicorn named Resty Galore to illustrate links and forms in REST. Resty Galore had a mission to get to Malmö from Paris implemented as a series of http requests and responses. The first implementation was very procedural and rigid so Sebastien proceeded to introduce links and forms to reduce coupling in the workflow. At the beginning of the session I was wondering how would I ever apply this in my real life projects but by the end I had a few ideas about where I could use it. Any project with a lot of jQuery ajax calls and callbacks could potentially reap benefits of this approach. Intriguing is the right word here. More investigation required on my part.
Building mobile web apps using ASP.NET MVC 4, HTML 5 and jQuery Mobile
Phil Haack from the ASP.NET MVC team at Microsoft presented on the new mobile features coming in ASP.NET MVC 4. He started with Adaptive Rendering of current web pages so that they look better on mobile devices. MVC 4 will have a new default template which by using CSS 3 will change the layout automatically when the viewing device’s screen is narrower than 850 pixels. Next up was a new DisplayMode features with which you can create pages specifically for a mobile device i.e. Iphone or Android. Phil then showed some jQuery Mobile stuff which is very interesting and feels like it will be how I get started with mobile development. And then lastly he showed off some of the new HTML 5 offline capabilities of jQuery Mobile. See this website here, connect once and then go offline to test it yourself!
The last session of the day was about Node with Felix Geisendörfer, one of the core committers. It was a nice little introduction to Node where Felix showed off the various killer features of Node; Websockets, proxying data streams and parallelizing I/O and more. It has just been ported to Windows and the integration with IIS has begun so I will probably be using this sometime in the future. But not this year, so this is one technology that I’ll look at again when it is a bit more established on the Windows platform.