Skip navigation
All Places > AppStudio for ArcGIS > Blog > 2017 > June
2017

We are excited to announce the release of the AppStudio for ArcGIS version 2.0. AppStudio has gone through a major overhaul that includes new features, capabilities, framework enhancements and a fresh new interface. This release is focused towards adding value to our users and improving your app development experience. The AppStudio product has come a long way since launching  2 years ago, with great feedback from our users, we are committed to making this platform more efficient and user-friendly.

 

Following are the highlights of this release:

  • AppStudio now supports the latest ArcGIS Runtime 100.1
  • AppStudio desktop has a redesigned interface with light and dark themes
  • New native capabilities - Local Notification, Vibration & Background location
  • New utility plugins - SQL Storage and Promises
  • Map Tour template has a new landscape view and supports new runtime 
  • Map Viewer template has been redesigned from the ground up
  • Quick Report template works completely offline and supports new runtime
  • AppStudio Website has a new Showcase Gallery
  • AppStudio Framework API and guide documentation is now available online

 

You can now get the brand-new version of AppStudio for ArcGIS at http://appstudio.arcgis.com.  Don’t forget to update the mobile companion app AppStudio Player from iTunes and Google Play store.

 

AppStudio Desktop:

Our team has completely re-designed the AppStudio desktop with new UX, a new set of system icons, layout, and

theme color to help improve your overall experience and make you more productive. With this updates, AppStudio Desktop supports ArcGIS Runtime Version 100.1 now.  There are also many new features and enhancements introduced in this release such as better search functionality, better create "New App" experience and background location support. Please see this blog post for more details.  

 

AppStudio Website:

1. New Showcase Gallery

A new Showcase Gallery has been added to the AppStudio Website. You will be able to discover many cool apps built with AppStudio and it might even inspire you with new ideas for your mobile app project. If you want your app to be included get in touch via Twitter or geonet community.

 

2. Creating Quick Report Using Polyline and Polygon Feature Layers

Previously, only point features were supported while using the AppStudio Website to create an app with the Quick Report template.  With this new release, point, polyline, and polygon are all supported. 

 

AppStudio Framework:

There are a new set of plugins added to the AppFramework, which offer native capability across all platforms supported by AppStudio.  These new plugins are:

  • Notifications Plugin (Beta)
  • Local Notifications Plugin (Beta)
  • SQL Plugin (Beta)
  • Promises Plugin (Beta)
  • Vibration (Beta)

 

For more information about new plugins, please check this blog post.

 

Note: These plugins are currently in beta and we appreciate any feedback from our users.

 

AppStudio Player:

AppStudio Player now supports two versions of the ArcGIS Runtime side by side. You can switch between the runtimes for you new or existing apps with the new settings interface. You will also find other enhancements to support Material and Universal design. Many other minor UI enhancements, new features, and bug fixes are all part of the latest release of Player, it is available to download in the app stores or for your desktop, please see this blog post for more details.

 

AppStudio Template:

ArcGIS Runtime Version 100.1 is supported by all of the AppStudio templates now. (Map Tour, Map Viewer, Quick Report).  Map Tour template has a new landscape view, Map Viewer has been re-designed from the ground up, and Quick Report works completely offline with the support of Mobile map package.  Please see this blog post for more details about the new features and enhancements of the AppStudio templates. 

 

AppStudio Framework API Documentation:

AppStudio Framework API Guide and API reference documentation have improved greatly with many code snippets and new documentation on the AppStudio AppFramework. The AppFramework API documentation is now available online.  You can also press F1 to display the full help documentation in the Qt creator.

 

Licensing:

AppStudio for ArcGIS Basic is included as part of your ArcGIS Subscription (Level 2), you can create and publish apps with the Map Tour, Map Viewer, and Quick Report templates. AppStudio for ArcGIS Standard gives you a suite of developer productivity tools, and enables you to extend the templates, use samples and create custom apps from scratch.With Standard, you can also upload apps to an ArcGIS Organization and collaborate on apps with other team members.

 

