Is Fidus Writer dead?

XP8CSThq_400x400 TL;DR: No we are not dead. But we have been stepping back a bit from the development, instead trying to solve some of the more fundamental issues with printing and editing on the web. Fidus Writer has been quite feature complete for Chrome-based browsers. Yet still, it has not always been working. This is because there is a new Chrome version every six weeks, and there are two areas that are particular prone to breaking:

  1. The part that does the actual editing of text (adding and removing character). Out code is based on a browser feature that is called “contentEditable” and was first present in Internet Explorer 5.5 and has since been copied by other browser. There has never been a good standard convention (ie W3C spec) describing how this feature should work. That means it it is working different in every browser, the behavior tends to change from browser version to browser version and even within each browser version there are many bugs that the browser makers have decided not to work in because the lack of a standard means they are not sure how it should work once fixed. The fact that browsers work differently in this area also means, that it is difficult to make it work in other browsers without rewriting all code related to editing.
  2. Our solution for print is working OK, but not for always and it would take a lot of extra work to make sure it works in all cases and in all browsers. We initially used pagination.js (also promoted as “BookJS” by some people) which I had created while contracting with Sourcefabric and it was meant as a printing solution for Booktype (they have since implemented something else), but it broke when CSS Regions were removed from Chrome last year. Instead, I created SimplePagination.js, which would work without CSS Regions, but also had less features and could only be used for output data, not desktop publishing.

We spent a lot of time trying to find an alternative for the first first problem, contentEditable. There are several rich text editing systems out there fully implemented in JavaScript that are not directly built on top of contentEditable, such as Aloha Editor 2.0, and some that can be reutilized for rich text editing to some degree, such as Codemirror. Yet none of them seem to support all the features we need, such as citations, tracking of changes, collaborative editing, semantic editing, comments on texts, nor was it possible to easily extend them to do so. Takuto Kojima, the other Fidus Writer developer, even created a test version of a richtext editor on top of Codemirror that could replace our current contentEditable implementation, but unfortunately we then found out we wouldn’t have the track changes feature we have now. For the past few months, I have instead tried to work with an Editing Taskforce of the W3C that was formed about a year ago to try to standardize a slimmed down version of contentEditable that would allow the creation of an editor on top of them in a more standardized way on all browsers implementing a series of specs. If someone wants to sponsor my work on this, I would appreciate that. Also, if you feel this is important and you have time to participate in the discussions, please get involved! Also, I have started to work with Vivliostyle Inc., a Japanese startup trying to solve the second problem in a more generic way: to create PDFs for printing and paginated views of content within a web browser, and having all the style specifications for that output defined in standardized CSS code. This effort is currently divided into two main parts:

  1. Vivliostyle.js, an open source JavaScript library that does a lot of the same as what Book.js/PaginationJS/SimplePagination.js do, but instead of being focused only on books, it is meant to work for various types of content in paged media format, and instead of taking options through JavaScript function arguments as had been the case with the former, it reads the CSS file that is associated with a page and filters out the print-specific parts that the browser cannot understand and interpret those.
  2. Getting involved in the discussion surrounding the creation and maintenance of CSS standards relevant to paged-media output, so that the CSS values used by Vivliostyle.js aren’t just proprietary, but are shared with others as well. Currently the main important specs in this category are the CSS Paged Media Module, the CSS Generated Content for Paged Media Module and the CSS Page Floats Module.

It is this second part that I have mainly been focused on, helping the editing process of the last of these three specs. Once these issues have been resolved, it should be much easier to get both Fidus Writer to work without hiccups in various browsers AND it should also be easier to create other web-based editors for others.

4 thoughts on “Is Fidus Writer dead?

  1. This post somehow got spam links (search “frankel”, “jelly”)…

    It’s cool to see people addressing fundamental problems. Naive question about the W3C Editing effort: can it produce anything that will help sites that still need to support current browsers?

    • Thanks for notifying us about the spam!

      As for the W3C effort: Most of that is about the future, although at times one gets new ideas about how things can be done using current technology by talking to the developers who create the browsers. However, in the case of Firefox and Chrome, the browser update every 6 weeks and there is generally no support for browsers much older than that. So everyone will update and workarounds made only for these browsers will be something one can remove rather quickly.

  2. Hey fiduswriter team,

    thanks very much for your hard work and the effort to solve some fundamental issues!

    Is there a possibility to use Githubs Electron for a workaround? It uses an implementation of Chromium.
    I’m not really sure but I think you as devs can decide when do you want to update to a new version instead of being constantly in fear of browser updates breaking fiduswriter.

    I would prefer a cross-browser solution without specific apps as well, but maybe it is not possible right now (and in near future)?

    Best regards,

    • Hey!
      Thanks for the link! The problem is many academic users cannot install new software on their computers. So things have to work in a browser. But our new strategy, to build on top of a common framework that we don’t have to maintain by ourselves (ProseMirror), should also take away the main part of that issue. Stay tuned for a Fidus Writer version built on top of ProseMirror.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.