With Umbraco v8 on the horizon, we are hearing more about its new features, such as a refreshed UI, Infinite Editing, Language Variants and Content Apps. Content Apps introduce a new architectural concept to Umbraco, this has the potential to enrich the CMS editor experience.

Package developers are starting to discover the possibilities of Content Apps, and there is a feeling of a pending ‘gold rush’ within the Umbraco community.

Before we dive into what Content Apps are and their expected potential, let’s take a moment to reflect on a previous ‘gold rush’ that happened when Umbraco v7 was released.

Come grab a mug of cocoa, sit around the fire and let’s share a story…

The year was 2013 and the Umbraco community, recovering from the demise of Jupiter (that’s v5 to you younglings), were wooed by the unveiling of Belle: a reimagining of the back-office powered by Google’s prophetic JavaScript framework, Angular. We would be free from the shackles of WebForms, free to use web technologies that we knew and loved. These were good times, these were daring times.

Umbraco developers were eager to start with v7, but the package ecosystem that we came to rely on with earlier versions of Umbraco was not completely compatible… and so a Property Editor ‘gold rush’ began.

Around this time, I was a shepherding a package named uComponents that was highly esteemed by unicorns and Umbraco folk alike (if I may say so myself). Demands for it to bereforged for Belle were made but, alas, my apprehensiveness of Angular and being still slightly bruised by Jupiter meant it never came to be.

I sat back and watched many fine Umbraco folk seize these new opportunities. The packages came quickly, breaking new ground. Many of those developers became MVPs and #h5yr stars! Package after package, like a dopamine hit, releasing packages felt good. An ecosystem was salvaged!

Did you know that there are at least 7 different Link Picker property editors for v7?

And while those developers basked in their glory, something felt amiss to me. uComponents was founded in a spirit of collaboration: contributors would sift for gold alongside each other, stronger in building together as opposed to every Property Editor developer for themselves.

What would drive a developer to work individually rather than as a team? I guess… raising a community profile, possible career opportunities, maybe even an Umbraco MVP nomination? They all hold a certain prestige.

I wondered for how long the Umbraco package ecosystem could be sustained by a community of individual developers.

Did you know that there are at least 8 different Google Maps packages for v7?

Looking back, maybe I should have made more effort to bring developers together, to collaborate on common goals, but I didn’t. I stepped back and watched the rush happen.

Did you know that there are at least 9 different URL redirect packages editors for v7?

Oh, hark me, I have become an old man, rambling on about a bygone era. Finish your cocoa and let’s get back to Content Apps!

A brief history of Content Apps

Over time with Umbraco, there has been a slow emerging pattern of having non-editing components on a document’s tab. Features such as List View and Info (previously known as the “Generic Properties”) were considered as auxiliary to the current document as they didn’t edit the content itself.

There have also been community packages where non-content experiences had been wrapped within a property editor for non-editing purposes, such as analytics or a SERP (Search Engine Results Page) preview.

As part of the Umbraco v8 UI refresh, those specific features have been migrated from the document tab to become a Content App.

The initial intention for a Content App is to be a companion feature to a document, offering read-only contextual information about that current content. They will be able to interact with 3rd party systems/APIs, and used to display data for traffic statistics, analytics, SEO, marketing communications (marcomm) and social media.

From an Umbraco skillset perspective, the approach is the same as creating a property editor or dashboard. Developers can reuse their existing Umbraco/AngularJS knowledge to build a Content App.

Why would a developer want to be ‘first’?

As information unfolds about Content Apps from recent festivals, meetups and documentation, many Umbraco developers are wondering how they can achieve the most out of Content Apps.

While the Umbraco package market may appear to be saturated with established developers, there is always room for challengers wanting to put a “stake in the ground”.

Being the first on the Content App scene means there will be minimal competition, giving a developer the advantage of being “first to market” before anyone else. There is also the recognition of being a pioneer, with a decent amount of publicity from the Umbraco community.

