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.
Local Storage
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.
We launched GeoMobile for ArcGIS to both demonstrate a custom cross platform (one code base which runs on multiple platforms) mobile ArcGIS app, and experiment with porting widgets from the Flex viewer for ArcGIS. The results have been met with enthusiasm by the user community. By adding a configuration file which the mobile app reads at startup, the app allows users to load their own ArcGIS server layers; so those from their own ArcGIS server instance or cloud based. Our work now mostly revolves around building custom tools for use in the mobile viewer.