Make a Lasting Impression

The ImpressCMS Compass

Published by Marcan on 2010/6/14 (5057 reads)
The ImpressCMS Compass

There have been more and more discussions in the ImpressCMS eco-system about what the direction of our project should be. A very legitimate question which leads to another more important question: why it is not clear to everyone where we are going ? The answer is simple: we have not been very good to communicate our vision! Great. So now that we are aware of that, let’s take this opportunity to change this and give a clear vision and start communicating accordingly.



The vision – where are we going?

As we all know, the open source Content Management System market is divided in 2 big groups. First, the Big 3, composed of the 3 predominant CMS: Drupal, Wordpress and Joomla. And secondly: the rest, composed of hundreds of other CMS, small and large, active or not, with 1 developer or tens of developers, etc…

In order to play well in this market, we need to clearly identify what ImpressCMS does or will do to differentiate itself from the hundreds other CMS. And I think we have already had this answer for the last 2 years, but now is the time to focus on this and leverage all the power we can for our product.

As stated at the beginning of this post, ImpressCMS is a Community Management System. It is a product which primary goal is to build communities of people and give them the tool they need to effectively manage themselves. Some key features inherited from our previous project XOOPS are clearly focused on these needs: groups and permissions system, notification system, comments system and modularized approach. And since ImpressCMS 1.2, we have a very powerful Profile module which allows a community to customize the profile they want for their users or groups of users. We have a very good base to build a better Community Management System and this should be our primary focus.

How do you intend to do that? – how will we get there?

Underdo the competition

Then we need to build less. Not more – less. In the last 2 years, we’ve added a LOT of features in our product. And it was good, it brought us great things. But now is the time to focus our vision and do less. More features leads to more complexity, bigger problems, more maintenance, more vulnerability, more resources being used, etc…

Take Wordpress as an example. They became what they are because they were very focused, since the beginning, on only 1 thing: being the best blogging platform ever. And they were very successful at it. Because their focus was clear, because they said ‘no’ to a lot of feature requests, because they did not try to be everything to everyone, they are now one of the most-used systems in the world.

Leverage the extendibility

One of the key aspect of our product is its modularity. It has a lot of benefits and we should leverage on this. But even more, we should make it even easier to develop modules and extensions for ImpressCMS. That way, if someone has needs which ImpressCMS core does not address (because we managed to keep our focus), then it’s not a problem: because our product is THAT easily expandable, anyone with little knowledge can build a module and solve its problem!

Now, let’s take a few steps back

A quick look in the rear-view mirror – where have we been?

When we started this project back in 2007, our goal was very clear: create an open source community management system, easy to use, beautiful to look at and built openly, using a code repository where everyone could contribute. One of the very first blog posts I made on ImpressCMS was all about the openness of our SVN. We wanted to do things differently. Not only having 1 or 2 developers committing in the core, but allowing anyone with the interest and the skills to do so.

And we did exactly that. We opened-up our SVN, gave anyone interested access, centralized core development and addons development (modules, themes and languages) in the same repository and got an amazing amounts of commits! Developers were committing frenetically and it made the project move forward fast! This resulted in nearly 20 000 commits and 35 releases in a little more then 2 years. And a LOT of features!

Some questions that might crop up

But what about the “community” aspect ?

Again, great question. From the start, we wanted to build a Community Management System, not just a Content Management System. It started with a community of developers. We were all committed to create an environment where no 1 person was holding the project back and any 1 person can make a difference and move it forward. But then again, we failed to properly communicate this. Still today, when you look for ImpressCMS on Google, it tells you that it is a “Community developed Content Management System”. The words are not that far, but are a little bit different then what they should have been. And we will fix that very soon .

Which brings me to the very topic I want to discuss here: the ImpressCMS Vision.

But why a vision you may ask ?

Because we need a clear goal. Because we need to clearly communicate to our community what they can expect from this project. Because every new user who tries ImpressCMS needs to know what our product will do and what it will not do.

