Your SlideShare is downloading. ×
0
Alternative Mapping On iOS                                      Justin Miller                                   Developmen...
“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.frameworkMonday, August 15, 2011
Alternative?                 •        Alternative to Apple’s MapKit.framework                     •     Custom aesthetic -...
Alternative?                 •        Alternative to Apple’s MapKit.framework                     •     Custom aesthetic -...
Alternative?                 •        Alternative to Apple’s MapKit.framework                     •     Custom aesthetic -...
Map TilesMonday, August 15, 2011
Monday, August 15, 2011
Monday, August 15, 2011
Tile-Based Map ImagesMonday, August 15, 2011
Tile-Based Map Images                 •        Can easily number in the millionsMonday, August 15, 2011
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0Mon...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Tile-Based Map Images                 •        Can easily number in the millions                     •     Zoom level 0   ...
Solution?Monday, August 15, 2011
Solution?                 •        SQLite: self-contained, cross-platform, serverlessMonday, August 15, 2011
Solution?                 •        SQLite: self-contained, cross-platform, serverless                     •     “Small. Fa...
Solution?                 •        SQLite: self-contained, cross-platform, serverless                     •     “Small. Fa...
Solution?                 •        SQLite: self-contained, cross-platform, serverless                     •     “Small. Fa...
Solution?                 •        SQLite: self-contained, cross-platform, serverless                     •     “Small. Fa...
Solution?                 •        SQLite: self-contained, cross-platform, serverless                     •     “Small. Fa...
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)                 •        Gene...
Added Bonuses (Bonusi?)                 •        Can weed out duplicate tiles (i.e., oceans)                 •        Gene...
Added Bonuses (Bonusi?)                 •        Can weed out duplicate tiles (i.e., oceans)                 •        Gene...
Added Bonuses (Bonusi?)                 •        Can weed out duplicate tiles (i.e., oceans)                 •        Gene...
Added Bonuses (Bonusi?)                 •        Can weed out duplicate tiles (i.e., oceans)                 •        Gene...
Ok, So Now What?Monday, August 15, 2011
Ok, So Now What?                 •        Needed a frameworkMonday, August 15, 2011
Ok, So Now What?                 •        Needed a framework                 •        Evaluated; found route-meMonday, Aug...
Ok, So Now What?                 •        Needed a framework                 •        Evaluated; found route-me           ...
Ok, So Now What?                 •        Needed a framework                 •        Evaluated; found route-me           ...
Ok, So Now What?                 •        Needed a framework                 •        Evaluated; found route-me           ...
route-meMonday, August 15, 2011
route-me                 •        NOT a MapKit drop-in replacementMonday, August 15, 2011
route-me                 •        NOT a MapKit drop-in replacement                     •     It’s got its own funky conven...
route-me                 •        NOT a MapKit drop-in replacement                     •     It’s got its own funky conven...
route-me                 •        NOT a MapKit drop-in replacement                     •     It’s got its own funky conven...
route-me                 •        NOT a MapKit drop-in replacement                     •     It’s got its own funky conven...
route-me                 •        NOT a MapKit drop-in replacement                     •     It’s got its own funky conven...
ExamplesMonday, 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
GitHubStuffMonday, August 15, 2011
GitHubStuff                  • tilemill              • wax                  • tilestream            • tilelive.js         ...
For More Info                 •        GitHub: github.com/mapbox                 •        Twitter: @incanus77, @mapbox, an...
Thanks!Monday, August 15, 2011
Upcoming SlideShare
Loading in...5
×

Alternative Mapping on iOS

2,778

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,778
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Alternative Mapping on iOS"

  1. 1. Alternative Mapping On iOS Justin Miller Development SeedMonday, August 15, 2011
  2. 2. “MapKit? Where we’re going, we don’t need MapKit...”Monday, August 15, 2011
  3. 3. Alternative?Monday, August 15, 2011
  4. 4. Alternative? • Alternative to Apple’s MapKit.frameworkMonday, August 15, 2011
  5. 5. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detailMonday, August 15, 2011
  6. 6. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layeringMonday, August 15, 2011
  7. 7. Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layering • Custom sources - boundaries, languagesMonday, August 15, 2011
  8. 8. Map TilesMonday, August 15, 2011
  9. 9. Monday, August 15, 2011
  10. 10. Monday, August 15, 2011
  11. 11. Tile-Based Map ImagesMonday, August 15, 2011
  12. 12. Tile-Based Map Images • Can easily number in the millionsMonday, August 15, 2011
  13. 13. Tile-Based Map Images • Can easily number in the millions • Zoom level 0Monday, August 15, 2011
  14. 14. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tileMonday, August 15, 2011
  15. 15. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18Monday, August 15, 2011
  16. 16. Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tilesMonday, August 15, 2011
  17. 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 masseMonday, August 15, 2011
  18. 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 masseMonday, August 15, 2011
  19. 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 masseMonday, August 15, 2011
  20. 20. Solution?Monday, August 15, 2011
  21. 21. Solution? • SQLite: self-contained, cross-platform, serverlessMonday, August 15, 2011
  22. 22. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.”Monday, August 15, 2011
  23. 23. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.”Monday, August 15, 2011
  24. 24. Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schemaMonday, August 15, 2011
  25. 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. 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 dataMonday, August 15, 2011
  27. 27. Added Bonuses (Bonusi?)Monday, August 15, 2011
  28. 28. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans)Monday, August 15, 2011
  29. 29. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty wellMonday, August 15, 2011
  30. 30. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on diskMonday, August 15, 2011
  31. 31. Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLiteMonday, August 15, 2011
  32. 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 .ipaMonday, August 15, 2011
  33. 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 userMonday, August 15, 2011
  34. 34. Ok, So Now What?Monday, August 15, 2011
  35. 35. Ok, So Now What? • Needed a frameworkMonday, August 15, 2011
  36. 36. Ok, So Now What? • Needed a framework • Evaluated; found route-meMonday, August 15, 2011
  37. 37. Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHubMonday, August 15, 2011
  38. 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. 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
  40. 40. route-meMonday, August 15, 2011
  41. 41. route-me • NOT a MapKit drop-in replacementMonday, August 15, 2011
  42. 42. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventionsMonday, August 15, 2011
  43. 43. route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoringMonday, August 15, 2011
  44. 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 directlyMonday, August 15, 2011
  45. 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 MapKitMonday, August 15, 2011
  46. 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
  47. 47. ExamplesMonday, August 15, 2011
  48. 48. Monday, August 15, 2011
  49. 49. Monday, August 15, 2011
  50. 50. Monday, August 15, 2011
  51. 51. Monday, August 15, 2011
  52. 52. Monday, August 15, 2011
  53. 53. Monday, August 15, 2011
  54. 54. Monday, August 15, 2011
  55. 55. Monday, August 15, 2011
  56. 56. Monday, August 15, 2011
  57. 57. Monday, August 15, 2011
  58. 58. Monday, August 15, 2011
  59. 59. GitHubStuffMonday, August 15, 2011
  60. 60. GitHubStuff • tilemill • wax • tilestream • tilelive.js • mbtiles-spec • Simple KML • mbutil • Fingertips • carto • route-me*Monday, August 15, 2011
  61. 61. For More Info • GitHub: github.com/mapbox • Twitter: @incanus77, @mapbox, and @developmentseed • App Store: MapBox (iPad only) • Web: mapbox.comMonday, August 15, 2011
  62. 62. Thanks!Monday, August 15, 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×