Codegarden 2016


I attended Umbraco Codegarden 2016 in Odense, Denmark. Although I have been using Umbraco for nearly 3 years now, I was a  newbie to Codegarden so didn’t really know what to expect.

It wasn’t what I have experienced at other conferences and now sitting at home with a cup of tea I can realise just how awesome it was! I have learned lots of techy stuff but also improved some “soft skills” such as confidence and public speaking. In this blog post I will chat about the key themes of the conference in my opinion.


Clients and PMs are increasingly throwing this word into requirements documents so it was good to attend the “Personalisation: Big gains from small steps” session and hear how to ensure personalisation is considered at the start of a project and throughout. We also heard how it is important to have a benchmark of what metrics (e.g conversion) we are trying to improve before implementing personalisation.

The next session was on how to implement personalisation within Umbraco and focused on the package written by the speaker Andy Butland. Personalisation Groups allows us to set personalised content for time of day, session, cookies set, pages viewed, etc. It can also be extended for custom personalisation criteria. A few months ago, I had a go at building a prototype trying out both Personalisation Groups and Spindoctor but now I have heard more about it, I am keen to look into this some more. As part of this talk Theo discussed PipelineCRM where a single user view can be held in Umbraco and used for personalisation.


The Future

In the keynote 7.5.0 beta was announced. with some popular packages now being included in core Umbraco: Health check dashboard and 301 redirects included now as well a forgotten password functionality. I downloaded it while in Odense and these new features look pretty cool but I will need to have a proper play with it now I am home.

In a similar note, we heard that the Nested Content package is being added to core Umbraco soon (7.6, if I understood properly).

There was a lot of chat about Umbraco 8. We even got a little sneak peak! I liked the new content variants that can be edited side by side and that it supports segments too, it looks like this version will make multi language and personalisation easier for us devs.

A major change to how the caching works in Umbraco 8 was announced: Nu cache. If you can catch the video of the keynote, this will explain it way better than I could but the main point I got from this was “bye bye umbraco.config XML file!”.

Shannon Deminick also gave an in depth detail of the major refactoring of Umbraco core in the next versions and longer term in Umbraco 8. Cutting unnecessary code and dependencies means easier to read and maintain code = happy developers :)

Another interesting session from Simone Chiaretta was an insight into how we will be building webapps in the not too distant future: .Net Core. This was good to see a app built from scratch and what needs to be considered when working with ASP .Net Core. It doesn’t seem too bad, mostly the same concepts as before, just structured differently. This can already be done in VS2015 alreday, so have a play!


Matt Shull’s talk on "Performance and Profiling" started by letting us know that 40% of users will abandon a request if it doesn’t load within 3 seconds. This means we need to not only make lovely sites, we need to realise performance is just as important for user experience. In this talk he discusses different ways to improve performance and suggests we have a "performance budget" to divide between fonts, images, CSS, JS however suits that site.

As devs we sometimes get the 'site seems a bit slow' feedback. Often optmisations can be made but other times, it’s just due to the services being called or calculations. This is where "Perceived Performance" comes in, this talk by Rasmus Lynggaard was interesting because it discussed the psychology of waiting for a user. Actual time spent waiting for something to happen differs from the perceived time for a user. I found it facinating that a spinner going one way rather than the other can make someone think load time is longer?!

So basically, if we have done all the minifications and optimisations we can, we should think about how to let the user know something is happening using spinners/ loading screens or limit their wait time using partially rendered pages like skeleton screens that is then populated with data once available (Facebook uses this technique).



There were many talks on Umbraco as a Service including migrating existing Umbraco sites to UAAS and how to set up a site in UAAS.

To be honest, I haven’t had a chance to use this yet! But as was announced at CG16 there is a lower price, which makes it a bit more realistic for migrating a personal site to Uaas.

*added to my development to do list* :)




When I hear people talking about tech "communities" I usually roll my eyes and find it a bit cheesy… but now having seen the Umbraco community first hand, I see what they mean.

Everyone was so welcoming and encouraging, from the early starts with the running club to the famous bingo and after parties.  There are many Codegarden veterans who took time out from catching up with each other to make an effort to include us newbies. For example, taking time to come along to a “Contributing to newbies” open sessions to share their experiences. I really appreciated this and can't thank everyone enough who came over to chat throughout the 3 days or even just said hello on Twitter.

Tech conferences can be really intimidating, particularly when you are one of the only girls in the room, but after the initial "Oh my god, I don't know anyone!" moment, Codegarden was a really relaxed and welcoming environment. 



Codegarden was great experience that is difficult to put into words. The future of Umbraco seems exciting and the community is awesome! #h5yr