Isn’t this a Roadmap?

No, it’s a vision. Why ? Because we don’t believe in roadmaps. Roadmaps are lists of features that need to be implemented for a specific date. This holds 2 problems: 1) a list of features, and 2) dates. Features needs change through time. How can we know today, what feature we will need in a year ? The web evolves so quickly, new technologies, new ways of doing thing, new tools get created every day. So, actually, tomorrow, we will have more information about what we really want to add in our product. Then why corner ourself with a list of features and dates which would become irrelevant in 2 weeks ?

Another important element explaining why Roadmaps are problematic is that people need passion to create greatness. Developers need passion to create genius code, designers need passion to create outstanding designs, etc. If we write in stone the specific things we want to do, then we need to find people passionate enough about each individual item to make it happen. Why not do the opposite ? Ask what people want to create today, and let them do it!

But then again, we don’t want to create “free for all”! This is why we need a vision. We need general guidelines, general concepts to guide people and guide the orientation of the project. Like a compass.


Navigate through the articles
Previous article Security Release ImpressCMS 1.2.2 ImpressCMS Makes Web, Not War Next article
The comments are owned by the poster. We aren't responsible for their content.
Poster Thread
Madfish
Posted: 2010/6/15 3:38  Updated: 2010/6/15 3:38
Home away from home
Joined: 2007/12/4
From:
Posts: 1201
 Re: The ImpressCMS Compass
Thanks Marc, a good read.
skenow
Posted: 2010/6/15 3:38  Updated: 2010/6/15 3:38
Home away from home
Joined: 2007/12/4
From:
Posts: 4242
 Re: The ImpressCMS Compass
Excellent article - and very wise, too! Using this style of leadership is not easy, but it is the best and most effective way to keep your project true to its origins and flexible enough to thrive in an uncertain future on the web.
phoenyx
Posted: 2010/6/15 16:29  Updated: 2010/6/15 16:29
Home away from home
Joined: 2009/5/27
From: Germany
Posts: 1197
 Re: The ImpressCMS Compass
That's a real good posting and I think that we're on the right way with 1.3.
srmcatee
Posted: 2010/6/15 16:51  Updated: 2010/6/15 16:51
Home away from home
Joined: 2008/3/18
From: Rock Island, IL USA
Posts: 192
 Re: The ImpressCMS Compass
Pure Genius.

Do you have a similar vision statement for IPF? Where do you see IPF going next?
menochi
Posted: 2010/6/17 1:42  Updated: 2010/6/17 1:42
Quite a regular
Joined: 2008/1/15
From: Near Santiago de Chile
Posts: 52
 Re: The ImpressCMS Compass
Wunderful Marc,

your article is exactly I was waiting for a long, long time.

Thank you! I am sure (like Phoenyx) that we are on the right way to 1.3 and so to a new ImpressCMS Vision we need in the future to guarantee a clearly communicate to an from the community.

That is a general statement for all Comunity projects, not only for IMPRESSCMS.
webmystar
Posted: 2010/6/20 19:08  Updated: 2010/6/20 19:08
Not too shy to talk
Joined: 2008/8/13
From:
Posts: 35
 Re: The ImpressCMS Compass
good read, i hope is go forward with impresscms.
drummond
Posted: 2010/7/7 21:48  Updated: 2010/7/7 21:48
Quite a regular
Joined: 2008/1/6
From: Raleigh, NC
Posts: 68
 Re: The ImpressCMS Compass
Thanks Marc! Very good points! I agree that it is time to reign in on the features and focus on streamlining things a bit.

To me the strength in the Impress platform is the large number of modules, the fact that the CMS has lower server requirements than most of the other CMS's out there (last I checked anyway)...one of the things that attracted me to XOOPS way back, and that it has great user management abilities that most other CMS platforms do not have.

Where I think things can improve is:

