Vorbildliches OPAC-Widget von der Jacobs University

23. April 2008 um 15:03 1 Kommentar

Kollege John_Paul weist hier im Kommentar und auf den Seiten der Jacobs University auf das gelungene Katalog-Widget jOPAC hin. Der Meinung von Christan Hauschke, dass das Widget „im deutschsprachigen Raum wirklich Maßstäbe setzt“ kann ich mich anschließen. Das Widget ist mit Hilfe von Netvibes Universal Widget API (UWA) programmiert und damit unter verschiedenen Widget-Engines (iGoogle, Netvibes, Windows Vista Sidebar, Apple Dashboard, Windows XP Yahoo Sidebar …) lauffähig. Ein Serverausfall bei Netvibes heute vormittag zeigte allerdings auch ein Manko vieler Mashups: Die Dienste fallen ab und zu mal aus. Wenn der UWA Quellcode von Netvibes auf einen eigenen Server kopiert wird, sollte eine Fehlerquelle minimiert sein. Auf den OPAC der Bibliothek der Jacobs University greift das Widget über einen eigenen Webservice zu, der wiederum per Z39.50 mit dem OPAC kommuniziert – es sollte also nicht sehr aufwändig sein, solch ein Widget auch für andere Bibliotheken anzubieten. Im Detail müsste man sich allerdings anschauen, welche Daten in welchem Format genau über Z39.50 abgefragt werden, da verwendet ja leider gerne jede(s/r) Bibliothek(ssystem/sverbund) seine eigenen Standards.

P.S: Nein, ich habe nichts mit der „Jacobs University“ zu tun, mein Name wird mit „k“ geschrieben 😉

Dynamische Kataloganreicherung mit Webservices

16. April 2008 um 17:36 3 Kommentare

Die Folien des Vortrags „Dynamische Kataloganreicherung mit Webservices“ am 15.4.2008 Berliner Bibliothekswissenschaftlichem Kolloquium (BBK) sind jetzt online bei Slideshare. In der aktuellen letzten iX (04/2008) gibt es einen Artikel zu Webschnittstellen, die dort erwähnten Sechs Wahrheiten über Freie APIs hätte ich auch noch aufnehmen sollen (auf die Nachteile von Webservices bin ich im Vortrag nicht eingegangen).

Eine Gute Übersicht von Webanwendungen, Widgets und Plugins, die Bibliotheken ihren Nutzern anbieten können, bietet die University of Texas Libraries, Austin. Vom Facebook-Widget bis zum Hinweis auf Zotero ist alles dabei und übersichtlich erklärt. Neue Widgets können direkt empfohlen werden und werden im Blog vorgestellt. Die Bibliothek ist unter Anderem auch Google Book Search-Partner und veröffentlicht Videos bei YouTube.

P.S: Und wo ich so sehr die Wichtigkeit von Standards betont habe: so sollte ein Standard nicht aussehen. Wie bei anderen Themen (Wikipedia-Artikeln, Kongress-veranstaltern etc.) reicht es nicht aus, auf den Namen des Herausgebers zu schauen, um Qualität von Müll unterscheiden zu können – ISO-„Standards“ sind beispielsweise nicht nur nicht frei zugänglich (und damit schon mal zweifelhaft) sondern in einigen Fällen eher das Gegenteil eines Standarts.

Web und Desktop wachsen zusammen

16. April 2008 um 14:25 4 Kommentare

