SlideShare a Scribd company logo
1 of 22
Faking Data (Building a Real-looking Demo Account) Philip Sharp @philipsharp Clearspring / AddThis DC PHP July 13, 2011
Screenshots are useful... ,[object Object]
Help
Marketing
Screenshots are not a demo. Nor do they keep themselves up-to-date. (The same thing goes for videos.)
Neither is a free trial.
We collect data. People want to see how it looks up-front. (We're not all Google. GA doesn't need a demo.)
A good demo requires good data. (Chartbeat is lucky. But we can't all show Fred Wilson's data.)
Obfuscate if you can. demoPayees = [“Joe's Widgets”, ” ACME Explosives”, “ Frank's Fish Fry”] transaction = { “ datetime”: “2011-07-13 18:52:22” “ payee”:  “Churchkey”, “ ammount”: 145.23 } transaction.payee = demoPayees[rand(0,2)];
Make your own if you can. { “ username”: “frodo” “ name”: “Frodo Baggins” rings: 1 }
Some data doesn't cooperate. ,[object Object]
Titles
Big Data GET /atapi/pub/shares/content?pubid=xa-4e1df9914f1a6d69 &dates=110706-110712&type=bm%2Cem%2Cfl%2Cif%2Cab &domain=www.example.com&range=0%2C20 [[" http://www.example.com.com/blog/2011/07/big-news ","Example Blog :: Big News",4990]]
Choose Your Inputs ,[object Object]
Countries (top 50)
Ruleset: ,[object Object]
URLs
Keywords
Referers
'demo-oz-emeraldcity'   =>   array ( 'emeraldcity.gov.oz'   =>   array ( 'target'   =>   5000 , 'urls'   =>   array ( array ( '/' ,   'The Emerald City' ), array ( '/tourism' ,   'The Emerald City - Ozapos;s Premiere Road-Trip Destination' ), array ( '/tourism/things-to-do' ,   'The Emerald City - Things to Do' ), array ( '/tourism/things-to-do/balloon-rides' ,   'The Emerald City - Things to Do - Balloon Rides' ), array ( '/tourism/things-to-do/horse-rides' ,   'The Emerald City - Things to Do -  Horse Rides' ), array ( '/mayor' ,   'The Emerald City - Mayorapos;s Office' ) ), 'referers'   =>   array ( '' , 'google.oz' , 'bing.oz' , 'yahoo.oz' , 'search.oz' ), 'keywords'   =>   array ( '' , 'oz' ,   'vacations' ,   'green' ,   'emerald' ,   'sunglasses' ) ), 'wizard.oz'   =>   array ( 'target'   =>   3000 , 'urls'   =>   array ( array ( '/' ,   'The Wizard of Oz' ), array ( '/the-wizard' ,   'The Wizard of Oz :: The Wizard' ), array ( '/seeking-audience' ,   'The Wizard of Oz :: Seeking Audience With The Wizard' ), array ( '/contact-us' ,   'The Wizard of Oz :: Contact Us' ) ), 'referers'   =>   array ( '' ), 'keywords'   =>   array ( '' ) ) ),
foreach
$shareMagnifier =  $countrySharePercentage * $serviceSharePercentage * $browserSharePercentage / 100000; $combinationTarget = $domain['target'] / count($domain['urls']) / count($domain['referers']) / count($domain['keywords']); $dayMultiplier = (($daysOfData - $day) / 100) + 1; $combinationShares[-$day] = floor(rand(1,100) * $shareMagnifier * $dayMultiplier * ($combinationTarget / 50));

More Related Content

Similar to Faking Data

Google Visualization API
Google  Visualization  APIGoogle  Visualization  API
Google Visualization APIJason Young
 
jQuery - Doing it right
jQuery - Doing it rightjQuery - Doing it right
jQuery - Doing it rightgirish82
 
Graph Databases
Graph DatabasesGraph Databases
Graph DatabasesJosh Adell
 
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Lance Roggendorff
 
Introduction To Mashups - Mashup Camp 5 - Dublin
Introduction To Mashups - Mashup Camp 5 - DublinIntroduction To Mashups - Mashup Camp 5 - Dublin
Introduction To Mashups - Mashup Camp 5 - DublinJohn Herren
 
