Sadly starting to think about a new CMS
I love C5 and have used it on all builds for about 5+ years steering people away from wordpress and selling C5 hard. Now with Wix and Squarespace eating into my client base I am finding myself in a tricky position. I need to able to provide amazing design value (which the Square space templates have in abundance), with customisations on horribly tight budgets.
1, the addons setup is now so limited for 5.7+. Where 5.6 had me covered. I have had two recent pitches where I couldn't get an easy fit. Jobs board, Real Estate addons, things where we could really make a bespoke site and add value people can't do themselves. Those now don't exist in C5 and so I have to look elsewhere or advise someone to work on 5.6.3 which is old technology and not actively developed. I can't face Wordpress and its nightmares and don't want to leave c5.
2, The core theme is nice enough but as the C5 team don't really develop boilerplates there is little wiggle room for trying to win a pitch when you need to do a full custom build or port the whole theme and then try and make slideshows editable etc. The themes library is really not the best when you compare with what is out there. At least for developers. And so I have worked up my own strand of the core theme.
My questions / requests: (completely understanding I don't know how the C5 team make their money other than addons)
1, Could C5 put energy into making a great themes library or a few more core themes? Possibly a whitelabel theme? Even for those who dev its still great to have a core foundation to customise and edit from as with responsive design its a huge amount of work for one project. For instance that Ginger Salon you must have custom built. Could you not make a premium version of that available in a White Labelled and cleaned out design. So many of those features are just out of reach on budgets. The problem is so many of the themes in the library are targeted for the new front end user, that as a dev who wants to code theme amends, making all the complicated changes through labyrinthine block attributes and front end work rounds becomes harder than coding in a site. For instance the Super mint theme which offers so much but its so specc'd out its almost unuseable
2, Why don't C5 try and diversify the addons setup and get more of the old addons to work in c5.8? And then add in basic feature addons we can add in to snazz up a site. The biggest loss is the huge archive of old addons that now are redundant.
It strikes me that those of use who build sites not for agencies but small companies are gradually loosing out to the new online website builders like Wix and if C5 just tries to compete with them without making C5 have many capabilities for the medium skilled developer who isn't going to be able to code up C5 modules from scratch. So basics like a full bleed slideshow (I know Owl Carousel now do that) which entice people, are surprisingly tricky to put people in control of.
I a very useful addon I have come across is the More Block Templates one which I will use again.
This is all born out of a love and need for C5 but I am worried that I am getting stuck trying to compete when I can't. As I say I also appreciate everything C5 do and that the core is free to use. So this isn't a moan. I am very grateful. Just wondering if you might look at these areas as a potential place to put some of your efforts.
Complex vertical application addons are rarely developed specifically for the marketplace. They are usually a spin off from a site development project, say a real estate chain needs a new portfolio application. At the end of the project, the developer may put some extra work in and release an addon for the marketplace. But that all depends on:
(a) a customer project
(b) a customer amenable to functionality they paid for going onto the marketplace
(c) the developer putting extra work into making a single project application into a generic application
(d) enough sites buying the addon to make it all worthwhile (or the developer won't bother next time)
Unfortunately the differences between the way 5.6 and v8 works makes it harder to port complex applications forwards from the legacy marketplace than it is to port simple blocks. Then, once an application is ported, it tends to look very dated .... because it is very dated ... so there is yet further work involved in 'modernising' look and functionality.
The exception with the modern marketplace tends to be developer tools. These complex tools tend to be packages developers maintain for their own use and the marketplace is a spin off from that. The various block designer tools and my Package Magic fall into that category.
Many developers would love to do more for the marketplace. What we would love even more is someone to pay us for the many hours involved so as to make it all worthwhile.
Wix and Squarespace cost money for anything decent, so both can afford to pay for developers to produce good templates.
Possibly look at:http://simplejobscript.com/
Blank theme: https://www.concrete5.org/marketplace/themes/blankcon-theme...
1. An ecosystem that works for everyone - not just developers - one that designers can implement without headaches and fear before pushing the "update" button.
2. One with clear documentation for non-programmers (or let us say, people with limited programming skills) Maybe even a series of Youtube films with accompanying transcript and code. A few suggestions for the start
- "How to properly override a theme". You are laughing, I know - but there are so many ways to do it. Writing CSS in Design > Customize Theme > scroll forever > insert CSS > save > refresh > observe > start over. Or copy Theme folder from Theme folder (!) insert in Applications > Themes > get path correct! > add your css etc etc etc
Why can't we come up with a good, foolproof explanation for dummies (me)
- "How to update your site without fear" Another laugh and a half. But this could include: A list of the known Updates that are problematic. The forum is full of "when I update from 5.7.x to 5.7 xx, I get a blank screen" Why does this happen? What are the steps to take before updating (Backup database and site). Check and be sure your add-ons are compatible. What and how did you override that theme? (see the first video) etc.etc.etc.
- a more advanced "Roll your own editable areas", or "You want the menu underneath the header image? No Problem"
I have the feeling that Concrete5 8 is probably very powerful, and believe me I respect all the team has done, but I can't shake loose the feeling that I - in the sense of people like myself - designers with limited programming abilities and small clients - have been left behind. Concrete5 today is an ecosystem made by developers, for developers. From the moment Franz gave the presentation and said something similar to "we are moving toward working with larger sites" I knew that C5 and I would eventually part ways.
Which is really sad, because it is a great CMS!
And I would be willing to pay for it.
Unfortunately that sums up the sentiments of many c5 enthusiasts. In a thrust for the ultimate CMS development platform, c5 has ended up with something that many developers who used to work happily with c5.6 now struggle with. Its fine for experts. Its OK for trivial bits of development or those sites where no development is needed. But with every new 'improvement' its losing touch with those in the middle.
These are good ideas.
I think documentation, tutorials, and videos with lots of examples would be very helpful for designers.
If you have other ideas like this, please list them.
Here's a few off the top of my head:
How to properly integrate a Google font, in the easiest possible manner (probably through CSS in the Customise Design area) This would also involve maybe a little CSS schooling like how to get the H1- H6, for example to use p or a etc. I know this is basic stuff, but what about the conflict with core styles? I had a problem and had to add something with ccm as a prefix to all my changes. Ridiculous. And how can we add this stuff without having to use ¨!important¨!?
Here is another one:
Proper way to add https. Ok you will say - beyond the scope of Concrete5 training, but helping designers involves a bit of hand-holding. Don't we all just want it to work?
The login link in the footer bottom right is totally useless, if not downright dangerous. You invite hackers to give it a try! A better use for this space - especially with GDPR - is an editable area. How to do it? Make an example with Clonemental.
I looked at Docs on the main website. Very little new stuff. Hope I could provide some inspiration!
More questions/topics would be great.
There are development steps that cannot be skipped, like namespacing theme CSS, but I can understand how an explanation of why it is done and how to do it would be helpful. Some information is better suited for tutorials and others for core documentation.
We happen to have a tutorial on namespacing CSS that I recommend.
There is a great video from mesuva that I find to be a step in the right direction:
Although what isn't covered is why you would want to do it this way. I think the cautionary "turn off cache" should be at the beginning, not end, of the article. Also, some people update using the dashboard, run into problems (!) reinstall the saved version and try this method (as mentioned in the first comment under the article) The steps to follow in this situation should also be included. Remember the old adage about the word "assume". Never assume anybody knows anything.
Here's a question though - how committed is C5 to regrowing the community of designers who have drifted away, or like myself, are on the cusp of doing so? Without people like myself, the marketplace will get stale, fewer developers will invest the time to create new themes, and C5 will have totally mutated to a product marketed only to developers and editors. Before you use up major chocks of time, it would be good to think about the answer to this question.
driven white label "developers" theme. This way we can add block templates
in, and see best practices in action that are well commented. Then that
boilerplate would have a growing core library of layouts / presets /
functionality and integrations, which doesn't expect that we want to fiddle
around in the CMS theme editing functionality to change colouring etc.
Maybe this should be a premium theme to cover your time?
I am a designer with good HTML / CSS with a very basic PHP & JS knowledge.
Often to get the features clients want, to work in a block based client
editable format in C5, I need to know PHP & JS to code up custom blocks,
where if I code in HTML I don't need these skills to do the block
integrations. I have used the block designer addon which is good.
Another repeat issue is that marketplace blocks understandably contain
their own CSS / as do themes and as these don't follow much of a convention
and tend to be targeted at the end user, not the developer, when you start
using addons your style editing gets spread over multiple block CSS files
as well as your theme.
I am starting to not use the CMS and just code this in as HTML and am
increasingly templated by simpler CMS's as where once C5 sped up my
workflow, now it seems to hold me back. I guess in trying to work for the
self, the variety of developers, and the hardcore developers it is hard to
satisfy all. I wonder how many total newbies actually turn to C5, now Wix
and Squarespace exist?
But I'd say there are just so many different ways to build a site, and so many design expectations that the creation of a generic and flexible base theme that everyone (or at least those that would want to use it) is happy with would be very difficult.
One possibility would be the creation of a simpler theme that uses Bootstrap, where it's similar to Elemental, but it wouldn't have any custom styles applied at all. To apply custom styling it then would still be a case of directly editing a stylesheet somewhere.
We find the ability to tweak some colours and settings via the design panel is handy, but it's generally too slow to repeatedly use that to customise a design, especially for someone who is used to CSS. Maybe that's a concrete5 UI issue that is worth addressing.
But I wonder then though if such a theme would have any real advantages over Clonemental, which you can do the same with. For more custom designs and appearances, Bootstrap starts to become a bit of a hindrance, where overrides don't really cut it and you're fighting the existing styles. We like Bootstrap for custom admin systems, but not for website front ends.
You've said you've started up your own strand of the core theme - what changes have you made?
As a business we've made many dozens of concrete5 themes, most of them custom, but a few of them have been re-usable ones that allow for colour customisations via the theme panel.
Over the years we've gone different approaches:
- Simple CSS only development, non responsive
- Using the Skeleton Grid system, with vanilla CSS. We've still got a starting point up at:
- Using Sass with Susy (http://oddbird.net/susy/) for grids, and using Sass more to manage CSS builds
- Swapping over to Bourbon and Neat for grids (https://neat.bourbon.io/). That's then had some version upgrades as well.
What we do is roll out a new concrete5 site, copy in our startpoint package, rename it and change the namespaces in two files - this takes about 2 minutes, max.
It's default appearance is literally a white screen with a grey header, nothing else.
But then we'll fire up our code editors and start styling our theme, using our pre-built Sass to save a lot of time, especially for layouts. We'll still often need to chuck extra editable areas in, create new page templates, etc, but we are able to _very_ quickly build up a custom design matching pretty much anything that is given to us. Because it's Sass driven we can change one number and change the grid sizing, or add a new breakpoint in, or update a branding colour.
Most of the time we're being supplied a design from a graphic designer who wishes the website to look as absolutely close as possible to what is prescribed. We'll get asked to 'reduce the spacing between those things by 4 pixels', stuff that designers really appreciate, but the average punter really can't spot (ahem).
The same starting point template is used to build sites like:
These three recent sites are all built the same way, from the same start point, but from three completely different designers.
We're _really_ focused on productivity and will reuse wherever possible code snippets or even complete themes - we don't like rewriting the same code for each project, and the more efficient we are the more money we make.
What we've found though is that our starting point has become a really good balance between having pre-existing code (especially for menus), but not having too much cruft in that has to be stripped out or overridden.
What we've found is that when presented with a design, we've always found it's faster and cleaner to go from this start point than to try to find some 'complete' theme and override and strip it back - we just don't have enough control, and we spend so much time on the fiddly stuff.
I've also had many opportunities to write more of a 'mega' theme, one that is pre-built and has lots of options and styling controls. But it's never ended up a strong idea, as our designs are just too varied. It's better for us to have a library of code snippets and a clean base. The couple of reusable themes we have are handy, but they only suit a few cases.
I've considered releasing this starting point to github a few times, and have already shared it with other community members, but ultimately it's a starting theme that suits OUR regular needs, our skillsets and our preferences for working. Some may think it's too bare-bones, others may think it's bloated. If anything I'd do a video explaining the structure and the way we go about styling - the process is more important than the actual package.
As a broader point, I'd say that the complexity of theming websites in general has increased over time. Back in the day you could whip up a layout in Dreamweaver, paste in some content and you're done, have a beer. Now we have to consider responsive layouts, dynamic menus, mobile menus, background images and bands, and perhaps a general higher expectation aesthetically. I remember the days when drop downs were a _horrible_ thing to try to get working across browsers, and styling them was a nightmare - and that was before mobile browsers.
So these days trying to accomodate all the above is commonly handled via:
- Pre-built existing themes for platforms, where you might be able to change a few things, but you're really buying a finished look that someone has designed and built. People add a few lines of content and an image to a site and are really happy they've 'designed' a site.
- Free-form systems, like Divi on Wordpress, that have more granular components and styling controls. I've seen some nice results with systems like this, but my personal concern would be that you're still stuck on Wordpress, and you may still have frustrating limitations if you are trying to directly match a supplied design (just a guess though). You're doing granular styling of components, rather that site-wide styling. This is then a nightmare when a site need to be rebranded.
- Finally, custom theming a CMS
For those that consider their skillset in the 'middle', where they're quite happy to jump in and hack away at some CSS and make a few HTML changes, it's arguably become harder for them. Do they just stick to pre-built themes, perhaps settling on something like Wordpress where there are tons of options, or do they aim to work on a platform that requires them to have more styling knowledge and resources, where they've got much more control, but may have do more work?
I'd suggest that concrete5 isn't really to blame here at all for this apparent reduction of ease - web development overall has become more complex over time and that middle ground isn't as comfortable anymore, regardless of platform. Once you could teach someone how to build a site in Dreamweaver in a few hours and they'd produce a respectable site.
Now it's either they jump into a web builder such as Wix or Squarespace, or they do a one-click install of Wordpress and pick a theme. You can't teach someone how to build a custom styled site in a few hours anymore.
For us, concrete5 fits our needs so incredibly well - we've got all the control we need over our themes and HTML output, but we've got all the power of concrete5 underneath to handle more complex project requirements. I do recognise though that we're considered 'developers', and our focus is going to be different to those that put their design skills first.
We still do create a few single page static HTML sites, forgoing concrete5 completely. These are the cases where the budget is very low, and the client would rather pay for occasional updates. We _still_ use Sass to code up those little pages, as it's still faster and we can reuse it. In a few hours we'll have something neat and tidy, nothing that will win design awards, but works well for SEO and is easy for us to edit. Something like this:
A few hours of dev time and the client is happy.
It's pretty tough to have a really small budget, AND the desire for it to be a CMS driven site AND for it to be a custom theme with mobile menus, etc. As much as I love concrete5, sometimes a simpler or different solution is more sensible to meet a budget.
So where am I going with this big ramble?
The main point I'm trying to make here is that I don't think we'd gain anything by trying to create a theme that accommodates designers who want to create heavily customised designs - I'm not sure concrete5 was ever built with that in mind, nor has it ever been like that considering the expectations of _today_. I'm quite happy to wrong about that, but I'm having a hard time visualising a generic theme that everyone would like to work with.
Instead, I'd be encouraging us a community to share and discuss how to create themes utilising modern tools like Sass, or other CSS frameworks. Once you've got an example of the code required to put together a theme, even in a package, it's really quite easy to copy and modify each time - it's the styling that is difficult.
If you are a designer that occasionally builds a site, sure I can see how it can be frustrating that concrete5 might not have a breath of themes available that allows for quick customisation, and spending time learning isn't cost-effective. More themes in the marketplace is always going to be helpful here, but again they might not be along the lines of what you aiming to style.
But if you are a designer that does regular web builds, I'd certainly be encouraging you to look for opportunities to make your styling activities faster and easier to manage, such as learning Sass (or Less or something else that might meet your needs).
The jump between knowing CSS and HTML (well) and a bit of PHP to being able to completely customise up a concrete5 theme really isn't that big - I've certainly seen people do it!
I think this would be an absolute godsend to a lot of middle developers. A way to customise the framework and generate a design led site. Please if you have time, and I know you are a very busy man, would you do this tutorial and example. I have just spent 'far too long' trying to develop a site and fought with what I thought was the correct Mega theme for it to begin with.
Your workflow description sounds a positive step.