Extending Geospatial Sites to Mobile Apps

February 24th, 2011

One of the most frequent questions we get is the best way to extend a web-based geospatial application to a mobile device or phone.  There really is only one option to extend a website out to all types of devices (Android, iOS (iPhone / iPad), Windows Phone, etc.).  That option is building your mobile-enabled website with JavaScript.  There are several considerations to make when doing this including user interface, supported resolutions, workflow, and user experience.  Several mapping technologies have javascript and REST-based API’s including Google Maps, Bing!, Esri, and OpenLayers.   These API’s enable developers to build user-friendly mobile applications that work across devices.  With Esri, specifically at version 2.0 of the ArcGIS Server API’s, a developer’s only option to support multiple mobile devices (iPhone, Android, Windows Phone) is to use the Compact version of the JavaScript API which has been compacted down for 3G device optimization.  If you want to target a specific device you have the luxury of delivering a more native application within the iOS, Android, or Windows Phone operating systems.  The obvious disadvantage here is that you are targeting one type of device.

So if your current web mapping site is built in Flex or Silverlight your options are to: 1) build a new mobile application(s) targeting a specific device or 2) build a javascript web application to be used across devices.  There are advantages and disadvantages to both and a decision needs to be made based on how many devices you will support and what your development staff is proficient in (Objective C, Java, .NET).

Timmons Group was tasked with mobile enabling a Flex based site, VIPER.  Faced with a Flex site, the decision had to be made whether to build a new mobile application for a targeted device, or to build a JavaScript web application to be used across devices.  Given the audience that VIPER must reach – different localities, different agencies, and the private sector – it was a must to build a web app in JavaScript to reach as many users as possible, something that couldn’t be done with a targeted app.  The pictures in this post are from the beta VIPER mobile application shown on the iPhone.

Tips on Saving Non-Spatial Data to an ESRI Mobile Cache

November 11th, 2010

We came across an interesting problem while saving non-spatial data to an ESRI mobile cache. ArcGIS Mobile doesn’t support ArcObjects, instead you interact with a data table that represents the feature class. We had a table with columns like Pipe Type or Pipe Size, which were linked to domains. We used these domains to populate lookup tables on the UI. After attempting to save these columns, we found that only roughly half of them actually got saved, the rest were null. All column names were correct and the code was the same for all, but some had inexplicably not saved. The problem was the timing of saving the subtype. We were allowing the user the select the subtype and we were saving it right in the middle of saving the domain values. Because domains are tied to specific subtypes, when the subtype is saved all other columns linked to domain values are cleared. The solution was to save the subtype first, then the rest of the columns. So it turned out pretty simple, but we thought this was interesting behavior from AGM.

ESRI Canada User Conference

October 5th, 2010

Lowell Ballard, Director of Geospatial Solutions for Timmons Group, will be presenting the ESRI Canada User Conference October 6th and 7th.

Timmons Group Completes a Geospatial Information Technology Infrastructure Review and Planning Project for the Regional Municipality of York, Ontario, Canada

October 5th, 2010

Timmons Group recently completed a project to review York Region’s corporate geospatial information infrastructure and develop a project portfolio to advance and optimize the technology infrastructure to meet business needs 3 years out.

Working with the Region’s Geomatics and Information Technology Services Branches, the two-part project served to evaluate the existing conditions, act on any low-effort/high value improvement opportunities, and also chart a road map for continued success. The work plan involved examining existing systems, developing system architecture diagrams, performing stress-tests of web map applications & services, reviewing the supporting processes and operational tools used, and interviewing business units to link future business drivers and initiatives that would impose new requirements on the corporate geospatial information infrastructure. Specific topic areas covered during the discovery and planning phases included monitoring and alerting, performance, storage, redundancy and high-availability, accessibility and system support tools.

York Region has a high-performing geospatial program currently, and, taking into consideration the defined project portfolio, York Region will be proactive to business needs and effective in the delivery of location-based services to the corporation.

Lowell Ballard will present the project at the ESRI Canada Conference, October 6th-7th.The presentation of project findings will focus on the roadmap outcomes and resulting project portfolio defined to move Geomatics forward.

Developer Tips for Upgrading to ArcGIS 10

October 1st, 2010

Developers need to consider a few things while upgrading the ArcObjects code from version 9.3 to version 10. First, the code to check out ArcGIS license has changed. You need to add reference to a new assembly named ESRI.ArcGIS.Version and modify the license code as shown below:

//First bind the license – new for ARCGIS 10

ESRI.ArcGIS.RuntimeManager.BindLicense(ProductCode.Server);
if (!RuntimeManager.Bind(ProductCode.Server))
{
throw new ApplicationException(“ArcServer license binding failed”);
}

//Then initialize the license – just like in 9.3
IAoInitialize license = new AoInitializeClass();
license.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcServer);

Second, you need to update the references to ArcGIS assemblies with new version. You can do this in Visual Studio by removing the existing ArcGIS assembly references and adding the references back. Alternatively, you can select the assembly, right-click, select properties and set ‘Specific Version’ to ‘False’. This will build the code with reference to whatever version of assembly found on the machine. Note that this setting is applicable only at the build time. The application will still require the correct versions of dependecies that the code was build with at runtime in the deployed machine.

Additionally, ArcGIS SDK includes a tool named “ArcGIS Code Migration Analyzer” that you can run to analyze your code and get a report of changes needed to upgrade the code. This tool can be found in Visual Studio under Tools menu.  Once you open your solution in Visual Studio and run the tool, you will get the report as shown below:

