What is Codegarden?

Umbraco Codegarden is the annual Umbraco conference in Odense, Denmark. The main place to be for everything Umbraco. It's a great opportunity to meet many influential people in the Umbraco community and share ideas with others.

In this post, Matt (Dev Ops - CG first-timer) and Paul (Project Team) will talk to you about their experience of CodeGarden 2019!

Day of arrival

Hi, Matt here… in May 2019 we went on an SAS flight from Manchester to Copenhagen to experience CodeGarden first hand. It is the highlight of the year for keen Umbracians like ourselves so we were excited to attend. This was my first time and Paul’s second, (marginally making him ‘in charge’)

We arrived in Odense on the Tuesday afternoon after a flight to Copenhagen and a 2-hour train journey to Odense, which took us over the Storebælt bridge.

Keen for food, we headed over to Storms Pakhaus for some top-notch street food.

This was a good opportunity to refuel and to start talking to the other Umbracians who were also eating there. Previous attendees were sporting their Umbraco shirts and hoodies so they were easy to spot. Paul is well-known in Umbraco circles due to his CodeShare video Channel and previous Codegarden visits and so was able to introduce me to lots of friendly Umbracians, before we ordered our food.

‘Storms’ is close by to the Umbraco Headquarters which is where the pre-party was to take place. The weather, reminiscent of the UK meant a short wet walk to Umbraco HQ.

The pre-party was full of friendly people who were drinking the beer and soft drinks sent in from the Liquid Pull Requests in the months leading up to CodeGarden.

It wasn’t a party as such, and not really about ‘beer’ just plenty of nice people all excited to meet and see each other, talking in a really strange glass and industrial building, and spilling out into the car park.

There were a lot of new faces including mine at the pre-party and many familiar ones too. I found myself speaking to lots of friendly people some who I knew as I used their Umbraco packages on sites. It was surreal to meet them in person. The night ended at a reasonable hour of 11:00pm so we would all be fresh for the big day ahead.

The city of Odense feels very safe, even when walking back to your hotel in the dark.

Day 1

The first day started with a friendly High 5 greeting at the doors to set the tone for the day.

The first talk of the day was a talk from Carole Logan and Doug Robar which introduced newcomers to CodeGarden, welcoming and explaining all of the “in” jokes and vagaries of the event’s culture.

The keynote speech was exciting for us because Marc and Paul had their MVP status renewed, again strange that the people I talk to everyday at work, are cheered by a room of 700 people (if only they knew the real truth!)

Also in the keynote, we got to hear about the road map for Umbraco, which includes moving to .NET Core in the next major release.

For the first time at CodeGarden, there was a new initiative called uBuddy. This was where 26 friendly Umbracians volunteered to be a uBuddy for first-time attendees. The idea was to help them find their way around the venue, let them know what happens during the event, what happens in the evenings and generally help make it a better experience for first-timers.

Paul was a uBuddy this year and I was seeking a uBuddy for the event. There were so many first-timers this year it was hard to match people up to a single uBuddy, so the uBuddies decided to wear the t-shirt and be approachable if first timers had any questions. This made it less daunting for first timers and, from my perspective, it was much easier for me to network and make myself known to the community. I had Owain Williams @ScottishCoder as my initial uBuddy who was very friendly and answered my questions.

Paul was a very popular figure at the event due to him being the founder of codeshare.co.uk, a site that provides useful tutorials and posts regarding Umbraco. Lots of people were thankful for his work and I was able to introduce myself to those people and mention about my own blog mattou07.net a dev ops focused blog. Additionally, he would introduce me to lots of people I would’ve never had to courage to go up to myself. So it was quite a relief to have him there!

There were lots of great talks on the first day, but the one which stood out the most were Rachel Andrew’s talk on CSS Grids. Rachel showed us how easy css grid is to use, how long it’s been around for and which browsers now support it. She taught us that it’s ok to use css grid AND flexbox. It doesn’t have to be one or the other. There are certain scenarios where one works better than the other. She gave us some good examples of this.

This year saw the introduction of the dream corner where attendees could give their ideas on what would improve Umbraco CMS and share their visions for what they would like to see in the next release. There were lots of interesting ideas there, such as moving Umbraco to a Redis cache and creating an umbraco crypto currency (Umbra coin). One of the biggest issues people have with Umbraco 8 at the moment is the removal of tabs, and putting everything into one long Content tab. People were putting their ideas up on the boards for how to solve this problem. It’s great to see Umbraco giving us a place as a community to get together with HQ and share ideas of how to improve Umbraco together.

This was a relaxing space away from the talks and it was very inspiring. It was where Paul started working on an Umbraco package which Auto Translates the content in your Umbraco v8 website, using Azure Text Translation from the Azure Cognitive Services suite. This package is already available on NuGet.

The food was delicious as always, catering for meat eaters and vegetarians with some very tasty dishes. There was plenty of food to go around, room to stand at tables to eat and further network with other hungry people.

It was another great opportunity for us to talk to people from the community, representing their companies. It is especially good to see people who have created packages we have used and get to shake their hand and thank them for their hard work and effort.

In the evening there was the annual boat ride, this one lasted a lot longer than last year. It did well to relax people, after a hard day’s tech and get them ready for the evening atmosphere. There were drinks on board and a live saxophonist getting us in the party mood.

Can you spot us?

Back on dry land, the evening of day 1 was a good chance to network, get to know different people and let them know what we get up to at Moriyama.

