The State of Blitz in 2019

Published by Jiminy Panoz on December 7, 2019.

There has been quite a lot of activity in the Blitz workspace in the last 12 months. With 2020 around the corner, it is time to pause and reflect on the important things that happened, look back on all the progress that has been made, and prepare for the things ahead.

For current developments, check the Current State of Blitz.

Abandoned Projects

It’s important to highlight the core maintainers are no longer actively doing ebook production. This means Blitz Labs had to be archived. This repository was meant as a space for Research & Development, and experiments. But truth is that we don’t have any time available for hacking things and breaking Reading Systems these days.

Similarly, Will That Be Overridden was archived as well. This repository aimed to collect the CSS injected by all the Reading Systems in your ebooks, which was awfully high maintenance and super low efficiency. The idea was to build something similar to the Browser Default Styles website but it was simply too much effort.

Finally, a few features were abandoned for the Blitz Framework:

  1. embeddable dev tools e.g. console, applied styles, etc., especially as Phil Gray made some and released them at the beginning of 2019, and we would have ended with something similar to epub-debugger;
  2. a library of interactive widgets almost happened after successful initial testing, but JavaScript has quite a bad reputation in publishing – because Kindle and eReaders relying on Adobe’s RMSDK don’t support it – so it was clear most people wouldn’t even bother trying such a library in the first place.

Those 2 features weren’t hills to die on, especially as there was absolutely no demand from authors.

Companion Apps Bumped to Version 1

Blitz’ ebook design checklist and ebook performance checklist were bumped to version 1, with minor bug fixes and improvements.

The three companion apps are now considered stable, and still offer the possibility to be installed and used offline as Progressive Web apps on your system/devices. In addition, the checklists can be printed if you need to share them with coworkers.

Improvements to HTML/CSS/JS will however be warmly welcome, as some parts may be subpar at the moment.

A Minor blitzck CLI Update

blitzck-cli is a small command-line tool for checking Reading Apps’ support, mimetypes, namespaces and ARIA mappings.

In 2018, this was by far the most fun Blitz’ project to work on – in typical Blitz’ fashion, it was started to learn something new, then released to the community as it could be useful to some of you.

In 2019, it was improved a little bit, and bumped to version 1.

Mainly origin was added to the support matrix, as this impacts APIs such as localStorage. It’s now also possible to export the data to XML and YAML, in addition to the existing JSON – Twitter has been fighting over languages way too much in 2019, but won’t understand it can be super toxic as it ends up hurting people who try to make things to help others, and only those people.

A New Toolbox For Modifying Files

Which brings us to Blitz Tasks, the most fun Blitz’ project to work on in 2019.

As a disclaimer, it almost did not happen because of the language fights mentioned above, since it is using NodeJS instead of something XML-related.

Blitz Tasks is a toolbox for modifying (X)HTML markup with a “search & replace” affordance, it is the result of redesigning old personal tools into a whole, from scratch.

Basically, the idea is that you search in documents using CSS selectors, then replace in a variety of ways e.g. changing the tag, removing the element, adding classes and ids, etc. It works best with a large amount of files with a “common pattern” e.g. collections, DTP outputs, etc. In addition, it provides a few options to optimize your EPUB files.

I guess all ebook producers have been using regex to modify the markup of an EPUB file at some point in their life, but it doesn’t really scale and is generally a bad idea, so I decided to open source my scripts as there was some visible interest in alternatives.

It is available as a Github template so that you can automate your collections, self-published production, etc. from the start, but will still require some effort to write the config file. If you are searching for “lean back and relax” automation, then Bookalope is your best option.

Blitz’ Improvements

The Blitz Framework has become a low-maintenance high-efficiency repository in the sense most work done results in improvements instead of bug fixes.

We are very thankful to Peter Krautzberger, Annabelle Viau, and Sebastian Pająk for reporting issues that could be fixed quickly. And let’s not forget the people who improved the Framework single-handedly:

  • Ludovic Oger who improved the accessibility of the EPUB template, and helped make sure it validated the newest versions of EPUBCheck and Daisy Ace;
  • ptmkenny who significantly improved internationalization and developer experience (LESS CSS).

2019 releases would have not been possible without these people, who committed to making Blitz better for the entire community.

What Comes Next

If you want to take over the archived projects, mainly “Will That Be Overridden,” go ahead and fork the repository if it is of any use to you. And do not hesitate to let us know so that we can (gladly) link to it from the Blitz repo!

The Blitz framework is still active but is considered feature-complete so it’s all about maintenance i.e. bug fixes and improvements. There won’t be any new feature added to the framework nor a complete rewrite as a version 2. We are now focusing on improving accessibility, internationalization, and developer experience.

The same applies to other active projects, except Blitz Tasks. Chances are features/tasks will be added if you Pull Request them though – see project’s FAQ for more details.

As stated earlier, the core maintainers are no longer actively doing ebook production, which means the work being done on Blitz happens in our spare time. In that regard, 2019 was an awesome year, as we saw the community step in, provide invaluable feedback, and commit to improving Blitz for everyone.

We can’t overstate how grateful we are for this community pushing us in the right direction, and encourage everyone to participate, as the smallest issue you report can go a very long way.