Beim Zusammenlegen der Wikipedia-Artikel „Applet“, „Web-Widget“ und „Desktop-Widget“ zu einem Artikel „Widget“ (ggf. auch „Gadget“ oder „Plugin“, das Grundprinzip ist das Gleiche) ist mir aufgefallen, dass tatsächlich einiges dran an diesen kleinen Programmen, die sich in Windows Sidebar, Apple Dashboard, KDE Plasma, iGoogle, Facebook, Netvibes … oder eigene Webseiten einbinden lassen. Es handelt sich hierbei nicht nur um einen Hype, sondern um eine grundlegende Entwicklung, bei der Web und Desktop zusammenwachsen. Im Zuge der Webanwendungen ist schon länger die Rede davon, dass das Internet wird zum Betriebssystem wird – bisher sah ich das eher skeptisch, aber wenn man die Entwicklung etwas größer betrachtet, wird deutlich, dass da schon etwas Grundlegendes in Bewegung ist. Auf der einen Seite kommt der Desktop zu den Anwendungen ins Web (beispielsweise Google Docs oder die WordPress-Installation in der ich grade tippe) und auf der anderen Seite kommt das Web in Form von Anwendungen auf den Desktop. Da die Hersteller von Mobilgeräten hinsichtlich offener Schnittstellen noch rumzicken, bringt Google mit Android gleich ein eigenes (übrigens Linux-basiertes) Betriebssystem – die restlichen Anwender können Google Desktop als Widget-Plattform verwenden. Weitere Hinweise dieser Entwicklung sind die W3C Web Application Formats Working Group und ihr Entwurf zur Widgets 1.0 recommendation sowie Mozilla Prism, womit Webanwendungen auf den Desktop gebracht werden sollen. Welche Techniken und Systeme sich letzendlich durchsetzen werden, dürfte noch etwas offen bleiben. Um sich auf den grundsätzlichen Wandel vorzubereiten, bieten Widgets jedoch schon heute eine gute Möglichkeit – sollte man sich mal ansehen.

thingISBN is getting better – so does SeeAlso

17. Januar 2008 um 00:05 Keine Kommentare

Tim Spalding points out that thingISBN is getting better [via FRBR blog] – a good reason to update the thingISBN data of our SeeAlso Linkserver isbn2librarything. It now includes 2994299 ISBNs, that’s almost 12 times the size of the isbn2wikipedia linkserver. But what’s a linkserver? A linkserver is a server that gets an identifier (for instance an ISBN) and gives you links (for instance a link to a work at LibraryThing). You can try out some SeeAlso linkservers at a demo page or start to implement your own.

To get an impression, look in GBV union catalog, for instance this record: after a short moment, a link to German Wikipedia is included. More and more German libraries follow to include such additional links in their catalog. The Catalog of University Bremen includes both links to (German) Wikipedia and links to LibraryThing (you have to click at „weitere Informationen…“ at a selected record):

There is also an experimental ISBN2WorldCat linkserver. But linkservers that only send one or zero links are not very effective. I could combine multiple service to something like ISBN2SocialCataloging or such. Any suggestions for other services that libraries might not be frightened to link to? I’d also like to include more data in the link to LibraryThing (for instance the number of reviews) but unless German libraries wake up to ask for LibraryThing for Libraries I better not reimplement services that LibraryThing already offers.

The linkserver model could also be used to provide links to library holding and thus implement a FRBR-Manifestation to FRBR-Item mapping. As I just wrote at CODE4LIB and PER4LIB, a simple data format for holding information is needed to do so.

Heidelberger Katalog auf dem Weg zu Serviceorientierter Architektur

23. Dezember 2007 um 20:59 4 Kommentare

Die zunehmende Trennung von Bibliotheksdaten und ihrer Präsentation zeigt „HEIDI“, der Katalog der Unibibliothek Heidelberg. Vieles, was moderne Bibliothekskataloge bieten sollten, wie eine ansprechende Oberfläche, Einschränkung der Treffermenge per Drilldown, Permalinks, Exportmöglichkeit (u.A. direkt nach BibSonomy), RSS-Feeds und nicht zuletzt eine aktuelle Hilfe für Benutzer ist hier – zwar nicht immer perfekt, aber auf jeden Fall vorbildhaft – umgesetzt. Soweit ich es von Außen beurteilen kann, baut der Katalog auf zentralen Daten des Südwestdeutschen Bibliotheksverbundes (SWB) und lokalen Daten des lokalen Bibliothekssystems auf. Zum Vergleich hier ein Titel in HEIDI und der selbe Titel im SWB-Verbundkatalog. Aus dem Lokalsystem werden die Titeldaten mit Bestands- und Verfügbarkeitsdaten der einzelnen Exemplare angereichter, also Signatur, Medien/Inventarnummer, Standort, Status etc.:

