Let’s talk about Saturn, our PHP-based content management system/website builder.
Earlier this year we announced details of the new update, version 0.2.0 (“the international update”). We explained how we were evolving the software with international localisation as well as new feature updates.
Unfortunately, we are unable to continue with the update at this phase.
Why stop now?
When Saturn was first programmed many functions and sections were hard-coded, with processes and views in the same file. This has made it much harder to expand on and change existing processes within Saturn, making updates more difficult to complete and causing burnout much faster.
Software should be built in a way that’s easy to update, adapt, and remove if necessary. Saturn is not. We could change a line of code in the render engine and the panel would stop working. What’s up with that?
With Saturn being so badly written from when we first started as developers, we need to weed out and remove the bad code. Replacing it with modular, easy-to-modify and stable code.
What are we doing about it?
Saturn is due a complete rewrite. Since we pushed Saturn into BETA over a year ago we’ve learnt so much, built new software, and grown as developers.
The Saturn rewrite will probably take about a year, during this time we will continue to support and fix bugs in existing versions of Saturn, but we will not be releasing version 0.2.0. We may release more BETA versions with bug fixes, but we’re not happy with how Saturn is at the moment.
We’re planning a rigorous testing system involving multiple people on many different devices to ensure Saturn is as stable as we can make it. Better error handling, better UI and a better experience overall.
We will be pushing Saturn into the release phase of development. Version 1.0.0 will be the next major version. When 1.0.0 is released, older versions will be discontinued and their servers will be disabled.
What is planned for Saturn Release?
We’re still exploring exactly how to run things at the moment. Here’s what we know:
- Saturn Release will probably be split into two programs: the Saturn client (what you see) and the Server (what you don’t). We’re planning to make these installable as a single package, or two separate ones if you want them to be on different machines.
- Saturn Release will likely support plugins and themes will likely be written in PHP instead of global tags.
- Saturn Release will definitely have a new user interface.
- Saturn Release will definitely be built in a modular way, so we can expand on existing modules and create new ones. This will probably be done with the Boa framework.
- Saturn Release will definitely be incompatible with the existing BETA version, but we will create a migration tool for users wishing to upgrade.
- Saturn Release will definitely be more stable after a long, rigorous testing and code review phase.
This update is evolving and ever-changing. You can see our progress and ongoing decision-making on the Trello we’ve made here: https://trello.com/b/SSP9XRX5/saturn-development