Offline Reader

Forums: 

Ich hab mal aus Spaß und Langeweile einen Offline-Offene-Bibel-Reader programmiert. Ist alles noch sehr spartanisch und es können jeweils nur die ersten Kapitel von 1. Mose und 2. Mose gelesen werden. Schaut es euch an:

Wie findet ihr das? Lohnt es sich den Ansatz weiter zu verfolgen?
 

Hallo,
an sich ist ein Viewer für die Offene Bibel eine sehr coole Idee. Es gibt aber schon ein Projekt, dass sich mit der digitalen Verwertung von Bibeltexten beschäftigt (Sword Project). Es gibt ein standarisiertes Format in dem Bibeln abgespeichert werden müssen und es gibt eine recht breit gefächerte Auswahl an frei verfügbaren Programmen zum lesen der Bibeltexte (z.B. Bibletime, Xiphos, Alkitab).
Von daher, denke ich, ist es sinnvoller an einem Konverter zu arbeiten der die Offene Bibel Texte in das Swordformat konvertiert. Ben hat sich schon an einem Workflow versucht, aber es fehlt definitiv ein automatisiertes Skript für die Umwandlung (http://www.offene-bibel.de/blog/ben/offene_bibel_als_sword-modul).
Wenn du mehr Lust auf Anwendungsentwicklung hast, kannst du dich auch einfach an eins der Sword-projekte hängen. Die bekanntesten Betrachter sind wohl Bibletime (http://blog.bibletime.info/) und Xiphos (http://xiphos.org/). Bibletime ist mit Qt programmiert, Xiphos mit Gtk, beide auch unter Windows lauffähig.
Lieben Gruß,
Patrick

Wow! Klasse Idee. Als erstes dachte ich auch, dass wir unsere Energie auf die freien existierenden Programme konzentrieren sollten, allerdings hat auch eine Sonderlösung mit Sonderfertigkeiten einiges für sich. So etwas wie Highlighting/Ausgrauen/Ausblenden von Alternativen oder anderes Anzeigen von Fußnoten funktionieren nicht mit den Standardprogrammen. Ich weiß nicht, ob solche Sondersachen per Plugin integrierbar wären. Das wäre meiner Meinung nach wesentlich schöner, weil es eine Menge Programmierung einspart, die schon von jemand anders erledigt wurde (Suchfunktionen, Parallelansichten, etc.) und trotzdem auf die Eigenheiten der Offenen Bibel eingehen würde. Außerdem schätze ich als Linuxer natürlich Programme, die plattformunabhängig sind.
Vielleicht sollten wir mal eine ToDo-Liste oder Ideenliste für Programmierer bauen.

Ich finde die Ide auch super! Ich dachte immer, dass wir noch mehr Menschen mit den technischen Fähigkeiten und Ideen brauchen. Jetzt freut es mich, dass wir tatsächlich schon einige haben, die sich in der Hinsicht engagieren. Dieser Offline Viewer ist eine tolle Idee.
Denny, erzähl doch mal, wie er aufgebaut ist oder was daraus werden könnte. Ist das Ganze nur für Windows? 
 
@Patrick und Wolfgang: SWORD kann z.B. griechische Akzente/hebräische Kantillationszeichen, sowie Fußnoten, Parallelstellen und morphologische Codes ein- und ausblenden. Vielleicht könnte man den Text tatsächlich entsprechend formatieren, aber ich schätze mal, man müsste SWORD erst erweitern (und die Entwickler sind nicht sehr entscheidungsfreudig). Ein einfacher Offene-Bibel-Reader wäre definitiv toll, sofern er 1) speziell auf unsere Bedürfnisse eingeht (wenn er dabei direkt den Text aus dem Wiki abgreift, finde ich das sogar noch besser), 2) plattformunabhängig und 3) einfach auszuprobieren ist. 
(Als vielversprechend in Sachen Bibelsoftware würde ich übrigens openBibleViewer einordnen. Der Entwickler ist Deutscher und hat innerhalb von einem halben Jahr schon viel geleistet. Er ist dabei, das Programm noch zu erweitern und möchte demnächst auch SWORD unterstützen. Wenn ich programmieren könnte, würde ich sofort helfen. Jetzt werde ich wohl erstmal versuchen mir so viel beizubringen, dass ich auch selber SWORD-Module bauen kann.)

