I've been working with couchCMS for over a year now, I've developed many sites from basic to complex and I really enjoy creating a couch site because you know you get to focus on designing without limits rather than worrying about what constrains the CMS you're using has.
This is one of many reason I have decided to further dig myself into couch and learn more about it. However, I do have some issues with couch that I feel need to be addressed in order for the CMS to really become popular and a viable choice.
Let's start with biggest first:
1) The admin panel. I know there's a re-design (looks beautiful) in the works for the next release and I've seen Cheesy's design. It really does look good and will bring couch forward - however there are still some issues that were not in my opinion adequately addressed. As somebody who allows my clients to login to couch and edit their website content (as they wish), they find the admin panel difficult. This isn't because it's not simple, it really is. But maybe it's too simple.
What I mean is, it's so simple that it becomes difficult to work with. Every template is listed on the sidebar and while you look at it from a small site standpoint, that really is okay - just a few links that allow you to manage your few templates easily. Well, what happens when you have upwards of 10 templates is that you have a very cluttered sidebar full of links to each and every template, not only this but those links click through to largely the same view of each page (Though this isn't really a con, it can become confusing).
Going back and forth between templates and cloned pages lists isn't so simple for my clients because the lists and the links are all largely the same (even when I've shown custom info on those lists). Also, this means the sidebar is full of links and often becomes difficult for them to use easily.
The new admin panel sorts out many issues with the current one: Mixing of templates that have seperate purposes like "Global Settings" "404 templates" etc, but it still lists every single template on the sidebar, which for larger sites is not good.
In my personal opinion, listing of the sites pages/templates should be on one page, not the sidebar - Within the new admin panel (Seen here) The "Miscellaneous" and "Administration" fieldsets are great - they offer distinction between the sites templates and the sites management. I think they should stay there however putting them under an expandable dropdown arrow would greatly improve the issue of too much information for those end-clients to see, which helps them navigate to the pages they want to get to.
One page for the listing of all of the site pages would help with user navigation, too. Mainly because it allows them to click through to a page showing them a list of templates, this table/list can display more than just the templates name, too. Which is another fallback - Just having the name is great for small sites but once you have 10+ templates it becomes difficult to find your way to where you want to go. Listing templates on one page allows users to see more than just the template name - the list could show the page title, the pages url and other information (as required).
Users would be landing on this page when they log into the admin panel, too. Which is very helpful to them - often times my clients site doesn't use nested templates and they login and find themselves on the edit page for the home template, this confuses them (and me too, sometimes) because they aren't always looking for that page. Being shown a full list of templates and some more details of each template helps them to figure out where they're going. (Look at wordpress: Although their admin panel is far too cluttered, the listing of the site pages is very simple).
Cloned templates would click through to another list of all the pages in that template - clearly showing the user where they are (through breadcrumbs e.g. "Templates > Blog" helps them understand where they are and where they've come from in the confusing admin panel.
Now, I know that I've written a lot here - and I know that creating front-end admin panels is almost upon us but, just a few small changes to the new admin panel could make it very simple to use for everyone and really improve the push that we can give to our clients to use couch and its admin panel to manage their site.
Also, I feel that some things could be better managed via the admin panel, rather than via config files. I don't have a problem with the config file myself, it's very easy to use but often times my clients want a content management system that lets them manage the site a little more than just it's content. This means being able to turn on maintenance mode (for whatever reason), or updating their paypal email address, or redefining the interval between comments. We don't need 5 different setting pages that let users manage the entirety of the site with no developer input and allows them to change everything. There is a fine line between functionality and complexity. But I feel that in some areas couch pushes to be far too simple. Far too bare-bones. It could benefit greatly from these things, allowing the end-user to change the comment interval because their new blog article is getting more comments than they expected and they wish to turn up the interval, it's a simple thing for the developer to fix but often times they want more control over the site than couch allows.
2) (Oh god, he's still rambling)
Couch is really wonderful at what it's designed to do: allowing developers to create a fully CMS'd website without writing a single line of PHP. While I understand exactly why KK doesn't do so, not having developer documentation makes it very difficult get into developing couch addons, which the CMS could benefit hugely from. I'm sure there are many more than just me on the forums here who would love to dive into addon development for couch.
3) User management and Access control is lacking - while extended users is an extremely useful addon that allows us to create user registration with some management on sites, we still cannot create, edit, or delete user roles. Not only this, we can't assign which role the extended users are by default. This is one of couch's few use-case difficulties and I'm sure it's well known, but as I'm listing the things I think couch needs most, I've listed it here.
4) Post drafts (I saw in Cheesy's new admin panel a page for drafts, so it's possible KK is already developing this) Creating unpublished pages allows us to mimic draft functionality when making a new page or post (Although explaining this and how to use it to end-users is difficult), editing already created pages means you must save your changes before you can see them on the page. This is a bit of a drawback when your client breaks something and has already saved the page, it requires either restoring from a backup or remaking the lost/broken data. Page drafts would solve this problem.
5) I know this one is going to be improved with Redactor (Thanks, Musman!!) But it needs to be said anyway - I HATE THE WYSIWYG EDITOR! It's a nightmare for me to create pages, let alone when my clients do it too! Random span tags with their own font colour and line heights are a nightmare and I often spend more time reformatting the editors content via the source tab than I do writing the pages content! My clients have it much worse, I've had a few that have pasted text from elsewhere and that is an even bigger nightmare, explaining to them how to use the "paste without formatting" option is very difficult. It's possible there's fixes for this already and I haven't looked hard enough (maybe pasting by default can remove all formatting) but it wouldn't fix the random spans placed everywhere. It's the worst. In fact, it's the one thing that makes me happy to work on a wordpress site from time to time!
Anyway, I've ranted a lot - I hope my ranting has helped with ideas, I really do believe the new admin panel can be improved further to be more user friendly. I look forward to writing more couch addons in the future as I delve deeper into the CMS' core
This is one of many reason I have decided to further dig myself into couch and learn more about it. However, I do have some issues with couch that I feel need to be addressed in order for the CMS to really become popular and a viable choice.
Let's start with biggest first:
1) The admin panel. I know there's a re-design (looks beautiful) in the works for the next release and I've seen Cheesy's design. It really does look good and will bring couch forward - however there are still some issues that were not in my opinion adequately addressed. As somebody who allows my clients to login to couch and edit their website content (as they wish), they find the admin panel difficult. This isn't because it's not simple, it really is. But maybe it's too simple.
What I mean is, it's so simple that it becomes difficult to work with. Every template is listed on the sidebar and while you look at it from a small site standpoint, that really is okay - just a few links that allow you to manage your few templates easily. Well, what happens when you have upwards of 10 templates is that you have a very cluttered sidebar full of links to each and every template, not only this but those links click through to largely the same view of each page (Though this isn't really a con, it can become confusing).
Going back and forth between templates and cloned pages lists isn't so simple for my clients because the lists and the links are all largely the same (even when I've shown custom info on those lists). Also, this means the sidebar is full of links and often becomes difficult for them to use easily.
The new admin panel sorts out many issues with the current one: Mixing of templates that have seperate purposes like "Global Settings" "404 templates" etc, but it still lists every single template on the sidebar, which for larger sites is not good.
In my personal opinion, listing of the sites pages/templates should be on one page, not the sidebar - Within the new admin panel (Seen here) The "Miscellaneous" and "Administration" fieldsets are great - they offer distinction between the sites templates and the sites management. I think they should stay there however putting them under an expandable dropdown arrow would greatly improve the issue of too much information for those end-clients to see, which helps them navigate to the pages they want to get to.
One page for the listing of all of the site pages would help with user navigation, too. Mainly because it allows them to click through to a page showing them a list of templates, this table/list can display more than just the templates name, too. Which is another fallback - Just having the name is great for small sites but once you have 10+ templates it becomes difficult to find your way to where you want to go. Listing templates on one page allows users to see more than just the template name - the list could show the page title, the pages url and other information (as required).
Users would be landing on this page when they log into the admin panel, too. Which is very helpful to them - often times my clients site doesn't use nested templates and they login and find themselves on the edit page for the home template, this confuses them (and me too, sometimes) because they aren't always looking for that page. Being shown a full list of templates and some more details of each template helps them to figure out where they're going. (Look at wordpress: Although their admin panel is far too cluttered, the listing of the site pages is very simple).
Cloned templates would click through to another list of all the pages in that template - clearly showing the user where they are (through breadcrumbs e.g. "Templates > Blog" helps them understand where they are and where they've come from in the confusing admin panel.
Now, I know that I've written a lot here - and I know that creating front-end admin panels is almost upon us but, just a few small changes to the new admin panel could make it very simple to use for everyone and really improve the push that we can give to our clients to use couch and its admin panel to manage their site.
Also, I feel that some things could be better managed via the admin panel, rather than via config files. I don't have a problem with the config file myself, it's very easy to use but often times my clients want a content management system that lets them manage the site a little more than just it's content. This means being able to turn on maintenance mode (for whatever reason), or updating their paypal email address, or redefining the interval between comments. We don't need 5 different setting pages that let users manage the entirety of the site with no developer input and allows them to change everything. There is a fine line between functionality and complexity. But I feel that in some areas couch pushes to be far too simple. Far too bare-bones. It could benefit greatly from these things, allowing the end-user to change the comment interval because their new blog article is getting more comments than they expected and they wish to turn up the interval, it's a simple thing for the developer to fix but often times they want more control over the site than couch allows.
2) (Oh god, he's still rambling)
Couch is really wonderful at what it's designed to do: allowing developers to create a fully CMS'd website without writing a single line of PHP. While I understand exactly why KK doesn't do so, not having developer documentation makes it very difficult get into developing couch addons, which the CMS could benefit hugely from. I'm sure there are many more than just me on the forums here who would love to dive into addon development for couch.
3) User management and Access control is lacking - while extended users is an extremely useful addon that allows us to create user registration with some management on sites, we still cannot create, edit, or delete user roles. Not only this, we can't assign which role the extended users are by default. This is one of couch's few use-case difficulties and I'm sure it's well known, but as I'm listing the things I think couch needs most, I've listed it here.
4) Post drafts (I saw in Cheesy's new admin panel a page for drafts, so it's possible KK is already developing this) Creating unpublished pages allows us to mimic draft functionality when making a new page or post (Although explaining this and how to use it to end-users is difficult), editing already created pages means you must save your changes before you can see them on the page. This is a bit of a drawback when your client breaks something and has already saved the page, it requires either restoring from a backup or remaking the lost/broken data. Page drafts would solve this problem.
5) I know this one is going to be improved with Redactor (Thanks, Musman!!) But it needs to be said anyway - I HATE THE WYSIWYG EDITOR! It's a nightmare for me to create pages, let alone when my clients do it too! Random span tags with their own font colour and line heights are a nightmare and I often spend more time reformatting the editors content via the source tab than I do writing the pages content! My clients have it much worse, I've had a few that have pasted text from elsewhere and that is an even bigger nightmare, explaining to them how to use the "paste without formatting" option is very difficult. It's possible there's fixes for this already and I haven't looked hard enough (maybe pasting by default can remove all formatting) but it wouldn't fix the random spans placed everywhere. It's the worst. In fact, it's the one thing that makes me happy to work on a wordpress site from time to time!
Anyway, I've ranted a lot - I hope my ranting has helped with ideas, I really do believe the new admin panel can be improved further to be more user friendly. I look forward to writing more couch addons in the future as I delve deeper into the CMS' core