1) Usability: I think there are some things in admin that could be improved upon, but it's certainly getting better with each release. the main thing I think it needs to focus on is simplicity for use....many of us are using ICMS to develop websites, but it's our clients that are really using the systems, and they are usually not too tech savvy. So perhaps having a way to customize what is seen by certain groups of admins....like a simplified admin view that only shows the critical things (modules, blocks etc.) that they need to see and not everything else.

Also, every module has it's own structure for use and the interface differences are a bit confusing for many users. It would be nice if there could be a set "recommended" framework of how modules work. IE: how to use tabs in the admin interface....what icons to use for editing versus printer-friendly, etc. for consistency. Maybe there could be a guide for this...maybe it already exists and I just don't know. Perhaps the IPF will help with this...I have not used it yet but do plan to for our next new module.

2) Compliance: Since Impress is based on an older framework, there are still a lot of table-based layout elements in templates. Those need to be replaced by CSS where possible. Not a sexy job though. This also allows for easier manipulation by theme developers...but we'd need a standard set of classes and ids used.

3) Bug fixes: With all the new features introduced lately, there are a lot of bug fixes that still need to be addressed and also language file issues (I've noticed a few things that are not correct in English, and that makes the system not look professional to new users). I know...I need to get more involved on this stuff and fix these things......

4) Move forward with developers in mind: I think we need to beware integrating any JS libraries with the frontside of the CMS...IE: the icons to edit blocks with the dropdown. These libraries can interfere with other JS libraries that developers use, and it can be a pain to track down why JS stops working...usually because there's something in <{$xoops_module_header}> or the preload files conflict...although I didn't see those in the latest release (to my delight). Those would be better to have some way to turn on/off the js libraries in the admin area depending on what the site needs. Defaulting all of them to off. Either that or drop all the JS stuff altogether, as much as possible. (Some things should stay ike the date selector js and whatnot...I'm not saying remove ALL JS, just as much as we can to avoid conflicts for developers.

The IPF is a perfect example of this...and am excited to see this being integrated. Easier way to create standardized modules for developers.

I also would love to see a more simplified way for users to install modules and themes all through the admin area...no FTP needed. Like Wordpress. That is probably the best feature of WP in my opinion - that someone with zero understanding of PHP or HTML can install a modules (plugin) and play with it and if they don't like it, delete it. I realize this would be a huge undertaking, and I'm suggesting the ADDITION of features here, rather than reducing, but just an observation that I think would make this platform more palatable for new users. Perhaps there could be an "Impress App Store" module developed.

Anyway.....just my 2 cents
phoenyx
Posted: 2010/7/8 17:16  Updated: 2010/7/8 17:16
Home away from home
Joined: 2009/5/27
From: Germany
Posts: 1197
 Re: The ImpressCMS Compass
1) You can already do that in ImpressCMS today. Just create a new group and give this group permission to manage modules and blocks for example. Then assign this role to the "mini"-administrator.

And regarding your second question: IPF helps a lot in this regard. Using only the basic features of IPF makes a module look like any other IPF based module. Then, of course, you can go further and make your module unique.

2) Do you want to help?

3) Bugs: Feel free to test and report these bugs. Then we can work on them and fix them for the next release. Language files: I'm not a native English speaker so I'm pretty sure that the language files for profile (just and example) could be improved. However, I need someone else' help on that. Do you want to help? Just send me a PM

4) We have already removed the need for JS libraries other than jQuery. jQuery will remain because it's essential to what we're have to do in some places. There will be no way to remove this library. What we still have to do is to remove all the old js code, replacing it with the corresponding jQuery code.

5) Simplified method to install and manage modules: Nice to have but not really essential to this kind of CMS. Either you're one of those guys installing and configurating the CMS (then you don't need this feature because the only thing you have to do is to upload it via FTP prior to clicking the INSTALL button) or you're the customer who only administrates the content. Then you don't have to do that kind of task. Of course, there's always the group in between but we could help them by providing perfect documentation in our wiki. Do you want to help? Yeah.... nice to have I'd say.
drummond
Posted: 2010/7/8 17:31  Updated: 2010/7/8 17:31
Quite a regular
Joined: 2008/1/6
From: Raleigh, NC
Posts: 68
 Re: The ImpressCMS Compass
