SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
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
Gliederung
•   Android als Plattform
•   NFC als Technik
•   OAuth
•   Mendeley als Service-Provider
•   Datenaustausch via JSON
•   SETapp
    •   Design der Applikation
    •   Funktionen
•   Evaluation


                                 2
                                     2
Android als Plattform




          3
                        3
Android als Plattform




          3
                        3
Android als Plattform




          3
                        3
Android als Plattform




          3
                        3
Android als Plattform




          3
                        3
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 S
                                                            4
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
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
NFC vs. QR-Codes




   Verwendeter QR-Code


                         7
NFC vs. QR-Codes
•   QR-Code benötigt
    optimale Bedingungen:

    •   gute Kamera

    •   schneller Autofokus

    •   gute Lichtverhältnisse

    •   Applikation muss erst
        gestartet werden



                                 8
NFC vs. QR-Codes
•   QR-Code benötigt              Nr     QR     NFC
    optimale Bedingungen:
                                   1    4730ms 910ms
    •   gute Kamera                2    5300ms 1920ms
                                   3    5400ms 2320ms
    •   schneller Autofokus
                                   4    7800ms 1620ms
    •   gute Lichtverhältnisse     5    4710ms 2260ms
    •   Applikation muss erst      6    5540ms 2160ms
        gestartet werden         Schnitt 5580ms 1865ms


                                                         8
NFC vs. QR-Codes
•   QR-Code benötigt              Nr     QR     NFC
    optimale Bedingungen:
                                   1    4730ms 910ms
    •   gute Kamera                2    5300ms 1920ms
                                   3    5400ms 2320ms
    •   schneller Autofokus
                                   4    7800ms 1620ms
    •   gute Lichtverhältnisse     5    4710ms 2260ms
    •   Applikation muss erst      6    5540ms 2160ms
        gestartet werden         Schnitt 5580ms 1865ms
                NFC um Faktor 3 schneller
                                                         8
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
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
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
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
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
• 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
• 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
• Profil-Details via JSON:
 • Contact im ausgefüllten Zustand:
   • { ... } Details wie E-Mail oder Skype
 • Contact im leeren Zustand:
   • [] Kennzeichnung für ein leeres Array
                   12
                                             12
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
Android-Applikation
Google App Engine-Backend


                            14
Design
• Verwendung von Design-Patterns
• Möglichst komprimierte Darstellung von
  Informationen
• Unaufdringliche Gestaltung & Farbwahl
• Konsistenz
• Keine versteckten Funktionen
• Maximale Wiederverwendbarkeit
                                           15
ActionBar
      Nachricht schicken
      Person folgen
      zurück zur letzten Activity


  situationsabhängige Funktionen
  an einer zentralen Position




                                    16
TabBar und Actions
        Tabs mit verschiedenen
        Inhalten / Funktionen


        Hauptfunktionen




                                 17
Funktionen
• Profiltausch
• Dokumententausch
• Check-in in Events und Talks
• Lesen einer Paper-Session
• „Folgen“ von Personen
• Nachrichten versenden & empfangen
                                      18
Profiltausch




Die Rückseiten der Telefone zusammenführen
                                             19
Profiltausch




              20
Profiltausch
  {
      MIME: application/x-setapp-share
      (
        PAYLOAD={
  	

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

   "prename":
             "Tim"
        }
      )
  }




                                                         20
Dokumententausch




                   21
Integration




Andere Apps nutzen unsere Daten!
                                   22
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
Check-in




.. oder per NFC!
                   24
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
Evaluation

• 11 Teilnehmer
• Teststrecke:
 • 1 Event
 • 2 Talks
 • 2 Paper-Sessions

                        26
NFC Geschwindigkeit
    sehr langsam          langsam             eher langsam
    eher schnell          schnell             sehr schnell
7
6
5
4
3
2
1
0
                   Empfinden der Teilnehmer


                                                             27
NFC oder manuell?
    nur manuell      lieber manuell          eher manuell
    eher NFC         lieber NFC              nur NFC
4


3


2


1


0
                  Präferenz der Teilnehmer



                                                            28
Vielen Dank!



               29
Fragen?



          30

Mais conteúdo relacionado

Destaque

Zwischenpräsentation Enterprise Wikis Revealed
Zwischenpräsentation Enterprise Wikis RevealedZwischenpräsentation Enterprise Wikis Revealed
Zwischenpräsentation Enterprise Wikis RevealedDada_Lin
 
