Nach der Integration von QR-Codes in den KUG vor wenigen Tagen haben wir nach weiteren praktischen Verwendungsmöglichkeiten im Umfeld eines Bibliothekskatalogs gesucht. Neben Text und URL’s lassen sich mit QR-Codes auch andere Inhalte transportieren. Besonders interessant erschien uns der Transport von Kalenderdaten, da sich diese in einem Kernbereich eines Katalogs – dem Ausleihkonto – befinden.
Vorgemacht hatte die Kopplung eines Ausleihkontos mit einem (eigenen) Kalender die Anwendung EDsync, die neben der Anzeige der Entleihungen u.a. auch Anzeige von Gebühren, Verlängerung per Knopfdruck sowie VoiceOver für sehbehinderte Menschen bietet. EDsync ist jedoch nur für MacOS und iPhone verfügbar.
Damit unsere Nutzer die Leihfristenden ihrer entliehenen Medien besser im Blick behalten können, haben wir für das Ausleihkonto unseres Katalogs zunächst eine weitere Ausgabemöglichkeit im iCalendar-Format integriert. Das war schnell gemacht, da lediglich ein weiterer Übergabeparameter für das neue Format und ein korrespondierender Abschnitt im Ausgabetemplate für die Entleihungen hinzugefügt werden musste.
Ein Nutzer kann damit per Knopfdruck einen Kalender seiner Entleihungen herunterladen und – dank der Verwendung des iCalendar-Standards – in ein beliebiges Kalender-Programm importieren. Um eine bestmögliche Kompatibilität sicherzustellen, wurde das von OpenBib generierte iCalendar-Format mit einem besonders kritischen Validator überprüft und konnte dort einen Kompatiblität von 100% erreichen. Wichtig ist u.a.:
- Standard-Zeichenkodierung ist UTF8
- Zeilenenden sind mit CRLF kodiert
- Zeilen dürfen nicht länger als 78 Octets sein, können aber über spezielle Zeichen in der nächsten Zeile weitergehen
- Doppelpunkte und Kommas müssen mit Backslash escaped werden
- PRODID ist zwingend
Bei der Erzeugung des Kalenders wurde aus Gründen der Unaufdringlichkeit bewusst auf das Setzen eines Erinnerungs-Alarms verzichtet.
Um in einem zweiten Schritt auch mobil einen möglichst schnellen und unkomplizierten Snapshot der Leihfristenden in den eigenen Smartphone-Kalender anbieten zu können, fiel unsere Wahl sofort auf den QR-Code. Kein Abtippen, kein Rumsurfen – einfach abknipsen und gut.
Auf die Problematik von QR-Codes und Kalenderdaten hatte kürzlich Christian Hauschke im Kontext weiterer Anwendungsmöglichkeiten von QR-Codes berichtet. Sie liegt darin, dass
- es keinen definierten Standard für die Kodierung von Kalenderdaten in QR-Codes gibt. Neben der Möglickeit einen normalen standardkonformen iCalendar zu verwenden, wird z.B. vorgeschlagen BEGIN/END:VCALENDAR wegzulassen
- es zwar QR-Code-Generatoren gibt, die iCalendar generieren, aber nicht jede Readersoftware kommt damit zurecht. Oft (i-nigma, kaywa Reader) wird der Kalendereintrag dann nur als einfacher Text angezeigt und kann nicht in den Smartphone-Kalender übernommen werden.
- QR-Codes für manche Ausleihkontos mit mehreren hundert Medien schlicht zu klein sein können (ja, das gibts…)
All das spricht dagegen, die Kalenderinformationen direkt in einen QR-Code zu packen. Die direkte Platzierung der Information wäre sonst eigentlich der bevorzugte Weg gewesen. Andererseits verarbeiten die Smartphones einen per Web-Browser aufgerufenen iCalendar mit Mime-Type text/calendar normalerweise problemlos. Als QR-Code muss dann nur der URL zum Kalender kodiert werden.
Da die Ausleihdaten sehr privat und dementsprechend sensibel zu handhaben sind, darf nur ein autorisierter Zugriff auf den Kalender ermöglicht werden. Hier gab es zwei Varianten. Entweder sitzungsbasiert (SessionID) oder zustandslos (HTTP). Um dem Nutzer eine weitere Authentifizierung mit Benutzername und Passwort zu ersparen, haben wir den Weg über die SessionID gewählt.
Jenseits dieses neuen Betriebssystem- und Smartphone-übergreifenden Angebots im KUG steht der zusätzlichen Integration in dedizierte iPhone, Android, Symbian, etc. Anwendungen ala EDsync eigentlich nur die Schnittstellenproblematik entgegen. Bei der Definition oder Einigung auf konkrete offene und frei verwendbare Schnittstellen ist eine noch intensivere mobile Kopplung mit dem Katalog sicherlich zukünftig mit wenig Aufwand möglich.