In our last post, we considered how Content Management Systems (CMS) might differ from other websites in terms of sustainability, using a standard set of sustainability goals put forth by Nate Shredoff. In this post, we consider CMS systems following the rules of Permaculture models.
Compared to the standard formulation, Permaculture models consider life cycle. Originally developed for agriculture, they seem to apply to a Web seen as a form of “digital ecosystem” with elements that grow, bring forth, and disappear over time. It’s a nice alternative to the more mechanical sustainability models.
In addition, lets look at CMS through the lens of a Virtual Permaculture model:
Here is a list from the Staydiligent blog with some additions by myself:
|Permaculture Sustainability Principle||Sustainable Web Design Goals|
|Observe and Interact||Build sites as part of an interdependent community|
|Catche and store energy||Cache information, update sites rather the build completely new ones|
|Obtain a yield||The site should provide positive value to the client, and larger web community, not a time or money sink|
|Apply self-regulation and accept feedback||The site should have “reporter” technology for use, efficiency and ultimately carbon footprint can be tracked and used for revisions|
|Use and value renewable resources and services||Use efficient virtual services (e.g. green webhosts)|
|Produce no waste||Sites should be steady-state, not causing an accumulation of e-junk (files, stored data) in themselves or on the Internet|
|Design from patterns to details||Start with high-level design theories like Progressive Enhancement, and work down to specific designs|
|Integrate rather than segregate||Connect your site to others, and create value by interconnection of websites instead of portal-style content provisions|
|Use small & slow solutions||Design for the low end first, instead of starting with the bleeding edge of web design|
|Use & value diversity||Use local designers, developers and webhosts instead of the largest players in the industry|
|Use edges & value the marginal||Support communication at the edges – old browsers, platforms, slow networks|
|Creatively use & respond to change||Use, don’t avoid new technologies that promise sustainability, e.g. imageless design with CSS|
How Using a CMS Could Potentially Impact Web Sustainability accd. to Permaculture
The permaculture rules seem better adapted to describing the design and development process. Here, I comment on their relevance to specific aspects of CMS design and development.
- Observe and interact – If we take this to mean building as part of an independent community, open-source CMS systems fit the bill. While this is some organization, much of the interesting design and dev work happens within or at the edges of the open source community.
- Cache and store energy – Using caching systems is particularly important to CMS systems. A good cache greatly reduces the common problem in CMS – lots of little files being independently loaded and downloaded.
- Obtain a yield – CMS systems create a yield due to two factors. First, their use is practical rather than theoretical. Second, they often have clearly, micro-focused goals (e.g. a WordPress-based landing site for marketing).
- Apply self-regulation and accept feedback – Blog-style systems like WordPress seem to work here, since they encourage discussion and the production of “meta” documents (original author + commentary). However, one could build a site in Drupal or Joomla that lacked audience participation, since these frameworks were not design with interactive blogging in mind.
- Use and value renewable resources and services – Here CMS systems are sometimes a problem. Since CMS systems are used by many non-experts in web design or development (e.g. marketers who use templates + plugins to put up a site quickly) are are unaware of, or show little concern for sustainability issues routinely addressed by designers and developers. In turn, this explains the bloatware result for many CMS-based website pages.
- Produce no waste – The goals of CMS systems often do produce I-(information) Waste – email list development, aggressive marketing, re-echoing the same content through several websites. Here, it is the intent of many CMS developers that is at fault. But the CMS enables those with little commitment to the web to exploit it.
- Design from pattern to details – CMS systems may try to shortcut the process of strategy to implementation, and many of the “canned” types (think Wix or Weebly) promise one-button creation of complex sites. Obviously, this leads to “under-design” – someone grabbing a theme and using plugins for superficial implied gain, instead of a bigger strategy.
- Integrate rather than segregrate – Here, WordPress is supreme, and other CMS systems also have value. Compared to static sites, CMS systems in 2016 nearly always have “social sharing” links enabled by plugins or modules, and the CMS-based site often forms a node in a larger “digital ecosystem” of related websites. Integration with other web assets is a major goal of many CMS-based projects.
- Use small solutions – Here, CMS systems fail – or do they? The complexity of a system like Drupal means you have to create a very complex system to give users a simple site. WordPress sites become stacked with plugins, sometimes working at cross purposes, and incompletely understood by the site developer, and often for a simple goal like a temporary “landing page.” It is like using an H-Bomb to kill a rabbit! I’ve seen many CMS-based sites that could have achieved their goals with a fraction of the complexity using mostly static HTML and CSS. On the other hand, doing everything within a single framework (e.g. Drupal) could simplify things. The NodeJS world strategy often ends up with dozens, even hundreds of modules added to your node_modules folder. Using a lot of code from different sources could make things bigger.
- Use and value diversity – CMS systems enable lots of people to create websites on their own. These people would otherwise be shut out of design and development. In particular, hybrid systems like WordPress encourage basic use, and provide a gateway to ever more complex design and development. So, there is a greater diversity of design and development – the opposite of the design elite which typically dominated 20th century mass media.
- Use edges and value the marginal – If we take “the edge” as older and slower browsers and devices, using CMS provides a half-win. One one hand, the heavy server-side aspect of a CMS frequently locks it into older and “classic” code, (like WordPress bias to HTML4). Naive developers implement standards that include old browsers without knowing it. This provides inclusive design. On the other hand, popular CMS systems were typically developed in the early 2000s, and therefore offer poor mobile support out of the box. Implementing a modern Responsive Design pattern may be difficult or require a major increase in complexity or page bloat.
- Creatively use & respond to change – Here, the conservative development mindset enforced by server-side code assumptions made in the creation of the CMS may prevent the adoption of new browser features, standards, or design patterns. For example, introducing new semantic tags into a CMS page may run into parsing assumptions on the server-side reject the new tags, since they didn’t exist when the CMS was created. Fixes may be slow to come, and legacy CMS install may be around long after the CMS is updated.
In the next post, I’ll combine the most interesting aspects of the standard and permaculture analysis to come up with a list of ways in which CMS systems uniquely