Exemplardaten in HEIDI

Die tabellarische Ansicht diese Daten erinnert mich an WorldCat local, das sich zu WorldCat teilweise so verhält wie ein Bibliotheks-OPAC zu einem Verbundsystem. Hier ein Beispieldatensatz bei den University of Washington Libraries (und der gleiche Datensatz in WorldCat). Die Exemplardaten werden aus dem lokalen Bibliothekssystem als HTML-Haufen per JavaScript nachgeladen, das sieht dann so aus:

Exemplardaten in University of Washington Libraries

Bei HEIDI findet die Integration von Titel- und Exemplardaten serverseitig statt, dafür macht der Katalog an anderer Stelle rege von JavaScript Gebrauch. In beiden Fällen wird eine proprietäres Verfahren genutzt, um ausgehend von einem Titel im Katalog, die aktuellen Exemplardaten und Ausleihstati zu erhalten. Idealerweise sollte dafür ein einheitliches, offenes und webbasiertes Verfahren, d.h. ein RDF-, XML-, Micro- o.Ä. -format und eine Webschnittstelle existieren, so dass es für den Katalog praktisch egal ist, welches lokale Ausleih- und Bestandssystem im Hintergrund vorhanden ist. Die Suchoberfläche greift damit als als ein unabhängiger Dienst auf Katalog und Ausleihsystem zu, die ihrerseits eigene unabhängige Dienste mit klar definierten, einfachen Schnittstellen bereitstellen. Man spricht bei solch einem Design auch von „Serviceorientierter Architektur“ (SOA), siehe dazu der Vortrag auf dem letzten Sun-Summit. Eigentlich hätte beispielsweise die IFLA sich längst um einen Standard für Exemplardaten samt Referenz-implementation kümmern sollen, aber bei FRBR hat sie es ja auch nicht geschafft, eine RDF-Implementierung auf die Beine zu stellen; ich denke deshalb, es wird eher etwas aus der Praxis kommen, zum Beispiel im Rahmen von Beluga. Der Heidelberger Katalog setzt SOA noch nicht ganz um, geht allerdings schon in die richtige Richtung. Beispielweise wird parallel im Digitalisierten Zettelkatalog DigiKat gesucht und ggf. ein Hinweis auf mögliche Treffer eingeblendet. Wenn dafür ein offener Standard (zum Beispiel OpenSearch oder SRU) verwendet würde, könnten erstens andere Kataloge ebenso dynamisch zum DigiKat verweisen und zweitens in fünf Minuten andere Kataloge neben dem DigiKat hinzugefügt werden.

Ein weiteres Feature von HEIDI sind die Personeneinträge, von denen auf die deutschsprachige Wikipedia verwiesen wird – hier ein Beispiel und der entsprechende Datensatz im SWB. Die Verlinkung auf Wikipedia geschieht unter Anderem mit Hilfe der Personendaten und wurde von meinem Wikipedia-Kollegen „Kolossos“ erdacht und umgesetzt. Ãœber einen statischen Link wird eine Suche durch einen Webservice angestossen, der mit Hilfe der PND und des Namens einen passenden biografischen Wikipedia-Artikel sucht. Ich könnte den Webservice so erweitern, dass er die SeeAlso-API verwendet (siehe Ankündigung), so dass Links auf Wikipedia auch nur dann angeboten werden, wenn ein passender Artikel vorhanden ist. Für einen verlässlichen und nachhaltigen Dienst ist es dazu jedoch notwendig, dass der SWB seine Personenangaben und -Normdaten mit der PND zusammenbringt. Natürlich könnte auch nach Namen gesucht werden aber warum dann nicht gleich den Namen einmal in der PND suchen und dann die PND-Nummer im Titel-Datensatz abspeichern? Hilfreich wäre dazu ein Webservice, der bei Ãœbergabe eines Namens passende PND-Nummern liefert. Die Fälle, in denen eine automatische Zuordnung nicht möglich ist, können ja semiautomatisch gelöst werden, so wie es seit über zwei Jahren der Wikipedianer APPER mit den Personendaten vormacht. Hilfreich für die Umsetzung wäre es, wenn die Deutsche Nationalbibliothek URIs für ihre Normdaten vergibt und ihre Daten besser im Netz verfügbar macht, zum Beispiel in Form einer Download-Möglichkeit der gesamten PND.