ArcGIS Code Migration analyzer run on 9/29/2010 at 2:29 PM

————————————————————-

Analyzing project: AOProject

The solution platform should be set to x86 so it can run properly on 64-bit machines.

Replace assembly reference ESRI.ArcGIS.ADF with ESRI.ArcGIS.ADF.Local. 

Finally, to upgrade ArcGIS Server applications, you may also want to upgrade the client APIs such as Javascript API, Silverlight API etc to make use of new features. The upgrades to client APIs are independent of the ArcGIS Server upgrade. However, in some cases new features in the client API might only be available with the new version of ArcGIS Server.  For example, new feature editing tools in client APIs work with “featureserver” that is new in ArcGIS Server 10.

Choosing the Right ESRI API

July 27th, 2010

Join Lowell Ballard and Chris Gerecke for a webinar on August 26th.

With ESRI’s announced deprecation of WebADF and IMS technologies, many organizations are faced with choosing a new direction for their GIS website. In this webinar, join Timmons Group to learn the pros and cons of each ESRI API. Items to consider that will be covered in this presentation include: look and feel, performance, audience, plug-ins, and accessibility.

Click here to register!

Introducing Request LoGIStics (Citizen Relationship Management)

May 14th, 2010

Join us for a webinar on May 27th or June 8th

In this webinar, Timmons Group and Azteca staff will present a new web-based Citizen Relationship Management (CRM) solution optimized to leverage Aztecas Cityworks MMS application suite and related database. Specifically designed for government agencies desiring to more efficiently and cost-effectively administer public services, Request LoGIStics is an easy-to-use, intuitive, yet robust tool through which Citizens can report problems, request services, and research community information on-line.

RL Graphic

Who Should Attend?

City / County Managers, GIS Managers, Asset Managers, Citizen Services Managers and anyone that has a requirement of fielding Citizen inquiries and fulfilling requests.

About Timmons Group | Timmons Group is a leading provider of enterprise asset management, geospatial, information architecture and engineering services. Timmons Group is a privately held ENR 500 company and maintains strong business partner relationships with Azteca Systems and ESRI. Timmons Group has been a recipient of both the ESRI Business Partner of the Year award and the ESRI Foundation Partner of the Year award. Multiple Timmons Group clients have received the ESRI Special Achievement in GIS (SAG) Award for their use of the GIS and Asset Management solutions delivered by Timmons Group.

About Azteca | Since 1986, Azteca Systems has been helping agencies effectively manage capital assets, infrastructure and property. An exclusive ESRI partner and proven industry leader, Azteca introduced Cityworks – the only GIS-centric solution for asset and maintenance management. Cityworks has been successfully deployed around the world, increasing productivity, improving customer service and lowering operational costs. For more information, visit http://www.azteca.com/.

TG’s Geoprocessing Tasks

November 3rd, 2009

Creating and publishing geoprocessing tasks is a crucial element in many of Timmons’ projects. From the simplest query to more complex geographical processes, Timmons’ GP tasks have been leveraged for unique and exciting implementations. Geoprocessing tasks are most often included in a published service through the addition of a toolbox to the map, which allows a user to access the GP task in much the same way a user of the desktop ESRI suite might access the ArcToolbox. However, TG has been implementing these tasks within map applications more covertly: rather than incorporating the toolbox itself into the map, developers and geographers have been working together to have the map call the GP task behind the scenes. This method taps into the powerful potential of these tasks while allowing for more flexibility in the way the processes are presented to the user. For example, a user’s data can be checked behind the scenes against rules created for their particular data in a validation process that runs automatically, and in a seamless and elegant way. The process provides feedback that allows the user to troubleshoot any problems that present themselves.

blogSS

In this screenshot, the user is creating features in their browser that are supposed to remain within the confines of a data management area. When they are finished creating a feature, the application sends the feature’s geometry through one of the behind scenes validation checks. Among the checks is the rule that the new feature must fall in the designated area (called a ‘big bucket’). If the feature violates this rule, the user is presented with a message:

gpTaskblog1

The user can then handle the problem in one of three ways: allow the feature to violate the rule (continue), abort the feature and start again, or allow the feature to get clipped behind the scenes so that it no longer violates the rule.

TG has also built server-object extensions (SOE’s) to handle uploading shapefiles.  These SOE’s  that are wrapped up in WCF REST services and can be called from Silverlight, Javascript, or Flex.  The beauty of this generic service is it allows users to upload local shapefiles or PGDB’s directly to the web.  Their local data now can be overlaid on top of the enterprise data hosted in an ArcGIS Server based web app.  An example of the dialog that the user uses to upload local data can be seen below.

The combination of using SOE’s and geo-processing tasks has provided a great framework for our clients to better their internal data management goals with an easy-to-use web interface.  Shoot us an email if you want to hear more… – gis@timmons.com.

uploadShape

IEDC Annual Conference

October 5th, 2009

This week, Project Manager Amy Walters is attending the International Economic Development Council’s Annual Conference in Reno, Nevada. She will be in ESRI’s booth as one of their invited business partners.

NSGIC Annual Conference

October 5th, 2009

Lowell Ballard, Director of Geospatial Solutions/Principal for TG, is at the National States Geographic Information Council Annual Conference this week in Cleveland, Ohio. Lowell can be contacted at lowell.ballard@timmons.com.