Openstreetmap Barcamp Leeds
Openstreetmap Barcamp LeedsOpenstreetmap Barcamp Leeds
Openstreetmap Barcamp Leedschippy
 
Maintaining your own branch of Drupal core
Maintaining your own branch of Drupal coreMaintaining your own branch of Drupal core
Maintaining your own branch of Drupal coredrumm
 
Schenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in PerlSchenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in PerlJiro Nishiguchi
 
Drupal Lightning FAPI Jumpstart
Drupal Lightning FAPI JumpstartDrupal Lightning FAPI Jumpstart
Drupal Lightning FAPI Jumpstartguestfd47e4c7
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rulesnagarajhubli
 
Exploiting Php With Php
Exploiting Php With PhpExploiting Php With Php
Exploiting Php With PhpJeremy Coates
 
Dropping ACID with MongoDB
Dropping ACID with MongoDBDropping ACID with MongoDB
Dropping ACID with MongoDBkchodorow
 
A Quick Introduction to Sinatra
A Quick Introduction to SinatraA Quick Introduction to Sinatra
A Quick Introduction to SinatraNick Plante
 
A Quick Introduction to Sinatra
A Quick Introduction to SinatraA Quick Introduction to Sinatra
A Quick Introduction to Sinatraguestbe060
 
Getting started with MongoDB and PHP
Getting started with MongoDB and PHPGetting started with MongoDB and PHP
Getting started with MongoDB and PHPgates10gen
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
Postman & Python: Harmonious Development
Postman & Python: Harmonious Development Postman & Python: Harmonious Development
Postman & Python: Harmonious Development Michael Vincerra , M.A.
 
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Michael Wales
 

Similar to Faking Data (20)

Google Visualization API
Google  Visualization  APIGoogle  Visualization  API
Google Visualization API
 
jQuery - Doing it right
jQuery - Doing it rightjQuery - Doing it right
jQuery - Doing it right
 
Oo Perl
Oo PerlOo Perl
Oo Perl
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
 
Introduction To Mashups - Mashup Camp 5 - Dublin
Introduction To Mashups - Mashup Camp 5 - DublinIntroduction To Mashups - Mashup Camp 5 - Dublin
Introduction To Mashups - Mashup Camp 5 - Dublin
 
Openstreetmap Barcamp Leeds
Openstreetmap Barcamp LeedsOpenstreetmap Barcamp Leeds
Openstreetmap Barcamp Leeds
 
Maintaining your own branch of Drupal core
Maintaining your own branch of Drupal coreMaintaining your own branch of Drupal core
Maintaining your own branch of Drupal core
 
Schenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in PerlSchenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in Perl
 
Drupal Lightning FAPI Jumpstart
Drupal Lightning FAPI JumpstartDrupal Lightning FAPI Jumpstart
Drupal Lightning FAPI Jumpstart
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
 
Exploiting Php With Php
Exploiting Php With PhpExploiting Php With Php
Exploiting Php With Php
 
Dropping ACID with MongoDB
Dropping ACID with MongoDBDropping ACID with MongoDB
Dropping ACID with MongoDB
 
A Quick Introduction to Sinatra
A Quick Introduction to SinatraA Quick Introduction to Sinatra
A Quick Introduction to Sinatra
 
A Quick Introduction to Sinatra
A Quick Introduction to SinatraA Quick Introduction to Sinatra
A Quick Introduction to Sinatra
 
Playing With The Web
Playing With The WebPlaying With The Web
Playing With The Web
 
