From eBook into 4D

english preferred


Seit ewig habe ich einen Aichele, Was blüht denn da?. Das ist ein Pflanzenführer sortiert nach Farben, den ich jedem Interessierten empfehle. Dieser Tage entdeckte ich die aktuelle Ausgabe als eBook. Sofort gekauft und aufs iPhone geladen. Schreck lass nach, ist der Bildschirm vom 6er iPhone zu klein, für diese Art von Buch? Zur Kontrolle das eBook auch auf den Mac geladen, keinen Deut besser. Die Seiten brechen sehr unglücklich um, Platz ist genug. Das macht keinen Spaß.

Festuva ovina auf dem iPhone
Festuva ovina auf dem iPhone

Schaut Euch das an. Auf dem iPhone ist das mehr als ungenügend. Zweidrittel der Bildschirmfläche sind leer. Gibt es in dem Verlag keine Qualitätskontrolle?

Die Ausrede, das sei aus dem Buchsatz so gekommen, gilt auch nicht. Das Buch ist ganz anders gesetzt. Der Buchsatz ist effizienter im Einsatz. Nachteil für das Buch, es ist merklich schwerer als ein iPhone. Vorteil fürs Buch, es braucht keine Batterie.

Festuva ovina im Buch
Festuva ovina im Buch

Zur Überprüfung die Ansicht auf dem Monitor meines Mac. Auch hier viel weiße Fläche, obwohl alles – Bilder und Beschreibung – auf der einen Seite Platz fände:

Festuva ovina im eBook
Festuva ovina im eBook

Das ist Mist. Damit will ich mich nicht zufrieden geben. Mit ein wenig Suche fand ich das eBook im Library-Ordner meines Mac. eBooks sind auch nur gezippte HTML-Dateien mit zusätzlichen Steuerdateien. Dekomprimiert lag das eigentliche Buch im OPS-Ordner, als eine Sammlung von Html-Seiten, Bildern und einer CSS-Datei vor mir. Zuerst dachte ich, nur das CSS zu verbessern. Dann schaute ich mir den Html-Source an.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


Ein einziges Durcheinander, leichter aufgeräumt als verbessert.

Das HTML ist nicht kompliziert, da war kein HTML-Könner dran. Warum nicht das komplette Lexikon in eine 4D-Datenbank einlesen? Das sollte mit den DOM XML-Befehlen zu machen sein. Die Semantik steckt in den class-Namen, die Bilder sind alle in einem Ordner, …

Zuerst schreckte ich vor Rötegewächse codiert als R&#246;tegew&#228;chse zurück. Dann fiel mir ein: die XML DOM 4D-Befehle decodieren beim Einlesen. Super, muß ich nicht selber machen.

Es sind bereits alle 872 Arten eingelesen. Nun kann ich schnell suchen und querbeet nach allem, weil ich alle Texte in ein Textfeld mit Volltext-Index zusammenfasse.

1987, als 4D neu war, hat mich die 4D Formular-Engine vom Hocker gehauen. Das ist lange vorbei, die muß dringend erneuert werden. Also habe ich meine Datensatzdarstellung als HTML-Layout konzipiert. Ich halte Beschreibung und Bilder zusammen und stelle den Datensatz in einer 4D-Webarea dar. Hier nun der Screenshot aus meinem DDDD-Aichele:

Festuva ovina in meiner eigenen Anwendung
Festuva ovina in meiner eigenen Anwendung

Jetzt frage ich mich, ob der nächste Schritt der umgekehrte Weg ist: aus der Datenbank ein eBook erzeugen? Dann hätt ich was Gescheites auf dem iPhone dabei.


lieber auf deutsch


Forever do I own a book to name plants by picture and colour, named Aichele, Was blüht denn da? The book is to be recommended. Lately I found the most current printing as eBook. Happily I bought the eBook immediately and checked on iPhone 6. My first impression: hardly enough screen real estate for that kind of book? Download the eBook to my Mac, no better. Page-Layout is poor and makes no sense for the purpose.

Festuva ovina auf dem iPhone
Festuva ovina on iPhone

Even on iPhone this is terrible. Two thirds of the screen are empty. That should have been seen and avoided before publishing!

There is no excuse about the affordances for printing being the culprit. The paper-book has a completely different layout. By the way the paper-book is more efficient than the eBook, besides being much heavier than an iPhone.

Festuva ovina im Buch
Festuva ovina in book

Checking again with enough real-estate on a Mac. Much too much white space. Every content – pictures and description – would easily fit on the two pages.

Festuva ovina im eBook
Festuva ovina in eBook

I’m not willing to accept that rubbish. Spotlight and I and found the eBook inside the library-folder of my Mac. eBooks are zipped HTML-files plus some plist-files. Dezipping showed the book as a couple of html-pages, a folder full of pictures plus a singe css-file. First I thought to only enhance the css-file. Then I had a look at the html:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


Just a mess and more easily disassembled than enhanced.

The HTML is easy, not written by somebody with a deeper understanding. Why not parse the complete book into 4D? Should be easy – XHTML 1.1 – using DOM XML-commands. The semantics is coded as class-names, all pictures are in one folder, …

Seeing utf-8 coded HTML still encoding Rötegewächse as R&#246;tegew&#228;chse looked terrible. But then I remembered 4Ds XML DOM-commands will decode while parsing. No need to invest extra-efforts.

Same day all 872 species are imported. Querying is fast and query for any content is easy, because all descriptive text is concatenated into a fulltext-indexed field.

In 1987, when 4D was new its form-editor was awesome. Today the awesome is gone. So I created a html-template, inserted 4D-tags and wrote some css. The html-page keeps description and pictures together and the display of the record is done via a 4D-Webarea. Attached a screenshot of my DDDD-Aichele:

Festuva ovina in meiner eigenen Anwendung
Festuva ovina inside my own app

Now I’m asking myself about the next step: why not create an eBook from the database? Then I had one that I like better.