P.S.: Hier ist testweise die PND-Suche in Wikipedia als SeeAlso-Service umgesetzt, zum Ausprobieren kann dieser Client verwendet werden, einfach bei „Identifier“ eine PND eingeben (z.B. „124448615“).

Chatbox als Widget im Katalog

10. Dezember 2007 um 11:07 Keine Kommentare

Lambert weist in Netbib auf die Widget-basierte Einbindung einer Chatbox im Katalog hin, wenn eine Suche keine Treffer liefert. Ein schönes Beispiel dafür, wie einzelne Dienstleistungen als eigenständige Services angeboten und kombiniert werden können. Mit der Ende September vorgestellte Universal Widget API (UWA) könnte das etwas einfacher werden. Dass trotz aller Begeisterung nicht jeder Service in jedem Kontext sinnvoll ist, dürfte klar sein – ein Haufen Widgets macht noch keine Bibliothek, dafür sind Bibliothekare notwendig, die eigene Ideen für Services und Widgets entwickeln und bestehende Dienste ausprobieren – die konkrete Programmierung neuer Widgets kann ja gerne Experten überlassen werden, aber Existierendes zusammenführen, Ausprobieren, Diskutieren, und Ideen entwickeln kann nicht einigen Wenigen überlassen werden!

Von Göttinger Tier-Feeds und Hannoveraner Bibliotheks-Mashups

6. Dezember 2007 um 17:32 1 Kommentar

Während der soeben beendeten, zweiten VZG-Fortbildung zu RSS, Feeds und Content Syndication (die Folien sind schon mal bei Slideshare) wollte ich bei Feedblendr zur Demonstration einen aggregierten Feed zur Stadt Göttingen zusammenstellen. Als erster Treffer bei Google Blogsearch kam dazu zufälligerweise eine Mitteilung über die in Hamm, Oldenburg und Göttingen verfügbare Onleihe (von der Göttinger Stadtbücherei hatte ich dazu schon gestern eine Mail bekommen). Zu den weiteren Entdeckungen gehört, das Göttinger „Tierheim 2.0„, wo Hunde, Katzen und Kleintiere per RSS-Feed abonniert werden können: „Feed the animals„!

Bei einer Google-Suche nach der (leider etwas schwer auffindbaren) Seite der Bibliothek im Kurt-Schwitters-Forum Hannover bin ich dann auf das Weblog Bibliotheken in Hannover gestoßen, in dem Christian Hauschke und Manfred Nowak vom Workshop „Social Software in hannoverschen Bibliotheken“ berichten. Christians Ausführungen zu Lageplänen mit Google Maps (einen Lageplan in Google Maps einzuzeichnen, dauert auch ohne Vorkenntnisse höchstens zwanzig Minuten) möchte ich um eine Mashup-Idee ergänzen, die ich bereits neulich in meiner Lehrveranstaltung vorgestellt habe: Mit dem Perl-Modul PICA::Record lässt sich der Gesamtkatalog Hannover über SRU nach Bestandsdaten durchsuchen – dazu ist lediglich in diesem Beispielskript die Datenbank 2.92 statt 2.1 auszuwählen. Die so ermittelten Bibliotheken können dann mit etwas Bastelei in Google Maps angezeigt werden. Statt oder neben einer Liste der Bestandsnachweise wird dann zu einem Titel geografisch angezeigt, in welcher Bibliothek das Buch vorhanden ist. Mit Zugriff auf die Exemplardaten in den einzelnen OPACs könnte sogar noch angezeigt werden, ob ausleihbare Exemplare gerade vorhanden sind – wie das im Ansatz geht, steht in diesen Folien.