@Phoenyx

Thanks! Really the help I need is if you can magically free up time for me to help with stuff more I will try.

Glad to hear all JS libraries are gone now...Jquery doesn't bother me, as that is my library of choice, but if it loads frontside then it could conflict with themes that people develop using other technology like mootools, scriptalicious, etc.

As for #1, I'll have to try that and see if that will do what I am suggesting. The thing is I want our clients to have access to edit any module or system preference, but I don't want them all to show on the admin home screen, as it's a bit of overkill for them. To my knowledge I can't do that currently without removing all their access to get to the less-used items. Of course I could create a custom HTML block to replace the modules block on the admin side that only has links to the relevant things they need, but that is a pain. Not sure what the best solution would be.

As for #5, I think a simple way for users to install things is one of the biggest keys to WP's popularity and as the general public get more savvy about this kind of thing, there will be more and more people that will want to set up their own site, but not have the technical expertise for FTP upload and file edits. Not having that I think will slow the adoption of Impress...but maybe that is not the demographic Impress is going after anyway.
phoenyx
Posted: 2010/7/8 18:08  Updated: 2010/7/8 18:08
Home away from home
Joined: 2009/5/27
From: Germany
Posts: 1197
 Re: The ImpressCMS Compass
1) You can exactly do that. All the things they're not authorized to do will disapear from the admin panel.

5) Maybe it is but we're not copying any other CMS here. As long as things are simple and stupid it's a benefit. And installing a module doesn't require to modify files as you have described it.
drummond
Posted: 2010/7/8 18:15  Updated: 2010/7/8 18:15
Quite a regular
Joined: 2008/1/6
From: Raleigh, NC
Posts: 68
 Re: The ImpressCMS Compass
So you are saying I can make it so a "sub administrator" can have FULL ACCESS to every system preference and module, but configure the admin home page to not show all options in the icons shown? I do not want to take away their privileges, just simplify the admin home page so they only see the things there that they need 99% of the time.

Many modules do require file modifications, CHMOD, for example for allowing uploading of files to their directories
phoenyx
Posted: 2010/7/8 19:11  Updated: 2010/7/8 19:11
Home away from home
Joined: 2009/5/27
From: Germany
Posts: 1197
 Re: The ImpressCMS Compass
That's something different now. You never mentioned it like this before. No, unfortunately, this is not possible out of the box.

And I wouldn't consider CHMOD a modification of a file. The IPF based modules can manage their prililedges on their own. At least I'm not aware of a situation where manual corrections would be necessary.
drummond
Posted: 2010/7/8 19:19  Updated: 2010/7/8 19:19
Quite a regular
Joined: 2008/1/6
From: Raleigh, NC
Posts: 68
 Re: The ImpressCMS Compass
Quote:

edit any module or system preference, but I don't want them all to show on the admin home screen



Oh well, thanks anyway! Setting up a sub webmaster without access to some features may still work for some of our clients, who really never need to get to the other stuff, ever.

Good to know IPF modules can set up permissions for files, that is a good thing.
phoenyx
Posted: 2010/7/8 19:40  Updated: 2010/7/8 19:40
Home away from home
Joined: 2009/5/27
From: Germany
Posts: 1197
 Re: The ImpressCMS Compass
Quote:

Good to know IPF modules can set up permissions for files, that is a good thing.


Well, that's acutally a function of the core but IPF is using it wisely
Will
Posted: 2010/7/9 0:44  Updated: 2010/7/9 0:45
Home away from home
Joined: 2007/12/4
From: Dallas, TX
Posts: 3553
 Re: The ImpressCMS Compass
You could always make an admin side block for them with links to the areas they access most frequently.

In 1.3 you will be able to more easily edit and customize the admin theme as well - which means you could actually go as far as tweaking what menus people see and more.

Big stuff on the road ahead.