Even with Umbraco v8 currently (at the time of writing) in a preview/alpha state, for those developers who are willing to forge ahead with early prototypes – as the Content Apps API is still being established - the above benefits apply even more. Many Umbraco developers are eager to get a head start with Content Apps in any way possible.

What can you expect from Umbraco developers who are creating for Content Apps?

At this point we don’t know enough to predict how Content Apps and the Umbraco development community will evolve.

Over the past few months, we have seen initiatives among early Content App pioneers, these may tell us something about where demand might be heading.

Kevin Jump prototyped a Content App for his Translation Manager package.

Tim Geyssens made a form entry viewer for his UI-O-Matic package.

Pawel Bres prototyped a Content App to display the Google PageSpeed Insights result (for the current page).

Paul Seal wrote a blog post about a couple of Content Apps that he’d developed: An Examine Search result viewer and a Live Chat app, you can read more about them on his website.

Who will win in the Content Apps Gold Rush and who will burn out trying?

Of course, there will be the obvious ‘winners’ when it comes to Content Apps: the content creators and editors, and the marketing, analysts and business people who will have had their content experience enhanced and enriched.

Umbraco HQ will benefit in the long-term if Content Apps are adopted within the ecosystem: the new feature will have been justified and enhance the usage of the CMS. Also, with the upcoming launch of the Umbraco Apps platform, it will be interesting to see how Content Apps will tie-in with this.

But what about the developers?

There are other developers who do already occupy niche spaces within the Umbraco package ecosystem, e.g. SEO management, translations and form builders. I’d expect a rapid turnaround from those established developers.

For others, I could imagine some developers rushing out to write a bunch of Content Apps, so they can take ownership of other spaces. This would take a lot of time and effort to do, leading to an eventual burn out (I know this from my own experience).

I see another way to this: to bring back the spirit of collaboration, to share your ideas and team up with like-minded developers, offering guidance and mentorship. The last thing we want to see is 10 different types of Google Analytics Content Apps, so let’s work together!

Let’s Collaborate!

There is an old proverb that says…

“If you want to go quickly, go alone. If you want to go far, go together”

The idea is to not rush off to build the same thing independently, we need to share ideas and help each other build together.

Take for example the URL redirects feature in Umbraco. This is a prime candidate to be a Content App, which someone may be very eager to build. However it’s already on the roadmap for Umbraco core (to be potentially integrated with the Info app). Which is why we need to be open about our ideas, so not to waste our own development time.

I’d love to see an area on Our Umbraco where we can share and discuss our ideas for packages with the community. It would introduce the notion of sharing and learning and building together.

If you are looking for inspiration, here are some Content App ideas I’d like to share with you…

Website Traffic, Statistics and Analytics – integrate with 3rd party analytics APIs, such as Google Analytics, Matomo (formerly known as Piwik) or Alexa site ranking.

Content Analysis – analyse the current content for statistics like Word Count or integrate with tools such as Grammarly or the Hemingway app.

Marketing communications (marcomm) – tools for managing advertising, email campaigns, newsletters, social media, etc.

Previewing – display a preview of the current page; or hook up to BrowserStack’s Screenshots API to render thumbnail images from various devices.

Social Media – preparation of meta-data for sharing a content page across Twitter, Facebook, LinkedIn platforms.

Comments and Backlinks – list WebMentions, Pingbacks, or even Disqus Comments for the current page.

Existing Umbraco packages – integration with Fluidity repository (in the context of the current document); Nexu, show where the current document is referenced throughout the CMS.

For (evolving) documentation on Content Apps, and how to start developing them, please visit the Our Umbraco website: https://our.umbraco.com/Documentation/Extending/Content-Apps/index-v8

What are your thoughts about who/what may ‘win’ in the Content Apps gold rush? Share your thoughts in the comments below or start a discussion on the Our Umbraco forum!

I'd like to say a huge thank you to Matt Brailsford (aka Doodlebeard) for the cartoons, and an equally super thank you to Marc Goodson and Lotte Pitcher for all your guidance, feedback and proof-reading of this article. Happy Christmas everyone!