An Interesting Observation about the Architecture of Decentralized Publishing System (iii)
This is a continuation of my earlier posts here, here and here.
I spent some time on thinking about the code architecture of the new publishing system. I have an interesting observation to share.
As I mentioned, I want to start with building something similar to an online preprint or publication server. Based on my understanding, the code can be split into two (or three) distinct activities.
1. Displaying the Paper
Displaying a paper on the webpage involves several tasks. The texts and images need to be placed properly along with correct rendering of equations. Citations need to be linked to external sources. The pages should scale correctly in phone, tablet and laptop.
2. Human Interactions
When an author submits a paper, the system sends notification to an editor. The editor likely opens a page with papers under his consideration and then assigns various reviewers to them. The reviewers send back feedback, and based on them, the editor accepts or rejects the papers. Of course, there are additional back and forth exchanges, but they are similar to the presented tasks.
In terms of system architecture, various users are assigned roles - (i) author, (ii) editor, (iii) reviewer. Most users likely have multiple roles, because they are authors for their own papers, and reviewers for others’.
3. Payment
Those are the only two activities for preprint servers. For paid journals, a third code block takes care of payments.
The main point here is that these three components can be developed independently. For example, we can model the human interaction block by using a short paragraph of text instead of an entire paper. In this model system, an author will submit a paragraph, reviewer will review it and the editor will allow or reject publication of the paragraph. In fact, the comment moderation sections of blogs and forums use such an approach.
Interesting Observation - Here is What is Missing
When you think through the current architecture, you see one piece entirely missing from it, and that is the interactions berween the users (readers, authors, even reviewers).
For example, in a publication system built for 21-st century, the authors and other readers should be able to join an online discussion room like Zoom or twitter space to chat about the paper. That discussion can be recorded so that others missing the discussion can listen to.
These kinds of activities should be intrinsically supported by the publication system that sucks so much money, but instead the missing layer is being filled by blogs, twitter, bluesky, google scholar, publication review platforms, github and personal websites. I can think of many interactive activities the system should naturally support, but does not. Instead what we have is a grudgingly made improvement over the book publishing system from the mid-1800s.