We are the music makers andwe 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 OShaughnessy 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!
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’sGeocoder 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)
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 Viewservice 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
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
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
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 email@example.com