It’s been barely 4 months since the last release of the ArcGIS Runtime SDKs and we’re back with version 100.6. This release marks major milestones for the Runtime both in capabilities and in how we plan the content of our releases.
With 100.6, a.k.a. Update 6, we’re introducing a track-focused roadmap for the Runtime. For Update 6 these tracks are:
- Defense & Public Safety
- Platform Support
While these 3 tracks represent the drivers for adding various capabilities to the Runtime, in most cases these new capabilities have applications far beyond the specific track that helped bring them to life.
Let’s take a look at how this shakes out.
Let’s start with the big one! Update 6 sees the first phase of utility network support in the Runtime SDKs.
We provide APIs to read network properties and definitions, and to understand associations between network elements and between network elements and their geographic feature representations.
We also introduce APIs for network tracing. Set one or more start points on your network (either on a junction or a terminal, or along an edge), and optionally any number of barriers, and perform a trace. Traces are lightning fast and we’re just starting to show what the utility network can do.
At this release, all utility network capabilities in the Runtime are service based and require a network connection. We will be adding more capabilities, including working offline, in subsequent releases.
To help you get up to speed we’re writing additional Runtime SDK Samples to show how to take advantage of this major new technology.
Update: You can learn more in this dedicated blog post.
At Update 5 we introduced Annotation and Reference Scale, which provided a sneak peek into the Utility track. Annotation support improves at Update 6 with the ability to take annotation services offline and to work with annotation sublayers.
Taking annotations offline is a read only workflow for now, but you can synchronize subsequent updates from an annotation service down to your Runtime app and we’ll be expanding these capabilities over the next few releases.
We’re very excited to introduce another capability that’s driven by our Utility customers, but which has a broad range of applications, and that is a Navigation API.
Runtime has long been able to provide turn-by-turn directions, both when connected and when offline, but developers have had to write a fair bit of custom code to provide an interactive navigation experience. The new Navigation API makes it easy to integrate navigation directly into your Runtime app. Note, use of the Navigation API in a production app requires licensing Runtime at the Basic level.
This first release includes APIs to alert you of upcoming maneuvers, to detect when you’ve wandered off route, and to automatically re-route you when using a local network dataset.
This is another capability that’s driven by the Utilities track but which is applicable to so many other use cases. Update 6 improves working offline with Runtime in a few ways.
First, we’re introducing Scheduled Updates. This augments the Preplanned offline workflow by generating and storing periodic read-only delta updates on the server, ready for clients to download. A Runtime app can check with the server to see which updates will bring it up-to-date, download them, and apply them in sequence.
This brings the performance benefits of the preplanned offline workflow (generate once, distribute broadly) to data updates. No longer will a client have to choose between waiting for the next full scheduled replica to be generated or kicking off a sync (which places a burden on the server and doesn’t scale the same way as the preplanned workflow does).
Scheduled Update deltas can co-exist alongside preplanned replicas and Runtime will intelligently make your local data current by seeing whether it’s better to download the latest replica, or to download a sequence of deltas.
In adding support for scheduled updates, you’ll also get access to an offline geodatabase’s generation ID, and Runtime will now cleanly close Mobile Map Packages.
Speaking of MMPKs, we’ve included memory usage and performance improvements (particularly with symbology) when parsing them.
Over 300 customers have been working with our Augmented Reality beta program over the past year or so, and we’re bringing those capabilities out of beta. With Update 6 ArcGIS Runtime is AR enabled for iOS and Android devices.
It was clear that delivering a truly exceptional AR experience across a range of use cases would require customization, configuration, and calibration. To support that, we’ll be providing rich open source Toolkit components to help build tabletop and full-scale AR experiences on top of the base components the SDKs expose. Watch this space for a blog post covering these Toolkit additions once they’ve been released.
Defense & Public Safety
Military Symbology is broad, flexible, and information rich. Driven by a specific set of mission-critical requirements, the symbology must be highly readable and immediately recognizable while covering a range of situations, both expected and unexpected. The stakes for misreading a map very often could not be higher.
Arcade based Styles
With Update 6 we’re introducing improved support for Military Symbology. This support is being built into the platform, not just the Runtime, and pivots off use of a Dictionary Renderer to access symbols in a style file, powered by Arcade.
While this supports Defense customers’ needs, it also exposes complex attribute driven rendering for use in any kind of app. For example, with a little Arcade customization you could display restaurants, showing not only their locations and types, but also ratings, whether the restaurant is currently open, and whether it’s kid-friendly, etc. all directly symbolized on the map.
Update: For more details about working with style files and dictionary renderers, check out this blog post.
Many OGC services use parameter based authorization schemes for access, and we now support using these authorization keys (and for that matter any custom parameters) for WFS, WMS, and WMTS layers.
Rounding out our KML story, Update 6 adds creation and editing capabilities. Now you can modify a KML file or author one from scratch, save it, and share it with others directly from your Runtime app. Note, creating and editing a KML file in a production app requires licensing Runtime at the Standard level.
In addition to all of the above, we’re adding some capabilities that are driven by the ArcGIS platform as a whole. Highlights include:
- Mobile Map Packages now support Group Layers.
- Runtime now opens WFS layers from a web map.
- You can now Identify and Select features in a Point Scene Layer.
- Scene Layers, Feature Layers, and Graphics Overlays can have a vertical offset defined for use in a scene.
- Various Line style and symbology updates.
We’ve also fixed multiple bugs and made some great improvements in performance and memory usage, in particular with dictionary renderers, Arcade, and working with mobile map packages. Please see the specific release notes for Android, Qt, .NET, Java, and iOS for more details.
If you’re looking for the Local Server 100.6 installer, it’s now out. See this blog post for more details.
There’s a lot of really important and foundational new technology in Update 6, much of which is just the start of what we have planned. We can’t wait to see what you build with it!
Download and get started
To get 100.6, go to the ArcGIS for Developers web site, browse the ArcGIS Runtime SDK page of your choice and download the SDK. You can also reference through NuGet, Gradle, or CocoaPods. If you’re new to developing with ArcGIS Runtime and don’t have an ArcGIS Developer subscription, simply sign up for a free account and you’ll be able to access everything you need to develop your app.