SETapp Präsentation

41
Einsatz der Near Field Communication Technologie im wissenschaftlichen Kontext - Konzeption und Implementierung einer mobilen Applikation für das Android- Betriebssystem Tim Messerschmidt, 19.07.2011 1 1

Transcript of SETapp Präsentation

Page 1: SETapp Präsentation

Einsatz der Near Field Communication Technologie im wissenschaftlichen Kontext - Konzeption und Implementierung einer

mobilen Applikation für das Android-Betriebssystem

Tim Messerschmidt,19.07.2011

1

1

Page 2: SETapp Präsentation

Gliederung• Android als Plattform

• NFC als Technik

• OAuth

• Mendeley als Service-Provider

• Datenaustausch via JSON

• SETapp

• Design der Applikation

• Funktionen

• Evaluation

2

2

Page 3: SETapp Präsentation

Android als Plattform

3

3

Page 4: SETapp Präsentation

Android als Plattform

3

3

Page 5: SETapp Präsentation

Android als Plattform

3

3

Page 6: SETapp Präsentation

Android als Plattform

3

3

Page 7: SETapp Präsentation

Android als Plattform

3

3

Page 8: SETapp Präsentation

Unsere Testplattform

• Googles Referenzplattform

• erstes Android-Telefon mit NFC

• Android 2.3.4 (Gingerbread)

• für Lesen und Schreiben via NFC

• Leihstellung von Samsung

Samsung Nexus S4

Page 9: SETapp Präsentation

Android als Plattform

• Basiert auf einem Linux-Kernel

• Bietet schnellen API-Zugriff auf Hardware

• WLAN, NFC, Bluetooth, ...

• Wird in Java entwickelt

• Oberflächendeklaration in XML

5

5

Page 10: SETapp Präsentation

NFC als Technik

• Drahtloser Austausch von Daten

• Schnelle Kopplung von Geräten (< 0.02s)

• Kurze Übertragungsdistanz (< 2cm)

• Hohe Fehlerresistenz

• NFC-Tags mit bis zu 1 Mb Speicher

• Aktiver und passiver Standard

6

6

Page 11: SETapp Präsentation

NFC vs. QR-Codes

Verwendeter QR-Code

7

Page 12: SETapp Präsentation

NFC vs. QR-Codes

• QR-Code benötigt optimale Bedingungen:

• gute Kamera

• schneller Autofokus

• gute Lichtverhältnisse

• Applikation muss erst gestartet werden

8

Page 13: SETapp Präsentation

NFC vs. QR-Codes

• QR-Code benötigt optimale Bedingungen:

• gute Kamera

• schneller Autofokus

• gute Lichtverhältnisse

• Applikation muss erst gestartet werden

Nr QR NFC

1 4730ms 910ms

2 5300ms 1920ms

3 5400ms 2320ms

4 7800ms 1620ms

5 4710ms 2260ms

6 5540ms 2160ms

Schnitt 5580ms 1865ms

8

Page 14: SETapp Präsentation

NFC vs. QR-Codes

• QR-Code benötigt optimale Bedingungen:

• gute Kamera

• schneller Autofokus

• gute Lichtverhältnisse

• Applikation muss erst gestartet werden

Nr QR NFC

1 4730ms 910ms

2 5300ms 1920ms

3 5400ms 2320ms

4 7800ms 1620ms

5 4710ms 2260ms

6 5540ms 2160ms

Schnitt 5580ms 1865ms

NFC um Faktor 3 schneller

8

Page 15: SETapp Präsentation

OAuth• Leitet den Benutzer auf eine dynamisch-generierte

Login-Seite des eigentlichen Services weiter

• Service gibt Credentials zurück, welche der Applikation Zugriff via API auf Ressourcen des authentifizierten Benutzers gibt

• Genutzt von vielen Social Networks

9

9

Page 16: SETapp Präsentation

OAuth• Leitet den Benutzer auf eine dynamisch-generierte

Login-Seite des eigentlichen Services weiter

• Service gibt Credentials zurück, welche der Applikation Zugriff via API auf Ressourcen des authentifizierten Benutzers gibt

• Genutzt von vielen Social Networks

9

9

Page 17: SETapp Präsentation

OAuth• Leitet den Benutzer auf eine dynamisch-generierte

Login-Seite des eigentlichen Services weiter

• Service gibt Credentials zurück, welche der Applikation Zugriff via API auf Ressourcen des authentifizierten Benutzers gibt

• Genutzt von vielen Social Networks

9

9

Page 18: SETapp Präsentation

OAuth• Leitet den Benutzer auf eine dynamisch-generierte

Login-Seite des eigentlichen Services weiter

