SlideShare a Scribd company logo
1 of 62
Download to read offline
Alternative Mapping On iOS
                                      Justin Miller
                                   Development Seed




Monday, August 15, 2011
“MapKit? Where we’re going, we don’t need MapKit...”

Monday, August 15, 2011
Alternative?




Monday, August 15, 2011
Alternative?

                 •        Alternative to Apple’s MapKit.framework




Monday, August 15, 2011
Alternative?

                 •        Alternative to Apple’s MapKit.framework

                     •     Custom aesthetic - colors, level of detail




Monday, August 15, 2011
Alternative?

                 •        Alternative to Apple’s MapKit.framework

                     •     Custom aesthetic - colors, level of detail

                     •     Custom behaviors - offline use, layering




Monday, August 15, 2011
Alternative?

                 •        Alternative to Apple’s MapKit.framework

                     •     Custom aesthetic - colors, level of detail

                     •     Custom behaviors - offline use, layering

                     •     Custom sources - boundaries, languages



Monday, August 15, 2011
Map Tiles



Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Tile-Based Map Images




Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions




Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0




Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile




Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile

                     •     Zoom level 18




Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile

                     •     Zoom level 18

                          •   68,719,476,736 tiles



Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile

                     •     Zoom level 18

                          •   68,719,476,736 tiles

                 •        This is a PITA for USB or network transfer en masse

Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile

                     •     Zoom level 18

                          •   68,719,476,736 tiles

                 •        This is a PITA for USB or network transfer en masse

Monday, August 15, 2011
Tile-Based Map Images
                 •        Can easily number in the millions

                     •     Zoom level 0

                          •   One 256x256 tile

                     •     Zoom level 18

                          •   68,719,476,736 tiles

                 •        This is a PITA for USB or network transfer en masse

Monday, August 15, 2011
Solution?




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless

                     •     “Small. Fast. Reliable. Choose any three.”




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless

                     •     “Small. Fast. Reliable. Choose any three.”




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless

                     •     “Small. Fast. Reliable. Choose any three.”

                 •        MBTiles: a simple schema




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless

                     •     “Small. Fast. Reliable. Choose any three.”

                 •        MBTiles: a simple schema

                     •     Name, zoom levels, attribution, version, etc.




Monday, August 15, 2011
Solution?

                 •        SQLite: self-contained, cross-platform, serverless

                     •     “Small. Fast. Reliable. Choose any three.”

                 •        MBTiles: a simple schema

                     •     Name, zoom levels, attribution, version, etc.

                     •     Store tile images as binary data


Monday, August 15, 2011
Added Bonuses (Bonusi?)




Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)




Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)

                 •        Generally zip down pretty well




Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)

                 •        Generally zip down pretty well

                     •     3GB on disk




Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)

                 •        Generally zip down pretty well

                     •     3GB on disk

                     •     1GB in SQLite




Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)

                 •        Generally zip down pretty well

                     •     3GB on disk

                     •     1GB in SQLite

                     •     200MB in .ipa



Monday, August 15, 2011
Added Bonuses (Bonusi?)
                 •        Can weed out duplicate tiles (i.e., oceans)

                 •        Generally zip down pretty well

                     •     3GB on disk

                     •     1GB in SQLite

                     •     200MB in .ipa

                 •        Easy on the user

Monday, August 15, 2011
Ok, So Now What?




Monday, August 15, 2011
Ok, So Now What?

                 •        Needed a framework




Monday, August 15, 2011
Ok, So Now What?

                 •        Needed a framework

                 •        Evaluated; found route-me




Monday, August 15, 2011
Ok, So Now What?

                 •        Needed a framework

                 •        Evaluated; found route-me

                     •     Google Code at the time; now GitHub




Monday, August 15, 2011
Ok, So Now What?

                 •        Needed a framework

                 •        Evaluated; found route-me

                     •     Google Code at the time; now GitHub

                     •     Reasonably active (GitHub has helped)




