While I'm searching for inspiration to design, build and integrate the best possible newsroom in Prezly I wanted to share the plans on how we're want to do this.
We want to include our customers and anyone that is interested in building customer newsrooms in the process. I believe this transparency will result in greater overall quality and hey, maybe we'll get the attention of a big brand or awesome designer while we're at it.
One of the key goals is to make the whole project open-source. That starts with picking the right license for all the work after which we'll open-source the entire thing. That includes:
- Figma Files
- Scope documents
- The codebase
A side effect of this approach is that customers that want to modify their newsroom experience can do so by starting with one of our base themes. It also means bugs and improvements can now be made by more than the Prezly newsroom team 🎉.
Today all of the newsroom code is heavily tied into our monolith. We've chosen a multi-tenancy approach where a single codebase powers all (10 000+) newsrooms. The difficulty with this approach is that any customisation for a single customer or base themes has to go through the main repository. This also prevents us from collaborating with customers when it comes to theming.
Another goal in this project is to allow customers, or anyone interested in using the theme to self-host their newsroom on existing infrastructure, Vercel, Netlify or any other preferred host can do so.
The ecosystem around frontend development is changing at a rapid pace. I believe a critical ingredient of involving themes and developers in the ecosystem is to have a world-class developer experience.
An excellent experience while working on a theme means has to have things like hot reloading, super-fast local environment, easy installation and enough freedom around theming choices such as which framework to use.
Outside of the pure developer experience, there are a lot of things we can do to make Prezly more enjoyable for developers such as improving API docs, providing different SDKs, reliable documentation, starter kits and interactive tutorials.
It would be arrogant to believe that we'll come up with the best solution for any newsroom use case. Here is an incomplete list of the functionality we currently support:
- 60 Languages (i18n localisation)
- Gallery functionality
- Categories and Tags
- CSS/JS customisation
- Segment.com, Google Analytics, GTM, Google webmaster support
- Attachments and Contact Cards
- Embedding tweets, instagram or other embeddable content
- Sharing buttons + short urls
- Subscribe functionality
- Cookie bar + GDPR tools
To give us enough freedom to experiment and focus on user experience we're breaking this project up into different phases. By not worrying about how a cookie bar or language switcher is ultimately going to come about we're hoping we can catch more speed and work in some kind of an MVP approach.
To allow for that the different themes need to be aware of all the functionality they support to prevent customers from enabling a theme that does not support the functionality they need.
Let me know what you think!