Steel art образцы
Steel art образцыSteel art образцы
Steel art образцыlogalla
 
Nachmachen erwünscht! Transfer soDeutsch Tschechisches Gesprächsforum
Nachmachen erwünscht! Transfer soDeutsch Tschechisches GesprächsforumNachmachen erwünscht! Transfer soDeutsch Tschechisches Gesprächsforum
Nachmachen erwünscht! Transfer soDeutsch Tschechisches GesprächsforumKaP
 
Medieninhaltsanalyse Tutorial Macromedia Hochschule
Medieninhaltsanalyse Tutorial Macromedia HochschuleMedieninhaltsanalyse Tutorial Macromedia Hochschule
Medieninhaltsanalyse Tutorial Macromedia HochschuleInfopaq Deutschland
 
#Nochnixhaiku 2013 [automatisch gespeichert]
#Nochnixhaiku 2013 [automatisch gespeichert]#Nochnixhaiku 2013 [automatisch gespeichert]
#Nochnixhaiku 2013 [automatisch gespeichert]Renate Nuppenau
 
Onlinehandel in der EU
Onlinehandel in der EUOnlinehandel in der EU
Onlinehandel in der EUBjörn Rohles
 
3 pv folien_wikivortragdoreenmarkert
3 pv folien_wikivortragdoreenmarkert3 pv folien_wikivortragdoreenmarkert
3 pv folien_wikivortragdoreenmarkertmarkert
 
Lernen der GenY bei SAP - #Selc2015 Marktplatz
Lernen der GenY bei SAP - #Selc2015 MarktplatzLernen der GenY bei SAP - #Selc2015 Marktplatz
Lernen der GenY bei SAP - #Selc2015 MarktplatzThomas Jenewein
 

Destaque (17)

Mobile Motion
Mobile MotionMobile Motion
Mobile Motion
 
Zwischenpräsentation Enterprise Wikis Revealed
Zwischenpräsentation Enterprise Wikis RevealedZwischenpräsentation Enterprise Wikis Revealed
Zwischenpräsentation Enterprise Wikis Revealed
 
Steel art образцы
Steel art образцыSteel art образцы
Steel art образцы
 
Tipologia lis
Tipologia lisTipologia lis
Tipologia lis
 
imatics Kurzpräsentation
imatics Kurzpräsentationimatics Kurzpräsentation
imatics Kurzpräsentation
 
Nachmachen erwünscht! Transfer soDeutsch Tschechisches Gesprächsforum
Nachmachen erwünscht! Transfer soDeutsch Tschechisches GesprächsforumNachmachen erwünscht! Transfer soDeutsch Tschechisches Gesprächsforum
Nachmachen erwünscht! Transfer soDeutsch Tschechisches Gesprächsforum
 
Medieninhaltsanalyse Tutorial Macromedia Hochschule
Medieninhaltsanalyse Tutorial Macromedia HochschuleMedieninhaltsanalyse Tutorial Macromedia Hochschule
Medieninhaltsanalyse Tutorial Macromedia Hochschule
 
Franz Drenk: So funktioniert Kundenmanagement
Franz Drenk: So funktioniert KundenmanagementFranz Drenk: So funktioniert Kundenmanagement
Franz Drenk: So funktioniert Kundenmanagement
 
Andreas Okonek: Urheberrecht und Kommunikation
Andreas Okonek: Urheberrecht und KommunikationAndreas Okonek: Urheberrecht und Kommunikation
Andreas Okonek: Urheberrecht und Kommunikation
 
webXsite
webXsitewebXsite
webXsite
 
#Nochnixhaiku 2013 [automatisch gespeichert]
#Nochnixhaiku 2013 [automatisch gespeichert]#Nochnixhaiku 2013 [automatisch gespeichert]
#Nochnixhaiku 2013 [automatisch gespeichert]
 
Onlinehandel in der EU
Onlinehandel in der EUOnlinehandel in der EU
Onlinehandel in der EU
 
Test
TestTest
Test
 
Ferdinand Knauß: Wie Wissenschaft in die Zeitung kommt
Ferdinand Knauß: Wie Wissenschaft in die Zeitung kommtFerdinand Knauß: Wie Wissenschaft in die Zeitung kommt
Ferdinand Knauß: Wie Wissenschaft in die Zeitung kommt
 
3 pv folien_wikivortragdoreenmarkert
3 pv folien_wikivortragdoreenmarkert3 pv folien_wikivortragdoreenmarkert
3 pv folien_wikivortragdoreenmarkert
 