Danke für die positiven Rückmeldungen!
Die genannten Programme haben ja alle einen komplett anderen Ansatz, außer der OpenBibelViewer. Ich wollte nähmlich ein einfaches Programm machen womit auch Leute zurecht kommen die kaum Ahnung vom Computer haben. Die SWORD-Programme sind doch viel zu komplex für Leute, die einfach nur die Bibel lesen wollen und ein paar Notizen dazu machen. Oder liege ich da falsch?
Zum technischen: Der User wählt in der ersten ComboBox das Buch und in der zweiten das Kapitel aus. Das wird dann zusammen "gerechnet" und die passende HTML Datei angezeigt.
Das Programm hab ich mit Visual Basic programmiert, da ich von der Schule aus nur das kann. Ich wollte mich aber noch ran setzen und python oder ähnliches lernen. Damit würde das Programm dann platform-unabhängig.

Oder ich lern Java. Hat jemand damit Erfahrung?

Ich fände Python besser, weil Java ja evtl. mit Patenten belastet ist. Außerdem kannst du mit Python direkt die platformunabhängigen GUI-Bibliotheken pygtk oder pyqt einbinden (die sind mMn weit schöner als das Java-Zeugs). Aber das ist  ehrlich gesagt auch nur Laienmeinung...

Hallo,

die Idee eines Offline-Readers finde ich sehr gut.

Was die Technik angeht: Vor allem ist wichtig, dass Du, Denny, etwas für Dich passendes findest.

pyqt mal zu prüfen, ist aber auf jeden Fall sinnvoll. Es hat nämlich mehrere Vorteile:

- Die von pyqt verwendete Qt-Bibliothek ist freie Software und für sehr viele Plattformen erhältlich: unter anderem Windows (Desktop und Mobil), MacOS, Linux (Desktop, und mobile Versionen wie MeeGo), Symbian (Nokia-Betriebssystem für Mobiltelefone), ...

- Man kommt fast nie an den Punkt, wo etwas mit Qt nicht "geht", sondern meistens ist es im Gegenteil sogar sehr einfach. Selbst sehr komplexe Sachen sind mit Qt relativ einfach.

- Qt beinhaltet einen eigenes Browser-Tool (QtWebKit), was inbesondere zum für ein attraktives Darstellen von Website-Inhalten sehr nützlich ist.

Allerdings muss ich auch dazusagen, dass ich bisher noch nicht all zu viel Python-Erfahrung habe.

Im Zweifelsfall kommt es, wie gesagt, darauf an, dass die Lösung für Denny passt.

Olaf

Hallo,
die Sache mit Qt hört sich ja schon mal gut an. Weißt du wie weit die Portierung von Qt auf Android ist?
Im Moment tendiere ich zu Python. Gibt es gute Bücher dazu?
Dennis

Android selbst verwendet ja ein komplett eigenes System, das mit eigentlich allem anderen inkompatibel ist.

Es sind aber Möglichkeiten, Qt-Programme zu schreiben, die auch auf Android laufen. Für C++/Qt-Programme gibt es eine Anleitung hier:
http://code.google.com/p/android-lighthouse/wiki/Compile

Ob das auch mit Python geht, weiß ich nicht.

Generell ist die Qt-Unterstützung für Android jedenfalls noch sehr am Anfang, d.h. wenn man das machen will, sollte man (und kann vermutlich auch) im Problemfall direkt mit den Leuten reden, die Qt auf Android portieren.

Was Python-Bücher angeht: Für meine Versuche habe ich bisher einfach die Dokumentation auf python.org genommen, die ich aber teilweise etwas unübersichtlich finde.

Olaf

Sowohl im "Freien Magazin" als auch im "Full Circle Magazine" waren in den letzten Monaten (an Einsteiger gerichtete) mehrteilige Python-Tutorials, die ich mir demnächst auch noch anschauen wollte. Google findet die Webseiten, die beide glaub auch Artikelindices haben.

Ich würde dafür kein eigenes Programm schreiben, sondern aus den Wiki-Texten statische HTML-Dateien generieren lassen, welche in einem Archiv gespeichert werden. Leute, welche es offline lesen möchten, können das dann einfach im Browser machen, was den Vorteil hat, dass es auf jedem OS (nicht nur Linux, Mac, Windows) läuft, auf dem es ein Programm gibt, welches HTML-Dateien anzeigen kann.

Weiterer Vorteil ist, dass es barrierefrei ist, also auch für Blinde geeignet, welche es sich vorlesen lassen möchten oder einen Braille-Reader verwenden. Ein Programm barrierefrei zu schreiben ist sicher extrem aufwendig.

