Roadmap
calmPress Roadmap
calmPress deviations from WordPress are guided by staying as close as possible to WordPress while improving security and privacy aspects.
Plan for Beta Version 0.9.x
List of issues for the milestone on GitHub
- Branding. Wherever it is relevant, replace WordPress with calmPress.
- New default theme based on the twentyseventeen theme. This was required mainly because of branding change.
- Core upgrades. Change the upgrade functionality to get upgrades from calmpress.org instead of wordpress.org and simplify how the upgrade works (mainly to simplify the requirements from the calmpress.org server when sending an update). In addition allow the user more control over which version to upgrade to.
- Core translations. As we do not have any right now, the relevant code was removed or silenced.
- Gutenberg. The call out was removed.
- Privacy. Remove as much code as possible that depends on communicating with wordpress.org. When it is impossible to remove, anonymize the data sent as much as possible.
- Remove Akismet. Akismet is a privacy violator, and there are much better ways to combat spam. People that are still interested in using it can download it from the wordpress.org plugin repository, but it has no place in the distribution of software which is privacy oriented.
- Misc feature deprecation. Some of the features below just required code which had to be changed for one of the major changes, and it was easier to just remove them over changing them now and waiting for the 1.0.0 to remove them.
- Windows Live Writer. This product died years ago, no point in keeping the code.
- User IM contact information. Probably never was useful to anyone.
- WordPress event widget. While there is nothing essentially wrong with calmPress users gaining more WordPress knowledge, at least for now the branding is wrong and it requires sending user personal information to a server for which we have no idea of its privacy policy.
- Version “about” page in the admin. Again, the branding is totally wrong, and in general this kind of text needlessly bloats the code, and it has no proven benefit to the user. The calmPress philosophy is that users should read about versions before upgrading to them, not after it is a done deal.
- Browser happy. This feature contacts the wordpress.org servers for which we have no idea about its privacy policy. In addition if users want to use outdated browsers, and they are happy with the results, it is not our job to try to reeducate them.
- Control of smilies to images conversion. Control of this feature was deprecated from core years ago, so there is no reason to keep the code.
Plan for Alpha Version 1.0.x
List of issues for the milestone on GitHub
The main focus for this version will be deprecation of features which are outdated, or not useful. Here is a partial list:
- RSS feeds
- Trackbacks/pingbacks
- Search engine ping
- Sticky posts
- Password protected posts
- Theme and plugin code editing
- CSS editing
- Gravatars
- Editing content as HTML
- Old fashioned URL structures
- RSD
- Generator tag
General improvements over WordPress
- Remove the need for authors to be users
- Set comments to be off by default
- Improve security via more restrictive htaccess setting
- Support a composer oriented distribution
Right now the sole contributor is Mark Kaplun, a WordPress user and hacker since version 2.0.4, and a prolific contributor to the WordPress stackexchange.
He is standing on the huge shoulders of all previous (and future) WordPress contributors, and the contributors of the libraries used by WordPress.
But this is not intended to be a one man hobby project to be abandoned after a short time, but a serious attempt at producing a product worthy of being used in the long-term, and one man is less likely to be able to achieve that.
Therefore you are more than welcome to get involved, by contributing ideas and/or code in GitHub, and helping evolve this site’s content and visuals. If you are interested in contributing to the site, please use the Contact form to get in touch.
Download
Download calmPress
There are two versions of calmPress, the 0.9.x version is the stable distribution, while 1.0.x is the development version.
For each version, there are two types of downloads:
- The full one can be used to install calmPress
- The upgrade one can be used to upgrade a current calmPress installation or to migrate from WordPress to calmPress
The downloads are compressed in a ZIP format. You will need to have an unzip utility installed to unzip the file.
Version | Downloads |
---|---|
0.9.11 (notes) | Full Upgrade |
1.0.0-alpha15 (notes) | Full Upgrade |
Home
What is calmPress
calmPress is a web publishing CMS (Content Management System). It is a fork of WordPress that modifies the code and management idioms and adds to them whatever is required to get a more stable and calm experience for all of its users; whether they are authors, admins, designers or developers, by taking into account the lessons learned over time and recognizing the requirements of modern websites.
Is there anything wrong with WordPress?
WordPress is a great CMS which has done a lot in democratizing web publishing, getting all of us into an era in which almost no technical knowledge is required to be able have a site containing your own content without the supervising eye of a master lord (yes Facebook, I am looking at you).
But WordPress now faces some challenges which are actually a result of its success:
- Need to keep supporting non technical people, who are using bad hosting and are not even aware of that. The concern about this makes it very hard to have any significant change.
- People are more technically savvy and expect more as default. Figuring out the middle ground between those people and themselves, and between them and newbies, is a hard task.
- People use it to build high profile sites which need to be able to scale, but WordPress code was never designed to handle the amount of data and traffic required for that.
- Fashion in software development has changed, and being outdated means it is harder for people to contribute code, and it is harder to integrate WordPress into modern development workflow.
Or maybe in other words, it is not that WordPress stopped being great, but more of the emergence of large niches of WordPress users for which the current WordPress offering is okay, but “meh”.
calmPress mission statement
Make a CMS which out of the box provides the tools to create and manage web sites for the modern web.
A CMS is about management of content, the fact that usually the content on the web is presented as HTML is just a technicality, not a core feature. In other words, calmPress is not an HTML editor, and will try to avoid having the user exposed to the nitty-gritty aspects of web protocols when composing content.
Core beliefs regarding software development, in order of importance:
- The most important aspect of software is its security. It is very hard to be calm when you are frequently afraid that you are going to be hacked. There is absolutely nothing that is more important than security.
- Privacy comes second. Due to the fact that some complex services are both hard to replicate and are available only from big cooperations which are most likely tracking users via those services, it is essentially impossible to provide 100% privacy, but we are going to try to leak as little private information as possible.
- No bug is left behind. While it is virtually impossible to have bug free software, we are not going to release software which we know in advance contains bugs.
- Performance is very important. Sometimes it is not worth the development time to optimize every small aspect of the software, and sometimes to get a better UX (User eXperience) you need to sacrifice it, but the goal is to have software which can handle small and big sites with minimal hardware cost.
- Extendability and flexibility. We are going to be very opinionated about many features, preferring a decision made by the core team over trying to satisfy all the use cases of a feature. Still we are going to try to have an avenue for the implementation of those use cases as a plugin.
- We are going to make decisions, but we are never going to be afraid to admit we made a wrong one and in that case we will work on rectifying it.
- Anyone with minimal software development knowledge should be able to modify the software to match their own needs. Being able to “fork” and modify the code by everyone that wishes it, is a feature, not just a by product of technical reality.
- Be predictable in the long term effort required to maintain such a CMS.
- Transparent decision making. Decisions and the rationale for them should be accessible and searchable on the open web. While it is essentially impossible to have decisions that keep everybody happy all the time, the goal is that the implications of decisions will be made clear, way in advance of their having an impact on the distributed software.
Alpha 5 of the 1.0.0 release is available
The fifth Alpha release of the 1.0.0 line is here. In addition to continued development of calmPress itself, it incorporates changes from the WordPress 5.0.2 release which are not related to Gutenberg .
Simplification of the user profile
All fields that do not make much sense were removed, and there is more flexibility in setting a display name.
Username is not being used anymore anywhere in the UI.
In all of the places where a username was expected as an input, or it was displayed, it is replaced by the user’s email address.
In the UI related to user registration, the user does not need to select a username, just specify a unique email address.
For backward compatibility, all places which used to accept either username or user’s email address as input (for example, login form) will still accept a username even if the UI indicates that an email address is expected.
From a developers perspective, there was no change in the user APIs, and the main change is that the username is not mandatory anymore. When creating a new user, it will be automatically generated from the email address.
Users will still have a username in the DB, it is just not going to be used anywhere in the core UI.
A category is not mandatory for posts
You do not have to have a hierarchical categorization of content if you do not want it.
Password protection of posts was removed
The main reason for removal is that it has bad UX for the author, reader, and developers. We are going to figure out better ways to manage restricted content, but this is so bad there is no point in keeping it around until we will have a better approach to the problem.
The relevant API to detect if a post is password protected is still there, it is just going to return a value indicating a password is not needed.
UI for post formats was removed
The general impression is that themes do not provide any significant distinction between the various formats and that custom post types are probably a better and more robust way to achieve the goals that post formats feature were trying to achieve.
From a developers perspective, there is no change. Attempts to change the post format via the API, are just going to be ignored.
Calendar and archive widgets were removed
It seems like navigating content based on its publishing date is an extreme edge case.
Get it now! Just be aware that PHP 7.0 is a minimum requirement to run it.