Getting started with MongoDB and PHP
Getting started with MongoDB and PHPGetting started with MongoDB and PHP
Getting started with MongoDB and PHP
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
Postman & Python: Harmonious Development
Postman & Python: Harmonious Development Postman & Python: Harmonious Development
Postman & Python: Harmonious Development
 
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Faking Data

  • 1. Faking Data (Building a Real-looking Demo Account) Philip Sharp @philipsharp Clearspring / AddThis DC PHP July 13, 2011
  • 2.
  • 5. Screenshots are not a demo. Nor do they keep themselves up-to-date. (The same thing goes for videos.)
  • 6. Neither is a free trial.
  • 7. We collect data. People want to see how it looks up-front. (We're not all Google. GA doesn't need a demo.)
  • 8. A good demo requires good data. (Chartbeat is lucky. But we can't all show Fred Wilson's data.)
  • 9. Obfuscate if you can. demoPayees = [“Joe's Widgets”, ” ACME Explosives”, “ Frank's Fish Fry”] transaction = { “ datetime”: “2011-07-13 18:52:22” “ payee”: “Churchkey”, “ ammount”: 145.23 } transaction.payee = demoPayees[rand(0,2)];
  • 10. Make your own if you can. { “ username”: “frodo” “ name”: “Frodo Baggins” rings: 1 }
  • 11.
  • 13. Big Data GET /atapi/pub/shares/content?pubid=xa-4e1df9914f1a6d69 &dates=110706-110712&type=bm%2Cem%2Cfl%2Cif%2Cab &domain=www.example.com&range=0%2C20 [[" http://www.example.com.com/blog/2011/07/big-news ","Example Blog :: Big News",4990]]
  • 14.
  • 16.
  • 17. URLs
  • 20. 'demo-oz-emeraldcity' => array ( 'emeraldcity.gov.oz' => array ( 'target' => 5000 , 'urls' => array ( array ( '/' , 'The Emerald City' ), array ( '/tourism' , 'The Emerald City - Ozapos;s Premiere Road-Trip Destination' ), array ( '/tourism/things-to-do' , 'The Emerald City - Things to Do' ), array ( '/tourism/things-to-do/balloon-rides' , 'The Emerald City - Things to Do - Balloon Rides' ), array ( '/tourism/things-to-do/horse-rides' , 'The Emerald City - Things to Do - Horse Rides' ), array ( '/mayor' , 'The Emerald City - Mayorapos;s Office' ) ), 'referers' => array ( '' , 'google.oz' , 'bing.oz' , 'yahoo.oz' , 'search.oz' ), 'keywords' => array ( '' , 'oz' , 'vacations' , 'green' , 'emerald' , 'sunglasses' ) ), 'wizard.oz' => array ( 'target' => 3000 , 'urls' => array ( array ( '/' , 'The Wizard of Oz' ), array ( '/the-wizard' , 'The Wizard of Oz :: The Wizard' ), array ( '/seeking-audience' , 'The Wizard of Oz :: Seeking Audience With The Wizard' ), array ( '/contact-us' , 'The Wizard of Oz :: Contact Us' ) ), 'referers' => array ( '' ), 'keywords' => array ( '' ) ) ),
  • 22. $shareMagnifier = $countrySharePercentage * $serviceSharePercentage * $browserSharePercentage / 100000; $combinationTarget = $domain['target'] / count($domain['urls']) / count($domain['referers']) / count($domain['keywords']); $dayMultiplier = (($daysOfData - $day) / 100) + 1; $combinationShares[-$day] = floor(rand(1,100) * $shareMagnifier * $dayMultiplier * ($combinationTarget / 50));
  • 24. Using It Demo Accounts Demo Profiles
  • 25. OOP to the rescue. /** * Hydra Package API demo wrapper * * @author philip * @requires Zend Framework */ class AT_Hydra_Package_Service_Demo extends AT_Hydra_Package_Service { … } $dataModel->setService(new AT_Hydra_Package_Service_Demo());
  • 26.
  • 30. $radian = ($minute / 1440) * 2 * M_PI + (1.25 * M_PI); $sin = sin($radian) + 1.05; $shares = round(rand(1,100) * $sin * $shareMagnifier * $combinationTarget);
  • 31.

Editor's Notes

  1. Who am I. What we do.
  2. People want to see the product. Our people want to show it off.
  3. (save, edit, publish) manually, automatically
  4. Point your site to a demo db.
  5. Hard to obfuscate. Tedious to make manually.
  6. cant store random stuff explicitly by-day
  7. Date is rolling
  8. passthrough where ok override where ok reformat data