Linking to Wikipedia via ISBN

5. Dezember 2007 um 19:52 2 Kommentare

Two weeks ago I announced a new beta webservice for linking from title data to German Wikipedia articles that cite a given work by ISBN. Now Lambert pointed me to a message by Eric Hellmann about xISBN supporting links to the English Wikipedia since last week. This makes GBV one week earlier then OCLC and both of us ten month later then LibraryThing. The idea is not new but based on the work of Lars Aronsson, Spiritus rector of future library systems.

The three services have been developed partly parallel based on some same code. Here are two examples of the xISBN service by Xiaoming Liu and the GBV service that I am developing. xISBN is based on a powerfull API with many query parameters and planned to be part of WorldCat Grid Services (more about this maybe here, here, here, and here), while my service is based on a simple API called SeeAlso which is based on OpenSearch Suggestions and unAPI. Both approaches have their pros and cons. I will provide more information as soon as our server is more stable and the scripts are clean enough to get published at CPAN. Meanwhile I encourage everyone to play with OCLC’s xISBN (via an API of its own), WorldCat Idenities (via SRU), LibraryThing for Libraries (via an API of its own), available catalouges (via Z39.50, via SRU and via other APIs), the Wikipedia Query API, and the growing number of other services. Let’s mash up the library systems for the future!

Mehr zu Schnittstellen von Bibliothekssystemen

14. September 2007 um 11:47 5 Kommentare

Angeregt durch eine Frage zu SNLP auf Inetbib habe ich anknüpfend an meine vorhergehenden Überlegungen etwas weiter im Netz nach Schnittstellen zu Bibliothekssystemen recherchiert. Leider steht der Grad deren Dokumentation im umgekehrten Verhältnis zu ihrer Vielfalt. Die von Marshall Breeding publizierte Übersicht von Bibliothekssystemen ist auch nicht gerade vollständig, so hat er anscheinend von PICA noch nicht gehört. Deshalb erheben folgende Funde auch keinen Anspruch auf Vollständigkeit:

Zunächst einmal sind als Suchprotokolle das altehrwüdige Z39.50 und dessen Nachfolger SRU/SRW zu nennen. Zum asynchronen Abholen von Metadaten gibt es OAI-PMH. OAI wurde im Rahmen der Open Access- Bewegung für Preprint-Server eingesetzt und wird noch immer vor allem für Dokumentenserver eingesetzt. Etwas zwischen Schnittstelle und Format ist OpenURL angesiedelt, das für Linkresolver entwickelt wurde und inzwischen mit COinS auch zur Übertragung von Metadaten verwendet wird.

Was weitere Schnittstellen angeht sieht es leider etwas dürftig aus was die freie Verfügbarkeit betrifft. Die SirsiDynix-Werbeseite auf der statt auf Dokumentation auf Fortbildungen verwiesen wird, finde ich da symptomatisch: Es gibt zwar überall etwas aber jedes System hat seine eigene Schnittstelle, auf die sowieso nicht von Außen zugegriffen werden kann. Dazu gehört auch das Simple Library Network Protocol (SLNP), welches als interne API für Bibliothekssysteme der Sisis Informationssysteme GmbH entwickelt wurde und inzwischen auch von anderen Systemen wie Aleph, Bibliotheca unterstützt wird, um die Fernleihe zu koordinieren. Das alles spielt sich aber rein intern ab und hat mit Web 2.0 und Bibliotheks-Mashups noch nichts zu tun.

Auch im Open-Source-Bereich sieht es nicht besser aus. Für Koha ist bislang nur eine API geplant und die OpenSRF benannte API des ebenfalls freien Evergreen ist in seiner Unübersichtlichkeit und Komplexität auch eher für interne Zwecke gedacht. Die Talis API (siehe Dokumentation) sieht ganz gut durchdacht aus und wäre wahrscheinlich für viele Anwendungen brauchbar, aber ich kenne kein Bibliothekssystem, das sie unterstützt – dass so im luftleeren Raum dauerhaft verlässliche Schnittstellen entstehen, bezweifle ich. Etwas besser sieht die Open Library WebServices aus, die Oliver Flimm zur Anbindung von SISIS-Systemen an OpenBib entwickelt hat.

