Esri Mid-Atlantic User Group Conference Recap: Part 1

This year’s Esri Mid-Atlantic User Group (MUG) Conference was located just north of Baltimore City in Hunt Valley, Maryland.  Having grown up in Northern Maryland and attended UMBC, this conference was a little bit like heading home for me.  I ran into a number of former classmates and colleagues from across the state of Maryland and really enjoyed “geeking out” about the innovative work we have been doing over the years.

If I could choose one buzz word to describe the future of GIS it would be Integration. With Esri’s upcoming 10.1 release and increasing push into cloud infrastructures, it is becoming easier to push data developed in ArcGIS Desktop to map services hosted by ArcGIS online, that feed applications hosted on a webserver to clients anywhere in the world.  It is a different concept than what I am used to.  I think Clint Brown said it best when he proclaimed ArcGIS Online the Flickr of GIS.

In addition to integrating a number of their software products, it sounds like Esri has invested a lot of time simplifying the everyday maintenance of their ArcGIS Server and ArcSDE products.  ArcGIS Server is getting a total make over, dropping support for DCOM connections and trimming down the number of installed users from three to one.  Also, I really like the incorporation of more Database Administration tools into ArcCatalog.  Hopefully gone are the days of cracking open SQL management studio to manage users.

I was left really inspired by this year’s MUG.  There were a bunch of presentations that showed the increasing role that GIS plays in disseminating information to typically non-GIS users.  The Flex Site the Baltimore City Fire Department set up for emergency responders working the Grand Prix showcased how GIS can be used to help dispatchers make decisions on the fly in a rapidly changing environment.   I also thought the model the National Capital Region Geospatial Data Exchange utilized to distribute data between local governments, private industry and non-profits was really innovative.  Silos of data are nice and all, but real information comes when multiple data is shared throughout the community.

Advertisements

ESRI Dev Meet Up DC (AKA: Geo-Geeks Show & Tell in the Nation’s Capital)

As a remote employee I often found it difficult to get the “Geek” out of my system.  This was especially difficult after I had finished a long project.  The exhilaration after finally fixing that one bug that was sending me up a wall was quickly muted with the unavailability of a coworker to high five.  My cat was a solid stand in, but, let’s face it, even he even he started to think it was getting weird after a while.  This is what led me to start looking for Esri and GIS user groups in the greater DC area.

Luckily my co-worker Michael hooked me up with the ESRI’s North Eastern Developer meet up group on Meetup.Com.   This group is sponsored by Esri to increase camaraderie in the developer community.  They invite people from different backgrounds- web, desktop, federal, private, .net, or java to come hangout, have a few drinks, network, and talk shop.  They have Dev Meet Ups a couple times a year in most major metropolitan areas across the country. You can find local Dev Meet Ups in your area on their calendar.

The lightening talks are by far the coolest aspect of the Dev Meet Ups.  Presenters from different sides of the Esri globe are given 10 minutes to showoff something they have worked on, demo new technologies or talk about the industry as a whole.  Be it a talk on the perils of locating data on the internet, to a demo of new software or an analysis of the five myths facing GIS in the year 2011, the talks crossed the GIS spectrum from highly technical to thought provoking.  Fortunately my topic was also selected and I was able to talk a little bit about utilizing python across Esri ecosystem from Desktop to Server.  They should be posting the slides / talks soon through ESRI’s Developer Blog.

I enjoyed the Dev Meet Up quite a bit.  I was able to meet some new people, grab some free food and drinks, and most importantly let off a bit of Geo-Geek steam.  I would highly recommend checking out their calendar and hitting up the next Dev Meet Up when it comes to your town.

120 Hours in the Python’s Den: PyCon 2011

Starting in Version 10, Python is the de facto geoprocessing scripting language for the ESRI suite of software.  I primarily use python to automate the data processing work I perform.  I also use Python to create geoprocessing scripts for the ArcServer environment.  This year I attended PyCon, the Python languages community convention, to further develop my Python skills and see how others are using this powerful language.

I started my excursion to Atlanta for PyCon with three questions in mind:

1)      How can I utilize the multiprocessing capabilities of the python language?  What obstacles have others faced in implementing this functionality with ESRI’s ArcPy package?

2)      I would like to create intuitive input dialogs for my geoprocessing tasks.  How can I leverage other GUI frameworks (Qt, TK, wxPython) to create input dialogs with more built in functionality?

3)      How can we utilize the cloud to reduce the time for complex and time intensive geoprocessing tasks?

I took four classes to start the conference: Python 101, Google App Engine, Creating GUI Applications in Python using Qt I, and Deploying web applications to the cloud.  I learned a few cool tidbits from these four classes.

  • The print statement will be replaced with a print function in Python 3.  Syntactically this change makes a lot of sense.  In case you are wondering, you can actually backport this functionality into the Python 2.6 that comes with Version 10.  Quick code sample:

<code>

# Old

>>> Print “%s is a very fun language for %s” % (‘python’, ‘geoprocessing’)

# New

>>> Print (“{0} is a very fun language for {1}”.format(‘python’,’geoprocessing’))

>>> Print (“{langauge} is a very fun language for {task}”.format(language = ‘python’, task = ’geoprocessing’))

</code>

  • Google App Engine is cool, but I do not have a reason to use it yet.  I feel in the future, using this service, I will be able to quickly stand up a site without having to worry about infrastructure.
  • Qt can run on almost everything and every operating system.  This is a huge plus, however I am going to hold judgment until the dust settles with Nokia.
  • In a little under three hours I was able to setup a distributed, load balanced django application on the Amazon Cloud pulling data from their Relational Database Server and distributed using their CloudFront CDN.  I definitely see this as a resource I will invest more time in learning.

It is amazing to see what people are doing with python, primarily in the distributed computing and web application end of the python development spectrum.  My new goal for the year is to finally get around to learning to develop with Django.  It seems every other presentation was a huge django proponent.  There were also a few interesting talks on the forecast of Python language development and IDE’s for writing your code. Fortunately, for you the Python Foundation videotaped most of the presentations this year, http://pycon.blip.tv/posts?view=archive.

Alright and onto a few takeaway lessons I learned from my experience at PyCon.

  • ESRI is investing tons of resources into building Python as a quick, efficient geoprocessing language for their tools.  PyCon ran concurrently with ESRI’s developer summit; however, they were still able to send out 7+ representatives to PyCon.  I spent a couple nights with the ESRI folks, and to be honest I am incredibly pumped about version 10.1.  Tons of cool new features are coming down the pike.
  • Microsoft is gradually pushing into the Python/Open Source community.  I am in the process of downloading Microsoft’s Python extension for Visual Studio.  The latest and greatest release promises to debug both cPython (what ESRI uses) and IronPython (a .Net variety).  Currently I am using WinPython, the default with ArcGIS, but I see the Visual Studio version quickly superseding its use.
  • The python community could learn a lot from the GIS side of the house.  Almost every presentation involved crunching data, processing it in some way and displaying it graphically.  I definitely see an opportunity to step in and show a more intuitive method for displaying spatial data.

Application Development for Mobile Web

As a recipient of the Spring 2010 GIS inc Research and Development award, I had the privilege to work on a solo project incorporating cutting edge technologies. During my brain storming process, I settled on probably the coolest segment of the development market at the moment: Mobile Applications.

My first goal setting out was to develop a cross-platform and location aware application for mobile devices. The mobile market is so small at the moment; I felt it would be wise to broaden the application to more than solely iPhone users or solely Android users. This was the greatest challenge.  The iPhone and Android SDKs are in very different languages and do not lend themselves to interpolarity. Read more of this post