This article describes our approach to choosing Kirby CMS, it is by no means an example that applies to all situations. The selection of this tool was a long process that required many aspects (technical, social, human and environmental) to be considered.
Goals and needs
Before selecting a tool, the objectives of the project must be defined. It is also important to take into account the positive and negative impacts of a tool (social, environmental, etc.).
Our main goal is to design sustainable websites with a limited weight per page (from 100 to 250 kb). In addition, our websites must be accessible under difficult conditions (low-speed internet network, old devices). We need to promote inclusivity. That is why ergonomics and design are crucial to our projects. Moreover, it is important to protect privacy and to favour ethical services (that's why we exclude the GAFAM). We offer complementary services including help in using ethical tools. Our services require a variety of skills, which is why we only create showcase websites.
We are a small team, we can't do too complex projects unless we partner with other freelancers or agencies. We have chosen to have a limited scope of action to focus on quality. Therefore, we work with clients who also have ethical commitments. This point is not a deciding factor in choosing a tool, but makes our projects more consistent with our values.
The process of our work is collaborative, we always start with a design research phase that leads us to work on the organization of the content and the sitemap structure. After the reserach phase, we start working on the graphic style, the ergonomics and the web design. Once this phase is validated, we develop a prototype of a website which has to pass several tests. We will see, why the process of creating a website with Kirby fits very well our way of working.
Kirby is a flat-file CMS, the content is stored in simple text files. It is opposed to CMS like Wordpress or Drupal, which use a database. From the technical point it simplifies the installation and maintenance process. The folder structure of the website is like the sitemap structure. This makes Kirby more accessible and easier for a developer to understand the structure of the CMS.
Moreover, it is easy to extend the structure and add new functionalities. Despite the structure, it has all the advantages of a modern CMS (templates, API, cache, etc.).
The flexibility of the code helps with the process of creating the design. Kirby does not impose a precise workflow for the design. The management of the front-end does not depend on predefined technologies, it is completely agnostic. We have chosen a simple management of the style by trying to limit the overlay. It is possible to work with various languages and libraries to make the design. The administration of the website and the visuals part can be created from scratch with a clear separation between design and content.
This CMS is based on LAMP (Linux, Apache, MySQL, PHP/Perl) open-source software, even though this technology is uncommon for many developers (mainly for a fashion reason), it is resilient in the sense that it has proven itself in the long term. This technical solution is the most popular, so it is easy to find a hosting service and documentation. For a very advanced customization of the administration (not necessary for the majority of projects), a knowledge of Vue.js can be useful.
A plugin system is available and a plugin library allows to add essential functionalities to the website. The development of plugins remains accessible compared to other CMS.
Finally, Kirby respects the RGPD by default. It does not include tracking code and cookies. This is an important criterion for user privacy.
The Kirby CMS and its advantages for sustainable web design (in our case)
It is especially in relation to its workflow that Kirby adapts to our practices. Building the administration and the visuals from scratch allows us to adapt to the needs of the users. Due to its flexibility, we can focus more on useful functions and usability. Unlike many CMS, Kirby requires adding features rather than removing them.
As soon as we validate with the client the sitemap structure and the content, we can work on the ergonomics of the administration to test the first ideas. Of course, it can evolve throughout the project.
Finally, we can integrate the graphic style and update the visual part of the website to test the first prototype in real situations. It allows us to test the ergonomics and validate the last functionalities. We also use our sustainable metrics to respect the specifications and our objectives.
Technology and resilience
The LAMP technology is very well documented, the majority of developers know it, so it is still a guarantee of longevity for a digital service. This fulfills our goal to make projects last a long time. The Kirby's documentation is also very clear.
Kirby's structure facilitates maintenance and limits security risks, as the absence of a database creates one less vulnerability point. Of course, it is still necessary to follow strict security rules and to make regular updates. Backups and file deployments are easy to make, it is only a file transfer.
User training is also facilitated, the feedbacks on the ergonomics of Kirby are positive. We gradually involve users in the development process, so that they get used to editing the website.
For our team, Kirby's structure makes the work pleasant, which is a key argument for choosing a CMS in the long run.
Technology can always evolve negatively, it is necessary to seriously follow its development. One point of controversy is the economic model of Kirby. This CMS works with a license per site at 99€. At the launch of Kirby, we initially avoided using this CMS because of this economic model, but we made a mistake. This model allows the project to last over time and despite a small community, it is active and very healthy in the sense that it cares about quality and ethics. The activity on the forum shows a serious follow-up of the project. This small scale facilitates the proximity and allows to participate and follow the progress of the project.
The project gallery shows the taste for quality work. Above all, the code remains open-source and subject to external audits, which allows a quality monitoring of the project.
Reminder: Sustainable web design does not depend on a tool or specifics practices, it requires a state of mind that must be adapted to a specific situation that depends on both human and technical aspects.
Going further in sustainable web design
Static websites have many advantages to eliminate all the calculations related to the generation of dynamic pages. For the moment, the tools for editing static websites are not yet ergonomic enough for our needs. They can be adapted to certain projects where the team is better trained in digital tools.
Editing a static website depends on external platforms and services that create dependencies. These solutions are less resilient than LAMP and are more technically complex. It seems necessary to find a compromise to be able to use them for more projects. Kirby can also be used for static website content management. We are still making research about this topic to find a more suitable solution.
Is it for all the projects?
There is no one technology that fits all situations. Kirby cannot be the solution for all cases, however, at the moment it fully meets our needs. We limit our projects only to showcase websites with basic functionalities. These needs make Kirby CMS a great tool for our projects. With futher research, we may use another tool for a specific case. Adding new features to Kirby can be a good solution (this will surely be the best option). The important thing is to have good control of our tools and technologies. We still have plenty of possibilities to test Kirby features to improve quality and go further with our sustainable web design approach.