Sonoma Partners Microsoft CRM and Salesforce Blog

My Experience with Mobile CRM 2016 and Making It Work

Today's blog was written by Argyris Anargyros, Development Principal at Sonoma Partners.

Recently I had the pleasure of upgrading a CRM 2015 On Prem org to 2016 On Prem. The main reason for the upgrade was to take advantage of the latest CRM mobile applications for phone and tablet. Based on what I read and had experienced with implementing CRM Online using mobile apps, I expected this to go pretty smooth. This client was originally on CRM 4.0, upgrade to 2011, then 2015, and now 2016. I was a part of the 2015 upgrade, so some of these challenges were a surprise because I was unaware of all the changes that have happened over the years. Here is a list of all the "fun" stuff we ran into once we upgraded and tried out the phone and tablet apps for iOS and Android. 

Bad Assumption

Let's start off simple and talk about Microsoft's documented limitations for Mobile apps.

"Forms in CRM for tablets are limited to 5 tabs (or 75 fields and 10 lists). This limit includes hidden fields."

What I got tripped up on was the definition of a list. I assumed a list was a view or sub-grid, but that was wrong. The simplest way I defined Lists are screens you can swipe to on your phone. Below is a screenshot of the visual indicator of which the list you are currently on. The underscores in light grey and black show the 10 "lists," or screens, you can swipe to while on an entity. Make sure you watch out for this limitation if your form is on the large side. You may run out of space and sections of your form may not appear as expected. For this project, we were able to trim down the needed sections. This was missed, though, until we went to UAT and someone tried to get to a section that was not available on Mobile.

Argy mobile 1

Where are my connections?

According to the documentation on MSDN, connection were not available for 2013, but for 2016 the disclaimer provided by Microsoft was removed.

Argy mobile 2

This note was provided in the 2013 version of the "Entities displayed in CRM for tablets" section of this article, but not in the 2015 or 2016 version. This note is still valid for 2016.

Error - This view is unavailable.

While swiping around the app, we would occasionally see this message: "Error - This view is unavailable." I attempted to use the mobile app logging to help identify which view or which entity was causing the issue, but nothing there. I ended up identifying the next screen which was the activities entity. After reviewing all the available views, some of the system views were disabled as a part of a previous deployment. It looks like the mobile apps are looking for specific views to be available. Once we activated the "All Open Activities" and "My Activities" views, the errors disappeared.

Default Sales Dashboard

The mobile app home screen is defaulted to the default Sales Dashboard. If  you want to change this default for the browser, all you have to do is make a small change to the site map and set default dashboard for each area, Sales, Marketing, etc. Mobile ignores this and uses one specific OOB sales dashboard. To get around this, we recreated the default sales dashboard as a new dashboard and then edited the OOB sales dashboard to include the data we wanted to see. This way the mobile and web applications showed the same dashboard and the users still have the option to switch to the native dashboard.

White Relationship Tiles

This was a fun one. While on an entity we would see blank tile spaces intermixed with the tiles for related entities. When you tap on those spaces they would take you to a related entity. I ended up finding this helpful article on CRM Tip of the Day which resolved this issue for most entities, but we ended up with a few that this did not work. Luckily we did not need those related entities as related entities, so we removed them from the navigation.

Order of Operation

Intermittently we would see an issue with the mobile app executing JavaScript out of order. This was something we did not see on the browser, but to resolve this we ended up consolidate all of our scripts to one file. Enforce libraries were in place before events are fired helped remove these issues. This might be a practice you are already following, but as this was an upgrade we had a handful of web resources being referenced by the form without issue until Mobile was introduced.

Fields Need To Be On The Form

While taking a look at Opportunities, we started to see this error.

Argy mobile 3

We did not find any of our code that referenced this field, so assuming the mobile app needs this field, we added it as a hidden field on the form and the error went away. We also saw this for the stage field and the same solution worked. Both of these fields are not in use for this implementation, so adding them was not needed for the browser.

Related Lookup Filter

The native filters on related lookups do not work on Mobile, but you can add some JavaScript to fix this. Using the addPreSearch and addCustomFilter XRM commands, you can mimic the same behavior as the native filters. Up to you if you would like to add a check so your code runs for mobile only, but probably a good idea.

I hope this list helps you resolve some of your challenges with the Native CRM Mobile app. The most helpful tip I can provide (taken again from the CRM Tip of the Day) is to make sure you start looking at mobile as early as possible and for developers, use your browser to test/debug mobile issues.

Learn how to use Voice of the Customer in this guide

Topics: Enterprise Mobility Microsoft Dynamics CRM 2016