Monday, August 15, 2011
Ok, So Now What?

                 •        Needed a framework

                 •        Evaluated; found route-me

                     •     Google Code at the time; now GitHub

                     •     Reasonably active (GitHub has helped)

                     •     Open source (BSD license)


Monday, August 15, 2011
route-me




Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement




Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement

                     •     It’s got its own funky conventions




Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement

                     •     It’s got its own funky conventions

                     •     It could probably use some refactoring




Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement

                     •     It’s got its own funky conventions

                     •     It could probably use some refactoring

                 •        Does a lot with CALayer directly




Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement

                     •     It’s got its own funky conventions

                     •     It could probably use some refactoring

                 •        Does a lot with CALayer directly

                 •        Not as finely-tuned as MapKit


Monday, August 15, 2011
route-me

                 •        NOT a MapKit drop-in replacement

                     •     It’s got its own funky conventions

                     •     It could probably use some refactoring

                 •        Does a lot with CALayer directly

                 •        Not as finely-tuned as MapKit              “I’ve got my own customs!”



Monday, August 15, 2011
Examples



Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
GitHubStuff




Monday, August 15, 2011
GitHubStuff

                  • tilemill              • wax
                  • tilestream            • tilelive.js
                  • mbtiles-spec          • Simple KML
                  • mbutil                • Fingertips
                  • carto                 • route-me*

Monday, August 15, 2011
For More Info

                 •        GitHub: github.com/mapbox

                 •        Twitter: @incanus77, @mapbox, and @developmentseed

                 •        App Store: MapBox (iPad only)

                 •        Web: mapbox.com



Monday, August 15, 2011
Thanks!



Monday, August 15, 2011

More Related Content

Viewers also liked

GeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in AfghanistanGeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in Afghanistan
Development Seed
 

Viewers also liked (7)

Mapnik2 Performance, September 2011
Mapnik2 Performance, September 2011Mapnik2 Performance, September 2011
Mapnik2 Performance, September 2011
 
Cartography with TileMill, PostGIS, and OpenStreetMap
Cartography with TileMill, PostGIS, and OpenStreetMapCartography with TileMill, PostGIS, and OpenStreetMap
Cartography with TileMill, PostGIS, and OpenStreetMap
 
Tilemill: Making Custom Transit Maps
Tilemill: Making Custom Transit MapsTilemill: Making Custom Transit Maps
Tilemill: Making Custom Transit Maps
 
GeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in AfghanistanGeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in Afghanistan
 
Famine Mapping with USAID
Famine Mapping with USAIDFamine Mapping with USAID
Famine Mapping with USAID
 
Nonprofit Mapping at Net2DC Meetup
Nonprofit Mapping at Net2DC MeetupNonprofit Mapping at Net2DC Meetup
Nonprofit Mapping at Net2DC Meetup
 
Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 

More from Development Seed

Tech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMillTech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMill
Development Seed
 
ReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build PlanReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build Plan
Development Seed
 
Offline Mapping: International Crisis
Offline Mapping: International CrisisOffline Mapping: International Crisis
Offline Mapping: International Crisis
Development Seed
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them all
Development Seed
 

More from Development Seed (13)

Rasters are not Monsters - GeoMTL 2019
Rasters are not Monsters - GeoMTL 2019Rasters are not Monsters - GeoMTL 2019
Rasters are not Monsters - GeoMTL 2019
 
Transparency camp
Transparency campTransparency camp
Transparency camp
 
Tech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMillTech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMill
 
ReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build PlanReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build Plan
 
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationIBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
 
Offline Mapping: International Crisis
Offline Mapping: International CrisisOffline Mapping: International Crisis
Offline Mapping: International Crisis
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them all
 
Backstage with Drupal localization- Part 2
Backstage with Drupal localization- Part 2Backstage with Drupal localization- Part 2
Backstage with Drupal localization- Part 2
 
