In early 2011 we began to turn our attention seriously from development for the PC Web to mobile. Blackberry released their excellent, but not well received, Playbook. As a first step into mobile GIS development we built and launched a mobile ArcGIS viewer to the Blackberry App World. Accompanying this release we wrote a paper for ESRI’s ArcUser publication on the development process, available at this link.
So we’ve been spending quite some time with the very cool editing capabilities of the ArcGIS FeatureLayer. We are most interested in services published to ArcGIS Online. Editing will be a key advantage mobile brings to the world of ArcGIS. Avoiding the details (maybe in a future post), but not all ArcGIS FeatureLayers are the same. We wanted to put together a demo of the editing of a Featurelayer which contains a featureCollection, from the ESRI docs:
“The featureCollection is used when you want to initialize the FeatureLayer with features from outside of ArcGIS Server.”
This lends itself well to offline editing.
ArcGIS Mobile Editing
In the demo below we are online and accessing the app via a mobile browser (note, this demo needs Flash and thus wont run on an iOS device):
We noted in the original post that without knowing who the list of experts who contributed to the paper were, we were a little hesitant. We do know that Peter Batty added his thoughts. A good guy, but somebody who still talks about, the rather controversial, neoGeography or “new geography”.
Anyway, we digress. After reading the paper a number of times, we felt a little. Well. Deflated. We regard the new world of location technology as very exciting. The paper made for some dry reading; ok it was for the UN and not meant to have us all jumping for joy. But we hoped for a realistic, useful reflection on where the geospatial world is moving. Too much felt like wild guesses, repetition of the obvious, and the unimportant. Ok, we are being harsh, but this is a panel of experts. We expected some expert insight.
Our previous blog entry showed the initial steps in working with mobile ArcGIS when offline. We ended the post with “whats next? Offline Feature layers and Offline editing”. And that is the topic of this blog post.
As we have mentioned before as a company our focus is mobile location technology. GIS, and specifically ArcGIS, is an important part of this work. We are also advocates of open source software. Now the so called ‘elephant in the room’ of mobile GIS is offline. Everybody wants it, but there remains no practical solution. Both ESRI and Google have discussed rolling out offline solutions. But nothing is yet in place, at least in published API’s.
We are regularly approached about disconnected mobile maps and offline GIS. Its an itch we started to scratch a while ago. Our goal was initially to put in place a solution in the ArcGIS world, upon which we could also base an open source solution. ESRI, and in particular Mansour Raad, have been a big help in moving this work forward. We now have an end to end solution for working with mobile ArcGIS while offline.
Before we describe the work, here is a video which shows an ArcGIS Online webmap being takes offline; that is basemap, feature layers and editing.
ArcGIS Online is a major step forward for mobile ArcGIS. True its not just targeted at mobile, but it has and will make the lives of mobile developers and their clients considerably easier. Why? Let’s make a list:
1) Single endpoint, or webmap to load, in a mobile viewer
2) Easy for users to prepare and publish their data.
3) Shapefiles published to ArcGIS online are converted to Feature layers and pushed to the mobile ArcGIS viewer within the webmap itself.
4) Other data sources can be easily published in ArcGIS online, then rendered in a mobile map viewer.
Those are just some of the advantages.
We’ve just released ‘GeoMobile for ArcGIS Online’ a free mobile app which allows users to load on a mobile tablet, their own published ArcGIS Online webmaps. We designed it to be extensible. So it goes beyond the excellent ESRI mobile widget, in that we can add functionality based on user requirements.
We are approached regularly about offline ArcGIS. Thus the somewhat confusing title of this blog post ArcGIS Online Offline! Here, we will discuss using GeoMobile for ArcGIS Online to access your webmap in an offline mode. The approach we demonstrate could easily be used in our other free mobile app GeoMobile for ArcGIS Server.
Before we describe the offline widget in more detail, here is a demo:
GeoMobile for ArcGIS Online is a free mobile app we launched in July 2012 to the Android Market. In August it will be released in the Apple market. The app allows users to access their ArcGIS Online maps on their iPad and Android tablets. Multiple maps can be accessed, when users set up and host their own configuration file. The mobile ArcGIS app goes beyond what is available in the excellent ESRI mobile app. We are actively extending the functionality of GeoMobile for ArcGIS Online for our clients.
Working with GeoMobile for ArcGIS Online
There are a number of simple steps needed to use GeoMobile for ArcGIS Online:
Step 1 – Setup an ArcGIS Online standard map service
Offline or disconnected mode is one of the most in demand client and potential client requests we receive. And yet the main spatial solution providers have only made small steps in this direction. Chatting with ESRI, offline ArcGIS is on their roadmap, but no major releases are planned in the near future. Our interest is cross-platform solutions. So recent iOS and Android specific announcements from the likes of Google, though very interesting, do not serve our clients well.
It was time for us to look into our own solution. We broke down the problem into manageable chunks, then conferred with Mansour at ESRI on the details. Let’s discuss at a high level these pieces.
Offline versus Online Mode
In code we can detect if a mobile device has online connectivity. If it does reach out over the network for map and server functionality. If offline look locally, to the device itself, for resources.
Mobile devices have varying amounts of local storage. They also come with so called lite databases. In offline mode we take advantage of these local resources.
Offline ArcGIS Visualization – Tile Packages
Let’s imagine we have an ArcGIS Online web map we wish to view on our mobile in disconnected mode. Using ArcGIS 10.1 we can now generate a tile package of the layers used in the web map. These .tpk files vary in size, we need to be careful when generating these packages, particularly thinking about the capacity of the mobile device targeted for the mobile ArcGIS app. But once the tile package has been generated this need be stored on the mobile device. Note, tile packages which include base map tiles will need agreement with ESRI since there are various licensing agreements attached to the source of these base tiles.
Our first reaction to the recent announcement from Apple on their maps initiative is that it brings little new to the mapping landscape. As a mobile location-focused development company we see nothing which would help our customers beyond our current ESRI, Google and MapQuest solutions.
One thing we were excited to hear from Google was their announcement last week of an offline or disconnected mobile solution. Initially a Java for Android launch; we see this as a long overdue move. Many of our clients require offline mobile functionality. We have our own disconnected mobile solution, but it would have been nice to have had Apple announce their own offline mobile solution in their maps API. Looks like Google will remain ahead here and in many other map related areas.
No doubt the most frequent approach we get for the mobile ArcGIS apps we develop are offline or disconnected workflows. Clients want both to be able to visualize basemaps and their layers when out of wi-fi range, and offline editing; new feature additions, deletions and attribute edits.
ArcGIS 10.1 gives us tile packages (.tpk) so we can store tile pyramids locally on the device. Mansour has a nice example showing how to access basemap tiles using a tpk in offline mode on his blog.
The real challenge is offline editing. ESRI introduced Feature Server with Feature layers in ArcGIS 10, which work nicely in online mode. In April they released an Online-Offline Editing Sample using their iOS api. They include in their notes supporting the sample:
“For the sake of simplicity, the sample ….only allows you to add new features when the application is offline, not modify or delete existing features.”
Now there is the real challenge, what they have left out of the sample.