Esri Southeast User Conference Recap

By: Kevin Stewart, Sonny Beech, Rachel Ankersen

The Southeast 500 – not a race, but rather the approximate number of attendees at this year’s Esri Southeast User Conference in Jacksonville, Florida (formerly Southeast Regional User Group – SERUG).  Overall we felt like it was another positive sign that State and Local Governments are on the road to recovery from previous years of economic challenges.  While most of the attendees hailed from Florida and Georgia, there was user representation from every state in the southeast region.

ArcGIS Online continues to be a major focus for Esri

ArcGIS Online was definitely the hot topic for Esri this year.  In fact it was mentioned so many times that we may have actually overheard the front desk employees of the hotel talking about it when we checked out on Wednesday.  To start the plenary session, Mike Dyer did a demo during his opening remarks, showing how he could import a spreadsheet of conference attendees into ArcGIS Online. He followed by showing the various ways the existing ArcGIS Online applications could be used.

Esri continues to pour resources into this initiative and users appear to understand it more and more.  With ArcGIS Online and Esri’s other initiative, ArcGIS for Local Government, Esri has provided a comprehensive platform to solve the most common problems in state and local government:

·         do more with less;

·         easily deploy maps & apps;

·         become more relevant – support the business;

·         the need for quick wins;

·         suffering from paralysis (have stagnated);

·         support for the increasing demand of citizen engagement.

Our biggest take away from the show is that the Esri platform and vision are all there for GIS shops to maximize their Esri software investment and support the business of Government.  As a service provider in this industry, this is very exciting.  In a very short period of time we can help a local government go from absolutely zero location technology to web and mobile applications.  It wasn’t very long ago a jump like that would have taken years let alone months.

In Conclusion

We felt like users are really getting it and conversations we had in the hallway and breakout sessions were evidence.  Esri’s messaging of targeted, focused applications is starting to resonate with users. There were conversations about users creating web maps for specific projects or to support a specific business function.  In fact we had one conversation with a user and their journey from custom applications that had handcuffed them in the past to becoming a pure out of the box shop.  This is a result to the work that Esri has done by creating targeted focused applications and making them available to the user community.  Overall, the break out sessions, plenary, and socials were intimate and a fun atmosphere of learning.

GISi team pictured left to right: Kevin Stewart, Rachel Ankersen, Sonny Beech

GISi team pictured left to right: Kevin Stewart, Rachel Ankersen, Sonny Beech


Location, Location, Location…

By Joe Howell, Oil & Gas Market Manager

Some of the most common challenges I have seen in Oil and Gas companies are related to using the data that they already have.  There are a multitude of operational, efficiency, regulatory, safety, and profitability issues that can be addressed by using a spatial system.  Today I will discuss 4 opportunities for improvement in this dynamic industry.  I will spend the next 4 weeks going into more detail about each.  The 4 categories I will address over the next month are:

  • Aerial inspection of Pipeline and ROW
  • Using GIS to integrate disparate business systems
  • Securing your GIS and improving performance
  • Enabling business innovation through GIS

Pilot Patrol

Let’s face it, aerial inspection is a difficult job.  You have to concentrate on little things like wind speed and direction, altitude, fuel, and any incidental air traffic (crop dusters beware!).  Taking notes on a knee pad about encroachments and other ROW issues is an art.  The use of a simple location-centric application can significantly improve the ease of capture and the quality of ROW information.  Let the system record the location, capture and send a picture of the encroachment, and record other needed information at the touch of a button.   Let the pilot concentrate on flying.  As an example, the Pilot Patrol application used by Energy Transfer Equity (ETE), L.P. improves safety and efficiency.  It eliminates the need for pilots to take detailed notes about the event and its location while they are flying and it significantly streamlines backend workflows.


Anyone who has worked in Oil and Gas IT knows how difficult it is to collate information.  From Lease Management to SCADA, the number of applications and processes used to track product from well to the end of the gathering system is staggering.  So how do you ever get the “big picture”?  Location to the rescue again; nearly every business system in the industry allows the capture of asset locations.  Capturing the latitude and longitude for simple assets will set you up for a fairly straight forward integration process with other systems.

Location information is the natural integration point of the many disparate systems that it takes to manage the complicated network of assets and activities that surround the entire industry.  Chances are that you already put it on a map; the next step is to let the map do some more work.  GIS brings flexibility to this space by providing a platform to present a clear concise summary of your holdings.


The performance of existing GIS systems is largely dependent on planning and execution.   Data management and workflows must go hand in hand.  If performance or usability drive personnel back to paper maps, reviewing the organization of the data and the workflows around capture and delivery of this data may provide surprising benefit.   The underlying health of the data impacts everything down stream.

