200 likes | 405 Views
RateMe 2.0. Pirmin 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.
E N D
RateMe 2.0 Pirmin 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 Bewertenvon 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 (jQueryPlugin) • Rails, RESTful und Routes • User-generatedContent (Qype)
API • Liefert Standorte abhängig von • Adresse • Kategorie • Name • Geodaten • Bewertungen möglich • Bilder hochladen • Wird von Google verwendet • Schreibzugriff mittels OAuth
http://farm2.static.flickr.com/1259/1092087510_d61a7dcc85_o.pnghttp://farm2.static.flickr.com/1259/1092087510_d61a7dcc85_o.png Warum OAuth?
Password Anti-Pattern • Passwords are not confetti • Pleasestopthrowingthemaround
Was ist OAuth? • Ein simpler offener Standard für sichere API Authentifizierung für Desktop und Web Applikationen.
OAuth Begriffe • EndUser = Nutzer, der Inhalte teilen möchte • ProtectedResource= 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
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>)
Google MapjQueryPlugin • 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 & RailsRoutes • http://api.qype.com/v1/places • http://api.qype.com/v1/places/42 • CRUD vs SQL vs HTTP
User-GeneratedContent • 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-basedServices • RateMe nutzt diese Vorteile
Mobileapp • Fragen?