Typemill Version 2 is comming
Typemill has gained a lot of popularity over the last five years. It got more 360 stars on GitHub and was covered by some major technology websites, including Heise Online. That is amazing, taking into account that it started as a very small private project in 2017.
However, the technology stack of Typemill is a bit outdated with Slim Framework 3 (PHP 8), Vue 2 (JavaScript), and Tachyons (CSS). The security support for PHP 8.0 will end in November 2023. This is why we stopped the development of the current version of Typemill some months ago.
And the good news is: We are working hard on a completely refactored version 2 of Typemill. It will be released this summer (2023) and run on PHP 8.1 and higher. You can already check the code of version 2 of Typemill on github and contribute to its development. And you can subscribe to the newsletter to get updates for version 2. Here is a small preview of the current state:
Here are the key takeaways for Typemill version 2.
Great author experience
As far as we know from our user feedback, the simplicity of Typemill and a self-explanatory author experience are the key reasons for its popularity. We will keep the author experience as good as it is right now. Even better: We learned a lot from user feedback, and we will improve the author experience in some ways, like the content navigation, or the structure of the system settings. But be sure that Typemill 2 will be very familiar if you already worked with Typemill 1.
Smooth update
The most important thing first: We will try to make an update from Typemill version 1 to Typemill version 2 as easy as possible. If everything works as expected, then you can simply update from version 1 to version 2 like you did with all previous updates: Add the new system folder, and you are (nearly) done. You might lose some settings, but you can easily create them again. A bit later, we will also try to update the plugins and themes, but I will stop further development here and focus on the premium features that will be introduced with Version 2...
New license system
Yes, Typemill is open source, and the core system will stay open source with the MIT license forever. However, Typemill shares a problem with nearly all other open source projects of this size: development takes a long time, so it slows down or even dies after a few years of enthusiasm. Successful and sustainable open source projects like WordPress have a solution for this problem. And this solution is called a business model.
I want a stable and bright future for Typemill, so I decided to introduce a license system for plugins and themes with version 2. Different from WordPress, Typemill will not offer an open marketplace for other developers because it would require too much work and infrastructure right now. Instead, I will introduce several subscription-based licenses that include different plugins and services. I am sure that this license system will make everybody happy, and it will allow me to develop business plugins that many companies have asked for in the past.
New Tech-Stack
Typemill 2 will switch to a recent tech stack, and most parts of the code will be refactored completely. The basic tech stack of Typemill 2 will look like this:
- Slim Framework 4: The recent version of Slim that runs with PHP 8.0 and higher. This is the basic framework that Typemill uses.
- Vue.js 3: The content area of Typemill already runs with vue.js 2, and it is a great experience. In Typemill 2, the whole admin area will run with vue.js 3 and many parts will be refactored. However, I will not use the composition API but the more traditional options API, because I do not see enough benefits, and a switch to the composition API would require even more refactoring.
- Tailwind: Tailwind is very popular among frontend developers, so I will switch from Tachyons to Tailwind. Both start with a "T" and both frameworks follow the principles of utility CSS, so the switch turns out to be quite easy.
- Libraries: Many libraries will be switched to new versions, but I have not decided about all libraries yet. For example, the markdown library "parsedown" has a newer version; I did not look into it, and a switch might require a lot of basic refactorings as well. I will provide more information on those details later.
- API and headless: I think APIs and headless content management systems are both a bit boring and a bit standard. Since the content editor was always based on an internal API, I decided to switch to an API architecture for the whole admin area. This makes a lot of sense in many ways; for example, I can clean up the whole code and use one architecture for everything. As a side effect, you can probably use Typemill 2 in a headless mode out of the box, if you want.
- NPM, webpack, and modules: I am aware that nearly all frontend developers work with (loooong) tool chains and modules for JavaScript. However, Typemill is a small project, and I do not see any benefit of using it. In fact, I ran into a lot of problems when I tried to use these technologies before, and I simply don't have the time to fix toolchains the whole day. The beauty of Typemill is that it uses super modern technology but integrates it in a very simple and old-fashioned way. I want to keep it like that.
I will provide a newsletter, soon, so you can stay updated with Typemill.