Buildingplatforms
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Buildingplatforms

on

  • 3,898 views

Os últimos anos conferiram à web uma nova dinâmica. Novos produtos e soluções inundam a nossa atenção a toda a hora, mas a verdadeira killer feature é a facilidade com que se constroem novos ...

Os últimos anos conferiram à web uma nova dinâmica. Novos produtos e soluções inundam a nossa atenção a toda a hora, mas a verdadeira killer feature é a facilidade com que se constroem novos serviços sobre APIs. Building platforms é uma apresentação orientada a
developers sobre APIs e plataformas como Microformats, OpenID, OAuth.

Statistics

Views

Total Views
3,898
Views on SlideShare
3,802
Embed Views
96

Actions

Likes
1
Downloads
65
Comments
0

5 Embeds 96

http://intra.codebits.sapo.pt 71
http://codebits.eu 14
https://codebits.eu 6
http://www.slideshare.net 3
http://static.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Buildingplatforms Presentation Transcript

  • 1. Building Platforms Frederico Oliveira / Webreakstuff / @ SAPO Codebits
  • 2. Introdução
  • 3. Web 2.0? What the f%&#?
  • 4. out: Square Corners in: Rounded Corners
  • 5. out: #FF0000 in: Gradientes
  • 6. out: cat
  • 7. out: cat in: lolcat visible dance partner. in
  • 8. out: Robots in: Humans
  • 9. out: IRC in: Facebook / MySpace social networking é o novo instant messaging
  • 10. out: Rede como plataforma in: Apps como plataforma
  • 11. out: Data Silos in: Data Sources data! data! data! data! data! data! data! data!
  • 12. All praise the mighty API!
  • 13. API (Application Programming Interface) o LEGO da internet.
  • 14. data! data! data! data! mashups data! data! data! data! data! data!
  • 15. An interesting 2005, Bubblr, Clockr, Dumpr.net, Favcol, FD's Flickr Toys, Findr, Flappr, Flash-based Kaleidoscope, Flauntr, Flickeur, Flickr Chia Pet, Flickr Color Selectr, Flickr Font, Flickr Graph, Flickr Group Trackr, Flickr Hive Mind, Flickr Leech, Flickr Leech, Flickr Logo Makr, Flickr People Finder, Flickr RSS Reader, Flickr Set Manager, Flickr Sets RSS, Flickr SlideShow Generator, Flickr Tag Viewer, Flickr2Photocast, FlickrFling, FlickrFly, Flickriver, FlickrLilli, FlickrNews, FlickrReplacr, Flicktionary, Fotocrib, Gickr, h4ppierphotos, Invitr, Islands of Consciousness, Mappr, Matchr, MightyFlickr, Mosaickr, Pixel Peeper, Printr Killr, Retrievr, RSS 2 PDF, Salutr, Selfportraitr
  • 16. Porquê APIs? (para empresas)
  • 17. Porquê APIs? (para developers)
  • 18. Weather.com + Google Maps + Dopplr = Melhores sítios para passar férias em Janeiro.
  • 19. Last.fm + Amazon ECS = Recomendações personalizadas de albuns com reviews e e-store
  • 20. Daylife + Technorati + Yahoo Finance = Sistema para correlacionar mercados e notícias no mundo (Que me tivesse dito com antecedência para comprar acções GALP) :-)
  • 21. out: internet como plataforma in: tudo é uma plataforma data! data! data! data! data! data! data! Web-apps sem API são desinteressantes.
  • 22. “Can’t get enough of that sweet, sweet data.” Tom Coates @ Web 2.0 Expo
  • 23. APIs são tão 2006
  • 24. Microformats, OpenID, OAuth Muito mais 2007/08.
  • 25. Microformats, OpenID, OAuth Patterns para descrever microcontent, escritas sobre semântica existente (xhtml). microformats.org
  • 26. Exemplo: hCard AGENT:BEGIN:VCARDnFN:Joe FridaynTEL:+1-919-555-7878n TITLE:Area Administrator, Assistantn EMAIL;TYPE=INTERNET:n jfriday@host.comnEND:VCARDn <div class=quot;agent vcardquot;> <a class=quot;email fnquot; href=quot;mailto:jfriday@host.comquot;>Joe Friday</a> <div class=quot;telquot;>+1-919-555-7878</div> <div class=quot;titlequot;>Area Administrator, Assistant</div> </div>
  • 27. Exemplo: hCalendar BEGIN:VCALENDAR PRODID:-//XYZproduct//EN VERSION:2.0 BEGIN:VEVENT URL:http://www.web2con.com/ DTSTART:20071005 DTEND:20071020 SUMMARY:Web 2.0 Conference LOCATION:Argent Hotel, San Francisco, CA END:VEVENT END:VCALENDAR <div class=quot;veventquot;> <a class=quot;urlquot; href=quot;http://www.web2con.com/quot;>http://www.web2con.com/</a> <span class=quot;summaryquot;>Web 2.0 Conference</span>: <abbr class=quot;dtstartquot; title=quot;2007-10-05quot;>October 5</abbr>- <abbr class=quot;dtendquot; title=quot;2007-10-20quot;>19</abbr>, at the <span class=quot;locationquot;>Argent Hotel, San Francisco, CA</span> </div>
  • 28. Microformats, OpenID, OAuth Objectivo: ser interpretados principalmente por pessoas. Máquinas depois. microformats.org
  • 29. 1-0
  • 30. Microformats, OpenID, OAuth Sistema de identidade aberto e descentralizado. Um único login para todos os sites. openid.net
  • 31. Microformats, OpenID, OAuth Evita ter de confiar na Microsoft (Passport), ou SixApart (Typekey).
  • 32. Microformats, OpenID, OAuth Decisão sobre em quem confiar está do lado do utilizador.
  • 33. 2-0
  • 34. Microformats, OpenID, OAuth Protocolo de autenticação seguro para APIs, para clientes Desktop e Web-based oauth.net
  • 35. Microformats, OpenID, OAuth Evita ter de dar dados confidenciais a um site que quer aceder a dados em outro. Ex: Facebook + GMail contacts
  • 36. Microformats, OpenID, OAuth Ao contrário de trocar emails e passwords (com acesso total), trocam-se tokens de acesso limitado aos dados do user.
  • 37. 3-0
  • 38. Hack-fest sem código? <:(
  • 39. No API? No problem. http://www.ruby-lang.org/en/ http://code.whytheluckystiff.net/hpricot/ http://mofo.rubyforge.org/
  • 40. lojadocidadao.pt + hpricot = O script anti-filas. 1 def update(serv) 2 a = Hpricot(open(serv)) 3 4 a.search(quot;bquot;).each_with_index do |a, i| 5 if i == 1 6 pessoas = a.inner_html 7 elsif i == 2 8 tempomedio = a.inner_html 9 elsif i == 3 10 tempoat = a.inner_html 11 elsif i == 5 12 balcoes = a.inner_html 13 end 14 end 15 end 16 17 update(quot;http://www.lojadocidadao.pt/webiglc/inlineinclude.aspx?local=3&entidade=3&senha=Aquot;)
  • 41. deviantart + hpricot + feed- rss = Feed de wallpapers url = quot;http://browse.deviantart.com/customization/wallpaper/animals/quot; doc = Hpricot(open(url)) elements = (doc/quot;div.streamquot;) #elements = (elements/quot;a.srcquot;) pages = Array.new html = elements.to_html html.each('<') { |s| s =~ /a href=quot;([^quot;]+)/ if Regexp.last_match(1) != nil pages.push(Regexp.last_match(1)) end } pages.each { |s| p s }
  • 42. wikipedia + hpricot = Crawler de artigos doc = Hpricot open('http://en.wikipedia.org/wiki/List_of_bicycle_manufacturing_companies') @article = (doc/quot;#contentquot;).each do |content| #change /wiki/ links to point to full wikipedia path (content/:a).each do |link| unless link.attributes['href'].nil? if (link.attributes['href'][0..5] == quot;/wiki/quot;) link.attributes['href'].sub!('/wiki/', 'http://en.wikipedia.org/wiki/') end end end #remove unnecessary content and edit links items_to_remove.each { |x| (content/x).remove } #replace links to create new entries with plain text (content/quot;a.newquot;).each do |link| link.parent.insert_before Hpricot.make(link.attributes['title']), link end.remove end
  • 43. flickr + mecanize = flickr hcard contact fetcher agent = WWW::Mechanize.new agent.user_agent_alias = 'Mac FireFox' page = agent.get('http://flickr.com/signin/') form = page.forms.name('login_form').first form.login = 'login' form.passwd = 'pass' page = agent.submit(form) page = agent.click page.links.text('click here') page = agent.click(page.links.text('Contacts')) page = agent.click(page.links.text('Contact List')) page = agent.click page.links.text('Contacts')[1] page.links.text('profile').each do |profile| profile_page = agent.get(profile.href) tree = Microformat.find(:text => profile_page.body) hcard = tree.first unless tree.empty? puts hcard.email.gsub(' [at] ','@') unless hcard.email.nil? end
  • 44. Data é o “building block” fundamental da web hoje em dia. Tudo o que construímos são potenciais plataformas.
  • 45. Bonus bits: Android (demo) open + free + mobile platform
  • 46. fred@webreakstuff.com