Test: Kompatibilität und Unterstützung von QR Code vCards durch gängige QR Code-Reader, Android 4.1 Kontakte

Diese Testreihe soll ermitteln, welche der am weitesten verbreiteten QR Code-Reader welche vCard 2.1-Features unterstützen. Die Unterstützung bei vCard-Versionen > 2.1 ist allgemein so schlecht, dass diese erst gar nicht getestet werden. Zudem sind vCards der Versionen 3.0 und 4.0 meist nochmals deutlich umfangreicher, weshalb sich schwerer zu scannende QR Codes ergeben. QR Code-Vistenkarten bzw. in einem QR Code gespeicherte vCards sollen mit diesen und weiteren Test weiter optimiert werden.

Die folgenden Tabellen beschreiben:

  1. Erkennt der QR Code-Reader die in der vCard gespeicherten Daten?
  2. Werden Attribute zu einem Datensatz ausgelesen (z.B. Privat, geschäftlich…)?
  3. Werden die erkannten Daten und Attribute in das Adressbuch des Smartphones korrekt übernommen?

Grundlegend

Test 1

BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
EMAIL:max.mustermann@example.com
URL:http://www.example.net
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
END:VCARD
Barcode Scanner 4.2 RedLaser 3.1.1 i-nigma 3.16.02 QuickMark 4.3.4
Adresse erkannt, privat erkannt, privat erkannt, sonstige :!: erkannt, privat, ohne Space zwischen PLZ/ORT
E-Mail erkannt, privat erkannt, privat erkannt, sonstige erkannt, privat
URL Unter Notizen abgelegt :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert

Test 2

BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
TEL;CELL:+49 163 1737743
TEL;WORK;VOICE:+49 123 7654321
TEL;HOME;VOICE:+49 123 123456
TEL;WORK;VOICE:+49 721 75407430
TEL;FAX:+49 123 999888
EMAIL:work@example.org
URL:http://example.com
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
ORG:ACME Inc.
ROLE:CEO
END:VCARD
Barcode Scanner 4.2 RedLaser 3.1.1 i-nigma 3.16.02 QuickMark 4.3.4
Adresse erkannt, privat erkannt, privat erkannt, sonstige :!: erkannt, privat, ohne Space zwischen PLZ/ORT
E-Mail erkannt, privat erkannt, privat erkannt, sonstige erkannt, privat
URL Unter Notizen abgelegt :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert
Tel, cell erkannt, mobil erkannt, mobil erkannt, mobil :!: erkannt, aber als geschäftsnummer
Tel, work1 erkannt, geschäftlich erkannt, geschäftlich erkannt, geschäftlich :!: erkannt, aber als privatnummer
Tel, home erkannt, privat erkannt, privat erkannt, privat :!: erkannt, aber als mobilnummer
Tel, work2 :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert
Fax :!: erkannt, aber nicht in Kontakt gespeichert :!: erkannt, aber nicht in Kontakt gespeichert :!: wird nicht verarbeitet :!: erkannt, aber nicht in Kontakt gespeichert
Organisation erkannt erkannt erkannt erkannt
Stellung :!: wird nicht verarbeitet :!: wird nicht verarbeitet erkannt :!: wird nicht verarbeitet

Zwischenfazit

  • Offensichtlich hat die Reihenfolge der Telefonnummern Einfluss auf die Kategorisierung bei Quickmark. Ähnliches habe ich auch schon bei RedLaser beobachten können (weswegen die aktuelle Reihenfolge so überhaupt festgelegt) wurde. Es gilt, eine Reihenfolge bei den Telefonnummernangaben finden, mit der sowohl RedLaser als auch QuickMark umgehen können und ob sich das Verhalten ohne Fax oder zweite Work-Nummer ändert.
  • Mangels Unterstützung sollte man folgende Angaben streichen:
    1. Stellung/Position
    2. Fax
    3. zweite geschäftliche Nummer
  • Um auf eine optisch gerade Anzahl von Eingabefeldern auf unseren QR Code Generator zu kommen und eine nützliche Angabe hinzuzufügen lohnt es sich ggf, mit einer zweiten E-Mail-Angabe zu experimentieren