Worauf ich jedoch warte sind weitere Schnittstellen, die ohne großen Aufwand als Webservices auch von Außen benutzt können. Beispielsweise wäre nicht nur für Anbieter wie Bücherwecker eine API hilfreich, mit der Nutzer ihre Ausleihen samt Rückgabedatum abfragen können. Glücklicherweise hat – wie dem Vortrag von Norbert Weinberger auf der GBV Verbundkonferenz zu entnehmen ist – auch OCLC die Zeichen der Zeit erkannt und will in Zukunft mit einem „WorldCat Grid“ mehr in Richtung Serviceorientierte Architektur gehen. Ich bin gespannt, was sich da alles ergibt.

Falls keine API existiert oder diese nicht ausreichend dokumentiert ist, muss man wohl erstmal direkt auf die interne Datenbank des Bibliothekssystems zugreifen und selber etwas stricken. Das ist in der Regel aber nur dem Anbieter möglich und stellt keine nachhaltige Lösung dar. Bei Horizon soll das ganz gut gehen, hab ich mir sagen lassen. Möglicherweise kann auch noch mehr aus den Katalogdaten rausgeholt werden, die über Z39.50 oder SRU erhältlich sind. Bei PICA-Systemen steht der Ausleihstatus eines Mediums (ausleihbar, ausgeliehen, Präsenzbestand…) zum Beispiel anscheinend in Feld 201@, so sicher bin ich mir da aber nicht.

Für weitere Recherchen zum Thema habe ich im GBV Wiki habe ich vor einigen Wochen etwas mehr zu Webservices zusammengesammelt.

Eingeschlossene Nutzer im Datengrab Web 2.0

28. August 2007 um 00:51 1 Kommentar

Gestern Nacht hat überraschend Blogscout seinen Dienst eingestellt. Ich hatte den kostenlosen, privaten Dienst bei Markus kennengelernt und gerne genutzt, um zu schauen, von wo und wie oft mein Blog aufgerufen wird und über welche Suchanfragen and Referrer die Besucher kommen – beispielsweise wollen sie wissen, wer Bundeskanzler ist. Jetzt sind diese ganzen Statistiken weg. Das Beispiel erinnert mich daran, dass inzwischen statt Software Webservices und Daten im Zentrum stehen. Die wenigsten Webanwendungen bieten jedoch eine vollständige Exportfunktion, um die Daten auch wieder herauszubekommen. Und selbst dann ist der vollständige Umstieg auf einen anderen Dienst problematisch. Für Backups ist anscheinend der Anbieter des Webservices da (im Zweifellsfall haben die Amerikaner und Chinesen jeweils noch eine Kopie). Ein wenig erinnert mich das an die Microsoft-Produkte, deren Dateiformate den Softwarewechsel auch stark behindert haben. Tim O`Reilly hat es in einem Wired-Interview im April auf den Punkt gebracht: Web 2.0 Is About Controlling Data (aufgegriffen aber bisher nicht viel weitergesponnen von einigen Bibliotheken).

Idealerweise sollten nicht nur die Daten wieder aus dem Webdienst heraus und in eine eigene Anwendung hereinkommen sonder gleich die ganze Webanwendung frei sein. Ein Beispiel dafür ist LiPost, das man sich auch auf dem eigenen Server installieren kann. Für freie Software, die unter der Affero GPL (AGPL) lizensiert ist, ist die Zur-Verfügung-Stellung des Quelltextes bei einer Anwendung als Webdienst sogar zwingend.

Eine ausführlichere Auseinandersetzung mit dem Problem, dass Web 2.0 die durch Freie Software gewonnene Freiheit bedroht, findet sich im Artikel Free Software and the Web von Alejandro Forero Cuervo.