Since Coko launched in October of this year we have been gathering together smart people to work together. An important part of this team is Jure Triglav (pictured) who is the Lead Dev for PubSweet and today is his day.
Today we release the very first version of PubSweet. It has been in development for a relatively short time but already ready to show.
PubSweet is one of the core technologies we are developing. Kristen Ratan aptly described it as ‘a platform to make other platforms’. To make sense of this we need to understand a little about how current platforms are built and why PubSweet is different.
A New Approach to Content Management Systems
Most of the Content Management Systems you know like WordPress and Drupal have a monolithic architecture. All parts of the software are contained in one large structure. Typically, if you want to change the software you can install modules or plugins which bolt-on additional functionality.
This approach to building software has been fairly dominant in the web platform development world. However, in the last months there has been fast rising popularity for a ‘new’ approach that breaks down the monolith into separate parts. In the software sector this is known today as a decoupled architecture. The software no longer exists as a ‘monolith’ but is broken down into many separate components which operate together as a whole.
There are many varieties of decoupling. The image above represents the PubSweet decoupling approach (which can be referred to as ‘many headed’ decoupling).
As it happens this idea has been around for a while as our Advisory Board member Tony Wasserman has pointed out. Amongst others, computer pioneer Larry Constantine studied and advocated this approach from the early sixties and published a paper Structured Design in 1974 with his colleagues Glenford Myers and Wayne Stevens. D.L Parnas also wrote On the Criteria To Be Used in Decomposing Systems into Modules in 1972.
While these folks were way ahead of their time only now has it become fashionable to discuss decoupling with regard to modern Content Management Systems. If you wish to follow the current debate then the founder of Drupal, Dries Buytaert, has written some very good articles about the subject including The Future of Decoupled Drupal and Should we decouple Drupal with a client-side framework?.
To summarise this very technical subject in brief, a decoupled architecture is a strategy to “create complex systems from simple, independent, reusable components”. (Constantine, Myers, Stevens). In the case of PubSweet and you – it means you can choose the components you want, and link them together to create a solution that meets your needs.
How Does That Help You?
We can break down the advantages for decoupling into the following:
Assembling a platform from a selection of component parts means that you can pick and choose what you want. Additionally, you can make significant changes to one component without affecting other parts of the system. D.L Parnas describes this as “Product Flexibility”. By using many of the same components PubSweet can be assembled and customised to meet a wide variety of use cases. You could, for example, use PubSweet as a blogging platform, a monograph production suite, or a journal publishing system etc. This same product flexibility also eases the pathways going forward into the rapidly changing future of publishing and knowledge production.
Build Only What You Need
Innovate With New Components
Lastly a decoupled architecture enables innovation. You can build new innovative components quickly and integrate them with existing PubSweet components. If, for example, you wanted to move beyond the manuscript for scientific publishing, you could build a new type of content production interface and use it together with existing dashboard and workflow (etc) components.
In summary, the decoupled nature of PubSweet reflects the growing realisation in the software world that the one-size fits all approach for Content Management Systems doesn’t work anymore. Each individual or organisation has different requirements which reflect not only features but how people work. PubSweet solves this issue by enabling you to assemble the solution you need, and to build the platform you want from existing components. Which is why a ‘platform to make platforms’ is a good description.
PubSweet 0.1 ‘Science Blogger’
Most of the work building PubSweet involves the construction of the ‘glue’ that will enable you to link components together to form one cohesive system. The rest of the work is in building components. In time we hope component development will become popular and there will be many people making them.
To get this started we are already working with the very best of the best to build out components we think you will find useful. For example, Austrian based Substance.io (pictured) are the best when it comes to developing content production interfaces. They are the guys behind the famed Lens software and they live and breathe ‘editing’ software. We like them a lot. Coko has partnered with Substance to develop an editing component for PubSweet. It has some nice features that make it well placed for writing scholarly content. When added to a default Dashboard and a publishing web frontend we have something that can be already used for blogging or simple text production.
So, our first release is therefore known as ‘PubSweet 0.1 – Science Bogger’. It has three components, including a Substance editor, already wrapped up and configured so you can install PubSweet “Science Blogger” and try it out.
Later releases will bring more sophistication to PubSweet as well as more components. Right now it is a very simple system with many production features missing (authentication being a big one). So please keep in mind that this is intentionally a very early release. It is rather raw but we are putting it out there now so we can be open and transparent from the get go. We will have more information on where PubSweet is headed in upcoming blog posts, or you can join any of our new channels (listed below) and add your dev time and/or voice to this vision!
You can find the code here:
It is licensed with a very permissive License – MIT.
And the Thank Yous..
Congratulations to all involved in creating this. A special thanks to the Shuttleworth Foundation for getting behind this effort with cold hard cash and warm encouraging support, and also of course to our fantastic dev lead Jure Triglav. Finally, we can’t go far without also thanking Michael Aufreiter and Oliver Buchtala from Substance.io.
Of course we firmly believe that software doesn’t solve problems by itself, people solve problems with the help of software. So, that is why Coko is not just about technology. We are also building a community that can make widespread change. But today is a technology day for us and another step forward on a long road to bringing about real change in how knowledge is produced, communicated, and shared. So huge congratulations to Jure for getting ‘PubSweet 0.1 Science Blogger’ into the world. The repos are open – go ahead, make his day 🙂
Post by Adam Hyde in collaboration with Kristen Ratan.