Sowas ähnliches haben wir sogar schon ;-).
http://patszim.volans.uberspace.de/fcgi-bin/dispatch.fcgi/lesen/Psalm/23
(Unterbau lebt hier und hier).
Barrierefrei ist es leider noch nicht, aber könnte man mit wenig Aufwand hinbekommen. Bisher ist mir die Idee aber noch garnicht gekommen, dass man das als Offlinereader "vermarkten" könnte. Das war ursprünglich als radikales Neudesign der Webseite gedacht, haben wir dann aber verworfen und der bisherigen Wiki den Vorzug gegeben.
Wir (naja, ich) sind grad dran die Webseite etwas konservativer neu zu bauen. Wird warscheinlich noch ein paar Wochen wenn nicht Monate dauern bis es soweit ist, dass wir umstellen können, aber wir sind dran.
Einen etwas älteren Zwischenstand kann man hier anschauen, die aktuelle Version lebt grade nur auf meinem Laptop (und auf Gitorious).

Da funktionieren aber die vier Links oben nicht, die Suche funktioniert nicht und der Zahnrad-Button auch nicht.

Stimmt. ;-)
Das war ein proof of concept, aus dem vielleicht mal die aktualisierte Offene Bibel Webseite hätte werden sollen. Das Projekt wird aktuell nicht weiterentwickelt, weil wir uns dagegen entschieden haben, die Webseite damit zu machen. Das als Offlineangebot tauglich zu machen ist ein mögliches zukünftiges Projekt. Das wird frühestens was, nachdem die neue Website live ist. Es sei denn es findet sich sonst noch jemand, der da dran weiter entwickeln will.

Das Sword-Projekt beschäftigt sich nicht mit allerlei Nutzungsmöglichkeiten von Bibeltexten, sondern mit einem nativen Bibeltext-Betrachtungsprogramm. Von einer Standardisierung des Sword-Formats kann keine Rede sein, deren Format ist binärcodiert und undokumentiert und wird auch von niemand anderem außer der Sword-API verwendet. Wenn ich mich recht erinnere, ist auch die Sword-API selbst undokumentiert. Vorteilhaft daran ist lediglich, dass im Sword-Format der Bibeltext für Sword-Bibelprogramme optimiert abgelegt ist. Das Sword-Projekt bietet zwar diverse Bibeltexte im Sword-Format an, beschäftigt sich aber weder mit der Pflege der Quelldateien, aus denen die Sword-Module generiert wurden, und bietet diese auch nicht zum Download an. Insofern obliegt es also anderen Projekten, für die Verfügbarkeit einer auch ohne Sword-API lesbaren Bibeltext-Quelldatei zu sorgen, das Sword-Modul ist damit eher ein finales Zielformat. Wenn man Bibeltexte im Sword-Format in einem Bibelprogramm einbinden möchte, muss dafür die Sword-API verwendet werden, die ist in C++ programmiert, offenbar liegt auch ein Wrapper für Java vor. Alle Angaben ohne Gewähr, vielleicht hat sich mittlerweile etwas daran geändert.

Softwarepatente gefährden sämtliche Software, inkl. Python. Idealerweise kommt eine freie Lizenz mit einer Regelung daher, in welcher der Lizenzgeber ausdrücklich auf sein Recht verzichtet, gegen eventuelle Patentverletzungen durch Weitergabe/Nutzung der Software zu klagen, was aber nicht vor Patentklagen durch Dritte schützt. Vernünftigerweise haben sich Softwarepatente in Deutschland und in der EU nicht durchsetzen können (bisher), und US-Jurisdiktion ist hier nicht.

Oracle's (ehemals Sun's) Java-Implementierung befindet sich mittlerweile im Prozess der freien Lizenzierung, daneben gibt es die frei lizenzierte Alternative aus dem GNU-Projekt.

Android verwendet Java (samt einem Android-SDK) und HTML5 in Form von nativen Web-Apps.

Freilich kann man eine Offline-Version per automatisch generiertem statischen HTML, JavaScript-erweitertem dynamischen HTML oder EPUB erreichen, was entweder direkt von einem Browser angezeigt wird oder von einem eigens entwickelten Programm, welches eine Browser-Komponente zur Anzeige verwendet. Ist eher eine Frage der gewünschten Funktionalität, ob man sich die Mühe macht, den Bibeltext eigenhändig zur Anzeige zu bringen oder in ein Format zu konvertieren, welches von bereits existierender Software eingelesen werden kann.

Solche Software und Code für die Bereitstellung im Web ist natürlich auch für das Projekt „Freie Bibel“ nicht uninteressant, was sich keinesfalls gegenseitig ausschließen muss, ebenso können auch diverse Offline- und Web-Varianten gleichzeitig nebeneinander koexistieren. Das Rad dabei nicht immer wieder neu erfinden zu wollen, ist da ein recht hilfreicher Ansatz, wobei man auf die freie Lizenzierung der verwendeten Werkzeuge und Komponenten achten muss, um überhaupt damit arbeiten zu können und zu dürfen.