SlideShare a Scribd company logo
1 of 46
Download to read offline
Building Platforms


Frederico Oliveira / Webreakstuff / @ SAPO Codebits
Introdução
Web 2.0? What the f%&#?
out: Square Corners
in: Rounded Corners
out: #FF0000
in: Gradientes
out: cat
out: cat
in: lolcat


        visible dance partner.
     in
out: Robots
in: Humans
out: IRC
in: Facebook / MySpace


social networking é o novo instant messaging
out: Rede como plataforma
in: Apps como plataforma
out: Data Silos
in: Data Sources

                               data!
         data!

            data!
data!               data!   data!
        data!
                               data!
All praise the mighty API!
API (Application Programming
Interface)


o LEGO da internet.
data!   data!

    data!                   data!




            mashups
data!                           data!




    data!                   data!


            data!   data!
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
Porquê APIs?
(para empresas)
Porquê APIs?
(para developers)
Weather.com + Google
Maps + Dopplr = Melhores
sítios para passar férias em
Janeiro.
Last.fm + Amazon ECS =
Recomendações
personalizadas de albuns
com reviews e e-store
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) :-)
out: internet como plataforma
in: tudo é uma plataforma

                                                                data!
                                          data!

                                             data!   data!   data!
                                         data!
                                                                data!

Web-apps sem API são desinteressantes.
“Can’t get enough of that
sweet, sweet data.”



Tom Coates @ Web 2.0 Expo
APIs são tão 2006
Microformats, OpenID, OAuth




Muito mais 2007/08.
Microformats, OpenID, OAuth

Patterns para descrever
microcontent, escritas sobre
semântica existente (xhtml).
microformats.org
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>
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>
Microformats, OpenID, OAuth

Objectivo: ser interpretados
principalmente por pessoas.
Máquinas depois.
microformats.org
1-0
Microformats, OpenID, OAuth

Sistema de identidade aberto
e descentralizado. Um único
login para todos os sites.
openid.net
Microformats, OpenID, OAuth

Evita ter de confiar na
Microsoft (Passport), ou
SixApart (Typekey).
Microformats, OpenID, OAuth

Decisão sobre em quem
confiar está do lado do
utilizador.
2-0
Microformats, OpenID, OAuth

Protocolo de autenticação
seguro para APIs, para
clientes Desktop e Web-based
oauth.net
Microformats, OpenID, OAuth

Evita ter de dar dados
confidenciais a um site que
quer aceder a dados em outro.
Ex: Facebook + GMail contacts
Microformats, OpenID, OAuth

Ao contrário de trocar emails e
passwords (com acesso total),
trocam-se tokens de acesso
limitado aos dados do user.
3-0
Hack-fest sem código? <:(
No API? No problem.

          http://www.ruby-lang.org/en/
          http://code.whytheluckystiff.net/hpricot/
          http://mofo.rubyforge.org/
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;)
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 }
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
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
Data é o “building block”
fundamental da web hoje em
dia. Tudo o que construímos
são potenciais plataformas.
Bonus bits: Android (demo)
open + free + mobile platform
fred@webreakstuff.com

More Related Content

Similar to Buildingplatforms

Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIsPamela Fox
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebPatrick Chanezon
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshellLennart Schoors
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011Loïc Dias Da Silva
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5dynamis
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
 
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda MeetupPharo
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Estelle Weyl
 
The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open WebChris Messina
 
Motion Django Meetup
Motion Django MeetupMotion Django Meetup
Motion Django MeetupMike Malone
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialPatrick Chanezon
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Moullet
 
Hack it like its hot!
Hack it like its hot!Hack it like its hot!
Hack it like its hot!Stefan Adolf
 
Web2 Expo San Francisco
Web2 Expo San FranciscoWeb2 Expo San Francisco
Web2 Expo San FranciscoJure Cuhalev
 
Accessing the Linked Open Data Cloud via ODBC
Accessing the Linked Open Data Cloud via ODBCAccessing the Linked Open Data Cloud via ODBC
Accessing the Linked Open Data Cloud via ODBCKingsley Uyi Idehen
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingBozhidar Batsov
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102remko caprio
 
Testing API platform with Behat BDD tests
Testing API platform with Behat BDD testsTesting API platform with Behat BDD tests
Testing API platform with Behat BDD testsStefan Adolf
 

Similar to Buildingplatforms (20)

Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open Web
 
Motion Django Meetup
Motion Django MeetupMotion Django Meetup
Motion Django Meetup
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012Web mapping with vector data. Is it the future ? 2012
Web mapping with vector data. Is it the future ? 2012
 
Hack it like its hot!
Hack it like its hot!Hack it like its hot!
Hack it like its hot!
 
Api
ApiApi
Api
 
Web2 Expo San Francisco
Web2 Expo San FranciscoWeb2 Expo San Francisco
Web2 Expo San Francisco
 
Accessing the Linked Open Data Cloud via ODBC
Accessing the Linked Open Data Cloud via ODBCAccessing the Linked Open Data Cloud via ODBC
Accessing the Linked Open Data Cloud via ODBC
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programing
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102
 
Testing API platform with Behat BDD tests
Testing API platform with Behat BDD testsTesting API platform with Behat BDD tests
Testing API platform with Behat BDD tests
 

More from codebits

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands Oncodebits
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meocodebits
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101codebits
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based appscodebits
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-Oncodebits
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Webcodebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPPcodebits
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-Oncodebits
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencercodebits
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumbycodebits
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossárioscodebits
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduçõescodebits
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Javacodebits
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-Oncodebits
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 

More from codebits (20)

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meo
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-On
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
 
CouchDB
CouchDBCouchDB
CouchDB
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis@sapo
Gis@sapoGis@sapo
Gis@sapo
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 

Recently uploaded

FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 

Recently uploaded (20)

FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 

Buildingplatforms

  • 1. Building Platforms Frederico Oliveira / Webreakstuff / @ SAPO Codebits
  • 3. Web 2.0? What the f%&#?
  • 4. out: Square Corners in: Rounded Corners
  • 7. out: cat in: lolcat visible dance partner. in
  • 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!
  • 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
  • 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
  • 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
  • 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