SlideShare une entreprise Scribd logo
1  sur  12
Where I’ve Been™ Redefining the social travel experience. FindLocal. TravelGlobally. ShareEverything.
WIB Platform
Auth Layer WIB Platform Network Abstraction Layer WIB Auth Layer AMF Facebook Bebo Site API Myspace Via AJAX HI5 Friendster API (oAuth) whereivebeen.com Partners WIB ImgSrv
Network Abstraction
Template Engine WIB Stencil  Extends Includes FeedItem Component Notification Email Text FBML HTML Qotd Edit Profile
Stencil Preview
i18n Internationalization function t($string) <div id="invite-friends-header-prompt"> 	<?= t(‘Where have your friends been?’) ?>  	<span><?= t(‘Invite your friends. ’) ?></span> </div> Our ‘t’ function wraps its output in <fb:int> tags for fbml
i18n Each Page Request Does this string NOT exist in the strings table in our db 	add it to the strings table in our db If user wants English,  	output string Else 	md5 (string and language code) to make a key 	if the cache holds a string with this key 		output from cache 	else does our database hold a string with this key 		put string in cache		 		output from database 	else default:  		//no translation yet 		output original string function t($string) <div id="invite-friends-header-prompt"> 	<?= t(‘Where have your friends been?’) ?>  	<span><?= t(‘Invite your friends. ’) ?></span> </div>
i18n Daily Cron function t($string) <div id="invite-friends-header-prompt"> 	<?= t(‘Where have your friends been?’) ?>  	<span><?= t(‘Invite your friends. ’) ?></span> </div> For all strings not pushed to Facebook yet 	Use FQL to add strings to Facebook db Get all strings from Facebook via FQL,  	for each string we get from Facebook	 	md5 (english string and language code) to make a key 	write the translation and key to our translations db
Dynamic ImgSrv Show me an image User requests image ,[object Object]
dynimg.whereivebeen.comFacebook Facebook EC2 Machine running pound and MySql WIB API Network Abstraction Layer img1 img2 img3 img4 img5 API (oAuth) WIB Auth Layer S3 Image store Over 1MM Bin Cache 2 hours WIB Platform
Discover Where I’ve Been   Fresh New Design   Modular site structure   Local search options   Scalable Platform   Built from the ground up 728 x 90

Contenu connexe

En vedette

Plum Deluxe Press Kit / Media Kit
Plum Deluxe Press Kit / Media KitPlum Deluxe Press Kit / Media Kit
Plum Deluxe Press Kit / Media KitAndy Hayes
 
Website Advice that Works - Make More Sales
Website Advice that Works - Make More SalesWebsite Advice that Works - Make More Sales
Website Advice that Works - Make More SalesAndy Hayes
 
Nicholas Marnitz 4 Life Games
Nicholas Marnitz 4 Life GamesNicholas Marnitz 4 Life Games
Nicholas Marnitz 4 Life GamesNicholas Marnitz
 
Inference and Observation Scienetific Method And Lab Safety
Inference and Observation Scienetific Method And Lab SafetyInference and Observation Scienetific Method And Lab Safety
Inference and Observation Scienetific Method And Lab Safetyanna3485
 
Medidas de tendencia central
Medidas de tendencia centralMedidas de tendencia central
Medidas de tendencia centralbillod
 
經營是浪漫的逐夢歷程
經營是浪漫的逐夢歷程經營是浪漫的逐夢歷程
經營是浪漫的逐夢歷程TAAZE 讀冊生活
 
PV NOTÍCIAS - EDIÇÃO Nº11
PV NOTÍCIAS - EDIÇÃO Nº11PV NOTÍCIAS - EDIÇÃO Nº11
PV NOTÍCIAS - EDIÇÃO Nº11Jonasblog
 
PORTIFOLIO moVIMenTo '16
PORTIFOLIO moVIMenTo '16PORTIFOLIO moVIMenTo '16
PORTIFOLIO moVIMenTo '16Pedro Otaviano
 
