SlideShare une entreprise Scribd logo
1  sur  14
Barcamp Antwerp 21/03/09

                Michaël Uyttersprot
twitter.com/eMich // www.emich.be
More and more GPS enabled phones

        Started all with the Nokia N95
    ◦
        iPhone 3G
    ◦
        Nokia N79, N85, N97,…
    ◦
        HTC G1
    ◦

    … and lots of others to come!
It becomes a lot easier to program mobile

    apps
    External devices can be approached easily

iPhone SDK

    Python ME

    CLDC a.k.a. J2ME

    Native C++ because we all « love » that

    …

I love GPS-enabled services

    I love Java

    Google Maps does everything I once had in

    mind
    … actually not really

Great service, but limited to my friends

    I want to show my location on my blog

    But there is no API yet!

No wordpress, written my own blog software

    No third party moblogging

    ◦ Does pictures
    ◦ Does geotagging based on picture metadata
    ◦ Does video as well
    But still no eMich latitude?! I suck…

Different building blocks

    ◦ GPS enabled phone: Nokia N79
    ◦ J2ME using the JSR179
      specification also known as
      « Location »
    ◦ Web server that records GPS
      coordinates
    ◦ Google Maps, of course, because
      eMich maps would be an
      impossible thing (except Open
      maps or something blablabla)
Location API

    Obtain GPS coordinates from a GPS-enabled

    phone
    Very easy: just a few lines of code!

Criteria cr = new Criteria();
cr.setHorizontalAccuracy(500);
LocationProvider locationProvider =
  LocationProvider.getInstance(cr);
Location location=locationProvider.getLocation(60);
Coordinates c = location.getQualifiedCoordinates();
c.getLatitude()
c.getLongitude()
c.getAltitude()
A thread loops every 10 seconds

    Reads coordinates from Location API

    Sends them to a web server: test.emich.be

    Keeps in DB:

        Latitude
    ◦
        Longitude
    ◦
        UserId
    ◦
        Timestamp
    ◦
Reads last entry

    Displays a map with a marker

Push content based on location

    ◦ Wikipedia articles
    ◦ Commercial messages…
    Doing fun stuff

    ◦ How much time do I spend with my girlfriend?
    ◦ Mash it up for twitter to mash it up with fights
?

Contenu connexe

Similaire à Barcamp Antwerpen - How To Make Your Own Google Latitude

Where's the Play in Programming?
Where's the Play in Programming?Where's the Play in Programming?
Where's the Play in Programming?Aaron VonderHaar
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPTMatthew Chang
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009Abhishek Mishra
 
Desktop Applications with NetBeans
Desktop Applications with NetBeansDesktop Applications with NetBeans
Desktop Applications with NetBeansHuu Bang Le Phan
 
Towards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time NotationTowards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time Notationchrismcclelland
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developerslisab517
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
Trivipedia
TrivipediaTrivipedia
Trivipediaamirtaub
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile ContextAndy Davies
 
Where 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the WebWhere 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the WebRyan Sarver
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudChris Schalk
 
Weiss in Singapore on Mobile 2.0 & UX Trends 2009
Weiss in Singapore on Mobile 2.0 & UX Trends 2009Weiss in Singapore on Mobile 2.0 & UX Trends 2009
Weiss in Singapore on Mobile 2.0 & UX Trends 2009Scott Weiss
 
Beyond the Standards
Beyond the StandardsBeyond the Standards
Beyond the StandardsPaul Bakaus
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcampahkjsdcsadc
 

Similaire à Barcamp Antwerpen - How To Make Your Own Google Latitude (20)

Where's the Play in Programming?
Where's the Play in Programming?Where's the Play in Programming?
Where's the Play in Programming?
 
Where 2.0
Where 2.0Where 2.0
Where 2.0
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009
 
Desktop Applications with NetBeans
Desktop Applications with NetBeansDesktop Applications with NetBeans
Desktop Applications with NetBeans
 
Introducing Sudz-C
Introducing Sudz-CIntroducing Sudz-C
Introducing Sudz-C
 
Towards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time NotationTowards a Framework for the Composition & Performance of Real-Time Notation
Towards a Framework for the Composition & Performance of Real-Time Notation
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developers
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Trivipedia
TrivipediaTrivipedia
Trivipedia
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile Context
 
iPhone & Java Web Services
iPhone & Java Web ServicesiPhone & Java Web Services
iPhone & Java Web Services
 
Where 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the WebWhere 2.0 2009 - Location on the Web
Where 2.0 2009 - Location on the Web
 
Html5 (games)
Html5 (games)Html5 (games)
Html5 (games)
 
Android
AndroidAndroid
Android
 
Pc54
Pc54Pc54
Pc54
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
 
Weiss in Singapore on Mobile 2.0 & UX Trends 2009
Weiss in Singapore on Mobile 2.0 & UX Trends 2009Weiss in Singapore on Mobile 2.0 & UX Trends 2009
Weiss in Singapore on Mobile 2.0 & UX Trends 2009
 
Beyond the Standards
Beyond the StandardsBeyond the Standards
Beyond the Standards
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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 Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
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...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Barcamp Antwerpen - How To Make Your Own Google Latitude

  • 1. Barcamp Antwerp 21/03/09 Michaël Uyttersprot twitter.com/eMich // www.emich.be
  • 2. More and more GPS enabled phones  Started all with the Nokia N95 ◦ iPhone 3G ◦ Nokia N79, N85, N97,… ◦ HTC G1 ◦ … and lots of others to come!
  • 3. It becomes a lot easier to program mobile  apps External devices can be approached easily 
  • 4. iPhone SDK  Python ME  CLDC a.k.a. J2ME  Native C++ because we all « love » that  … 
  • 5. I love GPS-enabled services  I love Java  Google Maps does everything I once had in  mind … actually not really 
  • 6. Great service, but limited to my friends  I want to show my location on my blog  But there is no API yet! 
  • 7. No wordpress, written my own blog software  No third party moblogging  ◦ Does pictures ◦ Does geotagging based on picture metadata ◦ Does video as well But still no eMich latitude?! I suck… 
  • 8. Different building blocks  ◦ GPS enabled phone: Nokia N79 ◦ J2ME using the JSR179 specification also known as « Location » ◦ Web server that records GPS coordinates ◦ Google Maps, of course, because eMich maps would be an impossible thing (except Open maps or something blablabla)
  • 9. Location API  Obtain GPS coordinates from a GPS-enabled  phone Very easy: just a few lines of code! 
  • 10. Criteria cr = new Criteria(); cr.setHorizontalAccuracy(500); LocationProvider locationProvider = LocationProvider.getInstance(cr); Location location=locationProvider.getLocation(60); Coordinates c = location.getQualifiedCoordinates(); c.getLatitude() c.getLongitude() c.getAltitude()
  • 11. A thread loops every 10 seconds  Reads coordinates from Location API  Sends them to a web server: test.emich.be  Keeps in DB:  Latitude ◦ Longitude ◦ UserId ◦ Timestamp ◦
  • 12. Reads last entry  Displays a map with a marker 
  • 13. Push content based on location  ◦ Wikipedia articles ◦ Commercial messages… Doing fun stuff  ◦ How much time do I spend with my girlfriend? ◦ Mash it up for twitter to mash it up with fights
  • 14. ?