1. Stellung/Position 2. Fax 3. zweite geschäftliche Nummer

Optimierungsversuch

  • Streichen von
    1. Stellung/Position
    2. Fax
    3. zweite geschäftliche Nummer
  • Hinzufügen einer zweiten E-Mail-Adresse
  • Unterscheidung zwischen privater und geschäftlicher E-Mail-Adresse.

Test 1

BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
TEL;WORK;VOICE:+49 123 7654321
TEL;CELL:+49 163 1737743
TEL;HOME;VOICE:+49 123 123456
EMAIL;HOME;INTERNET:max.mustermann@example.com
EMAIL;WORK;INTERNET:work@example.org
URL:http://example.com
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
ORG:ACME Inc.
END:VCARD
Barcode Scanner 4.2 RedLaser 3.1.1 i-nigma 3.16.02 QuickMark 4.3.4
Adresse erkannt, privat erkannt, privat erkannt, sonstige :!: erkannt, privat, ohne Space zwischen PLZ/ORT
E-Mail (privat) erkannt, privat erkannt, privat erkannt, privat :!: erkannt, aber als geschäftadresse
E-Mail (work) erkannt, geschäftlich erkannt, geschäftlich erkannt, geschäftlich :!: erkannt, aber als privatadresse
URL erkannt, unter Notizen abgelegt :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert
Tel, work erkannt, geschäftlich :!: erkannt, mobil erkannt, geschäftlich :!: erkannt, aber als privatnummer
Tel, cell erkannt, mobil :!: erkannt, geschäftlich erkannt, mobil :!: erkannt, aber als geschäftsnummer
Tel, home erkannt, privat :!: erkannt, privat erkannt, privat :!: erkannt, aber als mobilnummer
Organisation erkannt erkannt erkannt erkannt

Die Angaben werden also alle verarbeitet, aber die Attributszuordnung von RedLaser und QuickMark versagt, so dass die Angaben falsch kategorisiert werden (privat vs. geschäftlich etc.). Es gilt nun also eine Reihenfolge zu finden, die den kaputten Parsern entgegenwirkt.

Test 2

  • Reihgenfolge der E-Mail-Adresse vertauscht
  • Reihenfolge der Telefonummern auf „privat, work, cell“ geändert
BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
TEL;HOME;VOICE:+49 123 123456
TEL;WORK;VOICE:+49 123 7654321
TEL;CELL:+49 163 1737743
EMAIL;WORK;INTERNET:work@example.org
EMAIL;HOME;INTERNET:max.mustermann@example.com
URL:http://example.com
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
ORG:ACME Inc.
END:VCARD
Barcode Scanner 4.2 RedLaser 3.1.1 i-nigma 3.16.02 QuickMark 4.3.4
Adresse erkannt, privat erkannt, privat erkannt, sonstige :!: erkannt, privat, ohne Space zwischen PLZ/ORT
E-Mail (work) erkannt, geschäftlich :!: erkannt, privat erkannt, geschäftlich :!: erkannt, privat
E-Mail (privat) erkannt, privat :!: erkannt, geschäftlich erkannt, privat :!: erkannt, geschäftlich
URL erkannt, unter Notizen abgelegt :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert
Tel, home erkannt, privat :!: erkannt, mobil erkannt, privat :!: erkannt, mobil
Tel, work erkannt, geschäftlich erkannt, geschäftlich erkannt, geschäftlich :!: erkannt, privat
Tel, cell erkannt, mobil :!: erkannt, privat erkannt, mobil :!: erkannt, geschäftlich
Organisation erkannt erkannt erkannt erkannt
  • RedLaser ignoriert die geschäftlich/privat E-Mail-Attribute:
    • er verarbeitet die erste E-Mail-Adresse immer als privat, die zweite immer als geschäftlich
  • QuickMark ignoriert die geschäftlich/privatE-Mail-Attribute nicht, scheint sie aber zu verdrehen (vgl. Test 1). Er sortiert auch um. Folglich kann man keinen Workaround für diesen Bug finden und man sollte daher RedLaser entgegen kommen.
  • RedLaser und QuickMark ignorieren die Telefon-Attribute bzw. ordnen diese falsch zu.
    • RedLaser verarbeitet mutmaßlich die erste Nummer immer als privat, die zweite immer als geschäftlich, die dritte immer als mobil
    • QuickMark verdreht die Attribute, analog zuer E-Mail-Adresse. Folglich kann man keinen Workaround für diesen Bug finden und man sollte daher RedLaser entgegen kommen. Dabei scheint der Fehler in der Speicherung bzw. Übergabe an das Adressbuch zu liegen, in der Übersicht ist zumindest die Telefonzuordnung OK.

