82
Universit¨ at des Saarlandes Naturwissenschaftlich-Technische Fakult¨ at I Fachrichtung Informatik Studiengang Medieninformatik Bachelorarbeit YAVA: Yet Another Vegan App vorgelegt von Yannic Haupenthal am 23. September 2013 Angefertigt unter der Leitung von Prof. Dr. Antonio Kr¨ uger Betreut von Denise Paradowski Begutachtet von Prof. Dr. Antonio Kr¨ uger Dr. Michael Schmitz

YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 2: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 3: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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)

Page 4: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 5: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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.

Page 6: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 7: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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] —

Page 8: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 9: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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.

Page 10: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 11: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

Ich widme diese Arbeit allen nichtmenschlichen Tieren,

die unter oder wegen menschlichen Tieren leiden mussen.

Page 12: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 13: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 14: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 15: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 16: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 17: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 18: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 19: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 20: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 21: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 22: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 23: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 24: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 25: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 26: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 27: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 28: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 29: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 30: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 31: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 32: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 33: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 34: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 35: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 36: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 37: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 38: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 39: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 40: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 41: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 42: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 43: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 44: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 45: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 46: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 47: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 48: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 49: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 50: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 51: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 52: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 53: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 54: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 55: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 56: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 57: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 58: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 59: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 60: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 61: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 62: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 63: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 64: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 65: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 66: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 67: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 68: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 69: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 70: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 71: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 72: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 73: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 74: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 75: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

Datenbank

Abb

ild

ung

.3:

Enti

ty-R

elat

ionsh

ip-M

odel

lvo

nY

AV

A

xi

Page 76: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde
Page 77: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 78: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

[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

Page 79: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

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

Page 80: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

[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

Page 81: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

[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

Page 82: YAVA: Yet Another Vegan App · 2013-09-25 · Florian Ziesche danke ich fur die hilfreichen Anmerkungen, Korrekturen und z undenden Ideen. Ich danke meinen Freund*innen fur ihre andauernde

[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