Weller pleasures+perils social media
Weller pleasures+perils social mediaWeller pleasures+perils social media
Weller pleasures+perils social mediaKatrin Weller
 

En vedette (16)

My avatar
My  avatarMy  avatar
My avatar
 
Plum Deluxe Press Kit / Media Kit
Plum Deluxe Press Kit / Media KitPlum Deluxe Press Kit / Media Kit
Plum Deluxe Press Kit / Media Kit
 
Anlayamadim
AnlayamadimAnlayamadim
Anlayamadim
 
Website Advice that Works - Make More Sales
Website Advice that Works - Make More SalesWebsite Advice that Works - Make More Sales
Website Advice that Works - Make More Sales
 
Grupos
GruposGrupos
Grupos
 
Nicholas Marnitz 4 Life Games
Nicholas Marnitz 4 Life GamesNicholas Marnitz 4 Life Games
Nicholas Marnitz 4 Life Games
 
Inference and Observation Scienetific Method And Lab Safety
Inference and Observation Scienetific Method And Lab SafetyInference and Observation Scienetific Method And Lab Safety
Inference and Observation Scienetific Method And Lab Safety
 
Et newa6
Et newa6Et newa6
Et newa6
 
O atraso no sonho de Deus
O atraso no sonho de DeusO atraso no sonho de Deus
O atraso no sonho de Deus
 
Medidas de tendencia central
Medidas de tendencia centralMedidas de tendencia central
Medidas de tendencia central
 
經營是浪漫的逐夢歷程
經營是浪漫的逐夢歷程經營是浪漫的逐夢歷程
經營是浪漫的逐夢歷程
 
PV NOTÍCIAS - EDIÇÃO Nº11
PV NOTÍCIAS - EDIÇÃO Nº11PV NOTÍCIAS - EDIÇÃO Nº11
PV NOTÍCIAS - EDIÇÃO Nº11
 
Aula geometria
Aula geometriaAula geometria
Aula geometria
 
PORTIFOLIO moVIMenTo '16
PORTIFOLIO moVIMenTo '16PORTIFOLIO moVIMenTo '16
PORTIFOLIO moVIMenTo '16
 
Revisão de Química 1
Revisão de Química 1Revisão de Química 1
Revisão de Química 1
 
Weller pleasures+perils social media
Weller pleasures+perils social mediaWeller pleasures+perils social media
Weller pleasures+perils social media
 

Similaire à Facebook Developer Garage London, Craig Ulliott, Where I've Been

Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax componentsIgnacio Coloma
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009Jacob Gyllenstierna
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from AustinLisa Adkins
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIsPamela Fox
 
Java Script
Java ScriptJava Script
Java Scriptsiddaram
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile WidgetsJose Palazon
 
KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7phuphax
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching ResurrectedBen Scofield
 
HTML5 with examples
HTML5 with examplesHTML5 with examples
HTML5 with examplesgopivthmk
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]Chris Toohey
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Finalematrix
 

Similaire à Facebook Developer Garage London, Craig Ulliott, Where I've Been (20)

Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
Vb.Net Web Forms
Vb.Net  Web FormsVb.Net  Web Forms
Vb.Net Web Forms
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from Austin
 
Front End on Rails
Front End on RailsFront End on Rails
Front End on Rails
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
Java Script
Java ScriptJava Script
Java Script
 
BluePrint Mobile Framework
BluePrint Mobile FrameworkBluePrint Mobile Framework
BluePrint Mobile Framework
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
 
KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7KMUTNB - Internet Programming 3/7
KMUTNB - Internet Programming 3/7
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching Resurrected
 
JSP Custom Tags
JSP Custom TagsJSP Custom Tags
JSP Custom Tags
 
Lecture1 B Frames&Forms
Lecture1 B  Frames&FormsLecture1 B  Frames&Forms
Lecture1 B Frames&Forms
 
