SlideShare a Scribd company logo
1 of 28
Download to read offline
We are the music makers and
we are the dreamers of dreams.

   Brent Porter,
   TCEQ
Who am I?

  Programmer and GIS Administrator for
   ArcGIS Server and ArcSDE, TCEQ
  Austin Community College Adjunct
   Professor
  Emergency Responder
        Examples
          - Hurricanes
          - Deepwater Horizon Oil Spill
A little bit more about me

  Yes, I am an ESRI fanboy and
   unrepentant at that!
  …but I am also a pragmatist and I care A
   LOT more for solutions that work best in
   a sustainable way with the least effort
   possible.
  What? Yes I want to have my cake and
   eat it too
Why That Title?

  Poem by Arthur O'Shaughnessy
  Link – the phrase in the context of my
   day to day work…
  This exemplifies my development
   philosophy
      Dream Big!
      Interesting

      Fun for me
Why continued…

  Also, there is always someone wanting
   to tell me that there are NO
   snozzberries!
  As the experts in our field, it is our job to
   teach those snozzberry doubters about
   what we are doing and why
  And who doesn’t want to make music
   and dream big dreams?!?!
Today’s topic

  Talk about how and why I made the dev
   choices I made with a new experimental
   template.
  Hopefully you’ll be inspired by what I am
   innovating with the UI and some of the
   other functionality.
  Deny the naysayers the satisfaction of
   being right!
Why Javascript?




    By Steve Paine
Javascript

  They are starting them young now!
  Really though
      Mobile Development – lots of great mobile
       javascript library support out there
      HTML 5 – browser vendors are actually in
       agreement. All are working towards a set of
       standards because of the mobile revolution.
      Works with Smartphones, Desktops,
       Laptops, Tablets – all from a common
       codebase!
What Javascript?

  Javascript API for ArcGIS Server/Dojo
  JQuery/JQuery UI & some plugins
  Google Maps API Geocoding Services
  Google Maps API Street View
  NodeJS
  Custom Javascript
JQuery/JQuery UI

  JQuery is one of the big open source
   javascript libraries out that is getting
   used by lots of big companies to do great
   user interactions
  Easy learning curve for basic functions
   and well documented
JQuery/JQuery UI

  JQuery UI adds widgets and other
   skinning effects
  Easy to choose one of the many themes
   for the look and feel of your app
  Or you can create your own with the
   ThemeRoller!
Google Maps API Geocoder

  Wait a second…ESRI Fanboy, confusion
   what’s going on?
  I’ve spent too much time wrestling with
   the ESRI geocoding service
        I’ve even given talk here at the Conf in ’08
         on it
  ESRI works great for basic ‘vanilla’
   geocoding (simple addresses, cities)
  Other than this…. not so much!