One of the major challenges many companies face is the all too prevalent gap in knowledge between GIS and IT staff.  There is an even bigger gap between management and both groups.  When designing GIS applications, the needs of the individual users are paramount.   GIS database design should be done with personnel who understand both database architecture, spatial data, and the needs of the business.  Doing it right enables innovation, performance, and flexibility in the delivery of information to all levels of the business.


Nearly every business person in America is carrying a smart phone.  They use Google/Bing/Yahoo mapping applications and mobile email, web, and productivity software.    This mobile acumen opens up new opportunities for innovation.  Asset management, supply chain, emergency response, weather, and just about anything else you can think of can be done through mobile applications.  By leveraging technologies like Esri’s ArcGIS Online, you no longer need to rely on printouts that are obsolete before the ink is dry.  If you can take the time to understand the needs of the individual, you can build an application that will streamline their workflow.  In short, if you want to do things different and better, think about GIS.

More to Come

Next week I will be discussing in detail the Aerial Patrol application and how it improves quality and communication for pipeline inspection and right of way management.

Esri Location Analytics Tools in an Organization: Embedding an Application Served from ArcGIS Online into a SharePoint Page

In my last post I took a map that I had authored in both Esri Maps for Microsoft Office and ArcGIS Online and created a web application that I could use on my desktop, tablet, and phone.  Now to complete the requirement I had originally I will show you how to take that same application and embed it into a SharePoint site.  Admittedly, if the end game was ONLY to have a map in SharePoint I would have started in SharePoint using the Esri Maps for SharePoint application. In this case, I had a multipurpose need and went a slightly different route.

To refresh you, the image below is the simple application that I created using the ArcGIS Online application template. Not the prettiest, but functional.

So first, I want to go back to the Summary page for my application. Go to MY CONTENT and click on the title of the application. You will see something like this.

All you need to do here is COPY the url link to the application (paste it into Notepad or somewhere else to use later).  Once done, we are done with ArcGIS Online directly.

Next it is off to SharePoint.

At GISi we have a corporate intranet site that is built on SharePoint 2010. Within this we have a Site that has Pages for all of our offices (addresses, contact info, etc.). What I want to do is embed the hotel application within this page so that anyone within the company can use it.  To start I simply click on the Edit this Page link.

This brings up the editing Ribbon.  I know that I want the Hotel Application to show up in the main part of the page just below the main block of text indicated by Zone 1.

To add the application I have to create a container – web part – to hold the application. So within the Zone 1 block I click on Add a Web Part.

NOTE: Your SharePoint Page may not have a zone but you should still be able to add a web part and configure it as I will do here.

Clicking Add a Web Part changes the Ribbon to a Explorer interface from which to choose the web part you need.  I know I want a Page Viewer web part which is under the Media and Content Category.

I select that and click the Add Web Part to: link – making sure I have the correct Zone indicated.

The result is an empty Page Viewer Web Part.

Next I click the Open the tool pane to configure the web part. And the following dialog will open on the right of your page:

In the URL space, clear out any text that SharePoint has in there and Paste the URL from your application in here.  Once done, you can click the TEST LINK link to make sure that the application loads.

You will also want to open up the Appearance tab and do some additional configuring.  For instance, Add an informative Title.  You will also need to set the Height and Width of the application within the area designated for the Page Viewer web part.  You can do this through trial and error. Set a value, hit Apply and keep going until you have what you want.

Here is the result for our application:

One note, I discovered that for some reason embedding the application in a SharePoint Page causes issues with rendering the fancy 3D graphic I had originally selected for the Hotels. To fix this, I simply went back to the map in ArcGIS Online, changed the symbol to a simple geometry and re-saved the map. The application automatically recognized the change.

So this completes my Simple Consumerization of GIS Trilogy.  In this 3 part series I was able to:

  • Add a map within an Excel spreadsheet using Esri Maps for Microsoft Office and ArcGIS Online,
  • Publish the Map from Excel to ArcGIS Online,
  • Make additions to the map in ArcGIS Online,
  • Create and publish an application using my map that worked on my desktop, tablet, and mobile phone, and
  • Embed the same application in our Corporate SharePoint intranet site.

…and all without writing a line of code!

It’s not a stretch of the imagination that our folks across the company could follow these simple steps to create layers with hotels and restaurants and even preferred running routes near our other offices add these to the Map in ArcGIS Online, and by proxy, to the application.  Almost sounds like crowd-sourcing. Think about amazing your friends when you pull up a on your iPhone a rich mapping application that you created !

Esri Location Analytics Tools in an Organization: Using ArcGIS Online to Publish a Web Application for Distribution

In my last post I showed you how you can use Excel and Esri Maps for MicroSoft Office to create a useful map within Excel and then publish it to ArcGIS Online so you could share the map.  Now I want to walk through the process of using ArcGIS Online to enhance that map, create an application that can be used in a desktop, tablet, and mobile phone browser.