Html5
Html5Html5
Html5
 
HTML5 with examples
HTML5 with examplesHTML5 with examples
HTML5 with examples
 
When Why What of WWW
When Why What of WWWWhen Why What of WWW
When Why What of WWW
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Final
 
Html 101
Html 101Html 101
Html 101
 

Dernier

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Dernier (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

Facebook Developer Garage London, Craig Ulliott, Where I've Been

  • 1. Where I’ve Been™ Redefining the social travel experience. FindLocal. TravelGlobally. ShareEverything.
  • 3. Auth Layer WIB Platform Network Abstraction Layer WIB Auth Layer AMF Facebook Bebo Site API Myspace Via AJAX HI5 Friendster API (oAuth) whereivebeen.com Partners WIB ImgSrv
  • 5. Template Engine WIB Stencil Extends Includes FeedItem Component Notification Email Text FBML HTML Qotd Edit Profile
  • 7. i18n Internationalization function t($string) <div id="invite-friends-header-prompt"> <?= t(‘Where have your friends been?’) ?> <span><?= t(‘Invite your friends. ’) ?></span> </div> Our ‘t’ function wraps its output in <fb:int> tags for fbml
  • 8. i18n Each Page Request Does this string NOT exist in the strings table in our db add it to the strings table in our db If user wants English, output string Else md5 (string and language code) to make a key if the cache holds a string with this key output from cache else does our database hold a string with this key put string in cache output from database else default: //no translation yet output original string function t($string) <div id="invite-friends-header-prompt"> <?= t(‘Where have your friends been?’) ?> <span><?= t(‘Invite your friends. ’) ?></span> </div>
  • 9. i18n Daily Cron function t($string) <div id="invite-friends-header-prompt"> <?= t(‘Where have your friends been?’) ?> <span><?= t(‘Invite your friends. ’) ?></span> </div> For all strings not pushed to Facebook yet Use FQL to add strings to Facebook db Get all strings from Facebook via FQL, for each string we get from Facebook md5 (english string and language code) to make a key write the translation and key to our translations db
  • 10.
  • 11. dynimg.whereivebeen.comFacebook Facebook EC2 Machine running pound and MySql WIB API Network Abstraction Layer img1 img2 img3 img4 img5 API (oAuth) WIB Auth Layer S3 Image store Over 1MM Bin Cache 2 hours WIB Platform
  • 12. Discover Where I’ve Been Fresh New Design Modular site structure Local search options Scalable Platform Built from the ground up 728 x 90

Notes de l'éditeur

  1. Building a network and a business around and ontop of multiple other platforms presents an interesting architecture challenge. Where I’ve Been is essentially a set of API’s and Abstraction layers mixed with a templating system that we call stencils.
  2. Wrapping the Platform tier we have an authentication layer, this is the layer that users of our .com authenticate against directly. Most functionality on the .com website is preformed via AJAX, so we have a JavaScript client library for that. For each social network we release our application onto we create a client library (which is normally a wrapper of their own official library that normalizes the methods we use in our network). Finally we have a oAuth REST API which (currently in ALPHA with only one partner) which allows partners to access our technology (with the API you could potentially recreate the entire site somewhere else) We also use AMF for our flash products such as the maps.
  3. We write these networks as plug-ins and once added, the functionality from that network is made available immediately. You can add multiple networks to an account and authenticatie to your account from multiple sources. When we utilize communication channels such as feed items, we just create Where I’ve Been feed items and the API will use the best available network for that user, convert to the required format and send it out. There are many advantages to this approach, but one main one is being able to adapt very quickly when things change all the time, not pointing any fingers of course (facebook)
  4. Any good framework should have all the layout and content separated from the business logic, for this we created a system we call stencils. Every visible feature you see on the site has a mixture of CSS, JS, HTML, FBML, and TXT files. We can render then inside each other, they can be sent through the various communication channels, they can all be AB tested and they have standardized tracking and a real time viral coefficient