Contrast this with Google’s
Geocoder
  Very forgiving of user input…
  Great for place name searches for points
   of interest and intersections
  Research into this topic has yielding
   some interesting facts
      They use a spatial filter to prioritize the
       return results
      Multiple methods for searching for some of
       the values (AND, @, | (pipe)
More on locators

    Experiments on ESRI geocoder
      Lowering the Candidate Score Filter
       (defaults to 80 in Javascript API)
      Removing the filter, adding a spatial filter
       and then doing the score filter
      Adding in additional Place Name/Points of
       Interest queries beyond the default through
       pattern detection
Even MORE on geocoders

    Obviously there are ways of doing more
     sophisticated things with the esri geocoding –
     but lots of them have to do with having add on
     datasets or features and additional
     configurations but I ask you, Why?
    The google maps api geocoder just
     works…given a little bit of configuration AND it
     is easy to integrate with arcgis server
Google Maps API Street View
service
    Some groups of users really like Street
     View
      Provides the ‘on the ground’ photo that is
       necessary for some types of applications. It
       really ties the map application to any
       physical extension or coordination being
       done
      Works great in conjunction with the Google
       Maps Geocoder
Node.js

  Node.js – server side javascript. In
   effect, javascript that runs through a run
   time compiler on the server and only
   emits results to any clients accessing it.
  Based on the concept of event driven
   programming
  Yeah… but WHY?
Why?

    Is Node.js that fabled silver bullet of
     programming?
        No
        But it can be very useful for a certain problem
         space in application development
             According to a mashable.com article back in March of this
              year – [Node.js] is great for event-driven low latency,
              concurrent apps
             So… things like a massive online scrabble application!
             Or, a chat server for clients
Facilitating Collaboration in
geospatial applications
     There is a real need for a certain kind of
      application to enable real-time
      collaboration in conjunction with a map
       Emergency Response
       Law Enforcement
       Outreach with particular users

     Recognizing the need I set out to
      develop a solution we could use with
      Javascript
The solution

  Node.js has a simple chat app/client you
   can make with only a minimal effort
  Link to the chat server through an iframe
   in your javascript app and you have what
   we see in the demo
And on that note…

    What if users wanted the ability to share
     a common operation picture?
      They already want this and there are
       umpteen thousand viewers that can be used
       for THAT!
      What about being able to share a common
       map view/extent and layer list in near real
       time (with a 3-5 second delay)?!?!
Geocollaboration Manager

  We are experimenting with building a
   custom app that allows a single user(pc)
   at a time, to act as Cartographic
   facilitator. AND some number of clients
   that would see the results from the
   cartographic facilitator.
  Let’s look at a diagram of the
   architecture
Flow
Geocollaboration Session Data

 MAPVIEW_ID MAPVIEW_URL BASEMAP_ID MAPSCALE MAPPRJ FK_SESSION_ID FK_GROUP_ID STATUS     MAPWIDTH   MAPHEIGHT         LAYERS_ACTIVE

        347 url to rest service   23   24000    4269           1           1 Inactive        400               300       1,2,6,7
        348 url to rest service    4   24000    4269           1           1 Active          800               600         2,3,4,5,8
Take aways
    This functionality provides a level of ‘commonality’ for
     purposes of collaborating without doing desktop
     sharing sessions that isn’t out there yet.
    It is also possible to extend this so that we take those
     parameters stored for any particular session and
     create a record of the time spent in collaboration – the
     images are stored with the session or the url to the
     session. A ‘map book’ could be created and sent to
     the attendees.
    Future research – trying to use some of the
     advantages of Node.js as a potential avenue for
     reducing the computational cost of the collaboration
     manager component.
So…
    Remember that the technology option you choose is a
     consideration for successful application development
    But, as technology matures and APIs and languages
     get better about working across differences, it isn’t the
     biggest consideration.
    Most important to be successful is to have the right
     attitude…
 keep asking questions!
 Dream big
 Make music
 Take chances
 Fight the snozzberry haters
Questions?

    My email at TCEQ
        bporter@tceq.texas.gov

More Related Content

Similar to We are the music makers and we are the dreamers of dreams

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening OverviewJody Garnett
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampChris Love
 
What is Node.js_ Where, When & How To Use It.pdf
What is Node.js_ Where, When & How To Use It.pdfWhat is Node.js_ Where, When & How To Use It.pdf
What is Node.js_ Where, When & How To Use It.pdfSmith Daniel
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloudgueste4978b94
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptAndrew Lovett-Barron
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image ProcessingIJERA Editor
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image ProcessingIJERA Editor
 
Web crawler with email extractor and image extractor
Web crawler with email extractor and image extractorWeb crawler with email extractor and image extractor
Web crawler with email extractor and image extractorAbhinav Gupta
 
9 reasons why programmers should learn react native
9 reasons why programmers should learn react native9 reasons why programmers should learn react native
9 reasons why programmers should learn react nativeReact Sharing
 
Online mapping with_the_google_maps_api
Online mapping with_the_google_maps_apiOnline mapping with_the_google_maps_api
Online mapping with_the_google_maps_apiCelny Quispe
 
Benefits of Using NodeJS for Real-Time Chat App Development
Benefits of Using NodeJS for Real-Time Chat App DevelopmentBenefits of Using NodeJS for Real-Time Chat App Development
Benefits of Using NodeJS for Real-Time Chat App DevelopmentXongoLab Technologies LLP
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOpsSynerzip
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxwrite31
 
New Horizons for Workbench: Viewing and Editing in the Browser
New Horizons for Workbench: Viewing and Editing in the BrowserNew Horizons for Workbench: Viewing and Editing in the Browser
New Horizons for Workbench: Viewing and Editing in the BrowserSafe Software
 
Social data visualization
Social data visualizationSocial data visualization
Social data visualizationCristina Serban
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022intouchgroup2
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GISJoe Larson
 
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfHow Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfKaty Slemon
 

Similar to We are the music makers and we are the dreamers of dreams (20)

OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
 
What is Node.js_ Where, When & How To Use It.pdf
What is Node.js_ Where, When & How To Use It.pdfWhat is Node.js_ Where, When & How To Use It.pdf
What is Node.js_ Where, When & How To Use It.pdf
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image Processing
 
Ary Mouse for Image Processing
Ary Mouse for Image ProcessingAry Mouse for Image Processing
Ary Mouse for Image Processing
 
Web crawler with email extractor and image extractor
Web crawler with email extractor and image extractorWeb crawler with email extractor and image extractor
Web crawler with email extractor and image extractor
 
9 reasons why programmers should learn react native
9 reasons why programmers should learn react native9 reasons why programmers should learn react native
9 reasons why programmers should learn react native
 
Online mapping with_the_google_maps_api
Online mapping with_the_google_maps_apiOnline mapping with_the_google_maps_api
Online mapping with_the_google_maps_api
 
Benefits of Using NodeJS for Real-Time Chat App Development
Benefits of Using NodeJS for Real-Time Chat App DevelopmentBenefits of Using NodeJS for Real-Time Chat App Development
Benefits of Using NodeJS for Real-Time Chat App Development
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOps
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
 
New Horizons for Workbench: Viewing and Editing in the Browser
New Horizons for Workbench: Viewing and Editing in the BrowserNew Horizons for Workbench: Viewing and Editing in the Browser
New Horizons for Workbench: Viewing and Editing in the Browser
 
Social data visualization
Social data visualizationSocial data visualization
Social data visualization
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
 
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfHow Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
 
Final paper
Final paperFinal paper
Final paper
 

More from Texas Natural Resources Information System

From creekology to rocket science the evolution of remote sensing gis in oilg...
From creekology to rocket science the evolution of remote sensing gis in oilg...From creekology to rocket science the evolution of remote sensing gis in oilg...
From creekology to rocket science the evolution of remote sensing gis in oilg...Texas Natural Resources Information System
 

More from Texas Natural Resources Information System (20)

Txgio presentation rgsm_gps_pearson_062012
Txgio presentation rgsm_gps_pearson_062012Txgio presentation rgsm_gps_pearson_062012
Txgio presentation rgsm_gps_pearson_062012
 
Usslsc cgsic regional austin 061312
Usslsc cgsic regional austin 061312Usslsc cgsic regional austin 061312
Usslsc cgsic regional austin 061312
 
Using gps technology at the texas general land
Using gps technology at the texas general landUsing gps technology at the texas general land
Using gps technology at the texas general land
 
Ussls austin civil utility - klein - 061312 - final
Ussls austin   civil utility - klein - 061312 - finalUssls austin   civil utility - klein - 061312 - final
Ussls austin civil utility - klein - 061312 - final
 
Tx dot gps applications fuegner
Tx dot gps applications   fuegnerTx dot gps applications   fuegner
Tx dot gps applications fuegner
 
Tnris 2012
Tnris 2012Tnris 2012
Tnris 2012
 
Nmc ussls charter 2012
Nmc ussls charter 2012Nmc ussls charter 2012
Nmc ussls charter 2012
 
Nationwide dgps (ndgps) lt mendoza
Nationwide dgps (ndgps)   lt mendozaNationwide dgps (ndgps)   lt mendoza
Nationwide dgps (ndgps) lt mendoza
 
Lyle tamucc 2
Lyle tamucc 2Lyle tamucc 2
Lyle tamucc 2
 
Dirks cgsic brief 2012
Dirks cgsic brief 2012Dirks cgsic brief 2012
Dirks cgsic brief 2012
 
Connected vehicle highway network applications
Connected vehicle highway network applicationsConnected vehicle highway network applications
Connected vehicle highway network applications
 
Cgsic presentation humphreys
Cgsic presentation humphreysCgsic presentation humphreys
Cgsic presentation humphreys
 
Cgsic navcen
Cgsic navcenCgsic navcen
Cgsic navcen
 
Gnss international policy regional cgsic (austin - jun2012)
Gnss international policy   regional cgsic (austin - jun2012)Gnss international policy   regional cgsic (austin - jun2012)
Gnss international policy regional cgsic (austin - jun2012)
 
From creekology to rocket science the evolution of remote sensing gis in oilg...
From creekology to rocket science the evolution of remote sensing gis in oilg...From creekology to rocket science the evolution of remote sensing gis in oilg...
From creekology to rocket science the evolution of remote sensing gis in oilg...
 
Early warning forecast of an oil spill bp deepwater horizon in the gulf
Early warning forecast of an oil spill bp deepwater horizon in the gulfEarly warning forecast of an oil spill bp deepwater horizon in the gulf
Early warning forecast of an oil spill bp deepwater horizon in the gulf
 
Volunteered geographic information (vgi) for the national map
Volunteered geographic information (vgi) for the national mapVolunteered geographic information (vgi) for the national map
Volunteered geographic information (vgi) for the national map
 
Uav image recognition technology and applications
Uav image recognition technology and applicationsUav image recognition technology and applications
Uav image recognition technology and applications
 
Texas high water marks crowd sourcing history, culture, and geography
Texas high water marks   crowd sourcing history, culture, and geographyTexas high water marks   crowd sourcing history, culture, and geography
Texas high water marks crowd sourcing history, culture, and geography
 
Texas coastal atlas
Texas coastal atlasTexas coastal atlas
Texas coastal atlas
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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 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 2024Rafal Los
 
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...Miguel Araújo
 
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 educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
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 Scriptwesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 Takeoffsammart93
 
[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.pdfhans926745
 
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 2024The Digital Insurer
 
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
 
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...Igalia
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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 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...
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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?
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
[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
 
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
 
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
 
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...
 

We are the music makers and we are the dreamers of dreams

  • 1. We are the music makers and we are the dreamers of dreams. Brent Porter, TCEQ
  • 2. Who am I?  Programmer and GIS Administrator for ArcGIS Server and ArcSDE, TCEQ  Austin Community College Adjunct Professor  Emergency Responder  Examples  - Hurricanes  - Deepwater Horizon Oil Spill
  • 3. A little bit more about me  Yes, I am an ESRI fanboy and unrepentant at that!  …but I am also a pragmatist and I care A LOT more for solutions that work best in a sustainable way with the least effort possible.  What? Yes I want to have my cake and eat it too
  • 4. Why That Title?  Poem by Arthur O'Shaughnessy  Link – the phrase in the context of my day to day work…  This exemplifies my development philosophy  Dream Big!  Interesting  Fun for me
  • 5. Why continued…  Also, there is always someone wanting to tell me that there are NO snozzberries!  As the experts in our field, it is our job to teach those snozzberry doubters about what we are doing and why  And who doesn’t want to make music and dream big dreams?!?!
  • 6. Today’s topic  Talk about how and why I made the dev choices I made with a new experimental template.  Hopefully you’ll be inspired by what I am innovating with the UI and some of the other functionality.  Deny the naysayers the satisfaction of being right!
  • 7. Why Javascript?  By Steve Paine
  • 8. Javascript  They are starting them young now!  Really though  Mobile Development – lots of great mobile javascript library support out there  HTML 5 – browser vendors are actually in agreement. All are working towards a set of standards because of the mobile revolution.  Works with Smartphones, Desktops, Laptops, Tablets – all from a common codebase!
  • 9. What Javascript?  Javascript API for ArcGIS Server/Dojo  JQuery/JQuery UI & some plugins  Google Maps API Geocoding Services  Google Maps API Street View  NodeJS  Custom Javascript
  • 10. JQuery/JQuery UI  JQuery is one of the big open source javascript libraries out that is getting used by lots of big companies to do great user interactions  Easy learning curve for basic functions and well documented
  • 11. JQuery/JQuery UI  JQuery UI adds widgets and other skinning effects  Easy to choose one of the many themes for the look and feel of your app  Or you can create your own with the ThemeRoller!
  • 12. Google Maps API Geocoder  Wait a second…ESRI Fanboy, confusion what’s going on?  I’ve spent too much time wrestling with the ESRI geocoding service  I’ve even given talk here at the Conf in ’08 on it  ESRI works great for basic ‘vanilla’ geocoding (simple addresses, cities)  Other than this…. not so much!
  • 13. Contrast this with Google’s Geocoder  Very forgiving of user input…  Great for place name searches for points of interest and intersections  Research into this topic has yielding some interesting facts  They use a spatial filter to prioritize the return results  Multiple methods for searching for some of the values (AND, @, | (pipe)
  • 14. More on locators  Experiments on ESRI geocoder  Lowering the Candidate Score Filter (defaults to 80 in Javascript API)  Removing the filter, adding a spatial filter and then doing the score filter  Adding in additional Place Name/Points of Interest queries beyond the default through pattern detection
  • 15. Even MORE on geocoders  Obviously there are ways of doing more sophisticated things with the esri geocoding – but lots of them have to do with having add on datasets or features and additional configurations but I ask you, Why?  The google maps api geocoder just works…given a little bit of configuration AND it is easy to integrate with arcgis server
  • 16. Google Maps API Street View service  Some groups of users really like Street View  Provides the ‘on the ground’ photo that is necessary for some types of applications. It really ties the map application to any physical extension or coordination being done  Works great in conjunction with the Google Maps Geocoder
  • 17. Node.js  Node.js – server side javascript. In effect, javascript that runs through a run time compiler on the server and only emits results to any clients accessing it.  Based on the concept of event driven programming  Yeah… but WHY?
  • 18. Why?  Is Node.js that fabled silver bullet of programming?  No  But it can be very useful for a certain problem space in application development  According to a mashable.com article back in March of this year – [Node.js] is great for event-driven low latency, concurrent apps  So… things like a massive online scrabble application!  Or, a chat server for clients
  • 19. Facilitating Collaboration in geospatial applications  There is a real need for a certain kind of application to enable real-time collaboration in conjunction with a map  Emergency Response  Law Enforcement  Outreach with particular users  Recognizing the need I set out to develop a solution we could use with Javascript
  • 20. The solution  Node.js has a simple chat app/client you can make with only a minimal effort  Link to the chat server through an iframe in your javascript app and you have what we see in the demo
  • 21. And on that note…  What if users wanted the ability to share a common operation picture?  They already want this and there are umpteen thousand viewers that can be used for THAT!  What about being able to share a common map view/extent and layer list in near real time (with a 3-5 second delay)?!?!
  • 22. Geocollaboration Manager  We are experimenting with building a custom app that allows a single user(pc) at a time, to act as Cartographic facilitator. AND some number of clients that would see the results from the cartographic facilitator.  Let’s look at a diagram of the architecture
  • 23. Flow
  • 24. Geocollaboration Session Data MAPVIEW_ID MAPVIEW_URL BASEMAP_ID MAPSCALE MAPPRJ FK_SESSION_ID FK_GROUP_ID STATUS MAPWIDTH MAPHEIGHT LAYERS_ACTIVE 347 url to rest service 23 24000 4269 1 1 Inactive 400 300 1,2,6,7 348 url to rest service 4 24000 4269 1 1 Active 800 600 2,3,4,5,8
  • 25. Take aways  This functionality provides a level of ‘commonality’ for purposes of collaborating without doing desktop sharing sessions that isn’t out there yet.  It is also possible to extend this so that we take those parameters stored for any particular session and create a record of the time spent in collaboration – the images are stored with the session or the url to the session. A ‘map book’ could be created and sent to the attendees.  Future research – trying to use some of the advantages of Node.js as a potential avenue for reducing the computational cost of the collaboration manager component.
  • 26. So…  Remember that the technology option you choose is a consideration for successful application development  But, as technology matures and APIs and languages get better about working across differences, it isn’t the biggest consideration.  Most important to be successful is to have the right attitude…
  • 27.  keep asking questions!  Dream big  Make music  Take chances  Fight the snozzberry haters
  • 28. Questions?  My email at TCEQ  bporter@tceq.texas.gov