Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Universitat des SaarlandesNaturwissenschaftlich-Technische Fakultat I
Fachrichtung InformatikStudiengang Medieninformatik
Bachelorarbeit
YAVA: Yet Another Vegan App
vorgelegt von
Yannic Haupenthal
am 23. September 2013
Angefertigt unter der Leitung von
Prof. Dr. Antonio Kruger
Betreut von
Denise Paradowski
Begutachtet von
Prof. Dr. Antonio KrugerDr. Michael Schmitz
Eidesstattliche Erklarung
Ich erklare hiermit an Eides Statt, dass ich die vorliegende Arbeit selbststandig verfasst und
keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe.
Statement in Lieu of an Oath
I hereby confirm that I have written this thesis on my own and that I have not used any other
media or materials than the ones referred to in this thesis.
Einverstandniserklarung
Ich bin damit einverstanden, dass meine (bestandene) Arbeit in beiden Versionen in die Bi-
bliothek der Informatik aufgenommen und damit veroffentlicht wird.
Declaration of Consent
I agree to make both versions of my thesis (with a passing grade) accessible to the public by
having them added to the library of the Computer Science Department.
(Ort/Place, Datum/Date) (Unterschrift/Signature)
Abstract
Bei vegan lebenden Menschen ist es gerade in der Anfangszeit, nachdem die Entscheidung
getroffen wurde von nun an vegan zu leben, schwierig, sich im Supermarkt zurechtzufinden,
da ausgiebig die Inhaltsstoffe aller zu konsumierenden Produkte genaustens studiert werden
mussen. Und auch nach diesem Studium kann es immer noch sein, dass das Produkt nicht
vegan ist, da etwa tierische Stoffe in der Herstellung benutzt wurden, die allerdings nicht
deklariert werden mussen. Um dies zu klaren sind ublicherweise Produktanfragen an den*die
Hersteller*in von Noten oder eine vorherige Recherche im Internet, sofern nicht auf dem Pro-
dukt explizit angegeben wurde, dass es vegan ist oder es durch gewisse Zutaten unvegan ist.
Auch die verwandten Arbeiten, die in dieser Arbeit betrachtet werden, losen diese Probleme
nicht, da sie nicht oder nur teilweise uber vegane Daten verfugen und wenn, diese nicht mit
Produktanfragen oder ahnlichen Quellen belegt sind. Diese Daten sind auch nicht lizenzfrei,
d. h. zur freien Benutzung verfugbar.
Daher wird in dieser Arbeit eine lizenzfreie Produktdatenbank mit dem Namen”YAVA: Yet
Another Vegan App“ vorgestellt, die automatisch nach der Eintragung eines Produktes die
Veganitat, d. h. ob und wie ein Produkt vegan ist, aus den Zutateninformationen berechnen
bzw. die Veganitat durch Produktanfragen und Kommentaren belegen kann. Die Produktan-
fragen konnen dazu dynamisch generiert und an die Hersteller*innen versendet werden.
Durch die mobile App, die im Supermarkt dazu verwendet werden kann, ein Produkt anhand
des Barcodes auf die Veganitat hin zu uberprufen, und der Datenbank im Hintergrund wird
das Problem gelost, welches am Anfang beschrieben wurde.
Im letzten Teil dieser Arbeit wird beschrieben, wie auf der Basis dieser Arbeit andere Arbeiten
aufgebaut werden konnen bzw. wie YAVA erweitert werden kann.
Die Tiere standen dann beim Abladen ganz still erschopft und eins, das, welches blutete,
schaute dabei vor sich hin mit einem Ausdruck in dem schwarzen Gesicht und den sanften
schwarzen Augen, wie ein verweintes Kind. Es war direkt der Ausdruck eines Kindes, das
hart bestraft worden ist und nicht weiß, wofur, weshalb, nicht weiß, wie es der Qual und der
rohen Gewalt entgehen soll . . .
— Rosa Luxemburg (1871 - 1919) [Lux20] —
Danksagung
Ich bedanke mich bei meiner Betreuerin Denise Paradowski fur ihr andauerndes fachliches
Feedback und ihre sehr hilfreiche konstruktive Kritik sowie Prof. Dr. Antonio Kruger fur seine
wegweisenden Ideen und die Moglichkeit, diese Arbeit an seinem Lehrstuhl zu schreiben.
Ebenso danke ich Dr. Michael Schmitz fur die Zweitkorrektur.
Dank geht auch an alle Tester*innen, die mir wertvolles Feedback gegeben haben, wodurch
ich diese Arbeit noch verbessern konnte.
Tom Bradschetl, Jarno Riefer, Markus Schnalke, Sebastian Wendland, Christian Wiwie und
Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und zundenden Ideen.
Ich danke meinen Freund*innen fur ihre andauernde Unterstutzung wahrend des Schreibens
dieser Arbeit.
Letztlich mochte ich mich bei meiner Familie bedanken, die mir in allen Situationen zur Seite
stand und mich bei allem, was ich tue, unterstutzt.
Ich widme diese Arbeit allen nichtmenschlichen Tieren,
die unter oder wegen menschlichen Tieren leiden mussen.
Inhaltsverzeichnis
1 Einleitung 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Ziel der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Grundlagen 5
2.1 Veganismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Produktanfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Veganitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Technische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Barcode und -Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 PhoneGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 OAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Verwandte Arbeiten 11
3.1 barcoo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 das-ist-drin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 EuLa-Armband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 MENSSANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Konzept 19
4.1 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Integration in das Innovative Retail Laboratory . . . . . . . . . . . . . . . . . . 21
4.3 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.1 Startseite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3.2 Produktanzeige . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Funktionsumfang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.1 Produktsuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4.2 Registrierung & Anmeldung . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.3 Produktverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4.4 Ermittlung der Veganitat eines Produktes . . . . . . . . . . . . . . . . . 24
4.4.5 Erstellung von Zutaten und -informationen . . . . . . . . . . . . . . . . 24
4.4.6 Generierung von Produktanfragen . . . . . . . . . . . . . . . . . . . . . 24
4.4.7 Kommentare erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4.8 Gamifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4.9 Hersteller*in anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Implementierung 27
5.1 Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Mobile App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Webanwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.1 Registrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.2 Gamifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3.3 Extraktion von Zutateninformationen und -veganitaten . . . . . . . . . 30
5.3.4 Generierung von Produktanfragen und Berechnung der Veganitat . . . . 33
5.3.5 Kommentarerstellung und Veganitatsbestimmung . . . . . . . . . . . . . 35
5.3.6 Ermittlung der Produkt-Veganitat . . . . . . . . . . . . . . . . . . . . . 36
5.3.7 Internationalisierung/Lokalisierung . . . . . . . . . . . . . . . . . . . . . 37
5.4 Integration in das Innovative Retail Laboratory . . . . . . . . . . . . . . . . . . 38
5.5 Technische Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 Lizenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6 Diskussion & Evaluation 41
6.1 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7 Zusammenfassung & Ausblick 47
7.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.1 Computerlinguistische Verbesserungen . . . . . . . . . . . . . . . . . . . 48
7.2.2 Veganitatsbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.3 OCR und -Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Abbildungsverzeichnis i
Tabellenverzeichnis iii
Liste der Algorithmen v
Abkurzungsverzeichnis vii
Anhang ix
Beispiel-Produktanfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Literaturverzeichnis xiii
Websites xv
1 Einleitung
1.1 Motivation
Als vegan lebender Mensch ist es oft schwer, vegane Produkte zu finden, wenn nicht schon
vorher im Internet recherchiert wurde. Und selbst danach ist nicht immer direkt ersichtlich, ob
ein Produkt vegan ist, denn die Zutaten konnen schlicht unbekannt oder in anderen Sprachen
abgedruckt sein, wie anhand der Beispiel-Zutatenliste einer Zahncreme in Abbildung 1.1 zu
sehen ist. Des Weiteren konnen sich unter den Zutaten Inhaltsstoffe befinden, die auch tierische
Bestandteile beinhalten (wie bspw.”Aroma“) oder sowohl auf tierischen, pflanzlichen als auch
mikrobiologischen Ausgangsmaterialien, die bei der Herstellung verwendet werden, basieren,
wie”Lecithin“,
”Milchsaure“ oder
”Mono- und Diglyceride von Speisefettsauren“ [10]. Oder es
wurde irgendwo im Herstellungsprozess etwas Tierisches verwendet, wie z. B. Gelatine oder
Eiklar bei der Schonung von Wein oder Fruchtsaften. Selbst fur den Vegetarismus ergeben sich
gewisse Schwierigkeiten, wenn z. B. ein Labenzym zur Gerinnung der Milch und damit der
Kaseherstellung dient, aus den Magen von geschlachteten Kalbern entnommen wird [Bre05,
S. 75].
Abbildung 1.1: Schwer verstandliche Zutatenliste am Beispiel der Zahncreme”Vitamin B12“
von”Sante“, selbst fotografiert
Eine Kampagne der Verbraucher*innenorganisation 1
”Foodwatch“ hat diese Probleme auf-
gezeigt, mit denen u. a. vegan oder vegetarisch lebende Menschen konfrontiert werden. So
werden z. B. Auszuge aus Schweineborsten/Federn zum Behandeln von Mehl oder tierische
Bestandteile als Tragerstoffe fur Aromen oder Vitamine benutzt [32].
Moglich macht dies u. a. das Gesetz, welches eine Volldeklaration aller Zutaten nicht vor-
schreibt [8]. Zusatzlich zu dieser fehlenden Volldeklaration steht – sofern kein Siegel oder
1Die Sprachform dieser Arbeit (mit Asterisk) versucht einseitige Sprachformen zu transzendieren und inklu-
diert auch Menschen abseits des binaren Geschlechtermodells [50, 55].
1
1 Einleitung
Label dazu aufgedruckt ist – auch nicht auf der Packung, ob an einem Produkt oder In-
haltsstoffen davon Tierversuche [5] durchgefuhrt wurden bzw. werden oder ob z. B. das oben
erwahnte Verfahren, das Klaren von Wein mit Hilfe von tierischem Eiweiß, bei der Herstellung
angewendet wurde.
Diese fehlenden Informationen machen einen Einkauf fur Verbraucher*innen, fur die diese
Dinge relevant sind, nicht gerade einfach.
Abhilfe schaffen dabei Anfragen an die Hersteller*innen, ob ein Produkt bspw. vegan ist oder
nicht. Diese liegen aber bislang verstreut auf Blogs oder Foren vor, wenn sie uberhaupt ver-
offentlicht wurden.
Zudem gibt es keine Produktdatenbank mit freien Daten, die einfach verwendet bzw. erweitert
werden konnte.
Die vorliegende Arbeit soll diese Lucke fullen, indem sie zu einem Produkt entsprechende
Informationen (mit Quellen bzw. Belegen) bereitstellt, welche im Supermarkt z. B. via Smart-
phone abgerufen werden konnen. Es stellt sich dabei die Frage, wie eine Produktdatenbank
aufgebaut werden kann, die Produkt- und andere Informationen zentral sammelt und auf
Grundlage dieser Daten automatisch ermitteln kann, ob ein Produkt vegan ist oder nicht und
wie diese Daten fur alle frei verfugbar gemacht werden und plattformunabhangig einsehbar
sein konnen.
1.2 Ziel der Arbeit
Das Ziel dieser Arbeit ist der Aufbau einer frei verfugbaren Produktdatenbank, um ahnliche
oder darauf aufbauende Arbeiten zu vereinfachen und so zu vermeiden, dass jedes Mal alle
Informationen erneut zusammengesucht und gespeichert werden mussen. Diese Produktda-
tenbank soll plattformunabhangig per Website und mobiler App erreichbar sein und von der
Community, d. h. den Nutzer*innen aufgebaut werden. Der Fokus liegt dabei auf Veganismus,
so soll automatisch bestimmt werden, ob ein Produkt vegan ist oder nicht.
Realisiert werden soll dies mit Hilfe einer Webanwendung und den dazugehorigen mobilen
Apps, wobei die Daten von den Nutzer*innen verwaltet werden konnen und bei Eingabe ei-
nes Produktnamens oder der zur Identifikation dienende Barcode Produktinformationen und
insbesondere Informationen daruber, ob und wie das Produkt vegan ist oder nicht angezeigt
werden.
1.3 Aufbau der Arbeit
In Kapitel 1 wurde die Motivation und das Ziel dieser Arbeit beschrieben.
Kapitel 2 erklart grundlegende Begriffe, darunter woher der Veganismus stammt und wie Ve-
ganismus und damit zusammenhangende Begriffe in dieser Arbeit definiert werden. Zudem
werden technische Grundlagen erlautert, die im vorliegenden Werk verwendet werden.
In Kapitel 3 wird die vorliegende Arbeit mit ahnlichen Arbeiten bzw. Angeboten anhand
verschiedener Kriterien verglichen und die Ergebnisse zusammengefasst.
Kapitel 4 stellt das Konzept dieser Arbeit detailliert vor, darunter die Anforderungen, die
2
1.3 Aufbau der Arbeit
gestellt werden und wie diese gelost werden konnen.
Kapitel 5 behandelt die Implementierung. Es wird beschrieben, wie das in Kapitel 4 vorgestell-
te Konzept umgesetzt wurde und wie diese Arbeit in das Innovative Retail Laboratory (IRL)
integriert wurde [25], [SSKK09].
Kapitel 6 diskutiert die aus der Implementierung resultierende Webanwendung und mobile
App und evaluiert diese anhand dem Feedback der Tester*innen.
In Kapitel 7 wird schließlich die Arbeit zusammengefasst und es werden diverse Moglichkeiten
vorgestellt, was auf Grundlage dieser Arbeit noch alles entwickelt, bzw. wie sie weiterentwi-
ckelt werden kann.
3
2 Grundlagen
Im Folgenden wird der Begriff”Veganismus“ und damit zusammenhangende Begriffe beschrie-
ben bzw. definiert. Ebenso werden technische Hilfsmittel, die in dieser Arbeit Verwendung
finden, erlautert.
2.1 Veganismus
Das Wort vegan leitet sich von dem englischen Wort vegetarian ab und wurde erstmals 1944
von Donald Watson publiziert [Wat44, S. 2]. Es sollte eine klare Abgrenzung zu den ‘klassi-
schen’ Ovo-Lakto-Vegetarier*innen sein [Bre05, S. 75 f.].
Veganismus bezeichnet eine Lebensweise, bei der der Konsum aller Tierprodukte abgelehnt
wird. Darunter fallen u. a. nicht nur Fleisch, Fisch, Eier, Milchprodukte, Honig und versteckte
Tierprodukte wie z. B. mit Gelatine geklarte Safte, sondern auch Kleidung und Gebrauchsge-
genstande wie Leder, Pelz, Daunen, Seide, Perlen, Horner, usw. Zudem werden Tierversuche
vor allem im Kosmetikbereich aber auch generell und die Zurschaustellung von Tieren z. B.
im Zirkus, Zoo und Tierkampf abgelehnt [Bre05, S. 74].
Der Vegetarierbund Deutschland (VEBU) geht im Moment (Juli 2013) von rund 7 Millionen
Vegetarier*innen (8-9 % der Bevolkerung) und etwa 800.000 Veganer*innen in Deutschland
aus [56].
2.1.1 Abgrenzung
Da der Begriff Veganismus nicht klar abgegrenzt ist und von jeder Person nach dem Motto
”Vermeide das Vermeidbare“ selbst festgelegt werden kann, erfolgt hier eine Definition, was
im Folgenden als vegan angesehen werden soll.
Im Folgenden bedeutet vegan, dass:
• keine tierischen Stoffe im Produkt vorhanden sind, auch keine undeklarierten
• keine tierischen Produkte im Herstellungsprozess verwendet wurden
Streng genommen sind auch folgende Verfahren unvegan:
• Dungung mit tierischen Produkten, z. B. Hirschhornsalz
• Tierversuche, z. B. fur Kosmetika
• Herstellung oder Gebrauch von unveganen Verpackungsmaterialien, z. B. kaseinhaltiger
Kleber bei Etiketten
• Rodung von Urwaldern bzw. Feldern zur Gewinnung von Rohstoffen, z. B. Palmol, da
dabei Tiere und deren Lebensraume zerstort werden
5
2 Grundlagen
• Herstellung von veganen Produkten mit Spuren von tierischen Produkten, die als War-
nung vor Kreuzkontaminationen bei Allergiker*innen angegeben werden mussen
Da diese Verfahren aber nur schwer zu kontrollieren sind und ihre Einbeziehung daher zu weit
fuhren wurde, wird sich auf die obige Definition beschrankt 1 [54].
2.1.2 Produktanfrage
Um herauszufinden, ob ein Produkt wirklich vegan ist, wird ublicherweise eine sogenannte Pro-
duktanfrage an die Hersteller*innen gestellt. Dies ist normalerweise eine einfache E-Mail mit
genauen Fragen z. B. nach den Inhaltsstoffen oder der Herstellung. Durch die Verbreitung der
sozialen Netzwerke konnen Produktanfragen auch direkt auf z. B. der”Fanpage“ bei Facebook
von einem Unternehmen gestellt werden. Ein Vorteil dabei ist die hohere Aufmerksamkeit,
die bei einer E-Mail meist nicht gewahrleistet ist. Eine Alternative ist das Kontaktformular
auf der Website des Unternehmens, welches das Produkt herstellt, sofern keine E-Mailadresse
angegeben ist.
Eine beispielhafte Produktanfrage, wie sie auch in dieser Arbeit verwendet bzw. automatisch
generiert wird, befindet sich im Anhang (siehe 7.2.3). Diese Produktanfrage wurde mit Hilfe
des Baukastensystems auf der Website der Tierrechtsinitiative Maqi erstellt [53].
2.1.3 Veganitat
Der Begriff Veganitat wurde schon in der Einleitung (siehe Abschnitt 1.2) erwahnt, soll hier
aber noch genauer definiert werden. Im Prinzip bedeutet Veganitat, wie bzw. ob ein Produkt
vegan ist. Dabei kann Veganitat in die vier Kategorien”vegan“,
”unvegan“,
”unklar“ und
”unbekannt“ eingeteilt werden, die in Tabelle 2.1 naher erlautert sind und so auch in dieser
Arbeit benutzt werden.
Woraus sich die Veganitat in dieser Arbeit genau zusammensetzt und wie sie berechnet wird,
wird im Konzept (siehe Kapitel 4) und der Implementierung (siehe Kapitel 5) beschrieben.
2.2 Technische Grundlagen
Um das bestehende System zur Identifikation von Produkten zu benutzen, was u. a. in allen
Einzelhandelsketten existiert, wird im Folgenden die Funktionalitat des Barcodes und eines
Barcodescanners beschrieben.
Anschließend wird die Software PhoneGap genauer betrachtet, mit der sich solch ein Scanner
schnell und einfach fur mehrere mobile Betriebssysteme bauen lasst, um die Plattformunab-
hangigkeit zu gewahrleisten.
Zum Schluss wird ein Authentifizierungsverfahren beschrieben, mit dem sich Nutzer*innen
auf der Website anmelden konnen, um die Produktdaten zu verwalten.
1In den Produktanfragen oder den Kommentaren kann dazu aber naturlich nachgefragt bzw. kommentiert
werden bzw. es kann ein Produkt gekauft werden, bei dem dies nicht der Fall ist.
6
2.2 Technische Grundlagen
Kategorie Erlauterung
vegan
• es befinden sich keine tierischen Zutaten in dem Produkt
• bei der Herstellung wurden keine tierischen Produkte verwendet
• die Angaben der Hersteller*in sind vollstandig, d. h. es wurden alle
Fragen ausreichend genau beantwortet
• es wurde seit der letzten Produktanfrage nichts an der Herstellung
oder den Zutaten geandert
unvegan
• es befindet sich mindestens eine unvegane Zutat in dem Produkt
• es wurde mindestens ein tierischer Stoff in der Herstellung verwen-
det
unklar
• mindestens eine Zutat ist unklar bzgl. der Veganitat
• es wurden noch nicht alle Fragen geklart
• die Angaben weichen von anderen Quellen ab oder sind veraltet
unbekanntes liegen keine naheren Informationen zu dem Produkt vor, insbesondere
keine Zutatenliste
Tabelle 2.1: Einteilung der Veganitat in vier Kategorien [52]
2.2.1 Barcode und -Scanner
Durch einen Barcode (auch Strichcode oder Balkencode genannt), der nur eine Nummer in
einem maschinenlesbaren Code enthalt, konnen Produkte identifiziert werden. Ein Beispiel-
Barcode ist in Abbildung 2.1 zu sehen.
4 019339 506035
Abbildung 2.1: Beispiel-Barcode: Kressesamen der Firma Davert
Barcodes werden u. a. im Lebensmittelhandel benutzt, um Produkte weltweit eindeutig zu
kennzeichnen und z. B. Preisen und anderen Informationen zuordnen zu konnen. Diese wer-
den u. a. in Form einer Global Trade Item Number (GTIN), worin auch die fruher genutz-
te European Article Number (EAN) enthalten ist, von der Organisation Global Standards
One (GS1) vergeben und verwaltet [39]. Informationen zu einer GTIN konnen z. B. uber die
offizielle Datenbank der GS1 (GEPIR) oder uber eine freie Datenbank, z. B.”OpenGTINDB“,
7
2 Grundlagen
eingeholt werden [38, 44].
Ein Barcode wie z. B. 4019339506035 mit der Codierung”EAN-13“ setzt sich dabei wie
folgt zusammen:
• 401: Landerprafix fur Deutschland [40]
• 9339: Betriebsnummer des Herstellers, wird von GS1 vergeben, kann auch aus 5 oder
6 Stellen bestehen
• 50603: Artikelnummer, wird vom Hersteller vergeben, abhangig von der Lange der
Betriebsnummer 3 bis 5 Stellen
• 5: Prufziffer
Auch in dieser Arbeit wird der Barcode als Identifikationsmittel verwendet.
2.2.2 PhoneGap
PhoneGap ist eine freie Software von Adobe, mit der eine native Mobile Application (App)
fur alle gangigen mobilen Betriebssysteme (u. a. iOS und Android) erstellt werden kann, ohne
jeweils eine eigene App in der jeweiligen Sprache zu schreiben [1]. Dazu wird einfach eine
Webanwendung mit HTML5, CSS3 und JavaScript (bzw. JavaScript-Bibliotheken) erstellt
und PhoneGap sorgt zusammen mit PhoneGap Plugins dafur, dass mit JavaScript auf native
Komponenten des mobilen Gerats (wie z. B. die Kamera) zugegriffen werden kann. Dieses
Verfahren ist in der Ubersicht in Abbildung 2.2 dargestellt.
Abbildung 2.2: Die Funktionalitat von PhoneGap in der Ubersicht [3]
8
2.2 Technische Grundlagen
Fur diese Arbeit werden hauptsachlich die Komponenten Netzwerk und Kamera benotigt, die
bei allen Systemen unterstutzt werden [2]. Ein PhoneGap Plugin sorgt zusammen mit diesen
Komponenten dafur, dass ein Barcode mit einer solchen App gescannt werden kann.
2.2.3 OAuth
OAuth ist ein Verfahren, durch welches das Registrieren bei vielen verschiedenen Websites
erleichtert wird, indem sich mit einer”offenen Identitat“ angemeldet wird, die von einem
Provider wie z. B. Google, bereitgestellt wird [36]. Dadurch entfallen fur Entwickler*innen z. B.
die Speicherungen von Passwortern, die teilweise immer noch mit alten Verfahren verschlusselt
werden. Nutzer*innen haben dadurch den Vorteil, sich nicht noch einen Anmeldenamen und
das dazugehorige Passwort zu merken.
In dieser Arbeit wird dieses Verfahren zum Anmelden benutzt, um anschließend neue Produkte
eintragen zu konnen oder schon vorhandene zu andern.
9
3 Verwandte Arbeiten
In diesem Kapitel werden zu dieser Arbeit relevante ahnliche Arbeiten, die durch ein tech-
nisches Identifikationsmittel Produkte finden und mit Informationen dazu anzeigen konnen,
verglichen.
Die Arbeit soll dabei jeweils einen Bezug zur Veganitat von einem Produkt aufweisen und
dies auch mit Quellen belegen konnen. Zudem soll die Arbeit eine mobile Anwendung be-
reitstellen, damit auch z. B. im Supermarkt nach einem Produkt gesucht werden kann. Des
weiteren sollen die Produktdaten in der jeweiligen Arbeit lizenzfrei erhaltlich sein, d. h. die
Daten konnen entweder per Application Programming Interface (API), also einer Program-
mierschnittstelle, oder als kompletter Speicherauszug aus der Datenbank bezogen werden.
Auch der Zugang zu der Website oder der mobilen App selbst soll ohne Anmeldung und kos-
tenlos moglich sein. Zudem sollen die Produktdaten von den Nutzer*innen stammen, indem
diese die Daten beispielsweise wie in einem Wiki eintragen konnen. Zuletzt soll die Arbeit
mehrsprachig verfugbar sein, um so auch in anderen Landern genutzt werden zu konnen.
Im Folgenden werden vier Arbeiten vorgestellt, die bei diesem Werk von Relevanz sind: zwei
kommerzielle Websites (barcoo und das-ist-drin), eine Diplomarbeit (EuLaA) und ein For-
schungsprojekt (MENSSANA). Eine Zusammenfassung und damit die Herausstellung der
einzelnen Kriterien erfolgt am Schluss des Kapitels (siehe 3.5).
3.1 barcoo
barcoo bezeichnet sich selbst als der großte Produkt-Guide in Europa und wird von dem Un-
ternehmen”checkitmobile GmbH“ entwickelt [20].
barcoo bundelt dabei eigene Daten (die u. a. von Benutzer*innen stammen) und fremde Da-
ten (wie z. B. von”mynetfair“ und
”ecoinform“ [43, 29]) u. a. zusammen mit Preisvergleichen,
Testberichten, Standorten, Lebensmittelampeln, okologischen Informationen, Rezepten, usw.
und stellt diese Informationen auf einen Blick dar, wobei als Beispiel in Abbildung 3.1b Preis-
vergleiche und Bewertungen zu sehen sind [18].
Mobile Apps werden fur die Betriebssysteme iOS, Android, Windows Phone, bada und Black-
Berry OS angeboten [17].
Nutzer*innen von barcoo konnen Produkte (ohne vorherige Anmeldung) bewerten, kommen-
tieren und bei eingeschalteter Abfrage des Standorts Preise eintragen. Die Moglichkeit Pro-
dukte selbst einzutragen gibt es allerdings nicht.
Vegane Produkte werden als solche gekennzeichnet, allerdings nur, wenn sie in der veganen
Produktdatenbank von”Rezeptefuchs“, ein Portal fur Veganer*innen, vorhanden sind [21, 19].
Das Unternehmen hinter barcoo, welches sich u. a. durch Werbung finanziert, bietet einen
API-Zugang an, allerdings nur fur eingetragene Firmen mit statischer IP-Adresse [16].
11
3 Verwandte Arbeiten
(a) direkt nach Start der App – ein Button
fordert zum Scannen auf
(b) Ansicht nach Scan eines Barcodes – ein
Bild, Preisvergleiche und Bewertungen
bieten Informationen zur Kaufentschei-
dung
Abbildung 3.1: Mobile barcoo-App fur Android in Benutzung [17], aufgenommen am
16.08.2013
3.2 das-ist-drin
das-ist-drin (DID) ist laut eigener Aussage ein Online-Verbraucherportal der Firma”snoop-
media GmbH“ rund um Inhalts- und Zusatzstoffe (E-Nummern) von Lebensmitteln [46].
DID funktioniert nach dem Wikiprinzip, d. h. die Nutzer*innen konnen die Produkte selbst
eintragen oder andern (nach einer Registrierung). Es besteht auch die Moglichkeit, dass Her-
steller*innen ihre Produkte selbst verwalten.
DID besitzt einen E-Nummern-Check, eine Siegeldatenbank, enthalt Informationen uber All-
ergien oder Lebensmittelunvertraglichkeiten (bisher uber 12 der 14 Haupt-Allergene) und eine
Betriebsnummernubersicht [48].
DID bietet zwei mobile Varianten an:”das-ist-drin mobil“ fur Androidgerate, welche in Ab-
bildung 3.2 zu sehen ist und”Foodtracker“, die z. B. Informationen daruber, wo ein Produkt
12
3.3 EuLa-Armband
hergestellt wurde enthalt, es aber nur fur iOS-Gerate gibt und daher hier nicht weiter be-
trachtet wird [47].
(a) direkt nach Start der App
(b) Ansicht nach Scan eines Barcodes mit aus-
geklappten Reitern
Abbildung 3.2: Mobile App von das-ist-drin fur Android in Benutzung [47], aufgenommen am
05.05.2013
Jedes Produkt enthalt auf der Website – sofern von den Nutzer*innen angegeben – Informa-
tionen zu Ernahrungsweisen, darunter auch, ob das Produkt vegan ist. Diese Angaben fehlen
jedoch in der mobilen Variante.
3.3 EuLa-Armband
In der Diplomarbeit von Anke Bretz wurde ein Prototyp, ein so genanntes Einkaufunterstut-
zendes Lebensmittelallergiker-Armband (EuLaA) entwickelt, der Menschen mit einer Lebens-
mittelallergie bei der Auswahl von Produkten beim Einkaufen helfen soll [Bre07], welcher in
Abbildung 3.3 dargestellt ist.
Bildausschnitt 1 zeigt den Prototyp nach dem Start, Bildausschnitt 2 deutet durch die gru-
ne Umrandung nach Scan eines Produktes an, dass dieses keine unvertraglichen Inhaltsstoffe
besitzt, Bildausschnitt 3 warnt mit einer gelben Umrandung und einem Warnschild, da eine
13
3 Verwandte Arbeiten
Lebensmittelunvertraglichkeit vorliegt und fragt, ob es Alternativprodukte vorschlagen soll
und Bildausschnitt 4 signalisiert durch die rote Umrandung und das Stoppschild ein nicht
vertragliches Produkt und zeigt direkt Alternativprodukte an.
Abbildung 3.3: Beispielhafte Benutzung des EuLa-Armbands, modifiziertes Bild aus der Di-
plomarbeit [Bre07]
Als”Armband“ wurde ein Personal Digital Assistant (PDA) benutzt, welcher statt der Iden-
tifikation eines Produktes mit Hilfe eines Barcodes Radio-Frequency Identification (RFID)
unterstutzt.
Es gibt mehrere Datenbanken, je eine Patient*innen-, Waren-, Geschafte- und Warenwirt-
schaftsdatenbank. Letztere besteht wiederum aus so vielen Datenbanken, wie Supermarktket-
ten existieren.
Um EuLaA landerubergreifend zu nutzen, wurden die Produktdatenbanken exemplarisch mit
englischen und deutschen Daten bestuckt.
Anderungen in den Datenbanken sind nicht durch eine*n Benutzer*in moglich, sondern nur
von den jeweiligen Institutionen (z. B. ist die Patient*innendatenbank nur durch die behan-
delnden Arzte*Arztinnen editierbar, uber die die Registrierung am System erfolgt, die Wa-
rendatenbank nur durch unterschiedliche Firmen).
Ein Zugriff von außerhalb (bis auf den normalen Gebrauch) ist daher und insbesondere durch
hohe Sicherheitsstandards nicht moglich.
3.4 MENSSANA
Innerhalb des Projekts Mobile Expert and Networking System for Systematical Analysis of
Nutrition-based Allergies (MENSSANA) werden Losungen zur Identifikation von Lebensmit-
teln gesucht, die Menschen mit Allergien oder Unvertraglichkeiten ohne Probleme zu sich
nehmen konnen [AHSR07].
Entwickelt wurde daher vom”Centre de Recherche Public Henri Tudor“ ein Personal Allergy
Assistant (PAA) in Form einer App und eine Website (WikiFood [14]), die u. a. Allergie-
Informationen zu einem Produkt auch im Internet bereit stellt [ARF+08], [13].
14
3.4 MENSSANA
(a) zu Beginn (b) Warnung bei einem Milchprodukt
Abbildung 3.4: Mobile App von WikiFood in Benutzung [12], aufgenommen am 05.05.2013
Der PAA, welcher in Abbildung 3.4 zu sehen ist, ist fur das Android-Betriebssystem verfugbar
[12].
Um die App mit einem personlichem Allergieprofil zu nutzen oder neue Produkte in die
Datenbank einzutragen oder zu andern, ist eine Anmeldung auf der deutsch-, englisch und
franzosisch-sprachigen Website erforderlich.
Wird nach Festlegung eines Allergieprofils ein Produkt gescannt, was solch ein Allergen be-
inhaltet, wird eine Warnung mit einem Hinweis eingeblendet, was in Abbildung 3.4b darge-
stellt ist.
Die Website WikiFood wird u. a. mit Angaben direkt von Hersteller*innen, der Datenbank
”ecoinform“ und von Benutzer*innen befullt.
Zugriffe abseits vom normalen Gebrauch (bspw. per API) sind aus rechtlichen Grunden nicht
moglich.
15
3 Verwandte Arbeiten
3.5 Zusammenfassung
Nachfolgend wird in einer Tabelle dargestellt, wie sich die zu dieser Arbeit verwandten Ar-
beiten unterscheiden. Dazu wird Bezug genommen auf die einzelnen Kriterien, die zu Beginn
des Kapitels festgelegt wurden.
Die Kriterien sind:
• Veganitat: enthalt der Dienst Informationen zur Veganitat?
• Plattformunabhangig: gibt es das Angebot fur mehr als ein Betriebssystem, also z. B.
als Website und als mobile Applikation?
• Lizenzfreiheit: sind die Daten frei, d. h. ist z. B. ein API-Zugriff oder ein kompletter
Speicherauszug der Datenbank moglich?
• Zugang: sind die Informationen zu den Produkten auch ohne Anmeldung erhaltlich?
• Ursprung: stammen die Daten von der Internetcommunity, also den Nutzer*innen?
• Lokalisierung: ist der Dienst lokalisiert, d. h. werden auch andere Sprachen als Deutsch
unterstutzt?
barcoo
das-ist-drin
EuLa-Armband
MENSSANA
Veganitat (3) (3) 7 (3)
Plattformunabhangig 3 3 7 3
Lizenzfreiheit 7 7 7 7
Zugang 3 3 7 3
Nutzer*innenbasiert 7 3 7 (3)
Lokalisierung 7 7 3 3
Tabelle 3.1: Gegenuberstellung der verwandten Arbeiten anhand verschiedener Kriterien
Wahrend EuLaA keine veganismusrelevanten Daten beinhaltet, sind bei barcoo, DID und
MENSSANA vegane Daten zu finden (symbolisiert durch das 3 in Klammern). Allerdings
liegen diese nicht bei allen Produkten vor und beinhalten keine genauen Quellen wie Pro-
duktanfragen (siehe Abschnitt 2.1.2), wahrend dies in dieser Arbeit der Fall sein soll.
Alle Dienste außer EuLaA sind plattformunabhangig, d. h. bieten zusatzlich zu einer Website
mindestens eine mobile Anwendung an, was die Nutzung unterwegs erleichtert. Dies soll auch
in dieser Arbeit der Fall sein.
Wahrend alle anderen Dienste die Produktdaten nicht offenlegen oder nur mit Einschrankun-
gen erreichbar machen, soll dies hier nicht der Fall sein.
Der Zugang zu den Produktinformationen, d. h. die Ansicht ist bei allen Diensten außer bei
EuLaA ohne Anmeldung gewahrleistet. Der freie Zugang ist auch in dieser Arbeit vorgesehen.
Die Daten der einzelnen Dienste stammen bei barcoo und EuLaA nicht von den Nutzer*innen,
16
3.5 Zusammenfassung
bei MENSSANA teilweise, wahrend DID nach dem Wikiprinzip funktioniert und die Daten
von den Nutzer*innen verwaltet werden. Das Wikiprinzip soll auch in diesem Werk zu einer
umfangreichen Datenbank fuhren.
EuLaA ist international verfugbar, da es fur jedes Land eine eigene Datenbank gibt, MENSS-
ANA ist dreisprachig verfugbar und barcoo sowie DID liegen jeweils in einer deutschen Version
vor. Die vorliegende Arbeit soll durch Sprachdateien und Zutatensynonyme international ge-
macht werden konnen.
Die Besonderheit dieser Arbeit im Hinblick auf die verwandten Arbeiten soll die Belegung
der veganen Daten mit Quellen sein. Dies soll fur vegan lebende Menschen in Verbindung
mit der Plattformunabhangig von Vorteil sein, da diese uberall leicht nachschauen konnen,
ob ein Produkt vegan ist oder nicht. Insbesondere soll diese Arbeit dazu genutzt werden, eine
Datenbank mit lizenzfreien Daten aufzubauen, die anschließend fur andere Zwecke gebraucht
werden kann. Z. B. um herauszufinden, ob ein Produkt tierversuchsfrei, roh oder fair ist oder
um einen schon vorhandenen Dienst mit diesen Daten zu erweitern.
17
4 Konzept
Dieses Kapitel widmet sich dem Konzept der vorliegenden Arbeit, wie die Anforderungen, die
in Abschnitt 1.2 angedeutet wurden genauer aussehen und gelost werden konnen.
Dazu wird zunachst der grobe Aufbau der Arbeit beschrieben und anschließend die einzelnen
Funktionen.
4.1 Architektur
Architektonisch soll diese Arbeit, im Folgenden”YAVA“ (Yet Another Vegan App) genannt,
so aussehen, wie in Abbildung 4.1 schematisch dargestellt ist.
Abbildung 4.1: Grober schematischer Aufbau von YAVA
Zu sehen sind drei Systeme: die mobile Anwendung, die Webanwendung auf einem Laptop
und die Webanwendung auf einem Desktop-PC. Die drei unterschiedlichen Systeme sollen die
Plattformunabhangigkeit symbolisieren. Alle drei Systeme konnen Eingaben an die Daten-
bank schicken. Dabei kann mit der mobilen App mit Hilfe eines Barcodescanners ein Barcode
19
4 Konzept
gescannt werden, der als Sucheingabe benutzt wird, die jeweiligen Webanwendungen bieten
die Moglichkeit zusatzlich zu einer manuell eingegebenen GTIN auch nach einem Produktna-
men zu suchen. Die jeweilige Eingabe wird an die Datenbank gesendet, die die entsprechenden
Produkte bzw. Eintrage finden soll und im Erfolgsfall ausgibt. Die Darstellung erfolgt jeweils
wieder auf dem Endgerat.
Die im Ziel definierte Anforderung, eine plattformunabhangige Produktdatenbank aufzubau-
en, ist hier zu erkennen. Die weiteren Anforderungen und die einzelnen Komponenten dazu
werden im Folgenden beschrieben.
Datenbank
Die Datenbank enthalt alle Daten und bildet somit den Kern dieser Arbeit. Mit ihr konnen die
Webanwendung und die Apps kommunizieren um Daten hinzuzufugen, zu andern, zu loschen
oder anzuzeigen. Die Datenbank ist von außerhalb nicht zuganglich und kann nur uber die
Schnittstellen Webanwendung bzw. mobile App benutzt werden. Um die freie Nutzung der
Daten zu gewahrleisten gibt es jedoch einen taglichen Speicherauszug dieser Datenbank (ohne
die sensitiven Informationen der Nutzer*innen), die auf einer Website angezeigt werden und
heruntergeladen werden konnen.
Der Aufbau der Datenbank wird in Abschnitt 5.1 beschrieben.
Mobile App
Die mobile Anwendung, die”YAMVA“ (Yet Another Mobile Vegan App) genannt wurde, ist
hauptsachlich dafur gedacht, die Suche nach einem Produkt zu erleichtern, indem einfach der
Barcode-Scanner benutzt werden kann. Nach dem Scan eines Barcodes wird – eine bestehende
Internetverbindung vorausgesetzt – in der Datenbank (vgl. Abschnitt 4.1) danach gesucht und
das Ergebnis angezeigt. Befindet sich das gescannte Produkt nicht in der Datenbank, kann
durch einen Link von der mobilen App zur Webanwendung gewechselt werden, um dort das
Produkt eintragen zu konnen. Ansonsten kann ebenfalls uber einen Link zur Webanwendung
gewechselt werden, um mehr Informationen uber das gescannte Produkt zu erhalten. Die
Webanwendung adaptiert sich dank”responsive Webdesign“, also einem Webdesign, was sich
an die jeweiligen Endgerate anpasst, auch an das mobile Endgerat.
Webanwendung
Die Webanwendung ist das Frontend der Datenbank. Sie besteht aus einer Bedienoberflache
und kann somit zur Verwaltung von allen Daten gebraucht werden. Es konnen sich hier Nut-
zer*innen anmelden, um Daten neu hinzuzufugen, zu andern oder zu loschen und alle Daten
konnen damit dargestellt werden. Die Webanwendung kommuniziert im Hintergrund standig
mit der Datenbank um diese Daten zu verwalten und kann durch das responsive Webdesign
auf allen Geraten angezeigt werden.
Der Funktionsumfang wird in Abschnitt 4.4 beschrieben.
20
4.2 Integration in das Innovative Retail Laboratory
4.2 Integration in das Innovative Retail Laboratory
Das Innovative Retail Laboratory (IRL) ist ein”Living Lab“, ein anwendungsnahes und Nut-
zer*innenzentriertes Forschungslabor des Deutschen Forschungszentrums fur Kunstliche In-
telligenz (DFKI), das in der Zentrale der Globus SB-Warenhaus Holding in St. Wendel ein-
gerichtet ist [25, 26, 35, 24], [SSKK09]. In diesem Living Lab gibt es diverse Demonstratoren,
die verschiedene Prozesse beim Einkaufen erleichtern. Z. B. ist dort der”Artikelfinder“, ein
Terminal, an dem nach Produkten gesucht werden kann und im Erfolgsfall der Standort an-
gezeigt wird, integriert [23]. Da die vorliegende Arbeit auch in einem realen Warenhaus als
Assistenzsystem eingesetzt werden kann, soll auch YAVA im IRL als Demonstrator integriert
werden.
Da die Daten, die innerhalb des IRL verwendet werden, aus rechtlichen Grunden nicht ver-
offentlicht werden durfen, wird YAVA mit den einzelnen Komponenten (Webanwendung, Da-
tenbank und mobiler App) als eigener Dienst im IRL neu aufgebaut.
4.3 Layout
Im Folgenden wird kurz beschrieben, wie das Layout von YAVA aussehen soll. Die Anzei-
gen, die auf den einzelnen Seiten dargestellt werden, werden zum Teil in den nachfolgenden
Abschnitten erlautert.
4.3.1 Startseite
Auf der Startseite sollen sich neben einer Begrußung eine Moglichkeit zur Registrierung bzw.
Anmeldung befinden und die funf neuesten Produkte, die eingetragen wurden. Sobald sich
ein*e Nutzer*in angemeldet hat, sollen sich zusatzlich zu den funf neuesten Produkten funf
Produkte befinden, die noch nicht vollstandig eingetragen wurden (vgl. Abschnitt 4.4.8), um
so direkt die Aufmerksamkeit auf diese Produkte zu lenken.
Die Navigation soll sich im oberen Bereich befinden und Links zur Startseite selbst, den
Produkten, Zutaten, Hersteller*innen, Nutzer*innen und ein Dropdown-Menu beinhalten.
Dieses Menu ist mit dem Nutzer*in-Namen und der aktuellen Punktanzahl in Klammern be-
schriftet und enthalt Links zu der Ubersichtsseite von einem*einer Nutzer*in, den Nutzer*in-
Einstellungen und einen Link zum Abmelden.
Die Fußzeile dagegen soll Links zur Website des Autors, der Sitemap, den FAQ, zum Kontakt,
zu News sowie zu den Terms of Service, die die Richtlinien von YAVA definieren, enthalten.
4.3.2 Produktanzeige
In der Ansicht eines vollstandig eingetragenen Produktes (siehe Abschnitt 4.4.3) sind folgende
Informationen aufgelistet bzw. zu sehen:
• Name des Produktes
• Verpackungsgroße, z. B.”500ml“
21
4 Konzept
• Marke mit dem*r zugehorigen Hersteller*in
• Barcode bzw. GTIN
• Bild
• Produktbeschreibung
• Veganitat, siehe dazu 4.4.4
• Zutatenliste
• Allergene
• Spuren von Allergenen
• geparste Zutaten anhand der Zutatenliste, siehe dazu 4.4.5
• Kategorie, z. B.”Milch und Alternativen“
• Nahrwertangaben mit Lebensmittelampel und Guideline Daily Amount (GDA) Link?
• Verpackungsmaterial, z. B.”Grunes Glas“
• Herkunftsland
• Siegel wie das V-Label [30]
• Merkmale wie z. B.”glutenfrei“
• Vollstandigkeitsanzeige in Prozent – so kann erkannt werden, was noch fehlt, siehe 4.4.8
• Quelle, z. B. Link zu schon vorhandener Produktanfrage auf einem Blog
• Produktanfragen, siehe 4.4.6
• Kommentare, siehe 4.4.7
• Zeitangaben wie Erstellung und letzte Anderung mit Nutzer*inangaben
Angaben wie Veganitat, Zutaten, Lebensmittelampel, Vollstandigkeitsanzeige, Produktanfra-
gen, Kommentare sowie Zeit- und Nutzer*inangaben werden automatisch generiert bzw. von
anderen Nutzer*innen erstellt und konnen nicht oder nur eingeschrankt verandert werden.
4.4 Funktionsumfang
Im Folgenden wird naher beschrieben, was mit Hilfe der Webanwendung alles moglich ist und
wie die Anforderungen (vgl. Abschnitt 1.2) damit erfullt werden konnen.
4.4.1 Produktsuche
Eine zentrale Funktion einer Webanwendung ist die Suche, mit der nach bestimmten Inhalten
gesucht und somit eine einfachere Seitennavigation ermoglicht werden kann.
Innerhalb von YAVA ist eine Suche nach dem Barcode bzw. der GTIN sowie nach dem Pro-
duktnamen moglich. Wenn ein einziges Ergebnis gefunden wurde, wird es direkt angezeigt,
wurden mehrere gefunden, werden diese aufgelistet und wenn kein Produkt gefunden wurde,
kann ein neues Produkt angelegt werden. Dieses enthalt – abhangig von der Sucheingabe
– entweder den Barcode oder den Produktnamen schon im Formular, in dem das Produkt
eingetragen werden kann.
22
4.4 Funktionsumfang
4.4.2 Registrierung & Anmeldung
Um Produkte oder andere Daten verwalten zu konnen, muss ein*e Benutzer*in sich erst re-
gistrieren, um u. a. einer ersten Hurde der Missbrauchsgefahr aus dem Weg zu gehen. Ohne
Registrierung bzw. Anmeldung konnen Daten nur eingesehen, aber nicht verandert werden.
Die Registrierung geschieht uber einen externen Dienst, von dem Daten wie Name, E-Mail-
adresse und Spitzname ubernommen werden. Nach der Registrierung soll eine E-Mail an die
angegebene E-Mailadresse versendet werden um den*die Nutzer*in zu begrußen und gleich-
zeitig diese Adresse auf Existenz und Gultigkeit zu validieren und anschließend eine Uber-
sichtsseite angezeigt werden. Diese beinhaltet ein Avatar (Bild von einem*einer Nutzer*in)
zur leichteren Identifizierung, welches mit Hilfe von”Gravatar“, einem Webservice fur glo-
bal eindeutige Avatare [7], generiert wird. Dazu werden Punkte (vgl. 4.4.8), ein Spitzname,
die angelegten Produkten und Produktanfragen und personliche Informationen wie Name,
E-Mailadresse und Rechte (vgl. 4.4.8) angezeigt. Ebenso gibt es hier die Moglichkeit den
Account zu deaktivieren, wobei alle privaten Daten anonymisiert werden und nicht wieder-
hergestellt werden konnen. Außerdem kann hier der volle Name anonymisiert werden, sodass
er innerhalb einer Produktanfrage als”XYZ“ auf einer Produktubersicht angezeigt wird (vgl.
4.4.6) und es konnen dort Daten wie Name, E-Mailadresse und Spitzname geandert werden.
Eine Anmeldung erfolgt wieder uber einen Klick auf den entsprechenden Button eines exter-
nen Dienstes, wobei nicht erneut der Zugriff auf personliche Daten erlaubt werden muss und
auch keine Daten mehr gespeichert werden.
Die personlichen Daten, die innerhalb von YAVA gespeichert werden, sind von einer Verof-
fentlichung (vgl. Abschnitt 5.6) ausgeschlossen.
4.4.3 Produktverwaltung
Nach der Registrierung bzw. Anmeldung konnen die Nutzer*innen Produkte eintragen und
andern. Ein neues Produkt kann mit Hilfe der Suche erstellt werden, wenn kein Produkt
gefunden wurde, oder uber einen Button”Neues Produkt erstellen“. Die Mindestmenge an
Informationen dabei ist der Barcode zur Identifizierung und ein Name, um wenigstens eine
textuelle Orientierung zu besitzen. Zusatzlich dazu kann ein Bild hochgeladen werden und eine
Beschreibung, Zutaten, Allergene, Spuren und eine Verpackungsgroße hinzugefugt werden.
Daten wie eine Kategorie, ein Verpackungsmaterial, das Herkunftsland und die Marke mit
zugehoriger*m Hersteller*in konnen aus einer Auswahlliste ausgewahlt werden oder ggf.”on
the fly“ hinzugefugt werden. Des Weiteren konnen Nahrwertangaben eingegeben werden sowie
eine Quelle und die Veganitat dieser Quelle. Die Quelle ist in diesem Fall ein Link zu einer
schon existierenden Produktanfrage oder zu der Seite des Herstellenden mit Angaben zur
Veganitat. Zusatzlich konnen noch Siegel oder Label, wie z. B. das V-Label [30] und Merkmale,
die auf der Verpackung abgedruckt sind wie bspw.”natriumarm“ hinzugefugt werden.
Einige Daten stammen von externen Quellen und sind teilweise fest vorgegeben:
• Kategorien [15]
• Herkunftslander [6]
• Siegel [27]
23
4 Konzept
• Zutaten [4]
• Lebensmittelampel [31]
4.4.4 Ermittlung der Veganitat eines Produktes
Die Veganitat eines Produktes wird automatisch nach Erstellung desselben aus den vorhan-
denen Zutaten, Produktanfragen und Kommentaren berechnet, was in Abbildung 4.2 sche-
matisch dargestellt ist.
Abbildung 4.2: Zusammenhang der einzelnen Veganitaten: Die Veganitaten der Zutaten, Pro-
duktanfragen und Kommentare berechnen die Produkt-Veganitat
Dafur werden die vier in Abschnitt 2.1.3 definierten Veganitaten (vegan, unvegan, unklar und
unbekannt) verwendet. Ein Produkt ist dabei vegan, wenn mindestens eine andere Veganitat
vegan und keine andere unklar oder unvegan ist.
Die genaue Berechnung der Produkt-Veganitat sowie die der anderen Veganitaten wird in
Kapitel 5 beschrieben.
4.4.5 Erstellung von Zutaten und -informationen
Zutaten werden entweder bei der Erstellung eines Produktes durch das Auswerten der Zuta-
tenliste angelegt oder manuell durch das Hinzufugen einer Zutat.
Eine Zutat enthalt dabei verschiedene Informationen wie Synonyme, z. B. Beta-Carotin und
Carotine bei E160a, Klassennamen (wie Farbstoff und Saureregulator), ein Bild, eine Be-
schreibung, eine Quelle der Beschreibung, Produkte, die diese Zutat reprasentieren und eine
Veganitat [4].
4.4.6 Generierung von Produktanfragen
Eine Produktanfrage kann dazu verwendet werden, die Veganitat eines Produktes direkt bei
der*dem Hersteller*in durch eine E-Mail zu erfragen.
Dies kann bei jedem Produkt erfolgen, allerdings mussen dazu folgende Bedingungen erfullt
sein:
24
4.4 Funktionsumfang
• Die Zutaten-Veganitat des Produktes darf nicht unvegan sein, da ansonsten eine Pro-
duktanfrage nicht mehr notwendig ist
• Ein*e Hersteller*in muss mit zugehoriger E-Mailadresse eingetragen sein
• Der*Die Nutzer*in muss eine validierte E-Mailadresse besitzen
• Der*Die Nutzer*in muss die notigen Befugnisse haben, vgl. Abschnitt 4.4.8
Die Bedingungen sind dazu da, dass zum einen die Datensatze moglichst vollstandig sind, in
diesem Fall der*die Hersteller*in und zum anderen ein Missbrauch durch die notigen Befug-
nisse etwas eingedammt wird. Sind diese Bedingungen erfullt kann eine neue Produktanfrage
entweder automatisch generiert oder manuell erstellt werden.
Die Anfrage wird dabei als E-Mail an den*die Hersteller*in und zugleich noch an den*die
Nutzer*in selbst geschickt sowie zusatzlich unter dem Produkt, zu dem die Anfrage gestellt
wurde, angezeigt. Der volle Name von der*dem Nutzer*in kann dabei anonymisiert werden,
wenn dies eingestellt wurde (vgl. Abschnitt 4.4.2).
Wird die Produktanfrage beantwortet wird diese Antwort entweder automatisiert in das Sys-
tem eingefugt oder kann manuell erstellt werden. Bei der Erstellung besteht die Moglichkeit,
eine Veganitat festzulegen und die Produktanfrage”hervorzuheben“, d. h. zu bestatigen, dass
das Produkt nun entweder vegan oder unvegan ist und keine offenen Fragen mehr vorliegen.
Diese Produktanfrage bzw. Antwort auf eine vorherige Anfrage wird unter einem Produkt
auch entsprechend hervorgehoben angezeigt.
4.4.7 Kommentare erstellen
Ein Produkt kann von angemeldeten Nutzer*innen kommentiert werden, um eventuelle Un-
stimmigkeiten der vorhandenen Angaben aufzuzeigen, eine Produktinformation in Frage zu
stellen oder eine Veganitat zu spezifizieren. Zur Spezifizierung konnen dabei die in Ab-
schnitt 2.1.3 definierten Veganitaten benutzt werden.
Die Kommentare werden jeweils mit Datum, Zeit und einem Spitznamen unterhalb eines Pro-
duktes nacheinander angezeigt und konnen auch dort erstellt werden. Wie die Kommentare
zur Berechnung der Veganitat benutzt werden, ist in Abschnitt 5.3.5 beschrieben.
4.4.8 Gamifizierung
Durch die sogenannte”Gamifizierung“, d. h. der Gebrauch von Elementen aus dem Game-
Design in einem anderen Kontext, wird bei den Nutzer*innen ein Anreiz geschaffen, etwas zu
leisten [DSL+11, DKLD11, San11].
Dies wird auch in YAVA benutzt, um die Datenbank moglichst vollstandig zu fullen.
Genutzt werden als Elemente der Gamifizierung das Punktesystem (Points system), die Fort-
schrittsanzeige (Progress bar) und die Bestenliste (Leaderboard) [RTA13].
Punkte konnen durch die folgenden Aktionen”verdient“ werden:
• Anlegen eines Kommentars
• Erstellung eines Produktes
25
4 Konzept
• Vollstandig ausgefulltes Produkt
• Neue Produktanfrage
• Validierung der E-Mailadresse
• Antwort auf Produktanfrage hinzufugen
Diese Aktionen werden unterschiedlich stark”vergutet“, ein Kommentar z. B. mit weniger
Punkten als ein neues Produkt oder das Einfugen einer Antwort des Herstellenden auf eine
vorherige Produktanfrage. Dies soll zu einem Anreiz fuhren, mehr Produkte bzw. Produkt-
anfragen zu erstellen.
Allerdings sind einige Aktionen nicht direkt ausfuhrbar, konnen aber durch andere Aktionen
bzw. die Punktbelohnung derer freigeschaltet werden:
• Kommentar schreiben
• Produktanfrage schreiben
• Quelle zu Produkt hinzufugen
• Zutat manuell erstellen und Zutaten verandern
Dies soll einerseits einen Anreiz schaffen, mehr Daten in die Datenbank einzugeben um mehr
Rechte zu bekommen und andererseits einem Missbrauch vorbeugen. Mehr Rechte wie Eintra-
ge loschen und Personen deaktivieren konnen nur von den vorhandenen Administrator*innen
vergeben werden.
Eine Bestenliste, welche die Nutzer*innen mit Avatar, Spitzname und Punktanzahl auflistet,
soll fur einen kleinen Wettbewerb untereinander sorgen, wobei dadurch wieder mehr Produkte
eingetragen bzw. Eintrage vervollstandigt werden sollen.
Eine Fortschrittsanzeige wird unter einem Produkt angezeigt um zu einem vollstandig ausge-
fullten Datensatz zu fuhren und sorgt daher fur eine Punktbelohnung, sobald alle notwendigen
Informationen eingetragen sind. Einige Informationen wie Merkmale, Siegel, Nahrwertanga-
ben, Allergene, Spuren und die Quelle werden dabei nicht beachtet, da sie nicht bei jedem
Produkt vorliegen.
4.4.9 Hersteller*in anlegen
Direkt bei der Erstellung eines Produktes kann mit der Marke auch ein*e Hersteller*in ange-
legt werden.
Dabei kann die Information uber ein*e Hersteller*in zusatzlich zu einem Namen noch um ein
Logo, eine Adresse, eine E-Mailadresse, eine Telefon- sowie eine Faxnummer erganzt werden.
Die E-Mailadresse ist eine Pflichtangabe, sofern eine Produktanfrage an diese*n Hersteller*in
geschickt werden soll, siehe dazu auch Abschnitt 2.1.2. Zusatzlich zu den genannten Angaben
werden auf der Ubersichtsseite des Herstellenden die Marken aufgelistet, die zu diesem*dieser
Hersteller*in gehoren.
26
5 Implementierung
In diesem Kapitel wird erlautert, wie YAVA und alle in Kapitel 4 beschriebenen Komponenten
implementiert wurden.
Zusatzlich wird beschrieben, wie YAVA in das IRL als Demonstrator integriert wurde.
5.1 Datenbank
Fur die Datenbank wurde ein relationales Datenbankmanagementsystem gesucht, welches
unter einer freien Lizenz steht, auf moglichst vielen Betriebssystemen lauft, aktiv weiterent-
wickelt wird und sich auf großen Produktivsystemen bewahrt hat.
Naher betrachtet wurden dabei”MySQL“ bzw. der Fork
”MariaDB“ und
”PostgreSQL“.
Entschieden wurde sich fur das objektrelationale Datenbankmanagementsystem PostgreSQL
in Version 9.2.4, da dieses System zusatzlich zu den oben genannten Kriterien großtenteils den
SQL-Standard 2008 implementiert und standardmaßig mehr Daten in einer Tabelle speichern
kann, was sich zur Erstellung einer Produktdatenbank mit sehr vielen Produkten gut eignet.
PostgreSQL wird seit 1995 aktiv weiterentwickelt [51, 58].
Das Datenbankmodell, das in YAVA benutzt wurde, befindet sich im Anhang 7.2.3 und wird
auch in der technischen Dokumentation (siehe Abschnitt 5.5) naher beschrieben. Das stark
vereinfachte Datenbankmodell in Abbildung 5.1 (abgeleitet von dem Modell im Anhang) soll
dabei einen Uberblick uber die wichtigsten Tabellen und Relationen bieten.
Abbildung 5.1: Stark vereinfachtes Datenbankmodell
Zu sehen sind die wichtigsten Tabellen”User“,
”Veganity“,
”Manufacturer“,
”Product“,
”In-
quiry“,”Ingredient“ und
”Comment“. Die Beziehung untereinander wird durch die Pfeilar-
ten symbolisiert. So hat jedes Produkt, jede Produktanfrage, Zutat und jeder Kommentar
27
5 Implementierung
eine Veganitat. Weiterhin kann ein*e Nutzer*in viele Kommentare, Produktanfragen, Her-
steller*innen, Produkte und Zutaten erstellen, aber nur die Hersteller*innen, Zutaten und
Produkte konnen von vielen Nutzer*innen geandert werden. Zudem enthalt ein Produkt viele
Produktanfragen, Kommentare und Zutaten und jede Zutat wiederum viele Produkte, was
ausfuhrlicher in Abschnitt 5.3.3 beschrieben.
5.2 Mobile App
Zusatzlich zu einer Webanwendung sollten fur moglichst alle mobilen Betriebssysteme je ei-
ne App erstellt werden, da im Alltag eher mobile Begleiter wie Smartphones anstelle von
Desktop-PCs genutzt werden und somit auch die Hardwarekomponenten der mobilen Gerate
benutzt werden konnen um beispielsweise einen Barcode scannen zu konnen.
Um nicht fur jedes mobile Betriebssystem eine eigene native App in unterschiedlichen Spra-
chen wie Java und Objective-C erstellen zu mussen, wurde sich fur die freie Losung PhoneGap
in Version 3.0.0 entschieden, die bereits in Abschnitt 2.2.2 naher beschrieben wurde.
Obwohl mit PhoneGap plattformubergreifende mobile Apps moglich sind, wurde der Fokus
auf das freie Betriebssystem Android ab Version 4.1 gelegt, da dieses den großten Marktanteil
besitzt [57].
5.3 Webanwendung
Fur die Webanwendung wurde ein freies, plattformubergreifendes Webframework auf Basis
der Sprachen PHP, Python oder Ruby gesucht, welches aktiv weiterentwickelt wird. Zusatz-
lich sollte das Muster Model-View-Controller (MVC) benutzt werden und sich ebenfalls wie
die Datenbank auf großen Produktivsystemen bewahrt haben.
Naher betrachtet wurden dabei”Zend Framework“,
”Django“ und
”Ruby-on-Rails (RoR)“.
Die Wahl fiel dabei auf RoR in Version 4.0.0, welches die oben genannten Kriterien erfullt
und leicht durch RubyGems, d. h. Pakete, erweiterbar ist. RoR wird seit 2004 aktiv weiter-
entwickelt [45, 59].
Das in Abschnitt 4.3 beschriebene Layout wurde mit Hilfe von”Bootstrap“, einer Sammlung
von Hilfsmitteln zur Gestaltung einer Website, realisiert, dass sich gut in RoR integriert, ein
responsive Webdesign (vgl. Abschnitt 4.1) umsetzt und schon auf vielen großen Plattformen
wie Twitter und GitHub als Bedienoberflache eingesetzt wird.
5.3.1 Registrierung
Die Registrierung der Nutzer*innen erfolgt wie in Abschnitt 4.4.2 beschrieben mit Hilfe von
Authentifizierungs-Anbieter*innen, in diesem Fall mit Google, Facebook, Twitter und GitHub
uber das in Abschnitt 2.2.3 beschriebene Verfahren OAuth. Bei der Registrierung werden
nach dem Erlauben von Datenfreigaben auf der Seite der Anbieter*innen die Daten zu YAVA
geleitet und in der Tabelle users in der Datenbank gespeichert. Zusatzlich wird eine E-
Mail mit einer Begrußung und einem Link an die E-Mailadresse versendet, die bei der*dem
28
5.3 Webanwendung
jeweiligen Anbieter*in angegeben wurde, um die E-Mailadresse zu verifizieren. Dazu wird ein
zufalliger Wert generiert und in der Datenbank in der Tabelle emailhashes gespeichert. Mit
Hilfe des Keccak-Algorithmus [BDPVA11] wird daraus ein sogenannter Hash generiert, der
in der E-Mail an einen Link angehangt wird. Wird der Link aufgerufen, wird der angehangte
Hash mit dem Wert in der Datenbank verglichen. Sind die beiden Werte gleich und nicht
langer als drei Tage in der Datenbank vorhanden, gilt die E-Mailadresse als validiert und
wird mit Punkten”belohnt“ (vgl. Abschnitt 5.3.2).
5.3.2 Gamifizierung
Wie in Abschnitt 4.4.8 beschrieben, wird die sogenannte Gamifizierung verwendet, um bei
den Nutzer*innen ein Anreiz zu schaffen, etwas zu leisten. Die dort beschriebenen Punkte
und Befugnisse werden im Folgenden konkretisiert.
Punkte konnen durch verschiedene Aktionen”verdient“ werden, wie in Tabelle 5.1 dargestellt
ist. Dabei spielt es bei manchen Aktionen auch eine Rolle, welche Rechte vorhanden sind,
beispielsweise kann ein Kommentar nur mit einem Befugnis”1“ erstellt werden.
Punkte Rechte Beschreibung
5 1 Neuer Kommentar
10 0 Vollstandig ausgefulltes Produkt
10 2 Neue Produktanfrage
10 0 Validierung der E-Mailadresse
25 0 Neues Produkt
40 2 Einfugen der Antwort auf eine Produktanfrage
Tabelle 5.1: Punkte, die durch eine bestimmte Aktion”verdient“ werden konnen, wobei man-
che Aktionen nur mit hoheren Rechten ausgefuhrt werden konnen.
Die Rechte wiederum konnen teilweise durch Punkte verdient werden, was in Tabelle 5.2
ersichtlich wird. Je nach Mindestpunktanzahl konnen dabei gewisse Rechte bzw. Befugnisse
Rechte Mindestpunktzahl Beschreibung
0 0 Standard Rechte (Produkt, Hersteller, usw. anlegen)
1 250 Kommentar schreiben
2 500 Produktanfrage schreiben/einfugen
2 500 Quelle zu Produkt hinzufugen
3 1000 Zutat manuell erstellen und verandern
5 - Eintrage loschen
10 - Administrator*in
Tabelle 5.2: Befugnisse, die je nach Mindestpunktzahl erreicht werden konnen. Einige Rechte
konnen nur von den Administrator*innen vergeben werden (mit”-“ gekennzeich-
net).
freigeschaltet werden, um so einerseits wieder einen Anreiz zu schaffen, mehr Daten in die
29
5 Implementierung
Datenbank einzugeben und andererseits einem Missbrauch vorzubeugen. Einige Befugnisse
konnen dabei nicht durch Punkte freigeschaltet werden (gekennzeichnet mit”-“ in der Tabelle),
konnen allerdings von den Administrator*innen vergeben werden.
Der*Die erste Administrator*in muss dabei durch eine Modifikation der Datenbank festgelegt
werden, was in der technischen Dokumentation (siehe Abschnitt 5.5) beschrieben ist.
Um einen Anreiz zu schaffen, ein Produkt moglichst vollstandig auszufullen, wird unter jedem
Produkt durch eine Fortschrittsanzeige visuell die Vollstandigkeit angezeigt, was in Abbil-
dung 5.2 dargestellt ist.
Abbildung 5.2: Vollstandigkeitsanzeige, die unter jedem Produkt angezeigt wird
Dieser Wert wird berechnet durch neun Indikatoren, die bei einem Produkt angegeben werden
mussen: Barcode bzw. GTIN, Name, Beschreibung, Zutaten, Kategorie, Verpackungsmaterial,
Verpackungsgroße, Herkunftsland und Marke. Alle anderen Angaben sind optional, da sie
nicht bei jedem Produkt vorliegen.
Eine Bestenliste, welche die Nutzer*innen mit Avatar, Spitzname und Punktanzahl auflistet,
soll fur einen kleinen Wettbewerb untereinander sorgen, wobei dadurch wieder mehr Pro-
dukte eingetragen bzw. Eintrage vervollstandigt werden sollen. Dabei werden auf der Nut-
zer*innenubersicht alle Nutzer*innen nach Punkten und danach alphabetisch nach Spitzname
sortiert, wobei sich die Besten in der Liste ganz oben befinden. Dies ist in Abbildung 5.3 in
einem Ausschnitt zu sehen.
Abbildung 5.3: Bestenliste, mit den Nutzer*innen nach Punkten absteigend sortiert
5.3.3 Extraktion von Zutateninformationen und -veganitaten
Bei der Produkterstellung konnen Zutaten angegeben werden, die automatisch erstellt werden
und zur Veganitatsbestimmung des Produktes dienen. Dies wird in Abbildung 5.4 verdeutlicht,
wobei neben den Pflichtangaben (siehe Abschnitt 4.4.3) optionale Angaben moglich sind.
30
5.3 Webanwendung
Abbildung 5.4: Anlegung eines neuen Produktes, u. a. mit einer Moglichkeit zur manuellen
Eingabe einer Zutatenliste
Zur Erstellung der Zutaten werden die Zutatenliste mit Hilfe von regularen Ausdrucken
geparst und Klassennamen wie”Emulgator“ – welche in den Tabellen classnames und
classnames_synonyms gespeichert sind – herausgefiltert um so nur noch die eigentlichen
Zutaten zu erhalten. Die Zutaten konnen dabei auch durch die Zutatensynonyme, die bei
einer Zutat angegeben werden konnen, erkannt werden. Wurden bei diesem Vorgang Zutaten
erstellt, die Rechtschreibfehler enthalten oder Zutaten darstellen, die aus anderen Zutaten zu-
sammengesetzt sind wie z. B.”Tofu“ oder
”Teig“ konnen diese durch die Administrator*innen
bzw. durch jeweilige Rechte”versteckt“ werden und tauchen daraufhin in keinen Ubersichten
oder Zutatenlisten mehr auf. Dieses Verstecken bietet im Gegensatz zur Loschung den Vorteil,
dass die Loschung mehrmals vorgenommen werden musste (bei jeder Erstellung dieser Zutat).
Wahrend die automatisch Erstellung von Zutaten bei der Anlegung eines Produktes immer
moglich ist, ist die manuelle Erstellung nur mit bestimmten Rechten moglich (siehe Ab-
schnitt 5.3.2), um somit einem Missbrauch vorzubeugen.
Die Veganitat einer Zutat kann entweder durch die Administrator*innen festgelegt werden
(hier: fixed), z. B. wenn sie definitiv unvegan oder vegan ist, oder dynamisch errechnet
werden. Dazu werden alle Produkte mit einbezogen, die diese Zutat reprasentieren. Diese re-
prasentativen Produkte sind Produkte, die nur diese eine Zutat enthalten, z. B. enthalt das
Produkt”Weizenmehl“ nur diese Zutat. Aus mehreren solcher Produkte, die jeweils wieder
eine eigene Veganitat haben (die Berechnung wird in Abschnitt 5.3.6 beschrieben) wird die
Zutaten-Veganitat berechnet, die in Algorithmus 5.1 dargestellt ist.
31
5 Implementierung
Input : An ingredient and its associated products
Output : The veganity of this ingredient
/* Veganity fixed by admins */1 if ingredient is not fixed then
2 define set;
3 for each product do
4 result = compute veganity of product;
5 add result to set;
6 end
7 make set unique
8 if set contains ((VEGAN and NOT VEGAN) or UNCERTAIN) then
9 return UNCERTAIN;
10 else if set contains NOT VEGAN then
11 return NOT VEGAN;
12 else if set contains VEGAN then
13 return VEGAN;
14 else
15 return UNKNOWN;
16 end
17 else
18 return fixed veganity
19 end
Algorithmus 5.1 : Berechnung der Veganitat einer Zutat
Ist eine Zutatenveganitat von den Administrator*innen festgelegt worden, wird diese dabei
zuruckgegeben (Zeile 18). Ansonsten werden zuerst alle Veganitaten der Produkte berechnet,
die diese Zutat reprasentieren und in einer Menge gespeichert (Zeilen 2 – 6), wobei der in
Abschnitt 5.3.6 beschriebene Algorithmus 5.5 fur die Berechnung der Produkt-Veganitaten
benutzt wird. Danach werden alle mehrfach vorhandenen Veganitaten entfernt, sodass am
Schluss nur noch hochstens vier Veganitaten ubrig bleiben (Zeile 7). Aus diesen wird durch
eine Fallunterscheidung die Veganitat der Zutat bestimmt (Zeilen 8 – 16), wobei eine Zutat
unklar sein kann, wenn alle Produkte unklar sind oder wenn gleichzeitig vegane wie auch
unvegane Produkte enthalten sind. Enthalt die Zutat dabei keine Produkte, ist die Veganitat
unbekannt (Zeile 15).
Zur Berechnung der Veganitat von allen Zutaten eines Produktes, wird der im Folgenden
dargestellte Algorithmus 5.2 benutzt.
Dieser ahnelt vom Aufbau dem Algorithmus zur Bestimmung einer Zutat, da er fur jede Zutat
eines Produktes die Veganitat bestimmt und in einer Menge speichert (Zeilen 1 – 5), wobei
dafur Algorithmus 5.1 verwendet wird. Allerdings wird die Veganitat nach dem Verkleinern
der Menge (da wieder nur hochstens vier Veganitaten gebraucht werden) in Zeile 6 mit einer
anderen Fallunterscheidung bestimmt (Zeilen 7 – 15).
32
5.3 Webanwendung
Input : All ingredients associated with a product
Output : Veganity of these ingredients
1 define set;
2 for each ingredient do
3 result = compute veganity of ingredient;
4 add result to set;
5 end
6 make set unique
7 if set contains (NOT VEGAN) then
8 return NOT VEGAN;
9 else if set contains UNKNOWN then
10 return UNKNOWN;
11 else if set contains UNCERTAIN then
12 return UNCERTAIN;
13 else
14 return VEGAN;
15 end
Algorithmus 5.2 : Berechnung der Zutaten-Veganitat eines Produktes
5.3.4 Generierung von Produktanfragen und Berechnung der Veganitat
Nachdem die Bedingungen fur eine Produktanfrage wie in Abschnitt 4.4.6 beschrieben er-
fullt sind, kann diese unterhalb eines Produktes entweder automatisch generiert oder manuell
erstellt werden. Dort kann entweder ein Text mit Hilfe des Baukastensystems der Tierrechts-
organisation Maqi [53] generiert oder ein eigener Text eingegeben werden. Ein Beispieltext
befindet sich im Anhang 7.2.3.
Innerhalb des Erstellungsfensters (zu sehen in Abbildung 5.5) befinden sich zusatzlich zu ei-
nem Eingabefeld, in dem eine Produktanfrage durch den”Generieren“-Button erstellt werden
kann, noch Hinweise, den generierten Text falls notwendig zu andern bzw. zu erweitern, wel-
che Zutaten in dem Produkt potentiell vegan sein konnten und woher der generierte Text
stammt. Ebenfalls dazu, ob der Name beim Erstellen in der Produktubersicht anonymisiert
wird (was in den Nutzer*ineinstellungen geandert werden kann) sowie ein Text, der den*die
Hersteller*in darauf hinweist, dass dies eine automatisch generierte Anfrage ist, der Betreff
daher nicht geandert werden soll und die Antwort veroffentlicht wird.
Der Betreff soll dem System bei einer Antwort von einem*einer Hersteller*in ermoglichen,
diese automatisch anhand der im Betreff befindlichen ID des Produktes, also einer Nummer
in der Datenbank, zu erkennen und unterhalb des betreffenden Produktes zu speichern. Dies
funktioniert allerdings nur, wenn ein Mailserver auf dem System, auf dem YAVA lauft, einge-
richtet ist und diese Mails an YAVA ubergibt. Zudem wird diese Antwort noch nicht direkt auf
der Produktubersicht angezeigt, sie muss zuerst von dem*der Ersteller*in uberpruft werden
und die Veganitat eingestellt werden.
33
5 Implementierung
Abbildung 5.5: Erstellung einer Produktanfrage mit generiertem Text
Existiert kein Mailserver, der die E-Mails annehmen kann, kann eine Antwort, da sie auch
durch den gesetzten Reply-To-Header in der E-Mail an den*die Nutzer*in geschickt werden
soll, von diesem*dieser in der Nutzer*inubersicht erstellt werden, was in Abbildung 5.6 zu
sehen ist.
Abbildung 5.6: Erstellungsmoglichkeit einer Antwort auf eine Produktanfrage in der Ubersicht
von einem*einer Nutzer*in
Die Veganitat der Produktanfragen (hier: inquiries), welche zur Berechnung der Veganitat
eines Produktes benutzt wird, berechnet sich wie in Algorithmus 5.3 dargestellt. Ist weder
eine Quelle noch eine Produktanfrage vorhanden, ist die Veganitat unbekannt (Zeile 2), ist
nur eine Quelle vorhanden, entspricht diese auch der Produktanfragen-Veganitat (Zeile 4) und
ansonsten ist die Produktanfragen-Veganitat die Veganitat der letzten Produktanfrage bzw.
der Antwort darauf (Zeile 6).
Die Quelle, die im Algorithmus genutzt wird (hier: source), kann bei der Erstellung eines
Produktes mit den entsprechenden Rechten (siehe Abschnitt 5.3.2) angegeben werden und
entspricht der ersten Antwort auf eine nicht existente Produktanfrage. Diese Quelle kann ein
Link zu einer schon vorhandenen Produktanfrage (mit Antwort) sein, die z. B. auf einem Blog
oder in einem Forum vorhanden ist oder ein Link zu der Seite von einem*einer Hersteller*in,
in dem auf die Veganitat des Produktes eingegangen wird.
34
5.3 Webanwendung
Input : All inquiries and the source associated with a product
Output : Veganity of the inquiries (including the source)
1 if source is empty and inquiries are empty then
2 return UNKNOWN
3 else if source is not empty and inquiries are empty then
4 return veganity of the source
5 else
6 return veganity of the last inquiry
7 end
Algorithmus 5.3 : Berechnung der Produktanfragen-Veganitat eines Produktes
5.3.5 Kommentarerstellung und Veganitatsbestimmung
Wie in Abschnitt 4.4.7 beschrieben wurde, konnen Kommentare von angemeldeten Nut-
zer*innen erstellt werden und konnen auch in die Berechnung der Veganitat mit einfließen,
da zu jedem Kommentar eine Veganitat ausgewahlt werden muss, was in Abbildung 5.7 dar-
gestellt ist.
Abbildung 5.7: Kommentar erstellen
Die Kommentare werden unterhalb eines Produktes je nach Veganitat mit einer anderen
Farbe und einem anderen Symbol angezeigt und konnen auch dort erstellt werden, wie in
Abbildung 5.8 zu sehen ist.
Die Berechnung der Veganitat aller Kommentare zu einem Produkt ist in Algorithmus 5.4
beschrieben.
35
5 Implementierung
Abbildung 5.8: Kommentare
Input : All comments associated with a product
Output : Veganity of these comments
1 if there is no comment then
2 return UNKNOWN;
3 else
4 return veganity of last comment;
5 end
Algorithmus 5.4 : Berechnung der Kommentar-Veganitat eines Produktes
Sind keine Kommentare vorhanden, ist die Kommentar-Veganitat unbekannt (Zeile 2), an-
sonsten wird sie durch den letzten Kommentar festgelegt (Zeile 4).
5.3.6 Ermittlung der Produkt-Veganitat
Die Produkt-Veganitat wird dynamisch aus den vorhandenen Zutaten, Produktanfragen und
Kommentaren berechnet. Der zugrunde liegende Algorithmus (5.5) wird im Folgenden be-
schrieben.
Es werden zunachst die anderen Veganitaten (Zutaten, Produktanfragen und Kommentare)
berechnet und in einer Menge gespeichert (Zeilen 1 – 10). In den Zeilen 6 und 7 wird ersichtlich,
wie die Produkt-Veganitat einer Zutat (siehe Abschnitt 5.3.3 berechnet wird, namlich nur
durch die Produktanfragen und Kommentare.
Im Fall, dass ein Produkt keine unveganen aber z. B. unklare Zutaten enthalt, die Produkt-
anfragen- oder Kommentar-Veganitat aber vegan ist, muss die Veganitat gewichtet werden,
indem die Zutaten-Veganitat ignoriert wird (Zeilen 11 – 13). Anschließend wird die Produkt-
Veganitat mittels einer Fallunterscheidung bestimmt (Zeilen 14 – 22).
Allerdings wurde durch eine Worst-Case-Laufzeit von O(nk), die theoretisch bei einem Up-
date einer Zutaten-Veganitat und einem damit verbundenen Update aller Produkte auftreten
wurde, die Berechnung der Veganitat teilweise ausgelagert. Die Aktualitat wird dabei durch
ein Programm gewahrleistet, das die Veganitaten der Produkte und Zutaten aktualisiert und
stundlich ausgefuhrt wird. Zudem wird die jeweilige Veganitat beim Anklicken der Ubersichts-
seite eines Produktes oder einer Zutat auf den neuesten Stand gebracht, sodass die Aktualitat
fur den*die Nutzer*in immer gegeben ist.
36
5.3 Webanwendung
Input : A product and its underlying ingredients, comments and inquiries
Output : The veganity of this product
1 define set;
2 if ingredients are empty then
3 set = {UNKNOWN, veganity of the inquiries, veganity of the comments};4 else if there is one ingredient and it’s fixed then
5 set = {veganity of the ingredients, veganity of the inquiries, veganity of the
comments};6 else if there is one ingredient and it’s not fixed then
7 set = {veganity of the inquiries, veganity of the comments};8 else
9 set = {veganity of the ingredients, veganity of the inquiries, veganity of the
comments};10 end
11 if size of set is bigger than 2 and (veganity of the inquiries or of the comments is
VEGAN) and veganity of the ingredients is not NOT VEGAN then
12 set = {veganity of the inquiries, veganity of the comments};13 end
14 if set contains NOT VEGAN then
15 return NOT VEGAN;
16 else if set contains UNCERTAIN then
17 return UNCERTAIN;
18 else if set contains VEGAN then
19 return VEGAN;
20 else
21 return UNKNOWN;
22 end
Algorithmus 5.5 : Berechnung der Veganitat eines Produktes
5.3.7 Internationalisierung/Lokalisierung
Durch die Internationalisierung, d. h. die Gestaltung eines Systems, welches leicht an verschie-
dene Sprachen bzw. Kulturen angepasst werden kann, die auch in YAVA verwendet wurde,
konnen leicht weitere Sprachen integriert werden. Dies geschieht durch die Lokalisierung, d. h.
das Ubersetzen von Sprachdateien in verschiedene Sprachen.
Aktuell ist YAVA dabei in deutscher Sprache verfugbar, da sich diese Arbeit vorrangig an den
deutschen Markt richtet.
37
5 Implementierung
5.4 Integration in das Innovative Retail Laboratory
Wie in Abschnitt 4.2 beschrieben, sollte auch im IRL eine Instanz von YAVA als Demonstrator
in Betrieb genommen werden.
Dabei wurde der gleiche Programmcode mit zwei Anderungen benutzt:
1. Es wurden keine externen Dienstanbieter*innen zur Authentifizierung wie Google im-
plementiert, da es nur ein*e Nutzer*in gibt. Die Webanwendung wurde mit”Htaccess“
geschutzt.
2. Da diese Instanz nur ein Demonstrator ist, wurden keine echten E-Mailadressen benutzt,
stattdessen gehen alle ausgehenden E-Mails an die selbe Adresse.
Als Datengrundlage wurde ein Speicherauszug aus der Datenbank (Dump) von YAVA nach
einer ein-monatigen Beta-Phase verwendet. Zusatzlich zur Webanwendung gibt es auch im
IRL eine Instanz der mobilen App, hier wurde lediglich die Uniform Resource Locator (URL),
von der die Daten kommen, ausgetauscht.
5.5 Technische Dokumentation
Die technische Dokumentation in englischer Sprache befindet sich auf der beigelegten CD im
Verzeichnis yava/doc. Die sich dort befindliche Datei index.html kann in einem Browser
geoffnet werden und enthalt die technischen Schritte die zur Installation von YAVA mit allen
Komponenten auf einem GNU/Linux-Betriebssystem benotigt werden. Daneben befinden sich
dort alle mit Kommentaren versehenen Klassen und Module sowie die jeweiligen Methoden.
Zusatzlich befindet sich die Dokumentation auf GitHub [34].
5.6 Lizenzen
Dadurch, dass alle, die eine (vegane) Produktdatenbank erstellen wollen, jedes Mal von neuem
beginnen mussen weil die existierenden Datenbanken selten eine Moglichkeit haben, alle Daten
herunterzuladen, soll dies ein Versuch sein, eine komplett freie Datenbank zu erstellen. Deshalb
werden alle Daten der Datenbank – exklusive die Daten der Nutzer*innen – unter der CC0-
Lizenz veroffentlicht [22] und als kompletter Speicherauszug der Datenbank erhaltlich sein
[41].
Dies wird gewahrleistet durch ein Programm, das taglich um Mitternacht ein Skript ausfuhrt,
welches aus der Datenbank die notigen Tabellen extrahiert und in Dateien speichert. Diese
Dateien sind online verfugbar und werden mit Hilfe des Webservers, in diesem Fall lighttpd,
angezeigt, wie in Abbildung 5.9 zu sehen ist.
Das dazu notwendige Skript sowie das ausfuhrende Programm befinden sich ebenfalls in der
technischen Dokumentation, siehe dazu Abschnitt 5.5.
Der Programmcode der Website und der mobilen Anwendung (App) sind unter der Lizenz
”GPLv3“ verfugbar [33], da alle Weiterentwicklungen wieder in die ursprungliche Arbeit ein-
fließen sollen.
38
5.6 Lizenzen
Abbildung 5.9: Dump der Datenbank, dargestellt durch den Webserver
Der Code dieser Arbeit, samtliche vorherigen Dokumente und der Programmcode fur Website
und App sind auf GitHub, einer Plattform fur Software-Entwicklungsprojekte erhaltlich [34].
Der Code der Arbeit selbst und samtliche vorherigen Dokumente sind unter der CC0-Lizenz
erhaltlich [22].
39
6 Diskussion & Evaluation
In diesem Kapitel wird das System YAVA mit allen Komponenten diskutiert und evaluiert.
Dabei wird u. a. herausgestellt, inwiefern sich YAVA von den verwandten Arbeiten abgrenzt,
wie die Webanwendung und die App angelaufen und wie die Tester*innen damit zurecht
gekommen sind.
6.1 Diskussion
Im Gegensatz zu den verwandten Arbeiten bietet YAVA zu jedem Produkt und jeder Zutat ei-
ne Veganitat an, die in beiden Fallen mit Quellen wie Produktanfragen oder Links zu Websites
belegt werden konnen. Insbesondere wichtig dabei ist der Kontakt zu den Hersteller*innen,
die diese Produktanfragen beantworten konnen, indem zu jedem*jeder Hersteller*in das Hin-
zufugen von Kontaktdaten moglich ist.
Jedoch bietet YAVA im Moment keine weiteren Daten zu einem Produkt an, die fur eine
Kaufentscheidung nutzlich waren, wie das z. B. bei barcoo der Fall ist. Wunschenswert waren
dazu die Einbindung von folgenden Diensten bzw. Funktionen:
• Preisvergleiche, die auch die Geschafte mit einbeziehen
• Bewertungen, z. B. im Hinblick auf Geschmack oder Preis-Leistungs-Verhaltnis
• Testergebnisse, z. B. von Stiftung Warentest
• Okoinformationen, z. B. von Greenpeace, die die Okobilanz der Hersteller*innen aufzei-
gen
• Gesundheitsinformationen, z. B. ob ein Produkt hormonell wirksame Chemikalien be-
inhaltet, die von den Verbraucher*innenzentralen oder anderen Dienstleister*innen ein-
gebunden werden konnen
• Essenstagebuch, basierend auf den Nahrwertangaben, mit dem z. B. der Tagesbedarf an
verschiedenen Nahrstoffen kontrolliert werden kann
• Ortssuche lokal und global, d. h. lokal, in welchem Regal in diesem Geschaft und global
in welchem Geschaft in welcher Stadt sich das gesuchte Produkt oder eine Alternative
dazu befindet
Diese Modifikationen fuhren dazu, dass im Endeffekt ein Portal aufgebaut wird mit vielen
unterschiedlichen Informationen, die fur die Verbraucher*innen nutzlich sein konnen. Mit dem
Unterschied zu den verwandten Arbeiten, dass auch Minderheiten wie z. B. Rohkostler*innen
oder Frutarier*innen beachtet werden konnen und die Daten alle lizenzfrei vorliegen.
Bisher liegen noch keine Daten zu Non-Food Produkten vor, also z. B. Kosmetika oder Bautei-
le fur Automobile. Die entsprechenden Kategorien sind zwar in YAVA vorhanden, allerdings
41
6 Diskussion & Evaluation
fehlen die Eingabemoglichkeiten, die bei manchen Produkten notwendig sind, z. B. die Seiten-
anzahl bei einem Buch. Im Zuge dessen konnten auch die Basiszutaten ausgeweitet werden,
sodass z. B. alle E-Nummern vertreten sind und auch chemische oder pharmazeutische Namen
benutzt werden konnen.
YAVA ist im Moment eine Plattform, die sich explizit an Veganer*innen wendet. Dies konnte
auch im Stil von MENSSANA ausgeweitet werden, in dem z. B. in den Nutzer*inneneinstellungen
ein Profil angelegt werden kann, welche Allergene oder Unvertraglichkeiten vorliegen, um so
noch naher bestimmen zu konnen, welche Produkte fur die Nutzer*innen geeignet sind.
Wie in Abschnitt 5.3.6 beschrieben, ist die Laufzeit bei einem Update der Veganitat recht
hoch, dies konnte durch entsprechende Modifikationen der Algorithmen optimiert werden.
Ebenfalls konnten die SQL-Abfragen an die Datenbank optimiert werden, indem z. B. die
Abfragen mit”Join“ zusammengefasst werden.
Auch die Gamifikation, die von YAVA benutzt wird und bisher die Elemente Punkte, Fort-
schrittsanzeigen und Bestenliste beinhaltet, konnte ausgebaut werden (vgl. Abschnitt 4.4.8).
So kann sich z. B. an Websites orientiert werden, die sehr stark auf Gamifikation setzen und
fur sehr viele Aktionen Punkte vergeben oder auf sogenannte Badges, also Abzeichen setzen.
Zudem konnten nicht nur bei den Produkten, sondern auch bei den Zutaten und Herstel-
ler*innen Fortschrittsanzeigen benutzt werden. Eine gute Umsetzung der Gamifikation findet
sich z. B. bei den Lernplattformen”Memrise“ und
”Duolingo“, sowie der Frage & Antwort-
Plattform”Stack Exchange“ [42, 28, 49].
Um Missbrauch bei der Nutzung von YAVA vorzubeugen wurden verschiedene Maßnahmen
ergriffen wie z. B. die Validierung der E-Mailadresse und das Rechtesystem. In Uberlegung war
ebenfalls, bei bestimmten Aktionen zu bestatigen, dass diese nicht automatisch durchgefuhrt
wird, indem ein Captcha eingegeben werden muss. Diese Idee wurde allerdings zu Gunsten der
Barrierefreiheit verworfen. Stattdessen gibt es nun eine jeweilige Wartezeit von 10 Sekunden
zwischen der Eintragung eines Produktes, einem Kommentar und einer Produktanfrage. Al-
lerdings konnte dies noch erweitert werden, indem z. B. wie bei dem schon erwahnten System
Stack Exchange unangebrachte Angaben oder Spam durch eine Markierung bei den Adminis-
trator*innen gemeldet werden.
Bisher ist YAVA ein System, das bei einem Update einer Eintragung die alten Werte”ver-
gisst“. Dies ist insbesondere nicht erwunscht bei wichtigen Basiszutaten wie Wasser. Wurde
bei Wasser nun die Veganitat auf unvegan geandert werden, mussten auch sehr viele Produkte
geandert werden, die dann ebenfalls unvegan waren. Dabei mussten dann bei all diesen Pro-
dukten z. B. durch einen Kommentar oder eine Produktanfrage bestatigt werden, dass dies
immer noch z. B. vegan ist. Von daher sollte ein selbstheilendes System eingebaut werden,
dass diese Updates registriert und dementsprechend handelt, sodass z. B. Produktanfragen
automatisch generiert und versendet werden.
Die Bedienoberflache konnte funktionell verbessert werden, indem z. B. gerade nicht erwunsch-
te Elemente ein- oder ausgeklappt werden konnen oder in den Ubersichten nach Eintragen
gesucht werden kann oder die Eintrage anders geordnet werden konnen. Fur RoR existieren
bereits solche Funktionalitaten, allerdings wurde dies bisher nicht implementiert.
42
6.1 Diskussion
Die mobile App benotigt im Moment zum Funktionieren eine Internetverbindung, um auf die
Datenbank von YAVA zugreifen zu konnen. Da aber nicht in jedem Supermarkt eine ausrei-
chende Internetverbindung vorliegt, ware es sinnvoll, Daten wie GTIN, Name und Veganitat
der Datenbank lokal auf dem mobilen Gerat zu speichern und bei einer besseren Verbindung
ggf. zu aktualisieren, die dann bei einem Produktscan genutzt werden konnen.
Weitere Erweiterungen, die zu einer Verbesserung von YAVA fuhren konnen und dabei eigene
wissenschaftliche Arbeiten bilden, werden in Abschnitt 7.2 beschrieben.
43
6 Diskussion & Evaluation
6.2 Evaluation
Innerhalb der einmonatigen Testphase von YAVA im August 2013 haben sich 14 Personen uber
die Anbieter*innen Facebook, GitHub, Google und Twitter angemeldet, die dabei teilweise
Daten in das System eingespeist haben. Werbung fur YAVA wurde nur auf Facebook gemacht,
da dort mit uber 100 potentiellen Tester*innen die Reichweite am großten war. Die Verteilung
der Tester*innen auf die Anbieter*innen ist in Abbildung 6.1 dargestellt.
Abbildung 6.1: Verteilung der Tester*innen auf die Anbieter*innen inkl. Lebensweisen
Dabei wurde auch die Lebensweise der Tester*innen mit einbezogen, in diesem Falle Vege-
tarisch, Vegan und Karnistisch, also einer Lebensweise, die eine Totung von Tieren nicht
ausschließt.
Die Tester*innen haben insgesamt 111 Produkte angelegt, wobei durch die Produkterstel-
lung automatisch 430 Zutaten angelegt wurden. Allerdings waren einige Zutaten doppelt,
z. B. durch falsche Schreibweise oder Zutaten, die weitere Zutaten beinhalten wie”Tofu“
oder”Teig“, sodass diese
”versteckt“ und damit 393
”echte“ Zutaten kreiert wurden (vgl. Ab-
schnitt 5.3.3). Die Produkte und die Verteilung auf die vier Veganitaten ist in Abbildung 6.2a
zu sehen, die Verteilung der Zutaten auf die Veganitaten in Abbildung 6.2b.
Bei den Zutaten wurde noch mit einbezogen, ob die Veganitat der Zutat von den Administra-
tor*innen festgelegt wurde oder nicht, was im Diagramm grun bzw. rot dargestellt ist (vgl.
Abschnitt 5.3.3). Die hohe Anzahl der von den Administrator*innen festgelegten Zutaten-
Veganitaten ergibt sich daraus, dass sehr viele Basiszutaten wie Gewurze, Krauter, Obst,
44
6.2 Evaluation
(a) Verteilung der Produkte auf die Veganitaten (b) Verteilung der Zutaten auf die Veganitaten
Abbildung 6.2: Diagramme mit verschiedenen Verteilungen auf die Veganitaten
Gemuse usw. als Produkte fehlen und daher schlecht die Produkt-Veganitat aus den Zutaten
ermittelt werden kann. Lediglich die Zutat”Meersalz“ konnte durch ein Produkt reprasentiert
werden. Aus der roten Saule bei”unbekannt“ kann abgelesen werden, dass uber 200 Zutaten
nicht auf Veganitat uberpruft wurden und standardmaßig nicht festgelegt sind. Insgesamt
bieten die jetzt vorhandenen Zutaten eine solide Grundlage, um aus der Zutatenliste eines
neuen Produktes die Zutaten-Veganitat zu berechnen.
Die Qualitat bzw. die Vollstandigkeit der Produktangaben war – wie durch die Gamifikation
erwartet – hoch, was in Abbildung 6.3b deutlich wird. Mehr als 75 der 111 Produkte waren
fast oder vollstandig eingetragen, nur zwei Produkte hatten einen Vollstandigkeitswert von
unter 66 %. Die hohe Qualitat der Eingaben zeigt sich auch bei den Haufigkeiten der Zuta-
tenanzahlen in einem Produkt, was auf Abbildung 6.3a zu sehen ist, da zu jedem der 111
Produkte Zutaten eingetragen wurden. Dabei haben die Mehrzahl der Produkte (namlich 23)
nur eine Zutat, wahrend nur eine kleine Menge von Produkten mehr als 20 Zutaten haben.
Die meisten Zutaten (namlich 36) hat genau ein Produkt.
Durch die intensive Nutzung der Webanwendung und der mobilen App konnten die Tes-
ter*innen wertvolles Feedback liefern, was zur Verbesserung von YAVA beigetragen hat.
So wurde die Bedienoberflache durchweg positiv aufgenommen und konnte auch von tech-
nisch nicht versierten Menschen intuitiv benutzt werden, allerdings wurde angeregt, gerade
bei Elementen der Gamifikation (vgl. Abschnitt 4.4.8) wie dem Punktsystem und der Fort-
schrittsanzeige Hinweise anzuzeigen, wie sich diese auswirken und was sie bedeuten.
Ebenso konnte durch die Eintragung von verschiedenen Produkten der Zutatenparser stan-
45
6 Diskussion & Evaluation
(a) Haufigkeiten der Zutatenanzahl in einem Produkt (b) Verteilung der Vollstandigkeit der Produktangaben
Abbildung 6.3: Haufigkeiten der Zutatenanzahl in einem Produkt und Verteilung der Voll-
standigkeit der Produktangaben
dig verbessert und erweitert werden. Einige Anmerkungen haben zu Datenbankmodifikatio-
nen gefuhrt, so wurden z. B. bei den Zutaten Klassennamen wie”Konservierungsmittel“ und
”Farbstabilisator“ eingefuhrt, die eine Zutat naher spezifizieren konnen. Zudem konnten durch
die Nutzung viele Fehler gefunden und beseitigt werden.
Die Funktionalitat, die von Anfang an gewunscht war, namlich durch einen Barcode zu erken-
nen, ob ein Produkt vegan ist oder nicht, wurde durch die mobile Anwendung erleichtert und
auch im realen Einsatz erfolgreich getestet. Verwendet wurden dabei Gerate mit Android ab
Version 4.0. Trotz teilweise geringer Empfangsstarke konnte durch die kleine Menge an Daten,
die von der App zur Datenbank und wieder zuruck gesendet werden, schnell und einfach ein
Produkt im Hinblick auf die Veganitat und damit den Genuß getestet werden. Es wurde bei
der App lediglich angemerkt, dass die Veganitat besser herausgestellt werden sollte wie es
z. B. bei der verwandten Arbeit MENSSANA in Abschnitt 3.4 der Fall ist und die App damit
als Allergiewarner – nur mit ethischem Hintergrund – fungieren soll.
46
7 Zusammenfassung & Ausblick
7.1 Zusammenfassung
In dieser Arbeit wurde eine lizenzfreie Produktdatenbank konzipiert und entwickelt um ahn-
liche oder darauf aufbauende Arbeiten zu vereinfachen. Mit Hilfe einer Webanwendung kann
diese Datenbank von den Nutzer*innen bearbeitet und erweitert werden. Der Fokus liegt
dabei auf der automatisierten Bestimmung der Veganitat mit Hilfe der Zutatenlisten, Pro-
duktanfragen an die Hersteller*innen und Nutzer*innenkommentare. Im Supermarkt konnen
diese Informationen mit Hilfe einer mobilen Anwendung zu einer Kaufentscheidung genutzt
werden. Zudem kann YAVA durch die Internationalisierung in anderen Landern schnell und
einfach lokalisiert werden.
Die genannten Punkte sind zur Abgrenzung von anderen Arbeiten erneut in Tabelle 7.1 dar-
gestellt, wobei bei YAVA alle Kriterien, die in Kapitel 3 genannt wurden, umgesetzt wurden,
was durch das grune Hakchen (3) symbolisiert wird.
barcoo
das-ist-drin
EuLa-Armband
MENSSANA
YAVA
Veganitat (3) (3) 7 (3) 3
Plattformunabhangig 3 3 7 3 3
Lizenzfreiheit 7 7 7 7 3
Zugang 3 3 7 3 3
Nutzer*innenbasiert 7 3 7 (3) 3
Lokalisierung 7 7 3 3 3
Tabelle 7.1: Gegenuberstellung von YAVA mit den verwandten Arbeiten anhand verschiede-
ner Kriterien
YAVA ist online verfugbar und kann durch eine Lizenz, die die Veranderung erlaubt (vgl.
Abschnitt 5.6), modifiziert und erweitert werden. Eine technische Dokumentation, die sich
auf der beiliegenden CD befindet, beschreibt die Installation von YAVA auf einem Server.
47
7 Zusammenfassung & Ausblick
7.2 Ausblick
Im Folgenden werden Moglichkeiten beschrieben, wie diese Arbeit in Zukunft verfeinert und
erweitert werden kann. Da die Arbeit dank der Lizenzen (vgl. Abschnitt 5.6) verandert werden
kann, sind diese Erweiterungen rechtlich und technisch moglich.
7.2.1 Computerlinguistische Verbesserungen
Der in Abschnitt 5.3.3 beschriebene Parser konnte mit Hilfe von computerlinguistischen Me-
thoden verbessert werden.
Probleme gibt es bei diesem namlich z. B. bei Zutaten wie”Mono- und Diglyceride“, da diese
nicht in”Monoglyceride“ und
”Diglyceride“ aufgeteilt werden. Ebenso konnen nahere Infor-
mationen uber eine Zutat verloren gehen, dies ist z. B. bei”Pflanzenol ungehartet (Kokos)“
der Fall, da hier”Kokos“ vom Rest getrennt wird. Insbesondere tritt dieses Problem bei All-
ergenen oder Spuren auf, bspw. bei”Lecithine (Soja)“, wobei hier Soja nur eine der benutzten
Lecithine sein kann, durch die Deklarierung von Allergenen aber hervorgehoben werden muss
[11]. Diese Probleme konnten mit einer eigenen Zutatengrammatik oder einer Baumgenerie-
rung gelost werden, z. B. im Rahmen einer Computerlinguistik-Arbeit.
Ebenso konnten die Zutatensynonyme um Fremdsprachen erweitert werden, sodass auch das
Parsen von Medikamenten oder Kosmetikartikeln, die ublicherweise in englischer Sprache ver-
fasst sind, leichter fallt [9]. Dabei konnte bei allen Zutaten auch jeweils der Singular bzw.
Plural mit gespeichert werden.
Mit weitreichenden Verbesserungen konnte auch – sofern ein Mailserver konfiguriert ist – eine
eingehende E-Mail geparst werden und automatisch einsortiert werden.
7.2.2 Veganitatsbestimmung
Eine weitere Verbesserung ware der Einbau einer Logik, mit der die Veganitat eines Produktes
anhand anderer Angaben bestimmt werden kann, wie in Abbildung 7.1 dargestellt ist.
Abbildung 7.1: Flowchart zur Bestimmung der Veganitat aus den Produktangaben
In diesem Beispiel wird formal eine Flasche Wein durch Entscheidungen beschrieben, wobei
im Erfolgsfall ein Hinweis angezeigt wird, dass dieses Produkt unvegan sein konnte. Diese
Logik konnte spielerisch zusammengesetzt werden (wie es bei dem visuellen Programmeditor
”Blockly“ der Fall ist [37]) oder als Logik in einer XML-Datei angegeben werden und durch
48
7.2 Ausblick
ein*e Administrator*in hochgeladen werden.
Auf dieser Logik aufbauend konnte auch eine Produktanfrage besser generiert werden, indem
direkt nach den Regeln dieser Logik Fragen gestellt werden.
7.2.3 OCR und -Reader
Um die Zutatenlisten nicht muhsam von Hand eintippen zu mussen, wurde sich zusammen
mit der App Optical Character Recognition (OCR) (auch Texterkennung oder Optische Zei-
chenerkennung genannt) anbieten, welches eine automatisierte Texterkennung innerhalb von
Bildern moglich macht.
In dem Beispiel in Abbildung 7.2 wurde die Aufschrift auf der Verpackung mit Hilfe der
Android-App”OCR Test“ komplett erkannt.
Abbildung 7.2: OCR am Beispiel einer Kresse-Verpackung
Da dies nicht immer der Fall ist, weil die aufgenommenen Gegenstande rund sein oder die
Umgebung schlecht beleuchtet sein konnte, konnte auf Grundlage der erkannten Buchstaben
und mit Hilfe der Levenshtein-Distanz, mit der Textunterschiede gemessen werden konnen
und den vorhandenen Produkt- bzw. Zutatendaten in der Datenbank diese Arbeit erweitert
werden [DLPH10, SHS11, KAC12].
49
Abbildungsverzeichnis
1.1 Schwer verstandliche Zutatenliste am Beispiel der Zahncreme”Vitamin B12“
von”Sante“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Beispiel-Barcode: Kressesamen der Firma Davert . . . . . . . . . . . . . . . . . 7
2.2 Die Funktionalitat von PhoneGap in der Ubersicht . . . . . . . . . . . . . . . . 8
3.1 Mobile barcoo-App fur Android in Benutzung . . . . . . . . . . . . . . . . . . . 12
3.2 Mobile App von das-ist-drin fur Android in Benutzung . . . . . . . . . . . . . 13
3.3 Beispielhafte Benutzung des EuLa-Armbands . . . . . . . . . . . . . . . . . . . 14
3.4 Mobile App von WikiFood in Benutzung . . . . . . . . . . . . . . . . . . . . . . 15
4.1 Grober schematischer Aufbau von YAVA . . . . . . . . . . . . . . . . . . . . . 19
4.2 Zusammenhang der einzelnen Veganitaten: Die Veganitaten der Zutaten, Pro-
duktanfragen und Kommentare berechnen die Produkt-Veganitat . . . . . . . . 24
5.1 Stark vereinfachtes Datenbankmodell . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Vollstandigkeitsanzeige, die unter jedem Produkt angezeigt wird . . . . . . . . 30
5.3 Bestenliste, mit den Nutzer*innen nach Punkten absteigend sortiert . . . . . . 30
5.4 Anlegung eines neuen Produktes, u. a. mit einer Moglichkeit zur manuellen
Eingabe einer Zutatenliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5 Erstellung einer Produktanfrage mit generiertem Text . . . . . . . . . . . . . . 34
5.6 Erstellungsmoglichkeit einer Antwort auf eine Produktanfrage in der Ubersicht
von einem*einer Nutzer*in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.7 Kommentar erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.8 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.9 Dump der Datenbank, dargestellt durch den Webserver . . . . . . . . . . . . . 39
6.1 Verteilung der Tester*innen auf die Anbieter*innen inkl. Lebensweisen . . . . . 44
6.2 Diagramme mit verschiedenen Verteilungen auf die Veganitaten . . . . . . . . . 45
6.3 Haufigkeiten der Zutatenanzahl in einem Produkt und Verteilung der Vollstan-
digkeit der Produktangaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.1 Flowchart zur Bestimmung der Veganitat aus den Produktangaben . . . . . . . 48
7.2 OCR am Beispiel einer Kresse-Verpackung . . . . . . . . . . . . . . . . . . . . . 49
.3 Entity-Relationship-Modell von YAVA . . . . . . . . . . . . . . . . . . . . . . . xi
i
Tabellenverzeichnis
2.1 Einteilung der Veganitat in vier Kategorien . . . . . . . . . . . . . . . . . . . . 7
3.1 Gegenuberstellung der verwandten Arbeiten anhand verschiedener Kriterien . . 16
5.1 Punkte, die durch eine bestimmte Aktion”verdient“ werden konnen, wobei
manche Aktionen nur mit hoheren Rechten ausgefuhrt werden konnen. . . . . . 29
5.2 Befugnisse, die je nach Mindestpunktzahl erreicht werden konnen. Einige Rech-
te konnen nur von den Administrator*innen vergeben werden (mit”-“ gekenn-
zeichnet). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.1 Gegenuberstellung von YAVA mit den verwandten Arbeiten anhand verschie-
dener Kriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
iii
Liste der Algorithmen
5.1 Berechnung der Veganitat einer Zutat . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Berechnung der Zutaten-Veganitat eines Produktes . . . . . . . . . . . . . . . . 33
5.3 Berechnung der Produktanfragen-Veganitat eines Produktes . . . . . . . . . . . 35
5.4 Berechnung der Kommentar-Veganitat eines Produktes . . . . . . . . . . . . . . 36
5.5 Berechnung der Veganitat eines Produktes . . . . . . . . . . . . . . . . . . . . . 37
v
Abkurzungsverzeichnis
API Application Programming Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
App Mobile Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
DID das-ist-drin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
EAN European Article Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
EuLaA Einkaufunterstutzendes Lebensmittelallergiker-Armband . . . . . . . . . . . . . . . . . 13
GDA Guideline Daily Amount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
GS1 Global Standards One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
GTIN Global Trade Item Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
IRL Innovative Retail Laboratory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
MENSSANA Mobile Expert and Networking System for Systematical Analysis of
Nutrition-based Allergies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
MVC Model-View-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
OCR Optical Character Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PAA Personal Allergy Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
PDA Personal Digital Assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
RFID Radio-Frequency Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
RoR Ruby-on-Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
URL Uniform Resource Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VEBU Vegetarierbund Deutschland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
vii
Anhang
Beispiel-Produktanfrage
Der folgende Text ist eine Beispiel-Produktanfrage. Er kann automatisch von YAVA bei der
Erstellung einer Produktanfrage generiert werden.
Dabei werden <productname>, <gtin> und <name> durch die entsprechenden Angaben
ersetzt.
Die Hinweise am Ende der E-Mail werden immer angehangt und konnen nicht verandert
werden.
Der Text wurde mit Hilfe des Baukastensystems der Tierrechtsorganisation Maqi erstellt [53].
Sehr geehrte Damen und Herren,
ich lebe aus ethischen Gründen vegan, vermeide also alleTierprodukte.Da dennoch in einem Produkt neben offensichtlichen Tierprodukten wieMilch, Rinderfett etc. auch versteckte Tierprodukte oder Zutaten, diesowohl von Tieren als auch von Pflanzen stammen können (beispielsweiseMono- und Diglyceride von Speisefettsäuren, Vitamine, Aromastoffeetc.) enthalten sein können, würde ich gerne wissen ob ihr Produkt"<productname>" mit der GTIN <gtin> wirklich veganist.
Bitte teilen Sie mir mit:
* Welche Zutaten werden verwendet (auch solche, die laut Gesetz keinesind bzw. nicht deklariert werden müssen)?
* Woraus sind die zusammengesetzten Zutaten zusammengesetzt (sofernnicht angegeben)?
* Woraus sind die synthetisierten Zutaten synthetisiert (z.B. kannVitamin D aus Lanolin, Wollfett synthetisiert sein, welches nichtvegan ist)?
* Welche Produktionshilfsstoffe werden verwendet (auch wenn diese imEndprodukt nicht mehr oder kaum noch vorhanden sind)?
* Welche entsprechenden Aussagen gelten für die Verpackungsmaterialien(beispielsweise kaseinhaltigen Kleber für die Etikettierung)?
Sollten Sie weitere potentiell vegane Produkte herstellen, würde ich
ix
Anhang
entsprechende Informationen darüber natürlich ebenfalls begrüßen.
Für Rückfragen stehe ich gern zur Verfügung.Im Voraus vielen Dank für Ihre Bemühungen.
Mit freundlichen Grüßen,<name>
Hinweise========
Dies ist eine automatisch erstellte Mail vonhttp://yava.yhaupenthal.org/.
Es ist wichtig, dass Sie nicht den Betreff ändern, insbesonderenicht die Zahl, um eine automatische Einsortierung zu ermöglichen.
Bitte achten Sie darauf, dass Ihre Antwort veröffentlicht wird, Siegeben mit einer Antwort damit also Ihr Einverständnis, wobei IhreDaten anonymisiert werden können. Bitte teilen Sie dies mit.
Datenbank
Das Datenbankmodell, welches in Abbildung .3 zu sehen ist, zeigt alle Tabellen mit den
jeweiligen Spalten von YAVA in der Ubersicht und wie diese Tabellen miteinander verknupft
sind.
Das Modell wurde mit Hilfe des Ruby-Gems”railroady“ erstellt.
x
Datenbank
Abb
ild
ung
.3:
Enti
ty-R
elat
ionsh
ip-M
odel
lvo
nY
AV
A
xi
Literaturverzeichnis
[AHSR07] Arens, Andreas ; Herbst, Ralf ; Schneider, Georg J. ; Rosch, Norbert: 1D
Barcode Erkennung auf Mobiltelefonen mit eingebauter Kamera zur automa-
tischen Erkennung von Lebensmitteln fur das MENSSANA Projekt. (2007).
– http://www.jede-menge-zukunft.de/fileadmin/groups/12/Personen/Professoren/Schneider/papers/1D-Barcode_Erkennung.pdf (23. September 2013)
[ARF+08] Arens, Andreas ; Rosch, Norbert ; Feidert, Frank ; Harpes, Patrick ;
Herbst, Ralf ; Mosges, Ralph: Mobile electronic patient diaries with bar-
code based food identification for the treatment of food allergies. In: GMS Med
Inform Biom Epidemiol 4 (2008), Nr. 3. – http://www.egms.de/static/de/journals/mibe/2008-4/mibe000073.shtml (23. September 2013)
[BDPVA11] Bertoni, Guido ; Daemen, Joan ; Peeters, Michael ; Van Assche, Gilles:
The Keccak SHA-3 submission. (2011), 1. – http://keccak.noekeon.org/Keccak-submission-3.pdf (23. September 2013)
[Bre05] Breyvogel, Wilfried: Eine Einfuhrung in Jugendkulturen. Veganismus und
Tattoos. V.S. Verlag fur Sozialwissenschaften, 2005
[Bre07] Bretz, Anke: RFID als Technik fur Mobile Health bei Lebensmittelallergikern,
Universitat Koblenz-Landau, Diplomarbeit, 2007. – http://kola.opus.hbz-nrw.de/volltexte/2007/180/pdf/Diplomarbeit-RFID_Lebensmittelallergie.pdf (23. September 2013)
[DKLD11] Deterding, S. ; Khaled, R. ; L., Nacke ; Dixon, D.: Gamification:
Toward a Definition. In: CHI 2011 Workshop Gamification, 2011. –
http://gamification-research.org/wp-content/uploads/2011/04/CHI_2011_Gamification_Workshop.pdf (23. September 2013)
[DLPH10] De La Puente, Xose R. ; Hasan, Ismael: mOCRa: Mobile
OCR Application. http://labs.brainsins.com/events/pln-e/wp-content/uploads/2010/06/mOCRaWorkshop.pdf (23. September
2013), 2010
[DSL+11] Deterding, S. ; Sicart, M. ; L., Nacke ; O’Hara, K. ; Di-
xon, D.: Gamification: Using Game Design Elements in Non-
Game Contexts. In: CHI 2011 Workshop Gamification, 2011. –
http://gamification-research.org/wp-content/uploads/2011/04/CHI_2011_Gamification_Workshop.pdf (23. September 2013)
xiii
[KAC12] Kwon, Soon-kak ; An, Hyun-jun ; Choi, Young-hwan: Character Recognition
System Based On Android Smart Phone. In: International Journal of Modern
Engineering Research 2 (2012), 11-12, Nr. 6, S. 4091–4093. – http://www.ijmer.com/papers/Vol2_Issue6/AT2640914093.pdf (23. September
2013)
[Lux20] Luxemburg, Rosa: Briefe aus dem Gefangnis. Verlag der Jugend-
Internationale fur Deutschland, Berlin, 1920. – http://archive.org/stream/briefeausdemgef00luxeuoft#page/38/mode/2up (23. Sep-
tember 2013)
[RTA13] Rednic, Emanuil ; Toma, Andrei ; Apostu, Anca: Organize Distributed
work environments in a game-like fashion. In: Recent Advances in Knowledge
Engineering and Systems Science, 2013. – http://www.wseas.us/e-library/conferences/2013/CambridgeUK/AISE/AISE-34.pdf(23. September 2013)
[San11] Sander, Robert: Gamifizierung, Koln International School of Design, Diplom-
arbeit, 2011. – http://www.robertsander.de/wp-content/uploads/2012/11/11050980_d_nt2.pdf (23. September 2013)
[SHS11] Sears, Leslie ; Hashemi, Ray ; Smith, Mark: Optical Character Recognition
of Non-flat Small Documents Using Android: A Case Study. http://world-comp.org/p2011/IKE5081.pdf (23. September 2013), 2011
[SSKK09] Spassova, L. ; Schoning, J. ; Kahl, G. ; Kruger, A.: Innovative retail labo-
ratory. In: Roots for the Future of Ambient Intelligence. European Conference
on Ambient Intelligence (AmI-2009), oA, Salzburg, Austria (November 2009)
(2009). – http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.187.2453&rep=rep1&type=pdf (23. September 2013)
[Wat44] Watson, Donald: The Vegan News. In: The Vegan News (1944).
– http://www.vegansociety.com/uploadedFiles/About_The_Society/Publications/The_Vegan_magazine/Feature_Articles/1944-news.pdf (23. September 2013)
xiv
Websites
[1] Adobe: PhoneGap: About. http://phonegap.com/about/ (23. September 2013).
[2] Adobe: PhoneGap: Supported Features. http://phonegap.com/about/feature/ (23. September 2013).
[3] Adobe / Yohei Shimomae ([email protected]), CC BY-NC 3.0: Diagram
- PhoneGap Overview. http://phonegap.com/about/artwork/ (23. September
2013).
[4] aid infodienst Ernahrung, Landwirtschaft, Verbraucherschutz e.V.
(aid): Zusatzstoffe nach ihren E-Nummern. http://www.aid.de/verbraucher/zusatzstoffe_kennzeichnung.php (23. September 2013), http://www.aid.de/downloads/1135_2013_zusatzstoffe_liste.pdf (23. September 2013).
[5] Arzte gegen Tierversuche e.V.: Warum wir Tierversuche ablehnen. http://www.aerzte-gegen-tierversuche.de/infos/allgemein/518 (23. Septem-
ber 2013).
[6] Auswartiges Amt: Verzeichnis der Staatennamen fur den amtlichen Gebrauch in
der Bundesrepublik Deutschland. http://www.auswaertiges-amt.de/cae/servlet/contentblob/332368/publicationFile/182074/Staatennamen.pdf (23. September 2013).
[7] Automattic Inc.: Gravatar – Globally Recognized Avatar. https://secure.gravatar.com/ (23. September 2013).
[8] BNN Herstellung & Handel e.V.: Volldeklaration im
Naturkosthandel. http://www.n-bnn.de/qualit%C3%A4tsarbeit/volldeklaration-im-naturkosthandel (23. September 2013).
[9] Bundesamt fur Verbraucherschutz und Lebensmittelsicherheit:
Kennzeichnung kosmetischer Produkte. http://www.bvl.bund.de/DE/03_Bedarfsgegenstaende/02_Verbraucher/03_Kosmetik/02_KennzeichnungKosmetik/bgs_kosmetik_kennzeichnung_node.html(23. September 2013).
[10] Bundesinstitut fur Risikobewertung: Aromastoffe und Aromen. http://www.bfr.bund.de/de/aromastoffe_und_aromen-54440.html (23. Septem-
ber 2013).
[11] Bundesministerium fur Ernahrung, Landwirtschaft und Verbrau-
cherschutz: Allergenkennzeichnung auf verpackten Lebensmitteln ist Pflicht.
http://www.bmelv.de/SharedDocs/Standardartikel/Ernaehrung/SichereLebensmittel/Kennzeichnung/Allergenkennzeichnung.html(23. September 2013).
xv
[12] Centre de Recherche Public Henri Tudor: Android WikiFood App now available
on Google PlayTM Store. http://www.wikifood.eu/wikifood/en/struts/welcome.do (23. September 2013).
[13] Centre de Recherche Public Henri Tudor: MENSSANA. http://santec.tudor.lu/project/menssana (23. September 2013).
[14] Centre de Recherche Public Henri Tudor: WikiFood. https://www.wikifood.eu/wikifood/en/struts/welcome.do (23. September 2013).
[15] checkitmobile GmbH: Alle Kategorien. http://www.barcoo.com/alle-kategorien (23. September 2013).
[16] checkitmobile GmbH: API-Zugang. http://www.barcoo.com/de/w/api-zugang (23. September 2013).
[17] checkitmobile GmbH: Barcode Scanner & QR Code Reader Download. http://www.barcoo.com/barcode-scanner-qr-code-reader-download (23. Sep-
tember 2013).
[18] checkitmobile GmbH: Quellen & Partner. http://www.barcoo.com/de/w/sources (23. September 2013).
[19] checkitmobile GmbH: Vegane Produkte bei barcoo mit Rezeptefuchs
erkennen. http://www.barcoo.com/blog/2009/08/27/vegane-produkte-bei-barcoo-mit-rezeptefuchs-erkennen/ (23. Septem-
ber 2013).
[20] checkitmobile GmbH: Was ist barcoo? http://www.barcoo.com/blog/ueber/(23. September 2013).
[21] Clasoft GmbH: Wir uber uns. http://www.rezeptefuchs.de/Kontakt/wir_ueber_uns (23. September 2013).
[22] Creative Commons: CC0: Public Domain Dedication. https://creativecommons.org/publicdomain/zero/1.0/deed.de (23. September
2013).
[23] DFKI: Artikelfinder. http://www.innovative-retail.de/index.php?id=57(23. September 2013).
[24] DFKI: Grundungspartner. http://www.innovative-retail.de/index.php?id=40 (23. September 2013).
[25] DFKI: Innovative Retail Laboratory. http://www.innovative-retail.de/(23. September 2013).
[26] DFKI: Intelligente Losungen fur die Wissensgesellschaft. http://www.dfki.de/web(23. September 2013).
[27] Die VERBRAUCHER INITIATIVE e.V.: Label online. http://www.label-online.de/ (23. September 2013).
[28] Duolingo: Duolingo: Info. https://duolingo.com/info (23. September 2013).
[29] ecoinform e.K.: Uber uns. http://ecoinform.de/#!Ueber_uns.14.html(23. September 2013).
xvi
[30] Europaische Vegetarier-Union: Uber das V-Label. http://v-label.info/de/home/vlabel.html (23. September 2013).
[31] Food Standards Agency: Front of Pack Traffic Light Signpost Labelling
– Technical Guidance. http://www.food.gov.uk/multimedia/pdfs/frontofpackguidance2.pdf (23. September 2013). pages 6 – 7.
[32] Foodwatch: Wo Valensina, Ritter, funny-frisch Tiere verstecken. https://www.foodwatch.org/de/informieren/versteckte-tiere/mehr-zum-thema/vegetarismus-veganismus-kennzeichnung/ (23. September 2013).
[33] Free Software Foundation (FSF): The GNU General Public License v3.0.
https://www.gnu.org/licenses/gpl-3.0.html (23. September 2013).
[34] Github: tohn. https://github.com/tohn (23. September 2013).
[35] Globus SB-Warenhaus Holding GmbH & Co. KG: Globus. http://www.globus.de, (23. September 2013).
[36] Google: Google+ Sign-In. https://developers.google.com/+/features/sign-in (23. September 2013).
[37] Google Project Hosting: blockly - A visual programming editor. https://code.google.com/p/blockly/ (23. September 2013).
[38] GS1: GEPIR. http://www.gepir.de/v31_client/gtin.aspx?Lang=de-DE(23. September 2013).
[39] GS1: GS1. http://www.gs1.org/about/overview (23. September 2013).
[40] GS1: Prefix List. http://www.gs1.org/barcodes/support/prefix_list(23. September 2013).
[41] Haupenthal, Yannic: Dump der Datenbank. http://dump.yava.yhaupenthal.org (23. September 2013).
[42] Memrise Ltd: About. http://www.memrise.com/about/ (23. September 2013).
[43] mynetfair AG: Uber mynetfair. http://www.mynetfair.com/de/content/Ueber-mynetfair,5/?1=1 (23. September 2013).
[44] Pfeiffer, Michael: Open EAN/GTIN Database. http://www.opengtindb.org/ (23. September 2013).
[45] Rails core team: Ruby on Rails. http://rubyonrails.org/ (23. September
2013).
[46] snoopmedia GmbH: Haufig gestellte Fragen (FAQs). http://das-ist-drin.de/hilfe/ (23. September 2013).
[47] snoopmedia GmbH: Mobil. http://das-ist-drin.de/mobil/ (23. September
2013).
[48] snoopmedia GmbH: Was ist ”das-ist-drin”? http://das-ist-drin.de/ueber-uns/was-ist-das-ist-drin.de/ (23. September 2013).
[49] stack exchange, inc: About. https://stackexchange.com/about (23. Sep-
tember 2013).
xvii
[50] Stefanowitsch, Anatol: Frauen naturlich ausgenommen. http://www.scilogs.de/wblogs/blog/sprachlog/sprachstruktur/2011-12-14/frauen-natuerlich-ausgenommen (23. September 2013).
[51] The PostgreSQL Global Development Group: PostgreSQL: About. http://www.postgresql.org/about/ (23. September 2013).
[52] Tierrechtsinitiative Maqi: Kategorien. http://maqi.de/txt/produktanfragen.html#kategorien (23. September 2013).
[53] Tierrechtsinitiative Maqi: Produktanfragen - Anfragebaukasten. http://maqi.de/txt/produktanfragen.html#anfragebaukasten (23. September 2013).
[54] Tierrechtsinitiative Maqi: Was heißt vegan? http://tierrechtskochbuch.de/vegan/vegan.html (23. September 2013).
[55] Vaden Health Center: Glossary of Transgender Terms. http://vaden.stanford.edu/health_library/transgendertermsglossary.html(23. September 2013).
[56] Vegetarierbund Deutschland: Anzahl der Vegetarier in Deutschland. http://vebu.de/lifestyle/anzahl-der-vegetarierinnen (23. September 2013).
[57] Wikipedia: Comparison of mobile operating systems. https://en.wikipedia.org/wiki/Comparison_of_mobile_operating_systems (23. September 2013).
[58] Wikipedia: Comparison of relational database management systems. https://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems (23. September 2013).
[59] Wikipedia: Comparison of web application frameworks. http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks (23. September
2013).
xviii