EDN Days: Helping you to build GIS Applications

Part of my role in the Technical Solutions Group at Esri UK involves helping customers who purchase an Esri Developer Network (EDN) licence with a day’s ‘get you started’ consulting. The last couple I have run have been very successful and put the client on course to developing GIS applications using Esri technology.

An EDN subscription is an easy way to get started developing GIS solutions with Esri software.  It comes with all the tools needed to start developing GIS applications, whether that is desktop, server, Web or mobile. It also includes discounts on training and support, data and personal support from a consultant like myself. Prior to the visit we gather as much information as possible including what you want to get out of the day. We will also make sure the Esri software that is needed is installed correctly and give guidance with this beforehand if needed. Once we have gathered this information we can plan the day so the client gets the most out of it. The level of customer knowledge can vary, from developers who have never heard of GIS before to competent GIS developers looking to know more about how to develop using Esri software and the best practices to do this.

EDN day Technology Trends

Of late, most of the EDN days I have been involved in have focused on using ArcGIS for Server and the JavaScript (JS) API. From my recent experience this is the most popular development options for developing custom GIS applications or adding GIS functionality to existing programs. I think this is because many clients already have JS developer experience and unlike the other API’s (Flex and Silverlight) it does not need an additional plug-in within the browser. This can be an issue in organisations with tight restrictions on IT infrastructure. JS is also the technology that goes hand in hand with HTML5 which is the path many people see as the future of Web development. Esri’s JS API does come with HTML5 support (which is always growing in functionality) and this has been an area we’re discussing more and more recently. We’ve also noticed a trend away from traditional desktop development and onto the Web, while Esri offer a full range of desktop development tools, Server is where most new development is taking place. Having said that, my most recent EDN day focused on developing a smart desktop application with the WPF API and with the upcoming release of our new ArcGIS for Runtime product at 10.1, desktop development will remain a viable option for many.

Recent EDN Experiences

As mentioned the structure of an EDN day is driven by the client’s needs gathered a few weeks in advance. I am going to go over the two most recent EDN days I have conducted to give a feel for what can be achieved during the day.

The first example was with a client developing an application centred on ArcGIS for Server and the JS API. My colleague, Sam who is a web mapping expert, and I went along already knowing the client had a good understanding of our Server technology and the JS API, having developed one application using the tools already. They were interested in making sure they were following the best practices and doing things correctly. They were also keen to get a more in depth knowledge of geoprocessing (GP) with Server and the API’s as this was something they would need for an upcoming project. GP with ArcGIS Server and the Web API’s in an interesting topic. When done correctly it is very powerful, being able to perform complex analytical procedures in a web application is one of the major benefits of using ArcGIS for Server and one of the major advantages in using Esri software over other options. Setting up a GP model that will run on Server is different from desktop GP models and it was these differences as well as best practices in publishing and running GP on Server that the day was mainly focused on. The main constraint in publishing GP from desktop to Server is on input and output data types, other important considerations such as model data, where new data is stored, output data types and how the output is finally drawn are also important and were discussed. GP Performance tips and testing tools were also touched on. Sam then discussed programming with the JS API, again focusing on best practises, interacting with GP, HTML5 and how all this could be applied to the application they were developing.

For the last part of the day we went through creating a GP model similar to the one that would be used for their final application, publishing it and consuming it within the JS API. This was very useful and we did come up against a few issues along the way. This turned out to be a good thing as we could all go over best practices for de-bugging and solving the problems that did arise. Further tips on how to debug Server based GP tasks can be found here. In the end we managed to achieve what we set out to do and we left the client with a working model they could build on to create the final application. We had also established a good way forward for developing the application not only on the the GP side of things but also the many other best practices to make the final application as quick and user friendly as possible.

Figure: An example Geoprocessing Model being authored in ArcGIS for Desktop

The most recent EDN day I undertook was quite spur of the moment. We had a partner who won a large contract and needed to geo-enable their application to include Esri mapping as part of the final deliverable. The project was being delivered in stages and the first stage had quite a tight timeframe. Despite the short notice we spent time understanding the requirements with a few conference calls. I then went to visit the customer with the support of a colleague from our Professional Services who specialises in desktop development. We started by going over the initial requirement and decided the best way forward was to embed our WPF API into their current .Net application. ArcGIS for Server would be used to deliver the maps and GP to the client and initially for what they needed, this could be achieved by using the Esri UK online mapping services and the free ArcGIS Online services. The application could then easily be scaled up to include their own instance of Server; we designed the plug-in in such a way that it could be available for all future releases of the software not just this project.  Once this had been decided, I started going over the best practices for coding with the API and Server and getting our hands dirty with some coding. At the end of the day we had managed to create a new embedded plug in window in their application with just about all the functionality need for the first stage of the map development that was required. All in all a good day with much achieved, that I believe showed how quick and easy it can be to start developing using Esri technology.

Summary

The EDN is a great package that helps clients in getting started developing GIS applications. Not only do you get all the software you need but also I think most importantly the support to undertake what can be a completely new development environment. EDN days are one of my favourite things about my job and it is great to get people up and running with GIS development. They are always different and during the day you often get the 'Ahh…’ moment where everything I have been going through just clicks in the clients mind and away they go. It is especially rewarding when at the end of just one day a customer can walk away with the knowledge and a clear picture of how they are going to develop the GIS application they have always dreamed of having.