SlideShare a Scribd company logo
Proprietary and
confidential
Aurore Jard
Mobile Lead Developer
“Design for tomorrow”
“Deconstruct what you know”
“Simplify”
“Love what you did”
@AuroreJard
April 12, 2016
Don’t lose your way optimizing
maps rendering !
Talk : map optimizations ! Confidential
Requirements
Confidential
● Display
○ Data as locality
○ Zone on map
● User feature
○ Move
○ Zoom
● Access offline
Talk : map optimizations !
SDK Fight
Confidential
● Map
○ https://developer.apple.com/maps/
● Google
○ https://developers.google.com/maps/documentation/ios-sdk/
Talk : map optimizations !
Google Map VS Apple Maps
SDK Fight
Confidential
● Official documentation
○ Maps
○ Google iOS SDK
● Application also available on android : same experience on both
● Map more precise
● More possibilities
Talk : map optimizations !
First : easy steps
Confidential
● Get Data
● Display data
Talk : map optimizations !
What about really a lot of data ?
ConfidentialTalk : map optimizations !
First impressions
Confidential
● UI/UX remarks
○ Users are humans !
■ Adapt data according to zoom level
■ Zone, details : only on high level of zoom
■ Regroup data that eye can dissociate
● Performances
○ Avoid treating data you don’t see...
Talk : map optimizations !
First : clustering
ConfidentialTalk : map optimizations !
First : clustering
Confidential
● Regroup close data
○ easier user reading
○ Indication on number of location
in one group
● Clustering possibilities :
○ Grid based clustering
○ Distance based clustering
Talk : map optimizations !
Easy optimizations :
Confidential
● Grid based clustering
Talk : map optimizations !
Easy optimizations :
Confidential
● Distance-based Clustering
Talk : map optimizations !
Second : don’t treat invisible data
Confidential
● Limitation :
○ Zoom level
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Why does it take so long ?
● Iterate over each location : 0(n)
● Every move from the camera (move, zoom) need to iterate again
Talk : map optimizations !
for location in locations {
if visibleBounds.containsCoordinate(location.position) {
// item should be display
}
else {
// ignore this location
}
Third : More optimization on sorting data
Confidential
● Reduce complexity by using QuadTree object & algorithms !
● Objective : subdivision of 2D space
● QuadTree = Tree with 4 leafs
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Step 1 :
○ Build the tree from your initial data
○ Keep iteration on all locations on that process
■ o(n) but only once
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Step 2 :
○ Search for locations in a specific area
■ Everytime you move / zoom
Talk : map optimizations !
Third : More optimization on sorting data
Confidential
● Why is it faster ?
○ For loop only done once at initialisation
○ Search then (user interactions)
■ O(h) (h = max depth of node in the tree)
Talk : map optimizations !
h=0
h=1
h=2
h=3
Links / Resources
Confidential
● Code :
○ Open Source library for clustering with Google Map iOS SDK
○ Display Large Amount of Data on iOS Map
● MapKit Apple Sample
○ Apple Sample clustering
● Other
○ QuadTree Interactive Explanations
Talk : map optimizations !
Have fun with maps ;)
Thanks !
ConfidentialTalk : map optimizations !
Proprietary and
confidential
@NurunMTL
CURIOUS TO KNOW MORE
Follow us
Nurun.com/NurunMontreal

More Related Content

What's hot

JavaScript 3D House
JavaScript 3D HouseJavaScript 3D House
JavaScript 3D House
carey2101a
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with Drupal
Ranel Padon
 
Easily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with LeafletEasily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with Leaflet
Amber Matz
 
Google earth power point
Google earth power pointGoogle earth power point
Google earth power point
Lisa Campbell
 
Google Earth Slides
Google Earth SlidesGoogle Earth Slides
Google Earth Slides
CMDMcDoogle
 
Navigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devicesNavigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devices
Kai-Tzu Lu
 
Google Earth Presentation
Google Earth PresentationGoogle Earth Presentation
Google Earth Presentation
abc
 
Maps, News and Geography
Maps, News and GeographyMaps, News and Geography
Maps, News and Geography
Catherine D'Ignazio
 
Google Earth Social Studies
Google Earth Social StudiesGoogle Earth Social Studies
Google Earth Social Studies
damopsu
 
Google Next
Google NextGoogle Next
Google Next
Gregory Wilde
 
Google Earth Basics
Google Earth BasicsGoogle Earth Basics
Google Earth Basics
Desiree Caskey
 
From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...
GeoVIS'15 Workshop
 
Navigation in React Native
Navigation in React NativeNavigation in React Native
Navigation in React Native
Sambhu Lakshmanan
 
SAMR
SAMRSAMR
MapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3DMapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3D
Peter Horsbøll Møller
 
Location awareness in MeeGo
Location awareness in MeeGoLocation awareness in MeeGo
Location awareness in MeeGo
Henri Bergius
 
ToPa 3D - Services
ToPa 3D - ServicesToPa 3D - Services
ToPa 3D - Services
ToPa 3D
 

