It will be interesting to see how much better this will be than a custom installation of Wordpress with the proper plugins to achieve the same functionality.
There are several tools that let you put up a newspaper website today. I don't see anyone raving about any of them. They aren't built for news, and it shows. I've built newspaper sites on Wordpress, and while I might wish it on my worst enemy, I'd definitely spare the middle tier.
Wordpress is an amazing blogging system and it's coming into its own right as a CMS, but it's not geared toward the newsroom. Armstrong (the name of the project) is being built for the newsroom. Because of that, it probably won't gain a ton of traction in the standard Drupal/Wordpress deployment area, but that's fine by us. We're out to make the best news CMS, but the best generic one.
That focus is what's sets us apart from many of the other open-source offerings out there, in my opinion.
I am interested in CMSs and am curious to know how a cms for newsrooms actually looks like? I am working on a Drupal implementation and believe Drupal to be so generic that it can accommodate to any cluster of workflows - but maybe you believe the overhead of generality is too much?
Maybe it would be more fruitful to invest that $975,000 in improving Drupal and/or creating a installation profile for newsrooms?
I'm one of the devs on the project. It's Django/Python-based. That provides an amazing platform for newsrooms and their diverse needs, so we're just building on top of it.
It's hard to be ESI-unfriendly. armstrong.esi is for letting developers take baby steps toward Varnish without having to complicate their server setup.
We've built a CMS using Django, and we'll be taking it from a custom hack to something that's widely usable, while fixing the gripes we've built up over the past year and a half.
Sort of - the Lawrence Journal-World built a CMS and then split it into the newspaper-specific part (http://www.ellingtoncms.com/) and the more general part (Django). This Armstrong looks to be directly competing with Ellington.
DocumentCloud is also funded by the Knight Foundation, and hopefully there's some room for cooperation here.
We'll see how it pans out, but I for one would love for Armstrong to integrate with the DocumentCloud API, in order to provide seamless document management, OCR, search, and annotation for the primary source docs behind Armstrong articles. I've been talking to Travis about it -- perhaps it's a bit of code we can contribute to the project.
Other recent Knight-funded open source includes the excellent TileMill project:
Should be interesting to see what they come up with. Are there plans to do new/innovative things, such as automating inclusion of crime data, as the author in that article talks about?
Is there any further information about costs? $975,000 seems like a lot to develop a CMS, but perhaps that's not all going to pay for development...?
Edit: I see now that although the linked article from the OP says "will develop", the Armstrong site says the first release will be this June and that the 'base of Armstrong' has been powering the contributing organizations' websites since 2009.
It's "open-source" but the source isn't available and there's no way to contribute? Their website (armstrongcms.org) mentions they have a GitHub page, but it's not linked, and I'm not finding anything from searching repositories for "Armstrong."
We're still in the process of getting everything setup. This is literally just today public. We'll be getting code setup with the ability to contribute and proper links on the website over the next few days to week.
Yeah, because, you know, Python (being a magical language) prevents spaghetti implementations.
Spoken like someone who's tinkered with Wordpress for 20 minutes and decided that was grounds to make sweeping assumptions. Drupal's internals are tight. You ever hear a developer complaining about coding against it, guaranteed it's because they don't know what they're doing.
It's just that, for various reasons, when good programmers are given their choice of language for a project they tend to choose Python and not PHP, or Java, or BASIC. And that's just my experience, but I don't think I'm the only one who's observed that.
Speaking of sweeping assumptions though: I've been a PHP developer since version 3 and have deployed many WordPress sites, themes and extensions, going back to version 2.1. I'm quite familiar with its internals, and while not to the same extent, I am also experienced with Drupal.
I can say with certainty that if you are the kind of web developer who likes a cleanly enforced separation of logic from presentation, or who enjoys being able to predict with high accuracy the flow of control, you will be frustrated with WordPress and Drupal -- and PHP apps in general. On the other hand, if you like writing hook functions and embedding business logic in your templates, you're in luck because the APIs of both do a very good job of making this the default mode for development.
If we continue down this thread, we're going to have a language war; my main intent was to disabuse you of the notion that people who criticize PHP speak from ignorance, as I have been paid very well for a long time to perform all sorts of PHP-related mental gymnastics. I absolutely refuse to use it for personal projects and have scaled back the extent to which I use it at work, by finding a job where I have more freedom with my projects.
I could go on about the nastiness of PHP, but if you don't believe that this is the state of PHP CMS development -- perhaps you think that it's not bad to write code this way, or perhaps you think all the hoops that one has to jump through to do things The Right Way are not actually burdensome -- then we simply disagree on what it means to have a good programming environment.
If you feel that way, I'd recommend a couple of PG's essays to you:
EDIT: Another thing occurs to me: there are a ton of environments and frameworks where a 5 minute screencast is plenty convincing to someone looking to try it out. You can show off some great concepts and capabilities in 5 minutes. So yeah, 20 minutes of trying to do something trivial in WordPress is enough to get the gist of things -- if you can't find at least one great, if minor, experience in 20 minutes of using a tool, it's probably a good indication of things to come.
If working on this or the various news applications we put out at The Texas Tribune appeals to you, note that we're hiring: http://trib.it/ttdevjob. Bonus points if you're in town for SXSW and want to talk. Email me (nbabalola@texastribune.org) and/or show up to the Knight Foundation's Media Innovation party on Saturday (http://www.mediainnovationparty.com/).
Yet more comical blundering courtesy of an industry I do not miss working for. For the cheap seats over at the Tribune:
1. You can't afford the talent required to pull off a bespoke CMS.
2. You can't afford the cost of lifecycle maintenance on a bespoke CMS.
3. Newspaper editors make horrible PM's on software development projects.
Now that we've estabished your efforts are (at best) doomed to mediocrity drop what you're doing immediately and go check out Pressflow. If that isn't sufficiently "geared towards the newsroom" hire a couple of freelance developers to cook up a few custom modules and you're done for 1/100th the cost. Have a nice day.
> 1. You can't afford the talent required to pull off a bespoke CMS.
> 2. You can't afford the cost of lifecycle maintenance on a bespoke CMS.
Us at The Texas Tribune or potential Armstrong users? We're doing pretty fine with our CMS. Armstrong users won't have to pay to maintain an entire CMS since community maintenance should take care of most of their needs. They'll have to pay to maintain their templates and additions to the CMS, but they're already paying for those with their current CMS. I think Armstrong will end up saving many news organizations money over going with a proprietary solution.
> 3. Newspaper editors make horrible PM's on software development projects.
Is this in regard to the Armstrong project itself or implementations of it? There's little editorial interaction with Armstrong. We know what the two newsrooms involved need, and we've already built a CMS that satisfies those needs. Now we're abstracting out our unique needs and trying to anticipate the places where other implementors will need to make customizations. I think it'll work out fine.
Now that we've estabished your efforts are (at best) doomed to mediocrity drop what you're doing immediately and go check out Pressflow.
No thanks. I and many other developers are more productive in Python than in PHP. If there's a barrier between your CMS and the news applications you want to integrate with it, you will be even less productive, and many possible projects will be written off from the get go. (We could do everything in PHP/Drupal, but no.) For more on that, see Matt Waite's recent article: http://www.niemanlab.org/2011/03/matt-waite-to-build-a-digit...
No developer in a news organization wants to be faced with an "All these worlds are yours, except the CMS. Attempt no landings there" type of situation. A news CMS built using the tools that developers want to build news applications with is a huge win.
After four years working in the industry I can say with confidence that in 100% of the news organizations I've interacted with humoring the developers resulted in a disaster. Newspapers are not software shops.
From a business perspective there's no money in humoring the guys in the development department on this one. Money's too scarce. It's cheaper and more effective to can any dissidents, swap in competent PHP developers and go with an implementation that minimizes wheel reinvention and the amount of code the organization is responsible for maintaining.
Cheaper? Yes. More effective? Debatable. If a news organization is just trying to put articles online, then sure, that approach works. If they want to push the boundaries of what's possible in online journalism, you're not going to be able to accomplish that by sticking the cheapest cogs in the machine.
Armstrong users will only have to maintain their templates and customizations. This is a requirement no matter which CMS you pick.
I once cooked up an implementation targeted at the "Local Events" vertical. It implemented 100% of Zvents feature set and took 15 hours to put together. That tells me everything I need to know about effectiveness.
Basically my point boils down to this: there are freely available, insanely flexible, totally customizable CMS's that have been under active development for a decade or more. Given how long it takes to create truly polished software of any kind, starting a CMS project from thin air doesn't make sense, you're hundreds of thousands of developer hours behind existing projects on day one.
50 comments
[ 2.8 ms ] story [ 94.3 ms ] threadThat focus is what's sets us apart from many of the other open-source offerings out there, in my opinion.
Maybe it would be more fruitful to invest that $975,000 in improving Drupal and/or creating a installation profile for newsrooms?
Not to mention a 2-1/2 year head start on understanding and actually delivering on user needs.
And a vastly larger developer base than this project will ever dream of having.
It drives me friggin nuts when people declare the need to build new customized WAFs and CMSs to meet their highly unique needs.
If OpenPublish doesn't meet your your needs, you can customize it for a lot less than $1M.
Edit: Here's a good white paper from MediaCurrent
http://www.mediacurrent.com/guide-large-scale-publishing-dru...
And the distribution site:
http://openpublishapp.com/
[1]: http://www.documentcloud.org/about [2]: http://www.documentcloud.org/opensource
We'll see how it pans out, but I for one would love for Armstrong to integrate with the DocumentCloud API, in order to provide seamless document management, OCR, search, and annotation for the primary source docs behind Armstrong articles. I've been talking to Travis about it -- perhaps it's a bit of code we can contribute to the project.
Other recent Knight-funded open source includes the excellent TileMill project:
http://mapbox.github.com/tilemill/
... which, in another bit of cooperation, uses Backbone.js for its editing interface: http://developmentseed.github.com/TileMill/docs/tilemill.htm...
Should be interesting to see what they come up with. Are there plans to do new/innovative things, such as automating inclusion of crime data, as the author in that article talks about?
Is there any further information about costs? $975,000 seems like a lot to develop a CMS, but perhaps that's not all going to pay for development...?
Edit: I see now that although the linked article from the OP says "will develop", the Armstrong site says the first release will be this June and that the 'base of Armstrong' has been powering the contributing organizations' websites since 2009.
EDIT: Ah, I see my GitHub search-fu is not strong, but jashkenas' is ( http://news.ycombinator.com/item?id=2313737 ).
https://github.com/texastribune/armstrong.base (base functionality)
https://github.com/texastribune/armstrong.esi (edge side includes)
https://github.com/texastribune/armstrong.apps.couchdb (couchdb views)
Spoken like someone who's tinkered with Wordpress for 20 minutes and decided that was grounds to make sweeping assumptions. Drupal's internals are tight. You ever hear a developer complaining about coding against it, guaranteed it's because they don't know what they're doing.
It's just that, for various reasons, when good programmers are given their choice of language for a project they tend to choose Python and not PHP, or Java, or BASIC. And that's just my experience, but I don't think I'm the only one who's observed that.
Speaking of sweeping assumptions though: I've been a PHP developer since version 3 and have deployed many WordPress sites, themes and extensions, going back to version 2.1. I'm quite familiar with its internals, and while not to the same extent, I am also experienced with Drupal.
I can say with certainty that if you are the kind of web developer who likes a cleanly enforced separation of logic from presentation, or who enjoys being able to predict with high accuracy the flow of control, you will be frustrated with WordPress and Drupal -- and PHP apps in general. On the other hand, if you like writing hook functions and embedding business logic in your templates, you're in luck because the APIs of both do a very good job of making this the default mode for development.
If we continue down this thread, we're going to have a language war; my main intent was to disabuse you of the notion that people who criticize PHP speak from ignorance, as I have been paid very well for a long time to perform all sorts of PHP-related mental gymnastics. I absolutely refuse to use it for personal projects and have scaled back the extent to which I use it at work, by finding a job where I have more freedom with my projects.
I could go on about the nastiness of PHP, but if you don't believe that this is the state of PHP CMS development -- perhaps you think that it's not bad to write code this way, or perhaps you think all the hoops that one has to jump through to do things The Right Way are not actually burdensome -- then we simply disagree on what it means to have a good programming environment.
If you feel that way, I'd recommend a couple of PG's essays to you:
http://paulgraham.com/avg.html http://www.paulgraham.com/pypar.html
EDIT: Another thing occurs to me: there are a ton of environments and frameworks where a 5 minute screencast is plenty convincing to someone looking to try it out. You can show off some great concepts and capabilities in 5 minutes. So yeah, 20 minutes of trying to do something trivial in WordPress is enough to get the gist of things -- if you can't find at least one great, if minor, experience in 20 minutes of using a tool, it's probably a good indication of things to come.
1. You can't afford the talent required to pull off a bespoke CMS.
2. You can't afford the cost of lifecycle maintenance on a bespoke CMS.
3. Newspaper editors make horrible PM's on software development projects.
Now that we've estabished your efforts are (at best) doomed to mediocrity drop what you're doing immediately and go check out Pressflow. If that isn't sufficiently "geared towards the newsroom" hire a couple of freelance developers to cook up a few custom modules and you're done for 1/100th the cost. Have a nice day.
> 1. You can't afford the talent required to pull off a bespoke CMS.
> 2. You can't afford the cost of lifecycle maintenance on a bespoke CMS.
Us at The Texas Tribune or potential Armstrong users? We're doing pretty fine with our CMS. Armstrong users won't have to pay to maintain an entire CMS since community maintenance should take care of most of their needs. They'll have to pay to maintain their templates and additions to the CMS, but they're already paying for those with their current CMS. I think Armstrong will end up saving many news organizations money over going with a proprietary solution.
> 3. Newspaper editors make horrible PM's on software development projects.
Is this in regard to the Armstrong project itself or implementations of it? There's little editorial interaction with Armstrong. We know what the two newsrooms involved need, and we've already built a CMS that satisfies those needs. Now we're abstracting out our unique needs and trying to anticipate the places where other implementors will need to make customizations. I think it'll work out fine.
Now that we've estabished your efforts are (at best) doomed to mediocrity drop what you're doing immediately and go check out Pressflow.
No thanks. I and many other developers are more productive in Python than in PHP. If there's a barrier between your CMS and the news applications you want to integrate with it, you will be even less productive, and many possible projects will be written off from the get go. (We could do everything in PHP/Drupal, but no.) For more on that, see Matt Waite's recent article: http://www.niemanlab.org/2011/03/matt-waite-to-build-a-digit...
No developer in a news organization wants to be faced with an "All these worlds are yours, except the CMS. Attempt no landings there" type of situation. A news CMS built using the tools that developers want to build news applications with is a huge win.
This is absolutely true. Find good PMs, developers and designers you trust to do good work, give them authority and time.
From a business perspective there's no money in humoring the guys in the development department on this one. Money's too scarce. It's cheaper and more effective to can any dissidents, swap in competent PHP developers and go with an implementation that minimizes wheel reinvention and the amount of code the organization is responsible for maintaining.
Armstrong users will only have to maintain their templates and customizations. This is a requirement no matter which CMS you pick.
Basically my point boils down to this: there are freely available, insanely flexible, totally customizable CMS's that have been under active development for a decade or more. Given how long it takes to create truly polished software of any kind, starting a CMS project from thin air doesn't make sense, you're hundreds of thousands of developer hours behind existing projects on day one.
"The Nation", "The New Republic", "Japan Week" and a bunch of others use it.