Twitter  This Week in Review: Facebook thinks they have the formular for cracking down on clickbait nie.mn/1thp0Ds  
Nieman Journalism Lab
Pushing to the future of journalism — A project of the Nieman Foundation at Harvard

The Lawrence Journal-World gets out of the CMS business, losing out to freebies like WordPress

The company laid off engineers working on Ellington, a CMS built on Django.

The future is uncertain for Ellington, the content management system designed by a news organization for news organizations. Ten people working on the project were laid off this week.

Developers at the Lawrence (Kan.) Journal-World created Ellington for their own needs, and they liked it so much the company got into the business of licensing the CMS to other news organizations. About six years ago the World Co. created a division called Mediaphormedia that provided hosting, software updates, and ongoing support to clients.

Now, with most of that division laid off, the World Co. is refocusing on its own software needs. Existing customers will be able to keep the platform at least through their current service contracts, and the company is considering partnerships with other developers to potentially keep the project alive.

“The efforts to support a commercial base of customers, as opposed to using our software internally, have become difficult in a competitive CMS field that is also serving a pretty stressed industry,” said CFO Tom Hornbaker.

So what happened? Six years ago, it was unthinkable for a news organization to power its website with a seemingly anemic platform like WordPress or a mind-bogglingly complex one like Drupal. Ellington just worked, right out of the box, and it was tailored to the needs of newsrooms.

But WordPress, Drupal, and others have matured tremendously since then, and they remain free and open-source. Active communities of developers have sprung up around the products, making deployment a lot easier than it used to be. (We use WordPress here at Nieman Lab.)

Nowadays, “it’s hard to compete with a product like WordPress,” Hornbaker told me. “We basically have become a hosting operation that has a pretty good suite of software that nobody likes to pay for. We think a lot of our Ellington product and think it’s one of the tops in our industry. That said, many people don’t have the resources to pay for it and would rather get something that is less expensive that meets their basic needs.” Hornbaker said Ellington has fewer than 100 customers.

Ellington’s roots go back about nine years, when a couple of Journal-World developers found themselves frustrated with their CMS. Not only that, they were frustrated with the programming languages they could use to build a new CMS themselves.

So Adrian Holovaty and Simon Willison started hacking on top of Python, a language liked for its uncluttered syntax. They designed a custom CMS with their newsroom’s needs in mind. That work gave way to Django, a framework to help other developers build apps more quickly. The World Co. released Django as open-source, and today Ellington is built on Django.

This news got us wondering about how Django is doing as a platform for news applications. Rails, a competing framework for the Ruby programming language, is big in the broader web development community; Django has had a particular strength in the news apps world because of its built-for-news background. So I put the question to several smart news devs: Which one is winning, Django or Rails? (I decided to do this on Branch, a new and still-in-beta discussion site bankrolled by Twitter’s co-founders.)

It was kind of a stupid way to put the question — “winning” isn’t the right framing — and I should have anticipated the initial response: The tools don’t matter. Okay, fine, but developers need to pick one or the other, and news organizations still need to hire people who can work with the tools required.

The discussion evolved (and continues as I write this), and there are a few interesting points, like this one from NPR’s Chris Amico:

All of us in here build news apps, mostly outside our main publishing systems. Would you rather spend your days hacking on a newer, better CMS (whether that’s Armstrong or Baroque or Vox Media’s new toy)? Or do you see an ongoing separation between daily publishing and app building? Or is the future more bespoke mini-CMS things like PolitiFact and Homicide Watch?

ProPublica’s Jeff Larson replied:

That’s a good question. While I do want a better CMS from time to time, as a developer who is also a reporter, I want to spend more time building stuff that tells a story and not stuff that publishes stories.

Plus I’m skeptical we’ll ever have a CMS to rule them all, and our current one (Expression Engine) does just fine putting words on a page.

This is a perennial problem for journalists trying to build digital things on deadline: Do it right or do it fast. Whole publishing systems can spring up from messy workarounds — that’s how Ellington came to be, after all.

The conversation is embedded below.


                                   
What to read next
mice
Angèle Christin    Aug. 28, 2014
Newsroom ethnographer Angèle Christin studied digital publications in France and the U.S. in order to compare how performance metrics influence culture.
  • http://www.facebook.com/daniel.m.myers Daniel Myers

    The problem here is that Ellington and WordPress for that matter are just a CMS. They aren’t revenue engines.  Newspapers need a revenue engine that includes the CMS. Stay tuned…

  • http://ma.tt/ Matt Mullenweg

    That’s really unfortunate to hear — I know that Ellington had some functionality that isn’t matched in WordPress to this day. If any of the laid-off developers would be interested in bringing some of the most-loved features of Ellington to WordPress as plugins, please get in touch as I’d love to sponsor that. It would also be worth having a solid importer.

  • Tim Shedor

    If any Ellington client has hit a brick wall, I’ve written a (very) rough PHP script to convert the JSON dump to an importable WordPress XML file. Inlines and comments aren’t included in the script yet, so any forks are appreciated.

    https://gist.github.com/2946802