RATEME 2.0 Pirmin Schürmann, Thomas Junghans, HSZ-T.

Post on 06-Apr-2015

107 views 0 download

transcript

RATEME 2.0Pirmin Schürmann, Thomas Junghans, HSZ-T

Ablauf

Präsentation des Konzepts Demonstration der laufenden Software Fazit der gesammelten Erkenntnisse Fragen aus dem Publikum / Diskussion

Konzept

RateMe (1.0)

RateMe 2.0

Konzept

Suchen und Bewerten von Restaurants (via Qype und OAuth)

Optimiert für Mobilgeräte Benutzen von HTML5 Geolocation

Demonstration

http://rateme2.heroku.com

Learnings

Qype API Schreibzugriff OAuth Tanz (API Authentication) Google Maps API (jQuery Plugin) Rails, RESTful und Routes User-generated Content (Qype)

API

Liefert Standorte abhängig von Adresse Kategorie Name Geodaten

Bewertungen möglich Bilder hochladen Wird von Google verwendet RESTful Schreibzugriff mittels OAuth

OAuth

Warum OAuth?

http://farm2.static.flickr.com/1259/1092087510_d61a7dcc85_o.png

Password Anti-Pattern

Passwords are not confetti Please stop throwing them around

Was ist OAuth?

Ein simpler offener Standard für sichere API Authentifizierung für Desktop und Web Applikationen.

Users Twitter, Google, MySpace, FireEagle, Netflix,

Yahoo, Vimeo, …

OAuth Begriffe

EndUser = Nutzer, der Inhalte teilen möchte

Protected Resource = der Inhalt Service Provider = Ort der Inhalte Consumer = Applikation, die Inhalte

anfordert Tokens = Ersatz für Login und Passwort

The Love Triangle

Enduser

Service Provider Consumer Application

Neu m

it OAut

h

OAuth Flow

OAuth Rails Code

1: consumer = OAuth::Consumer.new('api_key',

'api_secret', { :site =>

http://api.qype.com, :authorize_url =>

http://www.qype.com/mobile/authorize}) 

2: request_token = consumer.get_request_token(

{:oauth_callback => <URL>}) 

3: redirect_to @request_token.authorize_url 

Redirect zurück auf die Callback URL

4: access_token = request_token.get_access_token 

5: request =access_token.post(

'/place/123/reviews',<XML>)

OAuth Fazit

+Sicher +Restriktionen möglich +Revokable +Standard -Komplexität

OAuth 2.0 Simpler

Google Map jQuery Plugin

http://gmap.nurtext.de/

$("#map").gMap({ markers: [{ latitude: 47.660937, longitude: 9.569803,

icon: { image : '/images/arrow.png', shadow : false, iconsize : [39, 34], shadowsize : false, iconanchor : [11, 34] }

}], zoom: 13 });

RESTful & Rails Routes

http://api.qype.com/v1/places http://api.qype.com/v1/places/42 CRUD vs SQL vs HTTP

User-Generated Content

Inhalte die vom Enduser eingegeben werden

Bewertungen, Kommentare, neue Locations und Fotos

Andere Beispiele: Twitter, Facebook, Flickr, Youtube, MySpace, SoundCloud

Mobileapp

Dank iPhone und Android sind mehr User mit dem Mobiltelefon im Internet

Immer und überall online (fast!) Location-based Services RateMe nutzt diese Vorteile

RateMe 2.0

Fragen?