New at this release: AppStudio for ArcGIS standard license is now included in the ArcGIS Developer Subscription – Builder level and above. If you are an existing user and already have purchased AppStudio Standard license then it will continue to work until its valid. If you are planning to buy new then it will be bundled with the developer subscription at builder level and above. We believe that this will open up AppStudio to more developers and enthusiasts to create awesome applications. You can also sign-up for an ArcGIS trial account to get a 21-day trial of AppStudio Standard.

 

Our team intends to make improvements and enhancements continuously to help you create beautiful apps. We hope you enjoy these new features and upgrades. 

 

                                   Follow us on Twitter @appstudioarcgis for latest updates and news

 

List of support issues addressed

 

BUG-000095218

Symbology issue with applications created using the Story Map Tour template in the AppStudio for ArcGIS website is resolved.

BUG-000095405

Incorrectly formatted word "Display" in Settings is corrected

BUG-000099383

The Map Viewer template in AppStudio for ArcGIS now shows the default extent when opened on Android and iOS devices

BUG-000101053

Missing checkboxes in App Studio Make tool from AppStudio for ArcGIS Desktop on Arabic Mac OSX is corrected.

BUG-000101597

Security vulnerability with iOS applications created with AppStudio for ArcGIS is resolved.

BUG-000101602

iOS apps developed with AppStudio for ArcGIS are now getting compiled using the default iOS memory management framework.

BUG-000101822

The AppStudio for ArcGIS Map Viewer crash issue with time enabled layer is resolved.

BUG-000101978

Security vulnerability with Android applications created with AppStudio for ArcGIS is fixed.

BUG-000102326

The issue with Map Scale settings of AppStudio for ArcGIS Map Tour not being honored when set in AppStudio for ArcGIS Desktop no longer exists.

BUG-000102917

An AppStudio for ArcGIS application created with the Map Viewer template shows numeric coded values rather than associated domain values.

BUG-000103139

A Map Tour template app in AppStudio for ArcGIS is able to retrieve an image that is successfully accessed when the same image is referenced in a Story Map Tour application in ArcGIS Online.

BUG-000103313

The OpenStreetMap basemap displays in an AppStudio Player for ArcGIS app that is created using the AppStudio for ArcGIS Map Viewer template.

 

AppStudio for ArcGIS Desktop version 2.0 is getting a brand-new look.  The new design of AppStudio for ArcGIS Desktop provides a beautiful and consistent interface and simple user experience.  Many new features and enhancements were introduced to the AppStudio Desktop and changes include the following:

 

ArcGIS Runtime Version 100.1 support

