Just a quick update on ePubCrawler, our InDesign-to-Fixed Layout EPUB converter.
(More info about ePubCrawler here: https://www.rorohiko.com/ePubCrawler)
It’s been a while since the last update. At present I am in the middle of a re-write from scratch: ePubCrawler 0.2.x went about as far as I could take it without getting unwieldy.
A lot of people shared their findings and feedback with me, and I understand that despite its state of un-finishedness, it’s been a helpful tool for many.
With the experience gained and the feedback received, I went back to the drawing board. I spent a lot of time designing a brand new foundation. That took much thought, a few false starts, much experimentation, many all-night sessions.
For the last few weeks I’ve now been implementing my new design. There is still a lot of work to be done.
The good news is: the next version is taking shape, and things seem to be working as I expected them to do; the puzzle-pieces are falling into place.
The bad news is: I’m still quite some way away from having something I can release to the public.
What annoyed me most about ePubCrawler 0.2.x was that even though it is extremely configurable via the snippets, quite a bit of the behavior was locked up, hard-coded inside the software.
For a while, I was making things more configurable on a case-by-case basis, request by request, but doing that invariably forced me to make some changes to the code. The more things became configurable, the more intricate and harder to maintain the code became.
The new ePubCrawler, which will be 0.5.0, has configurability written into its core as one of the design principles. It will be much more flexible than ePubCrawler 0.2.x.
Initially, I’ll still focus on fixed-layout EPUB, but ePubCrawler 0.5.x will be very configurable, and it would be just as usable as a generic InDesign-to-XML convertor, an InDesign-to-Web converter, an InDesign-to-JSON convertor…
The design is also so generic that spin-offs like an ‘Illustrator-to-something’, or ‘whatever program-to-something’ converter will be possible, given the time and the effort to develop the proper ‘personality’.
What kind of things can you expect?
In ePubCrawler 0.2.x, assumptions are made about the order of the exported text.
In ePubCrawler 0.5.0 and above, the user will have control over the order of export: if you want it story by story, that can be done. If you want it frame by frame, and, say, you want the frames ordered by vertical/horizontal position, that’s fine too. If you want just the words exported in alphabetical order, that’s fine too.
The tool has a plug-in architecture, and all kinds of behavior that were hard-coded in ePubCrawler 0.2.x can now be defined and reconfigured.
ePubCrawler 0.2.x assumes that you want to export to Fixed Layout EPUB. It has ‘ePubStyles’ which can influence the output to some extent, but with some limitations.
ePubCrawler 0.5.x will replace the ‘ePubStyle’ with plug-in ‘personalities’.
You’ll have an InDesign personality, an Illustrator personality,… on the input side.
You’ll have a fixed-layout EPUB personality, an EPUB personality, a WordPress personality, an XML personality… on the output side.
ePubCrawler then links the input to the output, and does the conversion, controlled by a number of snippets, templates, and configuration files. The user can control things by way of the templates, the ordering, the filtering… of the data during the conversion.
The idea is that you can easily reconfigure things even when you don’t quite understand the ‘big picture’ or the underlying software design. One of my design goals is ‘pokable software’.
You can poke around in ePubCrawler’s config files, try some changes, and in most cases, the effect will be what you’d expect. For many things it’ll be OK not to read the docs, but just to poke around a bit until it works. I am a proponent of WYPISWG software (What You Poke Is What You Get).
It will still work with snippets, and there’s a reasonable chance that ePubCrawler 0.5.x will be able to use the same template data as ePubCrawler 0.2.x, or at least something very similar, but behind the screens it’s much wider.
So, stay tuned: I’m not there yet, but I wanted to let everyone know, things are still happening.