SlideShare ist ein Scribd-Unternehmen logo
1 von 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
?

Weitere ähnliche Inhalte

Ähnlich wie Barcamp Antwerpen - How To Make Your Own Google Latitude

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
chrismcclelland
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developers
lisab517
 
Trivipedia
TrivipediaTrivipedia
Trivipedia
amirtaub
 
Android Bootcamp
Android   BootcampAndroid   Bootcamp
Android Bootcamp
ahkjsdcsadc
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
vu2urc
 

Kürzlich hochgeladen (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
 
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...
 
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
 
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
 
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
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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?
 
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...
 
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
 
[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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
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
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

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. ?