• Service gibt Credentials zurück, welche der Applikation Zugriff via API auf Ressourcen des authentifizierten Benutzers gibt

• Genutzt von vielen Social Networks

9

9

Page 19: SETapp Präsentation

OAuth• Leitet den Benutzer auf eine dynamisch-generierte

Login-Seite des eigentlichen Services weiter

• Service gibt Credentials zurück, welche der Applikation Zugriff via API auf Ressourcen des authentifizierten Benutzers gibt

• Genutzt von vielen Social Networks

9

9

Page 20: SETapp Präsentation

• Großer Datenstamm (Stand: 15.07.11)

• 1.059.449 Personen

• 98.212.833 Papers

• Wird zur Anmeldung genutzt (via OAuth)

• spart eigenen Account für SETapp

10

10

Page 21: SETapp Präsentation

• Problem:

• API war bis Mitte Juni unbrauchbar

• Keine banalen Details wie Name, E-Mail oder Arbeitgeber abrufbar

• API selbst jetzt noch teils fehlerhaft

• Profil-Details via JSON

• OAuth bietet nicht vollen Zugriff

11

11

Page 22: SETapp Präsentation

• Profil-Details via JSON:

• Contact im ausgefüllten Zustand:

• { ... }

• Contact im leeren Zustand:

• [] Kennzeichnung für ein leeres Array

Details wie E-Mail oder Skype

12

12

Page 23: SETapp Präsentation

JSON

• Effizientes Datenaustauschformat mit geringem Overhead

• Nativ bei Android unterstützt

• Auf Serverseite durch Library nachgepflegt

• Wird zur (De-)Serialisierung von Objekten genutzt (auch in Collections)

13

13

Page 24: SETapp Präsentation

Android-ApplikationGoogle App Engine-Backend

14

Page 25: SETapp Präsentation

Design

• Verwendung von Design-Patterns

• Möglichst komprimierte Darstellung von Informationen

• Unaufdringliche Gestaltung & Farbwahl

• Konsistenz

• Keine versteckten Funktionen

• Maximale Wiederverwendbarkeit

15

Page 26: SETapp Präsentation

ActionBarNachricht schickenPerson folgenzurück zur letzten Activity

situationsabhängige Funktionenan einer zentralen Position

16

Page 27: SETapp Präsentation

TabBar und Actions

Tabs mit verschiedenen Inhalten / Funktionen

Hauptfunktionen

17

Page 28: SETapp Präsentation

Funktionen

• Profiltausch

• Dokumententausch

• Check-in in Events und Talks

• Lesen einer Paper-Session

• „Folgen“ von Personen

• Nachrichten versenden & empfangen

18

Page 29: SETapp Präsentation

Profiltausch

Die Rückseiten der Telefone zusammenführen19

Page 30: SETapp Präsentation

Profiltausch

20

Page 31: SETapp Präsentation

Profiltausch{

MIME: application/x-setapp-share(

PAYLOAD={ "type":

"de.upb.messerschmidt.set.entity.Person","name":

"Messerschmidt", "prename":

"Tim"}

)}

20

Page 32: SETapp Präsentation

Dokumententausch

21

Page 33: SETapp Präsentation

Integration

Andere Apps nutzen unsere Daten!22

Page 34: SETapp Präsentation

Integration

• Vorteil:

• Teilnehmer können über mehrere Kanäle von SETapp profitieren

• Auch Leute ohne SETapp werden nicht komplett ausgeschlossen

• SETapp teilt Dokumente per NFC

23

Page 35: SETapp Präsentation

Check-in

.. oder per NFC!24

Page 36: SETapp Präsentation

Google App Engine

• Instanzenmodell führt zu hohen Latenzen

• erster Start: 2666ms

• nächster Aufruf: 69ms

• Datenspeicherung umständlich

• Vater-Kind-Relationen und Vererbung nur mangelhaft implementierbar

25

Page 37: SETapp Präsentation

Evaluation

• 11 Teilnehmer

• Teststrecke:

• 1 Event

• 2 Talks

• 2 Paper-Sessions

26

Page 38: SETapp Präsentation

NFC Geschwindigkeit

0

1

2

3

4

5

6

7

Empfinden der Teilnehmer

sehr langsam langsam eher langsameher schnell schnell sehr schnell

27

Page 39: SETapp Präsentation

NFC oder manuell?

0

1

2

3

4

Präferenz der Teilnehmer

nur manuell lieber manuell eher manuelleher NFC lieber NFC nur NFC

28

Page 40: SETapp Präsentation

Vielen Dank!

29

Page 41: SETapp Präsentation

Fragen?

30