An interview with Umbraco founder Niels Hartvig

During the recent Umbraco meet up that we hosted here at Code, event organiser Chris Gaskell grabbed 10 minutes with Neils Hartvig to put some of the Computerlovers' burning questions to him directly.

What prompted the need for you to build Umbraco as a service? Do you see this as the way CMS systems will be going?

The idea behind Umbraco as a service is two things. Firstly, to eliminate any barrier of intrigue if you want to evaluate Umbraco or are just getting started with it. The second goal of Umbraco as a service is to get rid of everything that is infrastructure in a project, so that could be anything from hosting to deployment. I think part of it is quite obvious, just like you have [with] wordpress.com. But, the other part, I don't think it's been done before. Internally, we've termed it as 'a GitHub for CMS's', which would be kinda cool -- so that's the plan.

The new Belle User Interface, which is due in version 7: why such a drastic change and how do you see this benefitting content editors?

The current interface is nearly ten years old and what people did with it back then was quite different from what we're doing today [which is] also mobile apps and display systems. Umbraco is used for a lot of different things right now. And there is web technology available today that makes it possible to do things much faster. Now we're going back to the roots of giving editors the best possible tool to manage their websites or applications.

Do you think there is a moving space, as in people are more expectant to be able to edit their sites on mobile (and tablet) devices now?

Exactly, so of course a major thing with Belle is the ability to edit on a tablet... Not mobile phones though: we experimented a lot and couldn't get a good generic user interface.

Do you have any plans to revisit the core code base, or is it now a case of 'evolution not revolution'? I suspect that was a question born out of V5....

Definitely evolution; no more revolutions. I think we have been there done that -- got the tombstone. In fact, it's quite funny because in short of revisiting the code base, it's almost everything but the user interface that has been refactored from version 4 to 6, even though we are more or less backwards compatible. So anything from the crud API's to the request pipeline to the rendering engine, and, with version 7 we have even refactored the interface as well.

So definitely evolution: we're not done yet, there are a lot of things we can still do. But, the key is still compatibility; what we realised from version 5 is the product Umbraco is half a Core CMS and half a lot of plugins (and knowledge of doing implementations), and if we did a revolution, all of that would be lost.

How will Umbraco Belle (the new back-end) effect how the community creates plugins?

I think it's very important to understand that with Belle, you only change the way you do plugins if you want to extend the back office. In version 6, you had to do that through web forms -- you know, user / custom controls, which is a really odd way of developing. And in version 7 you can basically do that in pure HTML and JavaScript. So the reason behind that is we are seeing a lot of front end developers doing the implementation of Umbraco.

But then you have some Microsoft .net developers who are really good at Microsoft .net, working on extending and integrating Umbraco. But, it's kinda a shame right now that the people actually doing the front end implementation of Umbraco aren't capable of modifying the editing experience too. And that's one of the things we are doing with Belle: enabling traditional web developers to extend the back office without having to know Microsoft .net at all. We hope that will spark even better plugins -- well, that's the idea.

Is the key to Umbraco's success the product or the community?

It depends. I mean: what is Umbraco? As I said before -- you could argue that it's one third the product, one third the knowledge sharing, and then one third the extensions, or the ecosystem of packages, where some are commercial and some are free. I think those three things are the key to the success; you cannot have one without the other.

Obviously, the community is really what sets Umbraco apart from other open source CMS's. We've really invested heavily there; something succeeded there. You might argue that there are other CMS's which as a product might be superior to Umbraco, but you will have a really hard time finding a product plus community that's better than Umbraco.

Exactly how much schnapps was drunk by the core team in the last year?

I totally get that question, but I think it's very important to understand the core team is very sophisticated but also under really heavy commercial pressure, so we have this policy of only drinking alcohol [where the brand website is] run on Umbraco. And therefore we haven't drunk any schnapps so far -- but we've drunk loads of Campari!

So what you're saying is, if you want your alcoholic beverage to succeed its better running the website on Umbraco (laughs). OK.

Yep. It's not only Campari that learnt from that: Heineken, Carlsberg, Smirnoff, and Tanqueray are running on Umbraco. There are plenty of ways to get drunk and conform to corporate guidelines at the same time.

OK, so the last question is: what are your goals for the Umbraco platform in the next 12 months?

I would love to see it get back to its roots in terms of simplicity, but then learn from the past eight years. We have a really great team now with a lot of different skills; from a software engineering point of view we can have a really solid core (but, at the same time one that's really easy to understand for, say, a non-.net developers).

A good example of this is the work on the new cache as it involves a lot of things, and one of them is a really good example of sophisticated software engineering that eventually produces a really simple result. The new cache in Umbraco -- if everything goes well -- will be strongly typed, so every time you create document types, you will have strongly typed models, and what is really fantastic about this is that it means that the querying language in your template will look very natural, so not generic at all. If you have a document type called "news item", you will actually query new items and the Umbraco querying language will be able to do all the filtering for you. If you are a .net developer you will love the intelli-sense, but if you are a web developer in sublime text or whatever you use, then you would just love that it is very natural to look at.

So simplicity all the way: stick to being a platform with an ecosystem on top of it, rather than this trend with CMS's that try to be more than a CMS. Keep making sure that Umbraco as a tool is easy to understand and then people out there can build magic on top of it.


Umbraco comes to Manchester: an evening with Niels Hartvig