For every site a make file
For every site a make fileFor every site a make file
For every site a make file
 
Go real time with pubsubhubbub and feeds
Go real time with pubsubhubbub and feedsGo real time with pubsubhubbub and feeds
Go real time with pubsubhubbub and feeds
 
Drupal Distributions: The Dos and Don'ts:
Drupal Distributions: The Dos and Don'ts:Drupal Distributions: The Dos and Don'ts:
Drupal Distributions: The Dos and Don'ts:
 
Open Atrium
Open Atrium Open Atrium
Open Atrium
 
Opening Large Data Sets
Opening Large Data SetsOpening Large Data Sets
Opening Large Data Sets
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Alternative Mapping on iOS

  • 1. Alternative Mapping On iOS Justin Miller Development Seed Monday, August 15, 2011
  • 2. “MapKit? Where we’re going, we don’t need MapKit...” Monday, August 15, 2011
  • 4. Alternative? • Alternative to Apple’s MapKit.framework Monday, August 15, 2011
  • 5. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail Monday, August 15, 2011
  • 6. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layering Monday, August 15, 2011
  • 7. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layering • Custom sources - boundaries, languages Monday, August 15, 2011
  • 11. Tile-Based Map Images Monday, August 15, 2011
  • 12. Tile-Based Map Images • Can easily number in the millions Monday, August 15, 2011
  • 13. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 Monday, August 15, 2011
  • 14. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile Monday, August 15, 2011
  • 15. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 Monday, August 15, 2011
  • 16. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles Monday, August 15, 2011
  • 17. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masse Monday, August 15, 2011
  • 18. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masse Monday, August 15, 2011
  • 19. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masse Monday, August 15, 2011
  • 21. Solution? • SQLite: self-contained, cross-platform, serverless Monday, August 15, 2011
  • 22. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” Monday, August 15, 2011
  • 23. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” Monday, August 15, 2011
  • 24. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schema Monday, August 15, 2011
  • 25. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schema • Name, zoom levels, attribution, version, etc. Monday, August 15, 2011
  • 26. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schema • Name, zoom levels, attribution, version, etc. • Store tile images as binary data Monday, August 15, 2011
  • 28. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) Monday, August 15, 2011
  • 29. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well Monday, August 15, 2011
  • 30. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk Monday, August 15, 2011
  • 31. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLite Monday, August 15, 2011
  • 32. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLite • 200MB in .ipa Monday, August 15, 2011
  • 33. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLite • 200MB in .ipa • Easy on the user Monday, August 15, 2011
  • 34. Ok, So Now What? Monday, August 15, 2011
  • 35. Ok, So Now What? • Needed a framework Monday, August 15, 2011
  • 36. Ok, So Now What? • Needed a framework • Evaluated; found route-me Monday, August 15, 2011
  • 37. Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHub Monday, August 15, 2011
  • 38. Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHub • Reasonably active (GitHub has helped) Monday, August 15, 2011
  • 39. Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHub • Reasonably active (GitHub has helped) • Open source (BSD license) Monday, August 15, 2011
  • 41. route-me • NOT a MapKit drop-in replacement Monday, August 15, 2011
  • 42. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions Monday, August 15, 2011
  • 43. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring Monday, August 15, 2011
  • 44. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directly Monday, August 15, 2011
  • 45. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directly • Not as finely-tuned as MapKit Monday, August 15, 2011
  • 46. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directly • Not as finely-tuned as MapKit “I’ve got my own customs!” Monday, August 15, 2011
  • 60. GitHubStuff • tilemill • wax • tilestream • tilelive.js • mbtiles-spec • Simple KML • mbutil • Fingertips • carto • route-me* Monday, August 15, 2011
  • 61. For More Info • GitHub: github.com/mapbox • Twitter: @incanus77, @mapbox, and @developmentseed • App Store: MapBox (iPad only) • Web: mapbox.com Monday, August 15, 2011