One of the most exciting enhancements is the support for new ArcGIS Runtime. With the new runtime, you can leverage 3D scenes, Raster data, Mobile Map Packages, Vector Tiles, and more in AppStudio apps. However, we did not forget about your existing apps, in fact, we went a step further by supporting both runtimes side by side (Yes that's right, both your existing apps using 10.2.6 runtime and the new ones using 100.1 will run, compile, play and build side by side).

 

Brand-New Interface

AppStudio for ArcGIS 2.0 Desktop has a cool new interface tailored to improve your app development experience and efficiency. The simplified menu bar enables you open Console to debug apps, launch virtual devices, refresh gallery, create a new app, and set preferences.  The user interface is also customizable with the choice of light and dark themes, normal and large card sizes, and ability position side panel to the left and right.  The new side panel gives you quick access to the tools you use most.  Two new tools included in the side panel are the “Open Online Item” and a QR code generator so you can quickly download an app to a device running AppStudio Player.

 

             Note: The new design for Console, Settings, and Make will be available in the following release.

 

              

 

 

 

Better Search Functionality

Searching apps in the gallery just got easier.  AppStudio 2.0 features powerful search functionality that can help you find any app easily.  Not only can you use #tag search for apps tagged with a term or @username for apps created by a specific user, but you can also filter apps based on the app ownership, location, and status.

 

 

               

 

 

Enhanced Create “New App” Experience

We have completely redesigned the "New App" dialog to provide you an easier experience to create apps.  You can also now search for samples and templates apps in the “New App” dialog. 

 

 

                 

 

 

 

New Samples

With the support of new ArcGIS Runtime, we have updated more than 40 high-quality samples to help you build custom apps. These samples demonstrate core runtime features such as 3D scene, feature layers, offline map, portal, along with samples for native capabilities. To use or view our samples you can click on the “New App” button,  select Samples category, and choose the sample that you want.  You can also access these samples online at AppStudio Samples GitHub.

 

 

                  

 

 

New Controls

Qt introduced new controls which include Material and Universal style. The Material Style follows Google Material Design Guidelines whereas Universal Style is based on Microsoft Universal Design Guidelines. AppStudio now supports these controls to help you create visually appealing apps. 

 

Beta Features

AppStudio has introduced few new capabilities as beta features such as:

 

  • Local Notification
  • Vibration
  • Background Location
  • Promises
  • SQL Storage

 

You can learn more about them by reading this blog post.

This new release brings out many exciting new features and enhancements to AppStudio for ArcGIS Templates.  For example, Map Viewer Template has been redesigned from the ground up and Quick Report Template works completely offline with the support of Mobile map package.  Let's take a look at these new features.  

 

Map Tour Template:

 

New ArcGIS Runtime

Map Tour template now built using the latest ArcGIS Runtime 100.1 (a.k.a Quartz) for mapping capabilities. This opens up all the new and improved capabilities that the new runtime has to offer such as 3d, vector map tiles, support for webmaps v2.0 and above, better rendering and labelling support to name a few.

 

New Landscape View

Map Tour template has a new design for the landscape view.  You will be able to see the images and map at the same time on the large screen.

 

 

 

Support for the HTML <audio> Tag

Many users like to add HTML <audio> tag into story maps.  We don't want you to miss out such great functionality to enhance the storytelling experience.  Starting from AppStudio v2.0 Map Tour template, if your tour point has audio in the description you will be able to play audio inline within the app.                  

                       

 

 

 

Map Viewer Template:

 

New ArcGIS Runtime

Map Viewer template now built using the latest ArcGIS Runtime 100.1 (a.k.a Quartz) for mapping capabilities. This opens up all the new and improved capabilities that the new runtime has to offer such as 3d, vector map tiles, support for webmaps v2.0 and above, better rendering and labelling support to name a few.

 

New Interface

This update brings a clean and intuitive new interface using the Material design controls. The new and improved Map Viewer Template provides an immersive and adaptive display for all screen sizes and tailored for better user experience.

 

New functionalities

The following is a list of new features that were added in this release.  

  • Pop-up support (includes attachment and media)
  • Geosearching (within and outside the extent of the map)
  • Feature search (if your webmap support search for layers)
  • Bookmarks
  • Switching base maps
  • Changing Map Units
  • Secured layers (provides a way for user to sign in to unlock)
  • Premium layers (provides a way for user to sign in to unlock)
  • Support for OpenStreetMap, Bing, Image, Web Tiles layers

 

 

 

                                      

 

Quick Report Template:

 

Settings Enhancements

Includes custom settings to change the font size and switch to dark mode.  The new Reset Button brings you back to the default app settings and deletes all of the saved drafts and offline maps. You can also sign out from your current logged-in account with the Sign Out button.

 

 

                            

 

New ArcGIS Runtime

Quick Report template now uses the latest ArcGIS Runtime 100.1 (a.k.a Quartz) for mapping capabilities. This opens up all the new and improved capabilities that the new runtime has to offer such as 3d, offline map packages (mmpk), vector map tiles, support for webmaps v2.0 and above, better rendering and labelling support to name a few.

 

Fully offline

Starting from AppStudio for ArcGIS version 2.0, you can download the Mobile map package (MMPK) for offline use. With the support for MMPK, the Quick Report Template now works fully offline. 

 

 

                        

 

 

Camera Improvements

This release offers a range of great features that will improve your experience while using the camera in the Quick Report.  New features and enhancements include:

 

  • Adding a zoom in/out slider
  • Switching between front and back cameras
  • Adding EXIF info to images
  • Implementing red eye reduction
  • Continuous focus

 

                                   

Map Page enhancements

The following are a set of enhancements added to the map page:

  • Geosearching
  • Full-screen map

 

               

 

 

Saved Draft page enhancements

Now, you can sort saved drafts based on the Date/Time to help you identify the draft.

         

 

               

 

 

New Submit Button on draft report page

In the last version of Quick Report, you had to navigate to the last page to submit a draft, even if you only need to modify report information on the first page. And as a user productivity enhancement, the submit Submit Button is included on every page while editing a saved draft.

 

 

 

            

AppStudio Player for ArcGIS allows you to test your app on a device quickly.  AppStudio Player version 2.0 is now available on iTunes and Google Play stores. Here is an introduction of new features and enhancements.   

 

Settings Enhancements:

AppStudio Player now supports two versions of the ArcGIS Runtime and new style controls. Hence, we have introduced a new settings interface that allows you to switch between ArcGIS Runtime 100.1 and 10.2.6 and set up your app style (Default, Material style, and Universal style).  We also provided an option to turn on or off auto refreshing of apps in the Settings interface.

 

                     

 

 

 

 

Side Tab Enhancements:

The side tab allows you navigate from your current app to Gallery. We have provided the ability to reposition this side tab by simply dragging around the screen.  You will notice that a Reload button is on the side tab, this button allows you download the latest version of the app without closing it. Moreover, you can completely hide the side tab and take nice screenshots of your app. 

 

 

                         . 

 

 

 

 

 

Search and Download Public Apps:

AppStudio Player Version 2.0 provides the ability to search and download apps shared with you,  shared within an organization and shared publicly.

 

 

                         

New Capabilities are introduced in the AppFramework as a part of AppStudio 2.0. These capabilities are not provided natively by Qt. Following capabilities are currently in beta

 

  •     Local Notification

  •     Vibration

  •     Background Location

  •     Promises

 

These capabilities are currently in Beta. What does that mean?

 

 What it means is that we are looking forward to your feedback, the use cases, what you like and what you want us to  improve upon. It also means that if you choose to implement these plugins in Production App. Future changes may affect  your app may require additional changes to support these functionalities in your app.

 

1. Local Notification - This is a new plugin added to the AppFramework. It provides developers the ability to implement in-app notification to end users such as an alert, message or geotification. When the Local Notification gets triggered on the client device the Notification icon appears in the Notification bar which is same as the application icon. The Notification icon cannot be customized or modified. Users may choose to have one or multiple notifications within the app. Every notification scheduled has a corresponding id available to distinguish between multiple Local Notifications.

 

 Note:- An app running within Player or AppStudio Desktop (AppRun) will show the notification icon of Player or                      AppRun respectively when triggered.

 

 

 Platform Support

  •     iOS
  •     Android
  •     Windows
  •     Mac
  •     Linux

 

 How to implement Local Notification in an AppStudio App?

  • Use the following import statement

        import ArcGIS.AppFramework.Notifications.Local 1.0

  • Enable the “Local Notification” capability within the AppSettings of the App
  •      Use the component "LocalNotification" which takes three input parameters to schedule a notification
    •      Title – The title of the message
    •       Message – The description of the message
    •       Time (in seconds)- Time after which the notification will be triggered on the end user device. 

 Sample Code   

 

 API Reference

 

   Properties

  • bool supported (read only)- Returns a boolean if the device supports local notification.

       Note: This property is supported on Android API 19+ versions.

 

   Methods                            

  • object schedule(string title, string message, int timeInSeconds) -  returns a Variant object which is id of the scheduled notification    
  • Title - The title of the message as string value
  • Message -The description of the message as string value
  • Time (in seconds) -Time after which the notification will appear on the end user device as int

               For e.g. 5 seconds means the notification will be triggered in 5 second                 

               var id = notification.schedule(title, message, duration)

  • bool clear(object id) -This method will clear the pending notification from the list of scheduled notifications
    • object id - The id of the notification to be clear.
    • Returns bool - Indicates whether the notification is cleared from the list of scheduled notifications. 

             For e.g. 

             bool success = notification.clear(id) 

             Note: It will return false for invalid inputs and for notifications which have already triggered.

  • void clearAll() - This method clears all the pending (yet to be triggered) and active (already triggered) notifications along with badge numbers for iOS apps.

             For e.g. 

             notification.clearAll()

 

  Signals

  • triggered(object id) - This signal is emitted when the  local notification is triggered.
    • object id-It takes an id of the scheduled notification.

 

2. Vibration (Singleton) - New plugin added in AppFramework with AppStudio 2.0 version. This allows developers to enable vibration within an app. It is a non visual feedback or alert. Common use cases to provide vibration are to indicate an event such a message received or finished creating a model making a network request or just an alert etc.

Note: Currently, there is no way to provide number of seconds as an input for it to vibrate. On android device, it will vibrate for 1 second and on iOS it will use the system default.

 

          

Platform Support

  •      iOS
  •     Android
  •     Windows
  •     Mac
  •     Linux

How to implement Vibration in the AppStudio App?

  •     Use the following import statement

      import ArcGIS.AppFramework.Notifications 1.0

  •     Enable the Vibration capability within the AppSettings of the App
  •     Call the Vibration.vibrate()

 

API Reference

   Properties

  • bool supported - Returns a boolean value indicating whether your device supports vibration or not.

 

   Methods

  • void vibrate() - Method call to initiate a vibration on the client device from the app. The device will continue to vibrate for system default vibration settings (in seconds) or until the app is closed.

        For e.g.

          if(Vibration.supported) {

                 Vibration.vibrate()

           }

 

 

3. Background Location - New capability has been introduced to AppStudio 2.0 which allows the apps to use location data in background mode. Some of the common use cases using this capability are logging location data using position source, or trigger a notification, geo-fencing etc. This capability is currently available for mobile platforms only as this is already supported on desktop.

 

Platform Support

  •     iOS
  •     Android
  •     OSX
  •     Windows
  •     Linux

 

How to implement Background Location in the AppStudio App?

  •      Enable the Background Location capability in AppSettings of the App

 

Best Practices

You can monitor the state of the application using the following property 

 Qt.application.active

 

 

4. Promises - Often while creating your apps, you may want to make something happen after something else is done. You may want to want to make an asynchronous request and perform something on completion of the request. Or you may simply want to execute set of operations in a particular sequence. Promises can be used to manage such asynchronous computation, allowing for separate processes to continue in parallel.

 

Promises are a pattern that helps with one particular kind of asynchronous programming: a function (or method) that returns a single result asynchronously. One popular way of receiving such a result is via a callback. Promises provide a simpler alternative for executing, composing, and managing asynchronous operations when compared to traditional callback-based approaches. The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.

 

A promise can be in one of 3 states:

  • Pending - the promise’s outcome hasn’t yet been determined, because the asynchronous operation that will produce its result hasn’t completed yet.
  • Fulfilled - the asynchronous operation has completed, and the promise has a value.
  • Rejected - the asynchronous operation failed, and the promise will never be fulfilled. In the rejected state, a promise has a reason that indicates why the operation failed.

When a promise is pending, it can transition to the fulfilled or rejected state. Once a promise is fulfilled or rejected, however, it will never transition to any other state, and its value or failure reason will not change.

Trek2There is a smart compass that will always point to your destination. If you missed previous releases, read more about the app in 
To help you orientate yourself in your real world surroundings, Trek2There now has a first person view that displays your destination on the camera view of your device. Tilt your device up to face where your going, and see the existing direction arrow change to a camera view with your direction and distance overlaid on the image.
We think this heads up display is pretty cool on its own - but if your keen, there's more for you to try out. On the settings page you will see an option called Experimental Features - turn these on to try out the use of more sensors on your device. 
By default in Trek2There, we only use the location sensor to determine where you are in relation to your destination. When you enable experimental features, we also make use of the compass, gyroscope and other sensors. We have seen this work great on some devices in some scenarios, but also a little a strange in others. We are very keen to hear from you on how the experimental features work for you. Ideally this is what you will see when you are in experimental mode:
  •    When you are stationary (or moving very slowly) the compass will be used to determine the distance and direction to your destination. This should result in stationary or very smooth movements of the direction arrow. In the top right hand corner you will see the text CMP to indicate that the compass is in use.
  •   When you are moving steadily, the location sensor will be used to determine the distance and direction to your destination. This should result in steady changes in direction (not shakiness that can result when using the compass while moving). In the top right hand corner you will see the text GPS to indicate the location sensor is in use.
Please let us know how the experimental features work on your device by commenting here https://github.com/Esri/Trek2There/issues