Arbeitstag
ArbeitstagArbeitstag
Arbeitstag
 
Lernen der GenY bei SAP - #Selc2015 Marktplatz
Lernen der GenY bei SAP - #Selc2015 MarktplatzLernen der GenY bei SAP - #Selc2015 Marktplatz
Lernen der GenY bei SAP - #Selc2015 Marktplatz
 

Semelhante a SETapp Präsentation

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
2006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.02006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.0Daniel Fisher
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Agenda Europe 2035
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft AG
 
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...LeanIX GmbH
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
Responsive Mit Irhem Webseiten (German Edition)
Responsive Mit Irhem Webseiten (German Edition)Responsive Mit Irhem Webseiten (German Edition)
Responsive Mit Irhem Webseiten (German Edition)Koombea
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Dominik Helleberg
 
Studiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosDigital GmbH
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...Peter Hecker
 
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClient
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClientModerne Web GIS-Clients als Vorbild für den GIP 2.0 WebClient
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClientJohannes Gruber
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesAWS Germany
 
WorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-ToolsWorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-ToolsDirk Steinkopf
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Neo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j
 
Entfesseln Sie die Leistung von HCL Nomad - DNUG Stammtisch Wien
Entfesseln Sie die Leistung von  HCL Nomad - DNUG Stammtisch WienEntfesseln Sie die Leistung von  HCL Nomad - DNUG Stammtisch Wien
Entfesseln Sie die Leistung von HCL Nomad - DNUG Stammtisch WienDNUG e.V.
 

Semelhante a SETapp Präsentation (20)

JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
2006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.02006 - Basta!: Web 2.0 mit asp.net 2.0
2006 - Basta!: Web 2.0 mit asp.net 2.0
 
Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)Wolfgang Mader (Huemer Data Center)
Wolfgang Mader (Huemer Data Center)
 
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...
Alle reden über Microservices - Wie haben wir es bei LeanIX gemacht @ EA Conn...
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
Responsive Mit Irhem Webseiten (German Edition)
Responsive Mit Irhem Webseiten (German Edition)Responsive Mit Irhem Webseiten (German Edition)
Responsive Mit Irhem Webseiten (German Edition)
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011
 
Studiosdigital wieninternational.at
Studiosdigital wieninternational.atStudiosdigital wieninternational.at
Studiosdigital wieninternational.at
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClient
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClientModerne Web GIS-Clients als Vorbild für den GIP 2.0 WebClient
Moderne Web GIS-Clients als Vorbild für den GIP 2.0 WebClient
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
 
Realtime Web Applications with jWebSocket
Realtime Web Applications with jWebSocketRealtime Web Applications with jWebSocket
Realtime Web Applications with jWebSocket
 
WorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-ToolsWorNet Präsentation: Web 2.0, clevere IT-Tools
WorNet Präsentation: Web 2.0, clevere IT-Tools
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Neo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im Einsatz
 
Entfesseln Sie die Leistung von HCL Nomad - DNUG Stammtisch Wien
Entfesseln Sie die Leistung von  HCL Nomad - DNUG Stammtisch WienEntfesseln Sie die Leistung von  HCL Nomad - DNUG Stammtisch Wien
Entfesseln Sie die Leistung von HCL Nomad - DNUG Stammtisch Wien
 

Mais de Tim Messerschmidt

JSConf Asia: Node.js Authentication and Data Security
JSConf Asia: Node.js Authentication and Data SecurityJSConf Asia: Node.js Authentication and Data Security
JSConf Asia: Node.js Authentication and Data SecurityTim Messerschmidt
 
DWS Mobile Payments Workshop
DWS Mobile Payments WorkshopDWS Mobile Payments Workshop
DWS Mobile Payments WorkshopTim Messerschmidt
 
Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsTim Messerschmidt
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data SecurityTim Messerschmidt
 
Node.js Authentication & Data Security
Node.js Authentication & Data SecurityNode.js Authentication & Data Security
Node.js Authentication & Data SecurityTim Messerschmidt
 
HackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for HackersHackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for HackersTim Messerschmidt
 
The Anatomy of Invisible Apps
The Anatomy of Invisible AppsThe Anatomy of Invisible Apps
The Anatomy of Invisible AppsTim Messerschmidt
 
Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the WebTim Messerschmidt
 

Mais de Tim Messerschmidt (12)

JSConf Asia: Node.js Authentication and Data Security
JSConf Asia: Node.js Authentication and Data SecurityJSConf Asia: Node.js Authentication and Data Security
JSConf Asia: Node.js Authentication and Data Security
 