So the first step is to log in to ArcGIS Online. (http://www.

Enter in your credentials. (Quick note, your username is now case sensitive – a change from other Esri sites).

Once you log in you will be taken to the Main Site. It will look a bit different for you than the screen shot below; as we have an organizationally branded site. The Banner across the top will be identical though.

So first off, I want to see where my map of Hotel locations is published, to check on that I simply click MY CONTENT.  I can see everything that I have published to my account here. You can see that both the Hotels Feature layer is there as a Feature Service and the Map is there as a Web Map, and both are shared to everyone.  I am able to select any one of the items and change the status, delete, or start using them in the map authoring tool here in ArcGIS Online.

I want to Open up the Web Map and work with it a bit to get it ready to for use in an application. So I just double click on the name and I get the Summary page for the Web Map. This shows me all the information I added during the publishing phase and the URL links for both the Hotel feature service and the Base Map feature map service (Topographic).  It also lets me start a Map session by selecting the Open Button and select the Open in map viewer.

This starts up the Map Viewer which gives me some options to enhance my map. I can change the base map if I decide I don’t like my original choice, change the way the pop up is configured, change the layer styling, etc. All the things I did in Excel I could have done here. But since I have shared the Feature service someone else can take that and set it up the way they like and re-share it as a new map.  That reminds me, I just realized that this would be a much more useful map if the folks looking for hotels also knew where our office actually was.

Now I don’t remember if I have published a feature service with our office locations myself or if someone else in the organization has, but it doesn’t matter. I can search and see what is there. Selecting the Add drop down from the main panel and choosing Search for Layers, I can see if there is a layer available that makes sense to use.

This brings up a search panel from which I can search through my own content, all of the shared content in My Organization, or all of the content available in ArcGIS Online, and the web for that matter.

Oh look, I did publish a GISi Offices feature Service already,

I click the add button and that feature is added to my map.  Again, this data could have come from anywhere that I searched.

Now that I can show where the office is relative to where the hotels are, I have a much more informative map.  Maybe later someone in the company will get excited and create a service with the local favorite restaurants or places to visit too.

Next I will simply save my map by selecting the Save drop down. I could do a Save As, but don’t need to in this instance.

Now let’s get this Map ready for Prime Time and put it to work. I want to embed this Map in an application that I can in turn use directly from the web, on a mobile device, and insert into a SharePoint site.  I can do this all without pestering a programmer (I prefer to let them wrestle with tougher problems anyway, I think they prefer that as well).

To start, I simply click on the Share button above my map (right next to the Save button I just used).

Wow, look at these options. I have a direct link to the map, I can Share the link through Facebook and Twitter, I can embed the map into a website, and I can Make a Web Application. I can also restrict usage of anything I do here too. One thing to note, at whatever level you share a Map or Application, your features need to be shared at that level as well or they won’t work.

So let’s look real quick at what happens when I click on the Embed in a Web Site button.

Look at that. Man, I can just cut and paste this code into a web application, like our corporate web site, set the size I want the map to be at and what navigation tools to add and BAM we are in business.  This is a little too programmy for what I am trying to do right now though so I am going to go back and take a look at the Create an Application path and see where that leads.

Okay, this looks interesting.  What we have here are a series of template applications waiting for a map. The best thing I can tell you here is to explore each one of these to see what they do and what they look like. Esri makes this easy. Simply hover over any one of the thumbnails and you get a brief description. But better yet, if you pull down that little down arrow next to the word Publish you will get three choices:

  • Publish – which creates and publishes the application for you,
  • Download, which is a good way to provide a programmer a jumpstart on an application that they can customize, and
  • Preview, which is the most useful for seeing how your Map will behave in each of these applications.

I have found one that looks like it will create a web page and work on mobile devices too. An added bonus for me and what my app is supposed to be for. So I select the preview button and this pops up in a new browser window. It is a fully functional application. You can see that the Pop Ups I created in the Excel phase works well.

Being satisfied that this will work for me and that I will also create a mobile version (form adjusts to the size of the browser on the mobile device – it is still a web app) I am going to go back and Publish this Application.

One more time, I need to give the application a name and some metadata about it to help the discovery process for anyone else.

I hit Save & Publish and ArcGIS Online goes to work for a few seconds and then get the following message about the next steps.

Some of the applications do have some configuration that you can perform to futher customize it; like what color scheme to use and what tools to add. In my case I just want to share the application so I click on the link in the form and get sent to my Application Summary Screen where I can manage the application. At this point I just want to share it.

And I have one more chance to determine how widely I distribute the app.

Hit OK and I am done.  Notice the URL that is provided in the summary screen. This is all I need now to share my application; I can send this out to my team. Below are a couple of screen shots from my phone and tablet of the application I just published!

From my Android Phone

From my Android Tablet

In my final blog of this series I will show you how I can embed and use this same application within SharePoint.

Esri Location Analytics Tools in an Organization: Using Esri Maps for Microsoft Office to Publish to ArcGIS Online

During the 2012 Esri Developers Summit I posted a series of blogs. The general theme of them was that the tools that Esri was releasing in the 10.1 roll-out had really begun to consumerize the use of their product suite. I had talked about how much of the mundane (to us GIS Professionals) had been so well automated with the new products that: 1- just about anyone could do basic and even some advanced GIS, and 2- this would free up our GIS Professionals to do even greater things.

So now that the 10.1 suite has been released, I wanted to take a little time to really show how easy things have become. To do this I will use a two of the newest products within the Esri Location Analytics Toolbox, specifically Esri Maps for Microsoft Office and Esri Maps for SharePoint while leveraging the centerpiece of the current Esri technology stack, ArcGIS Online. My intent is to show how workflows that either previously did not exist or were destined to end up on a GIS professionals desk are now viably performed by anyone in an organization.

For an example, I will use a simple problem that we have dealt with in the past.  We want to be able to generate a list of hotels that we recommend for people who come to our various offices, and wouldn’t it be great to actually put them on a map and then integrate it into our corporate SharePoint site and even post that to our external website.  A year ago this would have required that we put a GIS Analyst to work generating and publishing the map, and then a developer to integrate it into our SharePoint site and our external web site.  But now with Esri Maps for Microsoft Office and ArcGIS Online, this can be done by anyone in the organization.

The first step is to generate a list of hotels; five minutes cutting and pasting from an internet search and we have a viable list. I added some information including a ranking, contact number, and hotel url which will all be available to the users once we publish the map.

Assuming you have already loaded the Esri Maps for Office, there should be a menu tab at the end of the standard Excel Tabs.

If you click on the Esri Maps Tab you will be presented with the following Ribbon.

Most of the tools are greyed out because you haven’t added a map or data to the map but that will change shortly. Notice the # 1 arrow, this means that I am signed into my ArcGIS Online account.  If I wasn’t this would say “Sign In” and I would be able to log into my account. You need to do this to be able to publish the map or data to ArcGIS Online. If you need to get an account, follow this link

So to insert a map into your excel spreadsheet, just like you would add a chart, just click on the Insert Map button on the ribbon (# 2 on the image above). This will add a unconfigured map to your worksheet. In the image below you can see that I now have more available options on the Ribbon. A Control Panel has been added on the right as well. This behaves much like the Table of Contents does in ArcMap, as you add layers they will show up on the map and in the Control Panel.

So let’s configure the map a bit.

I like to zoom into the area I want to map and then cycle through the BaseMap options (on the Ribbon) to find the best looking and most useful map for what I am trying to show.  To do this, click in the map and then you can use your mouse wheel to zoom in and out, or click hold and drag to pan around.  Once you are centered about where you want to be, click on the BaseMap button in the Ribbon and select a different base map. Continue until you are satisfied. Here is what I have come up with so far:

Now I don’t really care for the Map 1 title, not really very informative. So to change that I click on the configure map icon in the upper right side of the map banner and now I can enter in a useful name for my map.  Once done, I click on the configure button again to close that window and return to the map.

Now I need to actually add the Hotels to the Map.  As you might have guessed, I simply click on the Add Excel Data button on the ribbon and it starts up a Wizard.

It asks me the format of the source of data I have, in this case it is a Cell Range so I select that and hit next. Then I am asked to select what cell range to use (just like it does when making a graph). Notice that I included the header, you don’t need to but I know from experience that it will speed up a step later on.

After I hit OK, I tell it what location type I have, this will tell ArcGIS Online how to do the Geocoding. I know my data is obviously addresses so I select that and click Next.

And here is where I have saved myself some time. Because I had headers in the selected cell range and they were words that the tool recognized, it automatically mapped which columns to use for which part of the address.  If I had not done this I would need to pull down the drop down for each element and select the appropriate column.

Now, once I hit the Add Data to Map, the data I have selected and the information about how to geocode the data gets sent to ArcGIS Online, is geocoded, and sent back to my map. It takes a few seconds. The more records you are mapping the longer it takes.

I now have the hotels plotted on the Map and I want to do some final configuration to the layer to make it a bit more useable. I can do this by right clicking on the name of the layer in the Map Contents Tab in the Control Panel on the right.

I definitely want to Rename the layer from Excel Data to Hotels. Click on Rename and enter “Hotels”.

And I want to use a symbol that represents more what the layer is. To do this Right Click on the Layer Name (Hotels) and select Style from the list; or click on the Style button on the Ribbon.  You have a bunch of choices here. In my case I want to use the Bed icon under the Transportation set.  I also made my icons a bit bigger than standard using the slider bar at the bottom of the form.  This all takes some trial and error but no more than if you were working out the details of a chart in Excel.

One last thing.  I want to configure the Pop-Up box that appears when someone clicks on one of the hotels.  Again, right click on the name of the layer (Hotels) and select Pop-Ups from the list. The following form appears:

Any field that was in the original range of cells you selected will show up here. I want to use the Hotel name for what shows up in the pop-up banner and because of that I don’t need it in the main body of the pop-up, so I uncheck the Visible check box for that record. I want everything else to show up.

The result looks like this:

You can see by adding information to the source spreadsheet you can provide a lot of information to the end users.  The web urls also work from the pop-up boxes. Click on the url and it will launch a new tab in your web browser and take you to that specific link.

Okay, one last step here. I have this potentially useful map and want to share it, but it is stuck in Excel. I can’t pass around the Excel file because not everyone will have the Esri Maps for Office capability. I could use the Create Slide button and that would create a PowerPoint slide of my map, but it wouldn’t be dynamic – the pop-ups wouldn’t work.  But I can publish this to ArcGIS Online and make it available online to anyone in my organization or the general public. And once I have my map online I have a bunch of other options for sharing.

How do I do that? Two ways. I can either just share the Hotels Layer and all the configurations I just did and build a map in ArcGIS Online, or I can Share the entire Map (in this case this would include the selected base map and map extent).

There is both a Share Layer and a Share Map button on the Ribbon. In both cases you will need to enter some information to make your map or layer discoverable and identifiable and set which user groups that you want to allow to use. Below shows how I have configured the Map to share.

Once you hit the Next button it will present one last choice about sharing the layers in the map. Then you hit the Share Map button and your map gets published out to your ArcGIS Online Account. This takes a few seconds to get the data packages moved and perform all the validations to ensure everything is correct. Once you get the green check mark, your Map is up and ready to use in ArcGIS Online.

If you have ArcGIS desktop you can check yourself to make sure everything transferred and that the map is behaving the way you intended. Just start ArcMap, go to add content from ArcGIS Online and you should see your map listed under My Content.  Click on the Open table and the map will load into ArcMap.

So I have created a Map in Excel using data from within Excel and ArcGIS Online, published it as a Shared map to ArcGIS Online, and verified that it is shared by pulling it into ArcMap.

In the next blog post of this series, I will show you how to use the Map I just shared in ArcGIS Online, add content from other users, build an application from a template, publish the application to use as is, and embed it into SharePoint or another web site.

Local Government GIS in an “App for That” World

There is a paradigm shift that has already begun in our industry—a shift that can be traced back to the broader mobile technology field and the invention of Apple’s iPhone and their App Store’s “App for That” concept. The iPhone does not have one app with 500,000 features or functions, rather has access to over 500,000 apps that do 1-2 focused tasks. Furthermore, technology trends tell us that mobile is exploding and that we are just starting to scratch the surface. According to Gartner, the sales of mobile devices surpassed PC sales for the first time in 2011—something that wasn’t forecasted until 2013. Global Internet users will literally double over the next few years, but perhaps most interesting is that by 2015 most users (approximately 80%) will be accessing the Internet via a mobile device.  This is clearly a deployment platform that we all need to be planning for and gearing up to support.

Esri is keenly aware of these trends and has created two cost effective and closely related initiatives to support the growing demand, and what will be, the consumer expectation for targeted, focused maps and apps accessible from their mobile devices. Esri’s ArcGIS for Local Government and ArcGIS Online are cost effective initiatives aimed specifically to support local governments in this mobile, “app for that” world.

ArcGIS for Local Government includes a series of targeted, focused maps and apps built on a common information model that is designed to work together across various departments. The concept is “plug and play” for any of the Esri web, mobile, and desktop templates (apps) and the keys to all of this is adopting the local government information model.

ArcGIS Online is a cloud-based, collaborative content management system for maps, apps, data, and other geographic information. It is not a replacement for on-premise GIS implementations, rather works complimentary offering organizations an efficient way to disseminate information across their organization and optionally, to the public. ArcGIS Online has been designed so the maps run on all devices and the apps can be easily configured to support the following environments, iOS, (iPad and iPhone), the android devices, as well as Windows (phone, mobile and desktop). This presents a vast number of deployment strategies aimed to support the ever present and growing demand for mobile.

The paradigm shift is already happening. We see it today in our industry with Esri’s Resource Center and “ArcGIS for…” concept. The days of traditional GIS web viewers that deliver ArcMap on the web will quickly become an artifact of the past. Soon our products and offerings in GIS will be required to support mobile accessibility and designed to solve targeted, focused tasks that make all of our cities and counties operate more efficiently.

This speaks to why we, at GISi, are “all in” on these Esri initiatives where we started as a pilot partner for ArcGIS for Local Government over a year ago and have evolved into one of a few Esri partners that have been designated, by Esri, with the ArcGIS for Local Government partner specialty. Over the last year we have helped over a dozen local governments with implementation and have positioned them to leverage this new paradigm. From our perspective, the time is now to get on board and learn how these initiatives can complement your offerings.

Esri Developer Summit 2012 Insights: Day Three

Dan Levine

Well another Dev Summit is in the Books. This conference still remains the best technical show that Esri does, and it gets better every year. I was a bit worried when it started. The plenary was a little bit lighter technically than it usually gets and there was a surprising absence of the Microsoft Office efforts. But the tech sessions came through with high quality material throughout. Mansour brought his game once again, so much so that he got to do an add-on session at the very end; kudos to him for maintaining his energy level to the end.  Art Hadaad had a couple of Esri/Microsoft sessions as well, but it didn’t quite feel like it was mainstreamed with the rest of the messaging. Not sure if that was intentional or accidental. Hmmm.  I think that Microsoft Office integration is going to really drive a lot of adoption of spatial tools and thinking for folks that otherwise just wouldn’t do it.

The picture is becoming clearer with how the technology stacks are all coming together. The ArcGIS runtime “Core” seems to be the engine going forward for “devices”, with each of the SDKs for those Platforms/Devices leveraging that, and each of the SDKs have, or will have shortly, the built-in components of the API to ArcGIS Online.  There were some hints in the plenary that something was up with desktop, but they weren’t saying, until the Closing Session where one fellow asked the question, “what are your plans with desktop?” Credit to him when he didn’t accept the attempt to brush it aside, and we ended up with Scott Morehouse revealing that, yes, they are heading for desktop to be driven by the core code being developed for runtime as well. Looking back to previous conversations and presentations, you could see that this was where we were heading; the ArcObjects libraries were dated and with all of the effort of creating the C++ code for runtime, it just makes sense.

This is going to be a fun year as we all start to implement the new technology stack and struggle through the challenges that we don’t even know about yet.  One thing seems certain to me; many of us will be doing our jobs differently in the near future.

Mike Haggerty

As I write out this recap of the last day at the Esri Dev Summit, I’m sitting on a rock on the side of a mountain overlooking Palm Springs. I wanted to get away from the crowd, the perfectly conditioned air, and the cucumber flavored water, to clear my head and think for a bit about all that I’ve experienced in the last 72 hours.

What have I learned in the last few days? I’ve left my family back on the east coast, temporarily ceased work on billable projects, cost the company a decent chuck of change, and for what reason? Was it worth it? I think yes.

Certainly, I’ve gained a lot of practical skills. Just today, I learned how to use the Geodatabase API to get access to data without the need for the entire ArcObjects library. I learned about a tool called X-ray, that can be used to compare a client’s geodatabase against the Local Government Information Model, which will help determine a migration path.  I learned that node.js, HTML5 Web Sockets, and ArcGIS Online can be used to create a real time collaborative web application. Finally, I learned that Flex can be used to communicate with a brainwave scanning device and a flying inflatable shark (well, this might not be immediately practical).

But more than this and all the rest of the practical skills and information that I’ve picked up over the past week, I think the “why” which has been communicated is even more valuable. Why do I do the work I do? With what purpose? With what motivation?

Jack Dangermond started off the week by reminding us during the plenary that software has the potential to help alleviate many ills we see in the world around us. Does software in and of itself contain power though? I would suggest no; it is but a tool in the hands of those who create it. At least for the present (and hopefully the future), computers are not sentient beings; the instruction sets which they execute must be programmed by us—the humans. Hang with me, hopefully all my philosophical waxing will tie in nicely at the end.

Certainly we all have reasons for doing what we do; pointers and guideposts in our lives that give us direction and motivate us to press on when the going gets tough. Being out here this afternoon among the rocks, lizards and yellow-flowered bushes has reminded me of my reasons for being. One of which Scott Morehouse expressed quite well during the closing session this afternoon when he said, “We exist to serve you.” Serving others by placing their needs above my own certainly ties in with my personal ethos, and I believe it supports GISi’s core values as well.

So, to conclude, why was it worth the time and expense to come out here to Palm Springs? Because the information I received here will allow me to better serve our clients as they serve their constituents, customers, or citizens. And together, with the assistance of GIS, we can all help make the world a better place.

Chris Bupp

Building Applications with the Android SDK 

Esri is releasing version 1.1 of the SDK next week; it has the following features:

  • Support for multiple maps
  • Advanced Symbology
  • Support for ArcGIS Online Portal and WebMap loading
  • Group Layers
  • Improved Secure Service
  • Support Google’s ADT r17
  • (Currently, Emulator is not supported, but it’s Google’s fault not ESRI’s)

The Demo for the Android SDK was really neat.  It stored all of the map’s information on an SD card, and was able to edit and store the features to the SD card as JSON strings.  They also utilized the Android’s sensor package to rotate the map to magnetic north; as the tablet was rotated, the map was visually pinned to north.  But the demo hid one glaring fact; while the SDK supports offline feature editing, it doesn’t yet support the Server Sync (which is why they were serializing data to the SD card).  Compared to the iOS SDK, the Android SDK is still playing catch-up.

Another cool feature that the Android SDK supports is Message Processing, which is a method that allows the device to receive a message, and simply call process Message.  The message can contain Symbol and Feature information that will then be added to the map, without requiring the application’s code to parse, or attempt to understand the message.

Killer Apps: HTML 5 and Flex

Monsour Raad and Sanjit Thomas gave a great talk about their love for Flex and HTML 5, and how to utilize both to make stunning apps.  They demoed 10 applications; here are some highlights:

  • Monsour used an HTML5 wrapper to support drag and drop feature onto a Flash application running in the browser.
  • Monsour used his mind (concentration/activity) and blinking to control the zoom level of a map.
  • Monsour created a real time TSA twitter map that computed the poster’s sentiment, and displayed it on the map.
  • Sanjit used a HTML5 map to create a heat map of pedestrian injuries to calculate the odds of injury for any given bike path.
  • Sanjit used chromes built-in voice command libraries to control a map.

Developer’s Guide to ArcGIS Online REST API

The ArcGIS Online Rest API tech session was a quick run through of the REST API available to interact with the ArcGIS Online portal.  It allows you to authenticate users, perform searches, manage users/groups/communities, and manage items.  When users are authenticated, they are given a token to interact with the REST services.  Here’s the big “Gotcha”: for scenarios where the app owns the data, the best practice is to have the mobile devices interact with a server, which will interact with the ArcGIS Online server.  This will keep the token secret from the application (and the evil user/hacker).  Just make sure that the first server isn’t an Amazon cloud instance that references the ArcGIS Online services; otherwise you’ll end up being charged twice for all the data transfers.

Sean Savage

Today was the final day of the Dev Summit and it was an experience that certainly didn’t disappoint! Talking with and listening to so many people who share a passion for GIS, development, and technology was extremely impressive. Though it appears that I may not be able to rely solely on my Dodgeball skills to earn me another invitation, I would jump at the chance! And, I should say that my impression of the experience was not solely based on presentations and discussions with the Esri folks and the slew of developers and technical attendees from other organizations, but also from being able to interact with the GISi team over the past three days!

As for the sessions of the last day, in several cases they were deeper dives into topics introduced in previous blog entries and have already been discussed, but I was able to sit in on an Esri and Microsoft Technology Update, which was pretty interesting. Esri Maps for Office looks pretty interesting, making it as easy to create interactive maps from a spreadsheet within Excel as it is to create a chart. The maps can be readily shared (through ArcGIS Online) or inserted into a PowerPoint presentation as a slide. Likewise, there is a map ribbon within PowerPoint that can be used to insert maps directly. The business model for this product is still being evaluated and wasn’t ready for discussion. Additionally, it was made clear that Esri is definitely trying to further align with Microsoft, perhaps especially when it comes to Azure, in order to better play in that space and offer more flexibility on the cloud.

As I mentioned, this has been a great week. There was so much to see and hear that I am certain I will continue to realize just how much is changing as I pour through my notes over the coming days and weeks. There were so many sessions covering such a range of material, it was something of a whirlwind. Nonetheless, there were several consistent and pervasive themes throughout the conference that we should closely watch and actively pursue:

  • The cloud, the cloud, the cloud…
  • ArcGIS Online
  • ArcGIS Server redesign and process streamlining
  • Consolidation of ArcGIS Runtime (including into Desktop?!)

I think the 10.1 release is going to be quite significant and exciting and I am looking very much forward to getting my hands on all of the technology I have seen over the past few days!

Ben Taylor

I attended a few user sessions the first half of the morning, starting with a presentation that featured the JavaScript API, coupled with several other third party JS frameworks, such as RICO and Scriptabulous to create a decorative UI. The presenter also utilized a few tools to help improve performance. There were a few that I’d like to take a closer look at—the first being YUI compressor, that shrinks the size of CSS and JS files. The second product was Squishit, which combines all of the CSS and JS files into one.

The second presentation dealt with a custom security solution within the Flex Viewer. Users and roles were stored in SQL Server. Enabling of widgets was controlled by adding a provisioning tag to the widget’s config file that contained the various roles needed. And based upon the login information provided, the widgets would be made available. The presenter pointed out that this approach will be much more streamlined when 10.1 is released, due to the inherent security that will be provided in ArcServer.

Caleb Carter

The closing session, after covering some alarming statistics regarding the vast consumption of the week, featured a presentation on the ongoing efforts of Esri to support the developer community through resources both electronic and not.  The overall theme was defragmenting developer resources while increasing the flexibility of the available tools, to make finding the information you need as simple as possible.  Here are some of the areas where these goals are being pursued.

  • In the Forums, there are several enhancements to make the user’s experience more valuable.  Forum posts can now be voted on, RSS feeds for individual posts can be consumed, and go ahead and try it from your mobile device!  There were several other enhancements also, go check it out!
  • Training and Certification offerings continue to grow and expand.
  • The Esri Blogs include navigation by Community, Author, Category, Tag and Search.
  • Esri sponsors Dev Meetups across the map.  Find a meetup near you!, or if there isn’t one, then speak up!

Scott Morehouse took the stage to give us a taste of his overarching perspective of the state of the art and what the future holds.  And just as the summit opened with a musical metaphor, Morehouse invoked Bob Dylan’s “Gotta Serve Somebody” to remind us all again why we’re here. It’s not for Esri’s sake. In most cases it’s not even for our own sake.  And in some, it’s not even for our clients.  We’re all here to do what we can to serve our end users.  And that’s what makes this event so important.  Through the sessions, demonstrations, discussions and networking, we are collectively improving our ability to serve our users.

As for the technical sessions of the day, I found gems in two geodatabase sessions:

Effective Geodatabase Programming

This was a great overview of some of the most common and presumably most useful dos and don’ts of programming against a geodatabase.  From how to access data most effectively and efficiently, to where to start looking when things aren’t working as expected, the topics were concise, relevant and in most cases accompanied with clear examples.

I won’t repeat the whole session, but some of the important points for me were:

  • Not all cursors are created equal. Some utilize cached results, others do not.  Some are bound to the class that created them, others are not. If you’re going to use a cursor, make sure you know which one you need and understand how it behaves.
  • Recycling Cursors – These are cool, but be careful; the whole point here is that the cursor only uses one object for the current row. Great for some things, but if you need an object to persist or pass around a particular row, a recycling cursor is probably not the answer.
  • Plug In Data Sources – Now this was a cool topic!  Basically you can create a plugin to consume any data format you need (okay, maybe not any) in ArcGIS.  You develop the plugin (using C#, C++ or VB .Net) and define how data from the source can be translated to feature classes, tables, feature datasets.  There’s extensive help documentation on how to accomplish this.  Once your plugin is coded, you can read data in ArcGIS, browse, preview, manage in catalog, select, render, query, and more.  You can’t write data, but I can live with that.  They gave a great walkthrough of how they assigned an unsuspecting developer to create a plugin (which he had not done before) to work with MongoDB (which he had not used before), and he was able to have it fully functional in a week’s time.  Great stuff!

At the end of the presentation they gave a rundown of the most common mistakes based on support inquiries.  Many of these are covered in the above bullets, but some noteworthy mistakes were:

  • Overuse of FindField – It’s recommended to use this method rather than a hardcoded field index, however, if you are using it in a loop to find the same field over and over, you’re asking for performance issues.  This was actually a good example of a point that the presenter was repeatedly coming back to: Whenever you can, perform your setup steps before you lock resources and get into the meat of accessing data.
  • Calling Store in store_triggered event handler – this is a classic case of infinite recursion.
  • And Careless variable reuse – let’s be honest…we’re all offenders here.

Accessing and Administering Your Enterprise Geodatabase through SQL and Python

So this was a double feature.  An overview with examples of how much you can do right in SQL with 10.1, followed by an overview with examples of how much you can do with Python at 10.1.  I’ll admit that I was a latecomer to this session, so I missed some of the intro SQL stuff, but I did gain a few tidbits that I’ll share.

  • Working with your GIS data directly in the DB can be a great thing. Performance and simplicity can be gained from bypassing the ArcGIS stack for certain tasks.
  • Working with your GIS data directly in the DB can be risky.  After all, you’re bypassing the ArcGIS stack….eek!
  • All database items are cataloged in the GDB_items table, with a definition field containing an XML structure defining the object.  For instance, in the case of Coded Value Domains, the XML contained the entire CVD definition….values and all.  This meant that you could construct a fairly straightforward query to list out all of the Coded Value Domains…pretty neat.  Beware though; you can also edit the XML so make sure you understand what you’re doing!
  • ArcCatalog provides a new mechanism for creating a spatial view.  Simply right click on the database connection, select New->View, and in the dialog shown enter a name for the view and the SQL query text that defines the view.

As far as the Python side of things, here’s a quick look at the capabilities at 10.1:

  • Create Geodatabases – that’s right, an alternative to the SDE post-install.
  • Create Database Roles
  • Create Database Users
  • Generate Schemas from XML Workspaces
  • Change Privileges
  • Manage Versions (Register, create, reconcile, list)
  • Disable/Enable DB Connections (doesn’t disconnect current sessions, but does block new ones)
  • Disconnect Users (this one does disconnect current sessions)
  • Compress Databases
  • Rebuild Indexes and Statistics

My most important take-away:  With great power comes great responsibility.

Thanks all for a great week!