Von Amazon zu ebook.de
Vorbemerkung
Ich war sehr lange - seit fast 30 Jahren - Kunde bei Amazon, u.a. deshalb weil es dort die größte Auswahl an fremdsprachlichen Büchern gab und man in Deutschland lange sehr schief im Buchhandel angesehen wurde wenn man so was nerdiges wie Romane im Original kaufen wollte. Das galt auch für eBooks. Ich hatte mich - als ich mir einen E-Bookreader angeschaft hatte, bewusst für einen Kindle entschieden, die Gründen waren:1.) Fremsprachige E-Books
Auch hier war das lange ein Nischenprodukt in Deutschland, E-Books sowieso.2.) DRM war leicht zu entfernen
Ich will keine Gängelung durch DRM haben. Die E-Books die ich gekauft habe - und nicht weitergebe - sollen mein Eigentum bleiben und nicht vom Wohlwollen des Anbieters abhängig sein. Bei Amazon ist/war der DRM-Schutz sehr leicht zu entfernen, sofern man einen physischen Kindle besitzt: Calibre, DeDRM-Tools, dort die Seriennummer des Kindle eintragen, E-Books bei Amazon ("Send to USB") herunterladen, im Calibre importieren, fertig. Weg war der DRM. Das konkurrierende System - Adobe Digital Editions - war damals eher schwierig und unzuverlässig für die DeDRM-Tools.3.) Die Kindles sind sehr gut
Synchronisation, Lesefortschritt, X-Ray - alles sehr sehr gute Features.Nun hat sich etwas geändert: Zum einen will ich sowieso von Amazon weg, zum anderen beendet Amazon die Option des Herunterladen per USB. Entgegen diverser Fehlinformationen lassen sich aber natürlich immer noch E-Books per USB auf den Kindle laden - und umgekehrt - dabei gibt es allerdings einen Haken: Die E-Books sind nicht mehr im alten, AZW3-Format auf den Geräten (welches sich problemlos von DRM befreien ließ), sondern im neueren KFX-Format. Und hier kann es zu Problemen mit den DeDRM-Tools kommen, weil anscheinend Amazon das Format häufiger ändert.
Was tun? Darauf hoffen das die DeDRM-Tools die KFX-Bücher vom Kindler importieren können? Also habe ich nach Alternativen gesucht und bin fündig geworden - bei ebook.de gibt es alle die englischsprachigen E-Books, die mich interessieren, sie sind auch nicht teurer als bei Amazon und gibt Amazon keine Kohle. Allerdings haben diese auch DRM, und zwar besagtes Adobe DRM, was vor nicht allzulanger Zeit problematisch für die DeDRM-Tools war.
Ich hatte das jetzt getestet, mich dort registriert, ein E-Book testweise gekauft (Foundation von Isaac Asimov) und den ganzen Prozess mal durchgegangen:
Adobe Digital Editions (ADE) DeDRM
Man erhält eine Datei in einem speziellen Format - Dateiendung .acsm - welches erst mit ADE importiert werden muss. Adobe Digital Editions gibt es kostenlos für Windows, Mac, Android (taugt hier nichts). Für Linux ist es komplizierter, Wine könnte helfen, aber das ist nicht garantiert.- Nach der Installation von ADE die ACSM-Datei importieren, und ADE fragt nach einer Adobe-ID (Alternativ: Computer ID) für das DRM. Entweder man legt sich eine an oder nutzt eine bestehende, ich habe sowieso eine für das Lightroom-Abo. Oder das DRM ist dann an dem Computer festgetackert.
Calibre/DeDRM
Nach dem Import der Datei in ADE liegt das E-Book dann als DRM verschlüsseltes epub vor. Und nun kommt Calibre und die DeDRM-Tools zum Zuge: Die DeDRM-Tools erkennen über die Einstellung nach Import des ersten Buches den Schlüssel von ADE und können das verschlüsselte E-Pub dann entschlüsseln und den DRM entfernen. Das lief bei mir beim ersten Mal schief, ich hatte die Version 10.0.3 von den DeDRM-Tools installiert, nach Upgrade auf 10.0.9 gab es dann keine Probleme. Nun hat Calibre eine DRM freie Variante des Buchs.Kindle
Nun möchte ich das E-Book nicht in Calibre lesen, sondern auf einen meiner Kindles. Hier gibt es nun zwei Möglichkeiten:Per E-Mail
Die entsprechende Bücher aus Calibre als epub exportieren. und diese epubs dann per Mail an den Kindle senden. Jeder Kindle hat eine eigene Amazonadresse. Hier aufpassen dass die Absenderadresse auch stimmt, sonst weigert sich Amazon die Bücher zu importieren.
Vorteil
- Die E-Books sind Teil der Kindlebibliothek und damit auf allen Kindlegeräten verfügbar- Bei einem neuen Kindle (oder Verlust des alten) einfach die E-Books via Gerät (Bibliothek) laden
Nachteil
- Es gehen nur eine begrenzte Anzahl von Dateien pro Mail (ich glaube die Grenze war um die 20). Bei sehr vielen E-Books ist das recht mühselig- Die Cover gehen teilweise flöten
Per USB
Einfach den Kindle per USB-Anschließen und alle gewünschten Bücher per Calibre dorthin speichern, Calibre übernimmt auch automatisch die Konvertierung zu AZW3. Nachteil: Die Bücher sind nur lokal auf dem Kindle gespeichert.Funktioniert aber alles tadellos.
Fazit
Ein weiterer Schritt weg von Amazon, ich muss Amazon geradezu dankbar sein dass sie den Download per USB abstellen - sonst wäre ich nicht auf der Suche zur Alternativen gewesen.Jetzt gibt es allerdings einen zusätzlichen Schritt: Statt vorher das Buch per Amazon herunterzuladen und zu importieren muss es erst in ADE geladen werden bevor Calibre es seinerseits importieren kann. Und es muss noch als weiteren Schritt auf den Kindle selbst geladen werden. Dafür bin ich aber nicht mehr abhängig von Amazon bezüglich E-Books, was ein gewaltiger Fortschritt ist.
nur als nebenbemerkung: man kann bei calibre auch einen server starten, der dann laut voreinstellung auf port 18080 lauscht. da kann man dann seine bücher auch per web erhalten. ich weiß allerdings nicht, ob der kindle damit etwas anfangen kann ..
Ich weiß, aber das wäre Overkill - zum einen müsste Calibre dann immer laufen, also entweder der PC ist immer an oder ich müsste Calibre auf der Diskstation installieren - zum anderen kann Kindle damit wohl nichts damit anfangen. Aber ist kein Thema: (DRM-freies) epub von Calibre exportieren, per Mail an den Kindle (an die Kindle-E-Mailadresse), und schon landet es auf den Kindle(s). Und das Cover funktioniert auch, was es bei neueren Kindles nicht tut wenn man die Bücher per USB sideloaded. Zusätzliches Plus: Der Vorteil des Kindles - Synchronisierung des Lesefortschritts auf allen Geräten - ist auch gewährleistet.
Aber ein nicht zu unterschätzender Vorteil: Ich bin nun komplett unabhängig von Amazon, sowohl bezüglich auf E-Books als auch auf Reader. Jegliche Kombination aus E-Bookanbieter und Leser funktioniert. Mein nächster Reader wird vermutlich kein Kindle mehr werden. Aber es wäre ja behämmert den Colorsoft wegzuwerfen, der ist praktisch neu :-)
Jabber vs Matrix
I've planned setting up a public XMPP/Jabber service (in addition to my preexisting public matrix homeserver matrix.netzgemeinde.eu), well, I changed my mind rapidly and elected to delete this mess called "ejabberd". There are two reason, the first one concerns the software, the second one XMPP/Jabber itself.
Which immediately brings me to the documention:
When you have such a complex configuration you have to have good documentation otherwise the administrator will be lost. This happened to me, because the documentation didn't clarifiy which options to use for what specific version! I was running 17.04, and - just a guess - the documention was for the most current version, so lots of items were not working on my setup. The worst offender was the database: I was running it on a server containing a PostgresQL. So I took the advice and used the "new" sql schema ( https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configuration). So after a lot of cursing and trying which option did apply to my ejabberd's version (again - there's no hint in the documenation) I finally got it running - but was unable to create a user, because the "new" sql schema was not supported in my version!
So I dropped the databases, recreated it with the "old" schema and finally after lots of trial and error I was finally able to make it work.
(Well, yes, Whatsapp also makes this impossible, but at least they tell you this. Also Telegram's encrypted chats - they warn you about this, too)
I launched three clients - the one build in in Plasma (Telepathy), Kopete and one on Android. And it was like a roulette - some messages got routed to Android, some to Kopete, you got the idea. This makes Jabber next to useless: My usual setup is running a client on Android and one on my desktop, both seemlessly. So when I leave the desktop (with a superior keyboard) I can continue the conversation using Android and vice versa. This is impossible using Jabber, I cannot access the old messages, and apparently there is a problem when using mobile: The frequent change of your IP address seems to cause problems in Jabber.
Anyway, this extensibility is in theory a good thing - in practise it causes lots of problems. For example, I've activated captcha for registrations. Unfortunately this resulted in not being able to register at all using a client - because the client in question didn't implement the needed XEP (the web registration didn't work at all, only a 404. Why? No idea). So using Jabber involves two problems: First you have to find a server (open for registration) that implements all the XEPs you need and then you have to find the client which understand all the XEPs - not only on Desktop, also on mobile. This is far too much hassle in my option.
There's also a German blog article about this: https://www.kuketz-blog.de/messenger-matrix-das-xmpp-fuer-hobby-admins/
Ejabberd
I chose to install ejabberd, which claims to be fast and efficient (I do believe it), written in Erlang. The installation went smooth, however the configuration was far from easy:Ejabberd's Configuration
The supplied configuration file contained about 800 lines of yaml (most of it comments, of course), still it's quite complex - they acknowledge it:Do not let this complexity scare you. Most of you will be fine with default config file (or light changes)
Which immediately brings me to the documention:
Documentation
https://docs.ejabberd.im/admin/configuration/When you have such a complex configuration you have to have good documentation otherwise the administrator will be lost. This happened to me, because the documentation didn't clarifiy which options to use for what specific version! I was running 17.04, and - just a guess - the documention was for the most current version, so lots of items were not working on my setup. The worst offender was the database: I was running it on a server containing a PostgresQL. So I took the advice and used the "new" sql schema ( https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configuration). So after a lot of cursing and trying which option did apply to my ejabberd's version (again - there's no hint in the documenation) I finally got it running - but was unable to create a user, because the "new" sql schema was not supported in my version!
So I dropped the databases, recreated it with the "old" schema and finally after lots of trial and error I was finally able to make it work.
Jabber
After finally having worked out most of ejabberd's quirks I was playing with some Jabber clients when I finally found out that Jabber/XMPP lacks one of the most essential messenger's features: The ability to use more than one client at once!(Well, yes, Whatsapp also makes this impossible, but at least they tell you this. Also Telegram's encrypted chats - they warn you about this, too)
I launched three clients - the one build in in Plasma (Telepathy), Kopete and one on Android. And it was like a roulette - some messages got routed to Android, some to Kopete, you got the idea. This makes Jabber next to useless: My usual setup is running a client on Android and one on my desktop, both seemlessly. So when I leave the desktop (with a superior keyboard) I can continue the conversation using Android and vice versa. This is impossible using Jabber, I cannot access the old messages, and apparently there is a problem when using mobile: The frequent change of your IP address seems to cause problems in Jabber.
Extensibilty (XMPP)
I've learned that there is a workaround for my problem (multiple clients), its' an extension (hence the letter X), an XEP. You can extend the basic protocol by using extensions call XEP. There is some github repository for the necessary extension (XEP-0280), but why is such core feature for a messenger implemented as an extension? And even if, why it's not included in ejabberd's basic setup?Anyway, this extensibility is in theory a good thing - in practise it causes lots of problems. For example, I've activated captcha for registrations. Unfortunately this resulted in not being able to register at all using a client - because the client in question didn't implement the needed XEP (the web registration didn't work at all, only a 404. Why? No idea). So using Jabber involves two problems: First you have to find a server (open for registration) that implements all the XEPs you need and then you have to find the client which understand all the XEPs - not only on Desktop, also on mobile. This is far too much hassle in my option.
Matrix
I've never encountered any of these problems running synapse/Matrix. You have to configure some things, but this is well-documented, so was the migration from sqlite to PostgresQL - wenn smoothly. Furthermore, it did work out of the box - multiple clients per session, voice/video chat, channels, offline messenges, you name it.Conclusion
Instead of opening the server for the public I just going to delete this piece of.. well, you know. The documentation isn't accurate, it's written in a language I do not know (Erlang) so I cannot support it if there are problems - and last but not least Jabber lacks the elementary features of a messenger - multiple clients per session. So I see no point in running an XMPP server, I've set up a profile on another server just in case if someone wants to contact me via Jabber. Matrix remains my primary choice.There's also a German blog article about this: https://www.kuketz-blog.de/messenger-matrix-das-xmpp-fuer-hobby-admins/