What's hot (17)

JavaScript 3D House
JavaScript 3D HouseJavaScript 3D House
JavaScript 3D House
 
Web Mapping with Drupal
Web Mapping with DrupalWeb Mapping with Drupal
Web Mapping with Drupal
 
Easily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with LeafletEasily Create Maps in Drupal with Leaflet
Easily Create Maps in Drupal with Leaflet
 
Google earth power point
Google earth power pointGoogle earth power point
Google earth power point
 
Google Earth Slides
Google Earth SlidesGoogle Earth Slides
Google Earth Slides
 
Navigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devicesNavigating 3D information space with 6 degree of freedom devices
Navigating 3D information space with 6 degree of freedom devices
 
Google Earth Presentation
Google Earth PresentationGoogle Earth Presentation
Google Earth Presentation
 
Maps, News and Geography
Maps, News and GeographyMaps, News and Geography
Maps, News and Geography
 
Google Earth Social Studies
Google Earth Social StudiesGoogle Earth Social Studies
Google Earth Social Studies
 
Google Next
Google NextGoogle Next
Google Next
 
Google Earth Basics
Google Earth BasicsGoogle Earth Basics
Google Earth Basics
 
From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...From open geographical data to tangible maps: improving the accessibility of ...
From open geographical data to tangible maps: improving the accessibility of ...
 
Navigation in React Native
Navigation in React NativeNavigation in React Native
Navigation in React Native
 
SAMR
SAMRSAMR
SAMR
 
MapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3DMapInfo Discover 3D: From 2D to 3D
MapInfo Discover 3D: From 2D to 3D
 
Location awareness in MeeGo
Location awareness in MeeGoLocation awareness in MeeGo
Location awareness in MeeGo
 
ToPa 3D - Services
ToPa 3D - ServicesToPa 3D - Services
ToPa 3D - Services
 

Viewers also liked

Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
santiagohiguera
 
Un atlas en la palma de la mano
Un atlas en la palma de la manoUn atlas en la palma de la mano
Un atlas en la palma de la mano
Jose Manuel Pereira Garcia
 
Taller mapsforge
Taller mapsforgeTaller mapsforge
Taller mapsforge
santiagohiguera
 
Calculator 5
Calculator 5Calculator 5
Calculator 5
livecode
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012
Douglas Drumond
 
Calculator 1
Calculator 1Calculator 1
Calculator 1
livecode
 
OpenStreetMap en Android
OpenStreetMap en AndroidOpenStreetMap en Android
OpenStreetMap en Android
Jose Manuel Pereira Garcia
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
Sykrayo
 

Viewers also liked (8)

Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
 
Un atlas en la palma de la mano
Un atlas en la palma de la manoUn atlas en la palma de la mano
Un atlas en la palma de la mano
 
Taller mapsforge
Taller mapsforgeTaller mapsforge
Taller mapsforge
 
Calculator 5
Calculator 5Calculator 5
Calculator 5
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012
 
Calculator 1
Calculator 1Calculator 1
Calculator 1
 
OpenStreetMap en Android
OpenStreetMap en AndroidOpenStreetMap en Android
OpenStreetMap en Android
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
 

Similar to Optimize map renderer !

Maps and Apps
Maps and AppsMaps and Apps
Maps and Apps
Addy Pope
 
5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows
Safe Software
 
5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data
Safe Software
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
Prakher Hajela Saxena
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
gssg
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
Harry Wood
 
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Luiz Henrique Zambom Santana
 
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability ExtensionPreparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Safe Software
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
Safe Software
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
Sage Weil
 
Processing large point clouds
Processing large point cloudsProcessing large point clouds
Processing large point clouds
Mathieu Carette
 
Using python to analyze spatial data
Using python to analyze spatial dataUsing python to analyze spatial data
Using python to analyze spatial data
Kudos S.A.S
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
Kamal Shahi
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane WilkinsDOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
Duane Wilkins
 
Cloud accounting software uk
Cloud accounting software ukCloud accounting software uk
Cloud accounting software uk
Arcus Universe Ltd
 
Geo data analytics
Geo data analyticsGeo data analytics
Geo data analytics
Daniel Marcous
 
FieldtripGB - data capture simplified
FieldtripGB - data capture simplifiedFieldtripGB - data capture simplified
FieldtripGB - data capture simplified
Addy Pope
 
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy PopeFieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
EDINA, University of Edinburgh
 
brandonbal-afm_tech
brandonbal-afm_techbrandonbal-afm_tech
brandonbal-afm_tech
Brandon Bal
 

Similar to Optimize map renderer ! (20)

Maps and Apps
Maps and AppsMaps and Apps
Maps and Apps
 
5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows5 Ways to Improve Your LiDAR Workflows
5 Ways to Improve Your LiDAR Workflows
 
5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data5 Ways to Optimize Your LiDAR Data
5 Ways to Optimize Your LiDAR Data
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
 
OpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoDataOpenStreetMap : Open Licensed GeoData
OpenStreetMap : Open Licensed GeoData
 
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
Perspectives on the use of data in Agriculture - Luiz Santana - Leaf Agricult...
 
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability ExtensionPreparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
Preparing LiDAR for Use in ArcGIS 10.1 with the Data Interoperability Extension
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 
Processing large point clouds
Processing large point cloudsProcessing large point clouds
Processing large point clouds
 
Using python to analyze spatial data
Using python to analyze spatial dataUsing python to analyze spatial data
Using python to analyze spatial data
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane WilkinsDOC ROI Presentation 2pm NZ3 - Duane Wilkins
DOC ROI Presentation 2pm NZ3 - Duane Wilkins
 
Cloud accounting software uk
Cloud accounting software ukCloud accounting software uk
Cloud accounting software uk
 
Geo data analytics
Geo data analyticsGeo data analytics
Geo data analytics
 
FieldtripGB - data capture simplified
FieldtripGB - data capture simplifiedFieldtripGB - data capture simplified
FieldtripGB - data capture simplified
 
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy PopeFieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
Fieldtrip GB: a bespoke data capture app to support field trips - Addy Pope
 
brandonbal-afm_tech
brandonbal-afm_techbrandonbal-afm_tech
brandonbal-afm_tech
 

Recently uploaded

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

Optimize map renderer !

  • 1. Proprietary and confidential Aurore Jard Mobile Lead Developer “Design for tomorrow” “Deconstruct what you know” “Simplify” “Love what you did” @AuroreJard
  • 2. April 12, 2016 Don’t lose your way optimizing maps rendering ! Talk : map optimizations ! Confidential
  • 3. Requirements Confidential ● Display ○ Data as locality ○ Zone on map ● User feature ○ Move ○ Zoom ● Access offline Talk : map optimizations !
  • 4. SDK Fight Confidential ● Map ○ https://developer.apple.com/maps/ ● Google ○ https://developers.google.com/maps/documentation/ios-sdk/ Talk : map optimizations ! Google Map VS Apple Maps
  • 5. SDK Fight Confidential ● Official documentation ○ Maps ○ Google iOS SDK ● Application also available on android : same experience on both ● Map more precise ● More possibilities Talk : map optimizations !
  • 6. First : easy steps Confidential ● Get Data ● Display data Talk : map optimizations !
  • 7. What about really a lot of data ? ConfidentialTalk : map optimizations !
  • 8. First impressions Confidential ● UI/UX remarks ○ Users are humans ! ■ Adapt data according to zoom level ■ Zone, details : only on high level of zoom ■ Regroup data that eye can dissociate ● Performances ○ Avoid treating data you don’t see... Talk : map optimizations !
  • 9. First : clustering ConfidentialTalk : map optimizations !
  • 10. First : clustering Confidential ● Regroup close data ○ easier user reading ○ Indication on number of location in one group ● Clustering possibilities : ○ Grid based clustering ○ Distance based clustering Talk : map optimizations !
  • 11. Easy optimizations : Confidential ● Grid based clustering Talk : map optimizations !
  • 12. Easy optimizations : Confidential ● Distance-based Clustering Talk : map optimizations !
  • 13. Second : don’t treat invisible data Confidential ● Limitation : ○ Zoom level Talk : map optimizations !
  • 14. Third : More optimization on sorting data Confidential ● Why does it take so long ? ● Iterate over each location : 0(n) ● Every move from the camera (move, zoom) need to iterate again Talk : map optimizations ! for location in locations { if visibleBounds.containsCoordinate(location.position) { // item should be display } else { // ignore this location }
  • 15. Third : More optimization on sorting data Confidential ● Reduce complexity by using QuadTree object & algorithms ! ● Objective : subdivision of 2D space ● QuadTree = Tree with 4 leafs Talk : map optimizations !
  • 16. Third : More optimization on sorting data Confidential ● Step 1 : ○ Build the tree from your initial data ○ Keep iteration on all locations on that process ■ o(n) but only once Talk : map optimizations !
  • 17. Third : More optimization on sorting data Confidential ● Step 2 : ○ Search for locations in a specific area ■ Everytime you move / zoom Talk : map optimizations !
  • 18. Third : More optimization on sorting data Confidential ● Why is it faster ? ○ For loop only done once at initialisation ○ Search then (user interactions) ■ O(h) (h = max depth of node in the tree) Talk : map optimizations ! h=0 h=1 h=2 h=3
  • 19. Links / Resources Confidential ● Code : ○ Open Source library for clustering with Google Map iOS SDK ○ Display Large Amount of Data on iOS Map ● MapKit Apple Sample ○ Apple Sample clustering ● Other ○ QuadTree Interactive Explanations Talk : map optimizations !
  • 20. Have fun with maps ;) Thanks ! ConfidentialTalk : map optimizations !
  • 21. Proprietary and confidential @NurunMTL CURIOUS TO KNOW MORE Follow us Nurun.com/NurunMontreal

Editor's Notes

  1. 16,30
  2. 16,30