DWS Mobile Payments Workshop
DWS Mobile Payments WorkshopDWS Mobile Payments Workshop
DWS Mobile Payments Workshop
 
Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with Beacons
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
Node.js Authentication & Data Security
Node.js Authentication & Data SecurityNode.js Authentication & Data Security
Node.js Authentication & Data Security
 
HackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for HackersHackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for Hackers
 
The Anatomy of Invisible Apps
The Anatomy of Invisible AppsThe Anatomy of Invisible Apps
The Anatomy of Invisible Apps
 
Death to Passwords SXSW 15
Death to Passwords SXSW 15Death to Passwords SXSW 15
Death to Passwords SXSW 15
 
Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the Web
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
Kraken at DevCon TLV
Kraken at DevCon TLVKraken at DevCon TLV
Kraken at DevCon TLV
 

SETapp Präsentation

  • 1. 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
  • 2. Gliederung • Android als Plattform • NFC als Technik • OAuth • Mendeley als Service-Provider • Datenaustausch via JSON • SETapp • Design der Applikation • Funktionen • Evaluation 2 2
  • 8. 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 S 4
  • 9. 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
  • 10. 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
  • 11. NFC vs. QR-Codes Verwendeter QR-Code 7
  • 12. NFC vs. QR-Codes • QR-Code benötigt optimale Bedingungen: • gute Kamera • schneller Autofokus • gute Lichtverhältnisse • Applikation muss erst gestartet werden 8
  • 13. NFC vs. QR-Codes • QR-Code benötigt Nr QR NFC optimale Bedingungen: 1 4730ms 910ms • gute Kamera 2 5300ms 1920ms 3 5400ms 2320ms • schneller Autofokus 4 7800ms 1620ms • gute Lichtverhältnisse 5 4710ms 2260ms • Applikation muss erst 6 5540ms 2160ms gestartet werden Schnitt 5580ms 1865ms 8
  • 14. NFC vs. QR-Codes • QR-Code benötigt Nr QR NFC optimale Bedingungen: 1 4730ms 910ms • gute Kamera 2 5300ms 1920ms 3 5400ms 2320ms • schneller Autofokus 4 7800ms 1620ms • gute Lichtverhältnisse 5 4710ms 2260ms • Applikation muss erst 6 5540ms 2160ms gestartet werden Schnitt 5580ms 1865ms NFC um Faktor 3 schneller 8
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. • 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
  • 21. • 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
  • 22. • Profil-Details via JSON: • Contact im ausgefüllten Zustand: • { ... } Details wie E-Mail oder Skype • Contact im leeren Zustand: • [] Kennzeichnung für ein leeres Array 12 12
  • 23. 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
  • 25. Design • Verwendung von Design-Patterns • Möglichst komprimierte Darstellung von Informationen • Unaufdringliche Gestaltung & Farbwahl • Konsistenz • Keine versteckten Funktionen • Maximale Wiederverwendbarkeit 15
  • 26. ActionBar Nachricht schicken Person folgen zurück zur letzten Activity situationsabhängige Funktionen an einer zentralen Position 16
  • 27. TabBar und Actions Tabs mit verschiedenen Inhalten / Funktionen Hauptfunktionen 17
  • 28. Funktionen • Profiltausch • Dokumententausch • Check-in in Events und Talks • Lesen einer Paper-Session • „Folgen“ von Personen • Nachrichten versenden & empfangen 18
  • 29. Profiltausch Die Rückseiten der Telefone zusammenführen 19
  • 31. Profiltausch { MIME: application/x-setapp-share ( PAYLOAD={ "type": "de.upb.messerschmidt.set.entity.Person", "name": "Messerschmidt", "prename": "Tim" } ) } 20
  • 33. Integration Andere Apps nutzen unsere Daten! 22
  • 34. 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
  • 36. 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
  • 37. Evaluation • 11 Teilnehmer • Teststrecke: • 1 Event • 2 Talks • 2 Paper-Sessions 26
  • 38. NFC Geschwindigkeit sehr langsam langsam eher langsam eher schnell schnell sehr schnell 7 6 5 4 3 2 1 0 Empfinden der Teilnehmer 27
  • 39. NFC oder manuell? nur manuell lieber manuell eher manuell eher NFC lieber NFC nur NFC 4 3 2 1 0 Präferenz der Teilnehmer 28
  • 41. Fragen? 30