Talking about Markdown's CodeMirror theme update

Hi @pokemonleo, welcome to the forum!

First off, I'd like to say thank you for the detailed post. It can be hard to express frustration and I think you've done an excellent job.

I think you've done a great job making your point. For many users, markdown should be treated as code, and for many of those users code needs to have syntax highlighting. While this may seem like a matter if preference, it can have a very real impact on an individuals ability to use the application. This is not something that I had considered when reviewing the recent change. At the time, my thoughts were mostly on making Joplin more approachable for users that are uncomfortable with code and my assumption was that users who care about markdown-as-code are the same users that don't shy away from custom css. This was wrong.

Overall, I see 2 primary issues:

  1. Many users deeply care about the Joplin visuals, but don't necessarily care about maintaining custom CSS.
    • As a sub-issue, even with a wiki page css is not easily discoverable.
  2. Many users are passionate about the current state of Joplin, but don't care to or don't have the time to take an active role in providing feedback.
    • This change was shared and available for 5 days before being accepted. It received no engagement from the broader community.
    • It has also been in pre-release for the past 25 days, which is meant to give users time for this kind of feedback. But again, no complaints.

By the way, I'm not criticizing anyone for not taking a proactive role in the development process. I only mention it to point out that this change didn't appear out of nowhere, and there are users who have been happily using it for almost a month. So this is not a black and white change, I'm certain that many users (myself included) see this as a change for the better.

What does this mean?

What this means to me is that there is a desperate need for community-supported user-friendly customization. What I envision is a plugin similar to the awesome macOS theme plugin, but would allow users to select from a dropdown list of curated themes. Ideally there would also be a tooling in place to allow users to customize their Joplin experience without having to understand CSS. Finally, a method of sharing created themes and making created themes available to all users would complete the tool.
(I believe this has already been suggested by @uxamanda but I can't find the post.)

Why community supported?

Presently, there are not many consistent contributors to the main Joplin application. I believe one of the reasons for this is that Joplin is a large application, and the barrier to contributing can seem very high. I observed that there have been more people willing to contribute to Joplin by creating plugins, likely do to a lowering of this barrier. By lowering this barrier to entry as much as possible, we should see more, and better, themes and styles that cater to all Joplin users.

Okay, but why not officially support it?

The Joplin application has many competing considerations when it comes to developing new features. For example, ideally, anything added to the core Joplin app must be supported on all desktop platforms as well as mobile platforms (if you've been around the forum you'll know that this isn't always achieved). Joplin also has to consider the needs of new users, many of who are using markdown for the first time and can be quite put off by it. Finally, there are the needs of the core developers. As mentioned above, the barrier to contributing to the core app can be very high, adding additional requirements (maintaining legacy styles would be a requirement) just makes that barrier even higher. I encourage anyone curious to take a look at the Joplin contribution plots to get an understanding of how many/how frequent contributions are. It also demonstrates just how much work Laurent is putting in relative to the rest of us. So please take some time to thank him (or donate if you're able).

What now?

Like all initiatives, someone is going to have to put in the work to make it happen (planning and execution). While I think this is a good solution for providing long term styling support, I don't pretend to think it's the best. I've mostly just posted this here as an example of the kind of solution that I think might be agreeable. What I'd really like is to see some suggestions about what we as a open source community can do to support the unique needs of all Joplin's users. So please reply with your thoughts and suggestions!

6 Likes