LocomotiveCMS: Hello Jeremy, please introduce yourself and your company
Jeremy Seitz: My name is Jeremy Seitz. I'm the Head of Web Engineering here at Local.ch. We are the official phone book in Switzerland and we have about four and a half million unique users in the country that use our website everyday.
LocomotiveCMS: How did you first heard about locomotive CMS?
Jeremy Seitz: I first heard about LocomotiveCMS through other developers here in Zurich. In 2012 we were looking for a solution that was compatible with our Ruby on Rails platform through the website which we launched in that year. One of the things that was attractive to me about it was that it was actually built in rails. We tried it out first as an experiment and very quickly began to adopt it in a more broad way throughout the company.
LocomotiveCMS: What other tools and products did you use before that have been replaced by LocomotiveCMS?
Jeremy Seitz: Before LocomotiveCMS we were using a whole lot of different things. We had WordPress installations, we had custom CMSs, we had static files that were maintained by hand and this was a lot of pain actually because it required different interfaces, different strengths and weaknesses for each product and it was a nightmare to manage. We're able to replace nearly all of those with Locomotive. Personally, I was using Radiant and Refinery on the Rail Side as well for CMS projects before.
LocomotiveCMS: What were your greatest challenges when creating websites for yourself or your clients before you started using LocomotiveCMS?
Jeremy Seitz: Some of the biggest challenges were trying to figure out how to customize things as CMSs often came with a lot of features and were very rigid. The challenge was you felt like you have to bend or break the CMS into doing what you wanted it to do.
Locomotive, on the other hand, starts very simple and very small and it's up to you to build it out.
The other challenge that we had was one of support and maintenance. We had products that were not open source, which made it difficult to troubleshoot problems and make changes and improve things. We're dependent on external vendors to do stuff for us. Another issue was just architectural. Locomotive out of the box was built on Rails, which was something we're already familiar with and hosting in high performance environment. In addition, it used MongoDB which was the database that we also had chosen to use.
LocomotiveCMS: How is LocomotiveCMS different from comparable tools you have used before?
Jeremy Seitz: Locomotive is very different from the products we used before because it's based on something that is centered around models. In addition to having page content, which all CMSs have, it has this concept of models and the models can be customized. This gave us great flexibility when we we're building out new features and it also made the editing and maintaining the content very easy.
The other thing about it that was nice was the fact that in the back office we could customize the content areas that people edited in a way that made it really resemble what was on the page. They didn't have to learn special formatting, they didn't have to learn tricks or whatever to make the content look the way the designer wanted it to look. They could simply enter the content in the right places.
In addition, it provided a much better compatibility. We have to support four languages as a Swiss company and out of the box it was very good at internationalization and supporting translations strings and things like that. Quite a lot more features and architecturally, the design of it, the way it interacted with the database and the tool wagon, which is this command line tool that we use to pull and push content, means that we can edit templates using our editors like developers like to do. They're not forced to use the web based interface to do everything. That was a big win for us.
We could also check the content into source control, which was a huge win as well. There are many features that are really just super valuable for us.
LocomotiveCMS: What has your experience using LocomotiveCMS been like so far and since starting to use LocomotiveCMS, what has changed about your work?
Jeremy Seitz: So far we’ve had a good experience with Locomotive. We were able to use it very quickly and also we were able to very quickly train and help the people that have to use it every day. Initially, Locomotive was only used in a couple of places here at Local. As of today, it’s now used to host most of our content-driven public websites including things like user information and guides and help and things like that. This is an advantage for us because we can customize each solution based on what it is that is needed and it makes it easier for us to support people because we know that we have a common interface, a common set of tools that everyone is using for the content across the platform.
In addition, the fact that everything is stored in Mongo is great for us because MongoDB is the database that we use across our organization now for the web and mobile so this makes it easier on our system administrators as well that they don’t have to maintain separate databases for CMS.
In general, our job as developers has become easier. More importantly, we get great support from the people that make Locomotive. They’re always very responsive to us and they’ve helped us a lot with some of the more complex solutions that we’ve tried to build. That’s been a big difference for us.
LocomotiveCMS: How do use LocomotiveCMS in your work?
Jeremy Seitz: We use Locomotive in our work everyday not only for just editing and maintaining content that appears on the homepage or on various content areas of the site but we also use it in a number of kind of unusual ways. We use it sometimes as a database for storing things like images that need to be displayed. We sometimes use it like an API for storing things like categories or bits of content that need to appear in certain parts of an application. It’s a very flexible tool in the sense that we’re not just storing pages of content in it. We’re actually using it like an API and this gives us the flexibility to be able to manage things in a central interface but the results are all over the website.
Generally, through the web team, we do deployments to the website applications and we treat the CMS deployment separately. This decoupling has actually made it much more flexible for us. In the past, it was common to have your CMS be your application and one of the primary differences is that Locomotive is essentially CMS as a service. This means that we can decouple the content from the application completely and when we make changes or improvements to the CMS, we can deploy them separately from our applications. That gives us increased flexibility in our day to day work.
LocomotiveCMS: What feedback have you gotten from your clients from the LocomotiveCMS back office and do they find it easy to use?*
Jeremy Seitz: As we rolled out Locomotive throughout our organization, we generally got very positive feedback from people that they were able to work with it very quickly. Some people felt it was very similar to the interface that they used before. Other people it was a big change but because the interface of the back office is fairly simple, that made the transition pretty easy. In general, we’ve had a good reaction for people having to do common tasks like uploading images or managing content in multiple languages. These tasks are pretty easy. In general, people at Local who have to use Locomotive find it pretty easy to use so that’s been the majority of the feedback that we’ve gotten from the users here.
LocomotiveCMS: What was your aha moment or the moment you knew you loved LocomotiveCMS?
Jeremy Seitz: The real aha moment for me with Locomotive was when we were working with it and we suddenly realized that it was also an API meaning that we can not only use it as a CMS but we could use it as a service and for me this was a game changer because in the past if someone said, we need to store a bunch of data and it needs to be available to different applications, we would need to build something for them. We’d have to build a database. We’d have to build an app. We’d have to deploy it somewhere and test it. With Locomotive, we have a CMS instant support. We can simply create a new model. We can then create a template that returns data in HTML or JSON and this is immediately usable by our web and mobile applications so it’s a huge time saver in the sense that it allows us to quickly create APIs and to add new data to our apps without having to do a lot of work. The content management part of it is already taken care of.
LocomotiveCMS: How do you see yourself working with LocomotiveCMS in the future?
Jeremy Seitz: We’re definitely planning on expanding our use of Locomotive. We’re currently replacing more legacy applications that we have that are using Locomotive. We are going to be rolling it out further within the organization. We were very excited about the upgrades that are planned in the new back office interface and we intend to use that. We’re also adding single sign-on, which will be very helpful for our users so they don’t need special accounts for Locomotive. They can use their normal company account to log in, which makes it easy. More importantly, we plan to push our content in general online and Locomotive is a big part of that strategy.
* This video was shot before we released V3 and our new WYSIWYG / real time editing interface