Test 3

  • Reihenfolge der E-Mail-Adresse vertauscht (im Bezug auf Test2) bzw. wiederhergestellt (im Bezug auf Test1)
  • Reihenfolge der Telefonnummern auf „cell, work, home“ geändert, um RedLaser entgegen zu kommen
BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
TEL;CELL:+49 163 1737743
TEL;WORK;VOICE:+49 123 7654321
TEL;HOME;VOICE:+49 123 123456
EMAIL;HOME;INTERNET:max.mustermann@example.com
EMAIL;WORK;INTERNET:work@example.org
URL:http://example.com
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
ORG:ACME Inc.
END:VCARD
Barcode Scanner 4.2 RedLaser 3.1.1 i-nigma 3.16.02 QuickMark 4.3.4
Adresse erkannt, privat erkannt, privat erkannt, sonstige :!: erkannt, privat, ohne Space zwischen PLZ/ORT
E-Mail (privat) erkannt, privat erkannt, privat erkannt, privat :!: erkannt, geschäftlich
E-Mail (work) erkannt, geschäftlich erkannt, geschäftlich erkannt, geschäftlich :!: erkannt, privat
URL erkannt, unter Notizen abgelegt :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert :!: erkannt, aber nicht ins Adressbuch gespeichert
Tel, cell erkannt, mobil erkannt, mobil erkannt, mobil :!: erkannt, geschäftlich
Tel, work erkannt, geschäftlich erkannt, geschäftlich erkannt, geschäftlich :!: erkannt, privat
Tel, home erkannt, privat erkannt, privat erkannt, privat :!: erkannt, mobil
Organisation erkannt erkannt erkannt erkannt

Nachtrag

  • Bei den ursprünglichen Tests wurde eine falsche Adresszeile angegeben:
    ADR:Musterstraße 123;77777;Musterstadt

    Dabei lautet die Zuordnung anders: „The property value is a concatenation of the Post Office Address (first field) Extended Address (second field), Street (third field), Locality (fourth field), Region (fifth field), Postal Code (six field), and Country (seventh field) strings.“ also

    Postfach;Adresszusatz (?);Straße;Ort;Region;PLZ;Land

    Die eigentlichen Testergebnisse haben sich mit der korrigierten Zeile aber nicht geändert:

    ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
  • Zudem wurde noch das Attribut TITLE: getestet. Es funktioniert mit jedem Reader.

Fazit: Empfohlende vCard 2.1-Struktur

Basierend auf den Ergebnissen wird folgender vCard-Aufbau empfohlen und kann ggf. als Template genutzt werden:

BEGIN:VCARD
VERSION:2.1
FN:Max Mustermann
N:Mustermann;Max
TITLE:Dr.-Ing.
TEL;CELL:+49 163 1737743
TEL;WORK;VOICE:+49 123 7654321
TEL;HOME;VOICE:+49 123 123456
EMAIL;HOME;INTERNET:max.mustermann@example.com
EMAIL;WORK;INTERNET:work@example.org
URL:http://example.com
ADR:;;Musterstraße 123;Musterstadt;;77777;Deutschland
ORG:ACME Inc.
END:VCARD

Nicht benötigte Felder können einfach ausgelassen/gelöscht werden.