There was an entertainer juggling and performing mime, and generally getting the crowd to interact with him which made the night a lot of fun. Paul was very good at juggling which was rather surprising but I think I was pretty good at giving the illusion that this bag I was holding was static when I walked around it.

The ‘Naily Log’ game was also back this year. This is a strategic game where you have a group of people around a log. Each has one big nail. The hammer is passed around and you take it in turns to knock your nail in. The problem is you don’t want your nail in first and you don’t want it in last. If you are in first or last it could mean an expensive trip to the bar. It all depends on the rules being played by your group, but that’s the general gist of it.

Day 2

The talks on day 2 were more technical. The first talk was by Tim Kadlec who was teaching us the importance of making our websites more performant, how we could test for performance issues and what techniques we could use to achieve it. He showed us the lengths he goes to when improving performance, right down to taking out unused characters from font files.

The most interesting talk of the day, for me, was given by Warren, Claus, Shannon and Stephan from Umbraco HQ, telling us about the new Umbraco developer features and how to use them. Paul likes the idea that you can add Sections dynamically, you don’t need to edit config files now, so in theory you could have a section which only shows for certain users, or even at certain times of the day if you really want to. It’s all driven by code, so the logic is up to you.

There was an excellent talk by Owain Williams and Chriztian Steinmer about Imposter Syndrome and their experience from building the High 5 You Rock website in Umbraco Cloud. This is an open source project which Paul has also contributed to. They taught us that it’s ok to feel like an imposter sometimes, most people have felt like that at times, especially at events like this, but the friendly community and Umbraco HQ can help you.

Dave Woestenborghs’ talk about building great packages was packed full of useful snippets and will be a great resource for referring back to when building packages for Umbraco 8. You can see his slides here.


Unless you have been to Umbraco Bingo, you can’t really explain what goes on at it, but the fact that they got over 750 people all sitting at tables next to each other in that one room, and all of them ate meals at the same time was a real credit to the organisers.

Let’s just say it involved, food, drink, bingo, a winch, chilli, schnapps, and Umbraco branded prizes including a brick wall (It is the best wall, best wall ever actually). After the bingo activities there was a chance to throw some shapes on the dance floor.

Day 3

The third day of CodeGarden is a favourite for most of us at Moriyama. It is time to come together with great ideas and discussions about how we as a community can help shape the future of Umbraco.

At first on discussion day, everyone gathers in a large circle, and people come to the microphone with a topic they would like to discuss. They then pick a room and a time. The day is divided into time slots and rooms. At the end, there is a board full of discussions taking place at different times in different rooms. You then choose which ones you would like to take part in.

As a first timer it was quite terrifying as there were 100+ people all looking into the centre at this single microphone, waiting for someone to step up. I did have an idea myself to talk about automation and making life easier by stripping out the hassle developers initially go through when starting a new task, but I couldn’t get my feet to move!

The key here is taking part. If you feel that you are not contributing to or learning from this discussion, then you’re free to leave and either go to another discussion or go and talk with other people in the break areas and discuss something else. You may find that following this path you stumble across an interesting chat that wasn’t the one you thought you wanted to be involved in but are very glad you found.

At Moriyama, we like this approach so much that we adopt it when we have our quarterly company meetups. It works really well.

Between us we attended these discussions:

  • Getting the current backoffice code fit.
  • PR Team Improvements
  • Improving the on-boarding of new community members
  • Starter kits
  • Cross Platform
  • Accessibility
  • Editor tips

The open spaces that stood out for me (Matt) were Cross Platform and Accessibility. It was interesting to hear Shannon discuss .Net Core and the possibility of hosting Umbraco inside Linux. I currently host my site inside Azure and things can become expensive if you’re not careful!

However Accessibility was the best talk for me as I found myself being alienated in the other talks but that’s the nature of open space, if you feel you are not contributing you are free to leave. You become a butterfly and transition to another open space or speak with other butterflies at the bar.

Anyway accessibility, it was a very enjoyable open space for myself. I learned a lot about the nature of accessibility in Umbraco and the hardships people with disabilities have to go through when browsing the net. There are a lot of issues within the backoffice regarding this that I just never would ever have noticed. I actually contributed to this open space by asking Mike Masey @MikeMasey about how a honeypot field (Anti Spam Technique) for a form would work for someone who used a screen reader. As a result, I made a suggestion on our Moriyama website improvements trello board to make our honeypot accessible because of this talk. This change should live on our website now. So hopefully people with screen readers won’t fill out our honeypot field on our contact form. I aim to take what I have learnt from this talk and apply it to my blog. So, visiting my site using a screen reader; making sure it works as expected and taking advantage of the audits feature in google chrome tools (I’ve noticed a contrast issue in my navigation and I’m working on a fix for this).

I (Paul) really enjoyed the community themed talks. We talked about how we can improve the PR team and help people to create their first PR. The talk about onboarding new members to the Umbraco community was very interesting too. How do you make sure new people know where to go to ask questions and who are the right people to ask? How do they find out about all of the different channels like the Forum, Slack channel, Twitter hashtags etc?

At the end of the day, the notes from each of the discussions were updated in the comments on the Umbraco Request for Comments (RFC).

You can see the RFCs and open space topics here:

RFCs - https://umbra.co/rfcs

Open Space Topics - https://umbra.co/cg19-openspace

Overall CodeGarden was an inspiring conference. We came back with new package ideas, ways we can help the community better, tips on how to improve the experience for our editors and motivation to do much more. Thank you Moriyama for sending us!

We are looking forward to next year already...

Send us a message

If you would prefer to speak to someone, please give us a call on 020 3745 4285