Ask HN: What is the most modern CMS?
I work as a interface designer on a CMS, among other products. In doing some research for further developing our CMS I had a hard time finding systems that were easy to use for a non-techie.
Which CMS would you say is the most modern in terms of end user design? Not accounting for the technical setup of things, just user experience.
Thanks you :)
Edit: Some seems to think I'm looking for good CMSes for web designers, I'm not. I'm after systems that makes it easy for a non-tech crowd to run their - custom - web site.
108 comments
[ 2.7 ms ] story [ 206 ms ] threadDrupal also handles complex editorial workflows easily with the Workflow module, can support embargoed content, does simple content revisioning and provides limitless ways of organizing content.
As a rule, if the CMS puts you away from your page and to a list of "posts" to edit with TinyMCE, it's not modern. Atleast in my book.
Drupal supports a number of rich text editors, TinyMCE is only one of them.
Some stuff like "moving" pages confuses them, and I have to keep explaining that a page is really just a thin container for the template and a list of contents. Thankfully, that comes up rarely.
Squarespace is an extremely popular hosted CMS that aims at nontechnical people.
Drupal seems to be one of the most popular CMS qua CMS's.
Joomla is what I'd call a full blown CMS. But would you say the interaction is worthy a title à Modern CMS?
For blogging and news, Wordpress seems to have the most flexibility in terms of design. There really are some beautiful templates out there (see http://wordpress.org/showcase/ for some examples).
But Drupal goes beyond blogging. There must be thousands of available modules, offering all kinds of functionality, ranging from advertising support to "relevant content" boxes. (search http://drupal.org/project/modules to see some examples).
Drupal is too (with Joomla) what I'd call a full blown CMS. But would you say the interaction is worthy a title à Modern CMS? reply
Honestly, I haven't seen any Drupal designs/UXs that have really bowled me over. But I think the reason for that relates a lot to the fact that the sites that prefer to use Drupal want to take advantage of the additional functionality offered by modules. The modules often add a lot more boxes, navigational options, and other major elements (forums, e-commerce, etc.) that make the UX far more complex than what you might find on a Wordpress blog.
Not so brief: The underlying assumption here is that ongoing maintenance of a modern website is (or even can be) a non-techical task. This is unfortunately unrealistic. As an example consider the needs of a "simple" single user blog.
Any blogging CMS worthy of the name should provide a simple interface for adding, editing and deleting content. It should also provide a simple interface for choosing which content is displayed on the site and most do.
Well and good, but what about related content? Should a user be shown a list of related links when the view a blog post? How is "related" content defined? Is this limited to content on the site or should off-site links be included? Should this list be sorted by date, relevancy, popularity? What about rich text formatting or pasting content from MS Word?
Most blogs also have some mechanism for accepting and displaying reader comments and just about every CMS I've ever come across has some method of handling this. But again we run into problems. Spam is a real issue and spammers have taken to using mechanical turk and other methods to get real live people to post spam for them. This approach completely bypasses captcha and even the best automated anti-spam services (mollum as an example) can't catch all of this, so now you've got to include manual comment moderation (which is a shitload of work on a heavily commented site) into the mix.
Generally blogs also have RSS feeds and social media links. Most CMS's handle these fairly well without a lot of tinkering but it can get interesting if you (for example) want to segregate your content into multiple feeds based on subject matter or whatever.
So even with a "simple" site the end user has a lot of potentially very technical decisions to make regarding how content is displayed, who can see what, who can comment, how comments are moderated, and what (if any) content is syndicated. Note this doesn't even get into SEO or analytics.
The point I'm getting at here is even simple websites can be miserably complicated little beasts and unfortunately only so much of this complexity can be abstracted before you start running into issues where the available feature set isn't a good fit for some/most/any websites.
With that said each CMS I've studied attempts to solve some subset of the problems associated with creating and maintaining a website. Which subset is tackled varies wildly from CMS to CMS.
For example Wordpress does an excellent job of solving most of the problems associated with implementing and maintaining a blog. I wouldn't care to implement a company intranet portal with it though.
Drupal is incredibly flexible, with plugins available for just about any feature set you'd care to implement. It is brilliant when a site has a complicated or fiddly feature set, but can be intimidating to end users due to the steep learning curve involved. As such it's frequently overkill for truly simple websites.
Various other CMS's have their own core competencies and tend to shine in the situations they where developed to work well for.
If you're looking for something to pattern off of my suggestion would be to first figure out which CMS you would reimplement your site in if you had the option and then go from there.
Edit - Full disclosure: I'm a contributing developer for several Drupal modules.
To answer your last question first: none. Or, I'd use a more techy system, since I' a geek. But I'm not the target user.
I too would say there is no modern CMS for non-tech users who wants a custom site, but with a good ux for handeling updates and managing their site.
I think the tasks you list is a bit to technical for what I see as essential tasks for a website owner. The modern CMS I'm looking for is good at putting in and editing content, with looks defined by a webdev/designer when the site is implemented.
If you're looking for a great .net based cms, its the best.
It's also really easy to create extensions for any functionality a client would want that isn't provided out of the box.
"As a rule, if the CMS puts you away from your page and to a list of "posts" to edit with TinyMCE, it's not modern. Atleast in my book."
These can then be ordered on the publish page how you want, made required fields, searchable, enable or disable HTML, etc, so it gives a lot of control.
I think non-techies would also prefer something simple and consistent, like logging in -> publish -> type in fields -> submit.
Actually, it's a rather dumb idea too, except for very simple systems. Besides editing the content (title, body, etc) there are numerous others things to configure and edit that don't normally appear in the content area --so they would be out of place there.
But the bigger problem is that you have to navigate the content as an end user would in order to edit it. A specialized screen with filters, columns, search et al would be much faster to work with.
Working fast is great, but with filters, columns and searches your adding complexity. We love working fast with complex systems. They don't (is my thesis).
Also, is it easy for a single client to manage multiple sites?
I'm also curious how EE compares to Django ( I know it is not an apples to apples comparison)?
As for multiple sites, there's an extension called the multi-site manager that allows you to control multiple sites through the one admin interface, which makes it much easier for our clients, all the different sites appear in a list and they can select which one to edit, then move on to the next.
We use the latest version and yes it means a few plugins aren't compatible, but they're catching up quickly and they're actually easy to update yourself if it's necessary and legal.
All these CMSes bring their own terminology too. WordPress keeps it simple: it's a page or a post. Leaves it up to you to interpret what that means.
Drupal takes that a few steps further with content blocks.
Joomla, when I last used it, was like having pages ripped from a book, shredded into tiny pieces, and jumbled into a pile.
So when judging end user design, I'd also mention the context and the use case: Do I simply want to produce content that is sorted in reverse chronological order? Do I want to be able to handle all types of content imaginable or just text? And what kind of meta data are you keeping track of in conjunction with the content? Meta data is the author, category(ies), various timestamps, etc.
Use case 1: I need to create a new page and for many corporate sites, each new page is different than the next for the majority of the body copy...different layout, one has a map etc. I need to choose where this page goes in the site as well. An in-context approach is very well suited.
Use case 2: I just need to create a press release quickly, it always has the same template, always goes to the same part of the site and it's always the same process I go through. An in-context approach here isn't that good, you want a template approach where the user fills in some fields on a form, a title, body text, maybe image, checkbox for map yes/no etc. This isn't a page at all really, it is a piece of content that is created and using the Press Releas template, the page is created dynamically at the right point in the menu structure. They'll create the page in 30 secs and be done. There is very little point in choosing from a list of modules to insert when you're dealing with a fixed template.
So you're talking about the templated approach vs the page builder approach. Neither is better or worse, just suited to different use cases.
Is a dream to build both basic and powerful CMS driven sites in. And has a templating language that is like a simpler Erb. No I don't work for them, I just think it is by far the best CMS I've come across
"As a rule, if the CMS puts you away from your page and to a list of "posts" to edit with TinyMCE, it's not modern. Atleast in my book."
But comes at a high price.
Custom CMSs are the way to go (not customizable, like drupal: custom made). This is, for me, the biggest advantage of document databases. I'm new to software design, and self taught, but not a coder. I've never tangled with a relational database yet. It's incredibly easy to design case-specific CMSs with document databases.
It all boils down to form design.
Administration can be no more than filling out forms, uploading images, etc, etc. No plugins, no DBs, no hosting, no nuthin'.
I raised the point in comments above, but there is a big different between creating a new page from scratch and using a simple form to create a templated page. WordPress (or any blogging tool) doesn't make you build your blog post as a page draggin modules onto it...they give you a special admin page where you just fill in the title and body text and click publish...what could be simpler?
In-context editing does work great for many use cases, but it doesn't work well for some. Think about when you need to create a slightly interactive web page...not just a simple static one. You'd like one section of the page to fade in/out when the user hovers over an image for instance...I haven't seen anyone pull off an in-context UI that makes that easy but I've seen some great form based UI's that make that 30 secs work for a non-technical user.
Check out the Carrington Build WordPress plugin (no affiliation) for a decent example of providing users with a very simple admin page builder drag and drop layout tool.
I do wholeheartedly agree that very few CMS tools have an awesome UI for business users...maybe you can change that.
Have a look at http://media.vignette.com and you can see some screenshots. This product was targeted towards media companies (Gaming companies, Online media/news sites, video producers etc) so it did allow us to focus on some specific needs. You can imagine that with the volume of content that news sites produce, their requirements can be a little more high-end that your average user as they can spend 6-8hrs a day in the tool.
After designing and implementing quite a few CMS platforms, I think it is pretty hard to come up with a UI that will be appropriate for all users as many of them come to the tool with very different tasks in mind. Think about the legal guy or manager who just needs to approve something, the creative team who needs to upload some assets, someone working on a page or content, a marketing person who just needs to put some promotions on the site. Even within a media company there are people with pretty distinct roles and tasks they own. Therefore in our last UI we built the notion of workspaces...there was: - a Review Workspace which had an optimal layout for reviewing and approving content - an Asset Workspace which was optimised around batch uploading media, resizing it, a filter based UI because the library of images/videos tended to get pretty large - a Marketing Workspace just for the marketing team who is normally responsible for creating new promotions, and then deciding where they go on the site. Not every site needs this, but for those that do it worked pretty well as the marketing team just saw this workspace when logging in and didn't have to learn or care about all the other areas of the CMS. - And of course don't forget the Content Workspace where you can create content and pages :-) - For smaller shops, the workspaces are all accessible to multiple users, it is just the notion of the right UI for the task as opposed to one UI for all roles and tasks.
Not suggestion these are universally appropriate or right for your customer base, but I think on close examination you'd find at least 3-4 profiles of users or common tasks that can be optimised. The result for optimising for the 80% common tasks in this system meant that certain complex tasks could be done in <5 clicks. While I personally rate WordPress very highly for UI, the users we were designing for used this products for many hours a day and they felt WP was too many clicks, especially for media handling.
I've probably droned on for too long already and so there is not enough time to list every UI tweak and feature we created, we spent 2 years on the UI, but here is one example. Dynamic UI Controls based on dataset size: A common problem with a number of CMS tools we found was that the UI designer made a guess about how much data would be in the system for a certain task, and then design a UI control that might work great for 10 items, but would be useless if there ended up being 10,000 of those items in the system. So we built some UI controls that would adapt to data volumes...say you had content type x and there were only 10 of the items in the system, you'd ideally want to present it with a set of radio buttons (assuming select one requirement)....more than 10 but <50, popup/overlay with all items listed alphabetically on a single page for quick selection, 10,000 and you're going to need some type of navigator or set of filter controls.
P.S. Don't confuse this with some other previous Vignette products which have a pretty poor UI, this CMS was specifically created with a new UI from the ground up for that reason.
On the topic of different UI for different users I'm on the fence. Modes in interface design is considered bad, but I do see how they can be effective. I think the two mot important roles to seperate is technical and non-technical.
That site only has a few screenshots taken from the UI, so unfortunately not all of the functionality is adequately represented. The product does actually have this capability, but as other have pointed out in the comments, this feature is low down the list of requirements for media customers as wasn't used much by journalists..hard to believe I know, but true. To your point, this is the difference between what we called in-context editing vs a dedicated console.
It is interesting to note that Vignette has a general purpose CMS product and in that case, the in-context editing screens are almost the primary editing mechanism, definitely in the top 3 features for any general corporate users. We found in research this was due to most users on a corporate site are "occasional" users. Corporate sites don't change that much so users just need to edit a few things a week, maybe a few things a day on large sites. But for a Media site, they put out thousands of new content items a day and users log into the CMS at 9am and logout when they go home. In that case, they are dedicated users and they don't need as much hand-holding about what the page will look like, they know what the template looks like and generally the content is being syndicated in 25 different formats so it is kind of pointless to look at just one format. It is also possible to make a more efficient UI for a dedicated console. Think about it..you manage a CMS that has 50 sites in many languages and 100,000 pages or more and you need to edit a page 3-4 levels down in the nav...as an advanced user would you prefer to navigate through the site and wait for each page to load before getting to the page to edit...or do you do a quick search or filter (or navigate by ajax tree if you only know its site location) and then make a quick change? Quite amusingly one of the biggest requests we had from a really large media customer was to put in a search box so the could type in the id of the article (as in article 101995) so they could get straight to an article. I thought it was a bit of a crazy request at first but when you sit with media staff and the editor is shouting across the newsdesk floor to get the story out in 30 seconds, you understand that typing in a 6 digit number is faster than browsing 4 pages or even searching sometimes.
I don't quite agree with the view that the most important roles to separate are the technical and non-technical. It might just be my personal experience but I've never been asked to build a CMS UI for a technical person, technical people are normally the ones implementing templates and are generally capable of learning any UI quickly. Normally I've been asked to design the UI for non-technical users, and the real challenge is optimising for "occasional" users vs "dedicated" users. Generally the UI you would design for one is really different than the best UI for another...for the occasional non-technical user you really need to hand-hold with in-context editing and things like wizards. With dedicated non-technical users they want search or filter based screens and bulk editing. The real trick is to achieve a UI that looks and works simply, but if the user wants can slowly reveal more advanced functionality over time...because user get more competent the more they use the tool.
Regarding different UI for different users, it is certainly not modes which are generally used one at a time. The workspaces are more akin to presenting the best UI for the task you're about to accomplish...so one user role can span across multiple workspaces. One of the biggest things we discovered after observing users closely is that many people act as different roles depending on the context. So the same user goes from creator, to reviewer in one day, then switches to manager when he does the night shift sometimes. This is the real world, certainly for media companies at least. (i.e. Even th...
You're suggesting there is no modern CMS , and I should build it?
http://plone.org/products/plone/features/
There are many features that are part of core plone, that many other CMSes do not even think exist in a CMS. Anybody suggesting Wordpress as a CMS obviously did not read your requirement for "most modern in terms of ...user experience".
If you hear negative comments about Plone, it is usually from developers who don't actually use the product or opining based on hearsay.
I have experience from CMS`es ranging from enterprise solutions to all round platforms like Wordpress, my brief opinion about some of them:
1) Polopoly: A enterprise solution typically used for magazine/news sites. The problem (with many enterprise solutions) is that it is very advanced and not easy to use at all for new users. I would almost say that training is a must for such a solution. I feel pretty sure that with better usability in focus, it could have been almost a killer app for larger sites.
2) EZ: Taken from the name, EZ should be easy to use, it`s not. This is just another solution fallen into the "Enterprise" trap, instead of focusing on the users that actually have to work with it, they focus on the bosses and persons with the money, in order to sell in the system. The solution itself is relatively plain but you can not simply log in a place and select "new article", instead it is typically creating objects here and there.
3) Wordpress: Finally a system that has the user in focus, the system is designed for people NOT being geeks. Anybody will without any training be able to login and create some content. It is plain and simple but in the same time it gives the user the needed information and not everything else.
There is a good reason Microsoft has decided to close their blogging services and rather move all their users over to Wordpress.
So to conclude: I put Wordpress on first place, with the possibility of Polopoly going to first place for larger solutions if they could get their user interface in order.
* I guess some of you would say that Wordpress is not a CMS,in that case i do wonder... What is the difference between Wordpress and a "real" CMS? :)
I'll look into the ux of Polopoly, thanks.
Edit: had a really hard time getting info out of the PP website, could you show me some screenshots?
The reason it works well for these kinds of sites is that it aligns with non-technical users' mental model of their website. Non-tech users don't think of their site as a template that displays content from a database, but rather as a bunch of pages with stuff on the pages. Most CMS's require users to go to an administrative back-end which shows a hierarchical sitemap of pages -- an abstract representation of their site -- and this is VERY confusing to most people. Concrete5, on the other hand, is based on the concept of content blocks on a page. So to edit a page, you GO to the page and add/edit blocks of content there. The blocks thing is great because it allows for different "mini-UI's" for different kinds of content. For example, to edit regular text, a standard WYSIWYG editor works fine, but if you want to add an image or a youtube video or a navigation list or a google map, it doesn't work as gracefully -- the block system means that different kinds of content can get different editing UI's specifically tailored for that type of content (for example, a youtube video just gets a textbox to paste in the URL, or a google map block presents fields for addresses, marker options, etc.).
There are many web-based CMS's that utilize this approach -- Weebly (a YC company), WebVanta, SnapPages, Yola, etc. -- but I haven't come across an open-source install-yourself CMS other than Concrete5 which works this way.
- IDE-like administeation UI with fifty buttons in the toolbar
- Forms for content editing