I decided to check out Code Garden for the first time, I snapped up a late ticket and travelled to Odense. Below are my thoughts on the three day Umbraco marathon that is Code Garden 2019.
Arrival
The day started with the famous "level five welcome", five members of the HQ lined up and greeted me at the door to the venue with palms raised overhead and expectant looks on their faces. A series of high fives ensued, thwack, thwack, thwack, thwack, thwack. I entered the venue to the echoes of shouts of "hi five you rock", welcome to Code Garden 2019!
The venue is DOK5000 and it's huge, three large stages, reception area, dream corner, lunch room, coffee bar and garden area.
The Key Note - RFC's and .Net Core
Neils Hartvig presented the key note on the main stage to a packed audience. He went through the current state of Umbraco and set out a road map for it's future. One of the key take aways for me was the commitment to moving Umbraco to .Net Core and that work had already begun.
There was also a new process launched at the key note to help the community feedback and shape Umbraco. This was called Requests for Contributions and added some transparency to the Umbraco decision making process.
The Talks
The quality of talks was really good, below I have picked three talks that I found most interesting.
"I have a dream about Umbraco" - Jeffrey Shoemaker
Jeffrey started with an overview of Umbraco and it's history before discussing it's position within the current CMS ecosystem. He then broke down Umbraco into functional areas, discussed each in turn and presented how he thought best those areas could be improved.
The CMS ecosystem
I really liked his take on how the front-end could better be connected to Umbraco. At the moment the editor experience isn't ideal, it does feel like a disconnect between the work done in the CMS and how that is presented in the front-end.
Jeffrey addressed this issue by adding front-end functionality when logged in. He demonstrated a footer tool and information bar that allows editors to quickly change the page content inline and to view saved / published versions of the page.
He took the idea a step further and showed that there could be helper apps available in the front-end. These apps could provide useful information to the editor, including open graph preview and google analytics data.
In page editing, is it on it's way?
He also presented his marketing suite idea. This is a commercial product coming soon from Jeffrey and Perplex Studios, you can sign up to be informed about it here.
A great talk, I highly recommend reading through his slides and watching the video of the presentation when it becomes available online.
"Enhancing the Umbraco Experience using machine learning" - Steve Temple
Steve Temple is the technical director and co-owner at Gibe Digital, his talk introduced us to machine learning and how it can be integrated with Umbraco. He explained that there are plenty of tools available, these are primarily used for classification, prediction and anomaly detection.
Chihuahua or muffin?
He showed us that although machine learning can be used to automatically categorise content, it's how that categorising is done that is important. Having a suite of car images that are categorised as car it's almost useless for a site that only has car images. What matters is the context, so rather than categorise the car in generic terms, better to categorise on a factor that is relevant.
In this case, the car site might sell different makes and models, so categorisation based on that criteria is what is useful.
I found the talk really interesting, especially how he was building his models to cross-sell products based on data being stored on interactions that occurred on the website.
A really good talk, I'm looking forward to implementing AI into some of my own projects.
"Automated Testing with Umbraco" - Lars-Erik Aabech
Lars-Erik introduced automated testing with Umbraco, he explained that it's a practice that we should all be doing as part of deploying our software, but that it's the bit that developers often skimp on or skip completely.
He then went on to demonstrate that rather than being a time-sink, that well thought-out and implemented testing saved time in the long run. The following tools and resources were also introduced:
- Approval Tests - an open source assertion / verification library for unit testing
- Specflow - define, manage and automatically execute human readable acceptance tests in .NET
- Cucumber School - learn how to test business readable specifications against your code
- "Refactoring" by Martin Fowler - a controlled technique for improving the design of an existing code base
I enjoyed the talk, it fired me up to introduce more automated testing in my own projects. I think it's important to ensure that when deploying software that it should be tested properly, the tools exist, so there is no excuse not to do this.
Round up
I've only covered a few of the talks here, I've not covered them all. I've also not touched on Umbraco bingo, the boat trip with live saxophone player, the hammer, nail and log game, the roaming magician, the gold painted mime artist or the Dolly Parton tribute act.
All of those extras are the icing on the cake, what is really great about the conference and the real the reason I suggest that you attend is the opportunity to meet others in the Umbraco space that share the same passion as you.
A special thanks for all those that presented at or organised Umbraco Code Garden 2019, it was a special event and I won't forget it.
As always, thanks for taking the time to read this, please reach out to me if you have any comments or suggestions.
Happy Umbracoing!
-- Matt