Sonoma Partners Microsoft CRM and Salesforce Blog

How to Plan Test Data for Testing Mobile Applications, Part 2

Today's post is written by Jen Ford, Principal QA at Sonoma Partners.

The last blog post I wrote about this topic covered the “Who” and the “What” of planning out test data for mobile apps.  Now, I will focus on the “Where”.

The “Where” – Where are your test users, and where are you?

As a tester, where you are located and where your test users are located, are integral components of mobile app testing. Like data security I mentioned in my previous post, this is another great place to look for defects. First let’s look at where your test users are.  If you have a global implementation, differences such as language, currency, and time zones can cause instability in the app if not tested properly. While difference in language and currency are fairly noticeable in a mobile app, how data syncs to a back-end system in different time zones is more subtle.

The first step is to make sure the following questions get answered:

  • What languages will this app support?
  • What currencies will this app support?
  • What time zones will the users be in?

When considering test cases for language, we will want to review the app in multiple languages. But there’s more to it than just that. Some test cases that are important to check include the following:

  • Make sure that when entering special characters in a language other than English, they display properly in the app, and in the back-end system when data is synced.
  • Make sure any text (field labels, instructions, demo modes) in the app display their special characters properly.
  • Field and label length. In some languages, the translation of a word is significantly longer than its English counterpart, or the word can translate into a multiple word phrase.  You will want to make sure these labels take up proper screen real estate in other languages, and don’t overlap other text on the app.

We have similar potential pitfalls with currency as we do language. Consider the following when writing test cases:

  • Make sure that when entering currencies other than USD, they display properly in the app, and in the back-end system when data is synced.
  • If the currency symbol is to be stored in the back-end system, make sure the correct one is associated to the value.
  • Make sure any text (field labels, instructions, and demo modes, for example) in the app displays the proper currency symbol, and the proper punctuation. For example: in USD, we’d expect to see an amount like this: $1,000.00.  In Japanese Yen, we should see it as this: ¥109,416.48.
  • Field length. Similar to language, make sure that when you enter a currency amount, that you can enter a large number. Going back to the amount in Yen, that number gets large very quick, so ensuring that those large amounts (both positive and negative) can be entered and properly stored in the back-end system is crucial to the success of a mobile app implementation.

Time Zones can be tricky if you are only dealing with a few that are close, like just the continental United States. Not taking into account time zones when testing can cause various issues with display and with actual data. Birthdates can be off by a day, policy effective and cancellation dates can be incorrect, and the ramifications of these issues are significant.  The good news is that you won’t need someone from every time zone to test if dates work across multiple time zones. You only need two: the one that you are currently in, and one additional time zone. If the test fails for the one additional time zone, it’s going to fail for all of them. Conversely, if it passes for one, it should pass in most scenarios (edge cases notwithstanding).  Here are some examples of what should be tested with time zones:

  • If someone is born on 1/1/1980, and this is logged into the app while in GMT, it should display as 1/1/1980, regardless of where the app is being accessed from in the world.  A user accessing this data from a different time zone should not impact this date whatsoever.
  • Effective and/or Cancellations dates. If you start an insurance policy, for example, your policy will have an effective date and time.  If you start your policy on 5/1/2016 at 12:00 AM GMT, then this should display in CST as 4/30/2016 at 7:00 PM, since this is the exact same time.

Regardless of the time zones that the app will be distributed to, testing with two time zones that are far apart from each other is the easiest way to spot defects, because the dates could then show as being off by one day.  I recommend whatever time zone you are currently in, and another one that has a 12 hour time difference.

The next important “Where” question, is where are you?  Where are you physically located, and where are you going with this app? This deals with how your app connects to the internet, and how it should behave when you are offline. It is important that your app is able to handle changes in internet connectivity. If this is an app that people will be taking into areas with little to no connectivity (hospitals airplanes, etc.), gracefully handling the app being online vs. offline is important. 

Here are some ways to test connectivity:

  • Test app functions (browsing, entering data, map functionality), while connected to a wireless network.
  • Test app functions (browsing, entering data, map functionality), while connected to a cellular network.
  • Test app functions while offline.

So, those seem pretty obvious, but the interesting stuff happens when you transition between each of these connection methods. To do this correctly, I recommend taking a walk (yes, a physical walk) with the app. When testing an app at work, this is a typical process that I go through:

  • Start in the office, connected to a wireless network.
  • Start walking around the office, making sure functionality continues to work, and any syncing or storing of data to a back-end system functions properly. I’d also make sure that maps are showing as I expect them to, based on my location and what other data points should be showing.
  • I’d walk out into the hallway, and wander around a bit. My wireless connection will drop and connect to a cellular network.  I want to make sure the app gracefully handles the switch, and that data entry, data display, and data retrieval are not interrupted with an unnecessary error or alert.
  • Then, I’d get into the elevator and watch my connection drop completely. Now I want to make sure that the app handles the switch to being offline. Does it display proper messaging, so that, as a user, I can visibly see that I’m offline? Does the app continue to work without crashing when submitting requests? Does any map functionality stop working and gracefully displays proper messaging to let the user know the map is not accessible (or display a stock image)? Does the app queue up requests that need to be synced to the back-end system, so that there is no data loss while working offline?
  • After my elevator ride, I’d get off and resume my connection to the cellular network. Is the switch handled well? Does my app now indicate that I’m online? If data is expected to sync automatically, does this happen now that I’m back online?
  • Then I return to my office, automatically reconnect to the wireless network, and resume testing. If I did not see any connection issues going from Wi-Fi to cellular, I wouldn’t expect to see any going from cellular to Wi-Fi, but if you’re walking that way, you might as well get some extra tests in.

Adding the “When” scenarios to your tests will start to broaden your scenarios and show you how this app will be working in real world scenarios. Enjoy the walkabout and prevent defects from entering your app once it’s live.

Happy Testing!

Topics: Enterprise Mobility

Could Siri Power Your CRM App?

Today's post was written by Kyle Gerstner, Principal Consultant at Sonoma Partners.

The WWDC script has been the same for the past few years; go through Mac, iOS, Watch, Apple TV, and show off some cool new features that have been developed. 

Usually, these features are consumer focused and don't have a huge impact on enterprise mobility. That being said, something was announced this year that could greatly improve the user experience of enterprise applications.

We don't have a lot of information yet, but Apple has opened up the Siri API to developers.  This will be accomplished through a new API called Intents. This allows a developer to enable their application to respond to a request the user has asked Siri to complete. The demo during the WWDC keynote focused on consumer use cases, including examples such as hailing an Uber or sending a text message through a 3rd party application. We're excited to get more details as they come out and see if there are opportunities to trigger actions in our applications.

Let’s look at how this could impact one of our applications: Activity Tracker.

Our Activity Tracker application is built for iOS and allows you to search across CRM contacts and accounts, view basic information, record activities, and create new contacts.  While we have made every effort to make the user experience very streamlined, it would be much better to be able to ask Siri to look up John Smith's phone number, or even start a phone call to him.  Could we ask Siri to add a note to the Sonoma Partners account and dictate the text of the note?

We don't know what will be possible with this new API, but we are very excited about the prospect of it.  It also shows that Apple is becoming more willing to open up their APIs to 3rd party developers.  Apple announced developer access to a few other APIs that aren't relevant to the enterprise market, but shows their willingness to allow 3rd party applications to feel like they are built into the OS.  We hope there is more good news on the horizon.

Are you interested in learning more about enterprise mobility? Contact us to get the conversation started.

Topics: Enterprise Mobility

The Best Method to Demo Mobile Applications

Today's post is written by Brian Kasic, Principal Consultant at Sonoma Partners.

Mobile applications are becoming more and more prevalent within CRM projects.

Seeing how they function is critical to the success of any mobile deployment. However, in my experience, screen prints seem to be the standard way of showing functionality or training end users on how a mobile CRM application works. Typically users learn how to use mobile apps by interacting with them. They should be intuitive and straight forward. Demoing an app or training end users on how to use an app should be just as intuitive. However, getting started can sometimes be challenging, especially when there is a process involved or if end users are seeing the app for the first time.  

At Sonoma Partners, we utilize a product called Reflector 2 to mirror your phone via Bluetooth on your computer. The set-up and steps to reflect your app to your computer are simple. The Reflector license pricing is reasonable and worth the corporate license fee. By mirroring the app on your computer, you can quickly create re-usable videos to assist end users when they are first starting to work with their new mobile CRM applications.

Here are the steps for getting started on an iPhone:

  1. Download a trial of Reflector 2 to your computer. If you end up liking it the pricing and licensing can also be found on the website.
  2. Launch Reflector 2 on your computer.

  3. Next make sure your computer Wi-Fi and your phone Wi-Fi are on the same network. This is important and can be where you run into trouble. Also be aware that if you get bounced off of Wi-Fi, you need to start over again. I’ve seen Reflector need to be completely closed and restarted to begin a new session when bounced off of Wi-Fi.

  4. From your phone find your Bluetooth button. This is can be done by swiping up from the bottom of an iPhone. Then Click “AirPlay”.

  5. Within Airplay find your laptop and swipe the mirroring button.

  6. This will Mirror your content from your phone screen to your computer screen without wires.

  7. You can move the phone on your computer with your mouse by hovering over it and dragging it to another part of your screen.

From here, customers and end users can see the actions on your phone directly on your computer. I’ve given demos showing data being entered into the phone then immediately refreshed my CRM online environment showing the data being updated. You can also demonstrate voice activation on the phone and the time savings it can provide to enter notes or activities. Both of these demo tricks of showing the mobile app in action have fostered very positive feedback from the audience.

Android installation instructions can be found here.

Have a question about mobile CRM applications? We're here to help.

Topics: Enterprise Mobility

How to Plan Test Data for Testing Mobile Applications

Today's post is written by Jen Ford, Principal QA at Sonoma Partners.

When brainstorming test data for testing out a mobile app, I go with what I learned in the first grade: The 5 W's - Who, What, Where, When, and Why.  In this blog post, I will address the “Who” and the “What".

The “Who” - Security

Security is extremely important to consider in a mobile app.  If you are connecting to a back-end system, you want to make sure that the security that exists on the back-end is mirrored in the mobile application.  This means that users shouldn’t see anything in the app that they can’t see in their own environment.  This is a great place to start looking for defects.  Not properly handling security within the app can lead to crashes and data loss when syncing to the back-end system.  For example, let’s consider a requirement for expense submission and approval.

Requirement: Users will create expenses and submit them for approval.  The manager will receive an e-mail summary of the expenses, and will approve the expenses.

  • All users should be able to create, submit, and view their own expenses.
  • A sales person cannot view anyone else’s expenses.
  • A manager can view their own expenses, and all the expenses of their direct reports.
  • No users should be able to approve their own expenses.
  • A manager can view, edit, and approve the expenses of all their direct reports.

Using these requirements, we can determine what permissions each role should have.  This is as simple as jotting this down in an excel spreadsheet or table, just like the below:

Expense Security Scenarios

ID #



Sales Manager


Create new expenses




Create new expenses on behalf of others




View their own submitted expenses




View others’ submitted expenses




Update own expenses before submitting




Update others’ expenses before submitting




Update own expenses after submitting




Update others’ expenses after submitting




Approve their own expenses




Approve others’ expenses



Now we know that there are 10 scenarios to test for each User Role. The next step for each Expense Security Scenario is to identify what test data needs to be set up to accomplish each test above.

The “What” - Test Data

Careful thought processing before starting testing is the key to smooth test execution. 

By putting forth the effort to plan out your test data, you will consider all scenarios up front.  This will lead to ease in execution, or the ability to bring in other people to test if the timelines are tight.  Planning your test data and setting it up, if it needs to reside in a system that is integrating with the application, can be done while development is going on.  The important thing here is to figure out what is happening on each page of the app. 

Consider our expense submission and approval example above.  First, let’s think about what expenses we will want to set up in our environment to successfully test the submission page (see the sample below).  In the analysis, you will see that there are scenarios that will validate the “happy path”, and scenarios that are expected to fail.  I recommend jotting down every scenario you can think of, even if it ends up being 100 different scenarios.  Then, when you are done, take a look back at it and determine what you do not need to do.

Maybe you have redundant scenarios or maybe you have scenarios that can be combined. In the chart below, take a look at scenario #2.  I could have positioned this as two different scenarios: one to make sure that an expense with an earlier date should be able to be entered, and one where an expense that is not a whole dollar amount should show the cents when submitted.  I combined them because I expect both to succeed.  If you identify your test data and flow for each page of your custom app up front, you will be able to quickly hit the ground running when it is time to test.

Expense Creation Scenarios for ES-01

ID #




Expected Result


Add an expense with today’s date, and any $ amount.



Expense added successfully.


Add an expense with an earlier date, and any $ amount.



Expense added successfully.


Add an expense with a negative amount.



Expense not added.  Error message displays.


Add an expense >= $1,000.00



Expense added successfully.


Add an expense with a future date.

[future date]


Expense not added.  Error message displays.


Add a $0 expense.



Expense not added.  Error message displays.


Add an expense with a blank amount.



Expense not added.  Error message displays.

When you combine the two charts above, we can see the test cases flesh out.  We have 7 test cases for Expense Security Scenario ES-01.  Considering we need to test this across 2 different user types, we now have 14.  And there are nine Expense Security Scenarios to go!  Not every one of these will need 7 scenarios each.  If we were to flesh out ES-02, that one is quick for both the sales person and the sales manager: one test case each to make sure that they cannot create new expenses on behalf of others.

For each of the Security Scenarios, we’d repeat the exercise by going through and identifying the necessary tests. Excel is great for keeping track of these.

Record Counts: Online & Offline

Now we need to consider how much data we need to sync down to the device when it is online and when it is offline.  To do this, let’s make another chart and figure out what to expect.  Interviews with key stakeholders will help you answer these questions.  Test with too little data, and you can run into unanticipated performance issues.  Test with too much data, and you could be spending extra time performing unnecessary tests.

For our Expense Scenario above, I would ask the following:

  • How many expenses would a user submit per day?
  • How many users report to a sales manager?
  • How long should past data be available on the device?
  • How much of this data needs to be available offline?
  • Is there a scenario for a system administrator who will have access to all records in the system?
  • If so, how many users are there?

And we may get these answers:



# Expenses per User per day?

20 expenses / day

How many users report to a Sales Manager?

10 users

How long should data entered in the past be available on the device?

1 month

How much of this data needs to be available offline?

All data

Will a System Administrator use this app?


# of Total Users

100 users

Looking at these amounts, we can see that a sales manager will have significantly more data than a sales person, and that data needs to be available on the device for 1 month.  The requirements are the same, whether the device is online or offline, so:

  • Each sales person will then have a max of 20 expenses per day for 1 month (31 days) = 620 expenses
  • Each sales manager will then have this amount of data for 10 users = 6,200 expenses PLUS their own expenses: 620. Total expenses for a sales manager = 6,820.
  • A System Administrator will then have this amount of data for 100 users = 62,000 expenses

Now we know that when we're creating our test data for the mobile app, we will not only need to consider the various scenarios to test for data entry, but also how much data we need to pre-populate at the start to ensure that the devices can handle the load. We will be modeling real-life scenarios from the start of testing, which will uncover performance and usability issues early on.

Happy Testing!

Topics: Enterprise Mobility

Visualizing Opportunity Data with Dynamics CRM Phone Client

With the move to CRM 2016, on premise customers can now get some of the cool features that CRM Online customers have been enjoying since the spring of 2015. One of these newer features is the updated phone client. Much has already been written about this awesome new client, so I am going to focus on a little nugget I found while testing the client…opportunity calendar visualization!

When looking at your opportunity list, tap the ellipsis ( … ) at the bottom to show the navigation bar. At the bottom, you’ll see Change Visualization action.

opp_phone_menu        opp_phone_menu_change

At first, I thought this had something to do with the native charts, but to my surprise, it was something much cooler. You’ll see that you can show the List/Grid by default, but also have a new Calendar option. After selecting the calendar option, you will now see the opportunities grouped by estimated close date and even have the ability to view by day/week/month.

opp_phone_week       opp_phone_month

And while a bit subtle, notice the dates on the month view change to a blue when opportunities are estimated to be closed on that day (see Jan 18, 2016 in the above example). This helps users know that data exists before tapping a date.

I love the direction the Microsoft team is taking with their mobile client. These small changes make for huge usability  gains for end users and also allow us to rethink how we look at traditional business data.

Topics: Enterprise Mobility Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM 2016

Break the Ice with a Mobile Test Drive


Today's post is written by Kyle Gerstner, Principal Mobility Architect at Sonoma Partners

I believe that every company that has employees working in the field on a daily basis, needs to have a mobile solution. While this is easy for me to say, it’s not an easy initiative to undertake on your own. Some of the questions you may be asking could include:

"Where do we start?"
"What would the requirements be?"
"Why should we spend the money?"

Sonoma Partners offers a Mobile Test Drive package to help our clients tackle these issues, and get started on the path to creating an amazing mobile application.

One of the main components of our Mobile Test Drive is our ride alongs.  During these, our User Experience and Mobility experts observe representatives from the different user groups who would be targeted for a mobile application.  We are looking at what the users do on a day-to-day basis, what information they need access to, and get an initial idea about what the user base may want for a mobile application.  We go into these with a blank slate; no preconceived notions of how the users should be doing their job or what they need to do their job.

We use our findings from the ride alongs to help validate the business requirements for the application.  If you had a set of business requirements beforehand, we usually find some that aren’t overly useful, add some details to others, and find totally new requirements that we think would be valuable to add.  We also help prioritize your requirements, which is helpful when thinking of budgets or timing of feature rollouts.

Finally, we put together some high fidelity wireframes of what the application may look like and a simple proof of concept that you can run on a device to get a feel for how the app would work.  You can use these deliverables as a way to build internal excitement about the initiative and solicit feedback from your users about what you are planning on building.

Here are some examples of high fidelity wireframes and what your working prototype could look like:

Account View - History

Account - History

Account View - Call Report

Call Report

Account View - Information

Account - info.fw



A Mobile Test Drive will help your company figure out what mobile application to build, who will use it, and how they will use it.  I have found that starting with a Mobile Test Drive leads to a better end product and greater user adoption.

Here's how you get started:

1. Contact us to set up a time to discuss a mobile test drive
2. Watch and learn more about our Mobility Test Drive offering

The Negative Effects of a Disjointed CRM System
Topics: Enterprise Mobility

Refreshed Dynamics CRM Phone App Available

A few months back, Microsoft announced the new and improved version of their Phone Client would be available with the Spring 2015 release.  However, with releasing any app to the various app stores, they’re not released immediately.

However, recently the app did show up in the Apple app store and we were able to get our hands on it to take a look and compare it to the previous version.  The previous version is still available in the app store, and has been rebranded “Dynamics CRM for phones express.”  A couple years ago we blogged about it’s release and the functionality it provided back then.  I linked to that post so you could compare and contrast the look and feel of the previous express version, to the new and improved version.

The new version, branded “Dynamics CRM for phones”, is now available in the Apple store, Windows store, and Android store.  You can tell the difference in the apps based on the icon and name.


Microsoft is moving to a “configure once, deploy everywhere model.”  What does that mean?  That means the life of a configurator is going to be that much better.  More specifically, the form customizations you make in the CRM web client, will now not only be what you see on the CRM Tablet client (as they have been since it’s release), but will also be what you see on the new CRM Phone client.  Therefore instead of having to update the main forms AND the mobile express forms, you’ll just need to update the main form for any changes you make to be applied across the board.

Now to the details.  What does the new Phone Client look like?  Well if you’ve used the Tablet Client before, it’ll look very similar to that.

When you initially log in (requiring only your IFD URL to your organization, user id and password), you’ll see your home page.  This home page is the Sales Dashboard.  However, in the Web Client, you can create additional dashboards that can be selected when you’re on the home page on the Phone Client, and you can also make that dashboard your default dashboard.

image  image

As you can see, from here you’re able to view records that you’ve pinned to your home page.  You can also resize tiles that are on your home page and this makes it super convenient for records with contact information like the Patrick Sands sample contact record above.  You can easily email and call this contact now directly from your home page without having to click into his record.

You can also see at the top of the page the global menu bar which has the following commands from left to right:

  • Back – takes you to previous pages
  • Home – takes you to your home page
  • Search – initiates a multi-entity search
  • Site Map – displays the entities you can navigate to

Also on all pages at the bottom right is an ellipses.  Clicking on this presents more options for the area you’re working in, as well as allows you to create a new record from anywhere you’re at within the application.


When you navigate to an entity from the site map, you can create a new record of that entity type by clicking the plus button at the top of the page.

image image

When on a record, you can view the data about the record and related data very easily.  The Phone Client now uses the same exact forms that the Tablet Client and Web Client use (configure once, deploy everywhere).  If you’re going in to talk to a customer, you can navigate to their account and view any open cases or opportunities immediately from the Phone Client.  You can click into an Opportunity to then see the process based form, and where you’re at within the sales process.

image image image

The phone app also allows you to easily create emails and make phone calls by clicking on email address and phone number fields.  The email fields will automatically open your native email client, and the phone fields will automatically initiate your phone client.  The good thing is after you hang up the call, you’re returned to CRM with a new phone form initiated so you can just punch in the details and click save.

image image

image image

The integration between the Phone Client and the native mobile phone doesn’t end there.  Any address field on the application is clickable, and when doing so, you’ll open up the native map application.

The Phone Client also has a disconnected mode just like the Tablet Client.  While the offline mode is better that previous versions, this is still lacking in that it’s not showing you all records that you have access to, but instead, recently accessed records.  You can create new records while offline (called offline drafts), but unfortunately you cannot modify records while offline unless it was one that you just created while offline.  You can view your offline draft records by navigating to them via the Site Map (you’ll see a new “Draft Records” entry with a count of drafts).  Then when you’re back online, you can go into this list of drafts, and re-save them for them to save to the CRM database.  Not ideal, but is much better than nothing, and I’m really looking forward to what Microsoft has in store for vNext.

image image image

It’s great to see Microsoft continue this “mobile first’ mode and add more products to it’s repertoire.  Enhancing the Mobile Express app and making a true mobile phone app now rounds out their suite of products (web, tablet, phone) to all be first class.  Next steps are to add more features to these apps so that functionality that’s available on the web, is also available on these apps (e.g., custom web resources).  I’m also looking forward to seeing how they further improve on their offline story, and hopeful they provide a true offline solution where users can work with existing records while offline, and not only new records they create while offline.

However, as you can see, the application is pretty robust as it stands.  And the best part is the cost:  FREE!  Go ahead and download your copy now and start playing around.

Topics: Enterprise Mobility Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

How Changing Nothing Can Change Everything: M.Holland & Mobility

"We can do this in a better way."

That's the conclusion that M. Holland came to when they recognized the need for a CRM solution. They pinpointed deficiencies in their business processes and looked to CRM to take them from -1 to 0. But what started as a CRM implementation project evolved into so much more the moment they realized that by changing nothing, they could change everything. They didn't need to invent new processes or technologies. They needed to alter the delivery of the information they already had and make the functions they always had to do more accessible. To get from 0 to 1, and a place where they had a competitive advantage, they needed a mobile application.

Take it to the field

In the early stages of their CRM project, M. Holland team members took our UX architects into the field to collect essential observational data. They went on ride alongs to watch how people actually did their jobs, instead of listening to them explain how they thought they did their jobs. We found that what was supposedly being met on paper wasn't being met within the context of modern mobility. And with that, the conversation headed in a new direction - towards the creation of a mobile app.

No wheel to reinvent

The mobile app discussion was far from revolutionary. Mobilizing your business doesn't require you to make big changes in relation to what you do or how you do it; it requires you to change how the information and processes you have are communicated and accessed. Once in the field, M. Holland recognized that their people were trapped in the paradigm of their every day. Their sales force was frustrated with their existing tools and felt stuck. Getting information from various locations and drives in their laptop was a painful task. What their team needed was a fresh perspective.

IT to the rescue

It took a technology person to uncover that fresh perspective. Through the participation of junior-level UX activities, M. Holland's IT team was able to understand the tactical flow of events that the field team completed in the real world. Understanding the back and forth of activities and data in a dynamic way allowed them to see things differently, and beg the question: what if we did all of the things we're doing but in a mobile-centric way?

Enter Sonoma Partners

M. Holland’s IT team laid the framework that allowed our UX team to create the mobile solution that they were looking for. Take a tour of two of the app screens below:

Account – Canadian + Ship To
Account - Canadian + Ship To
Take a look at the landing page for an account in the phone app. We put the absolute key information, specifically information that a user might need on their phone, on the surface as soon as an account is located. 

Here you can see the account name and number along with the ship-to details. This is useful for the common case of speaking with M. Holland Customer Service on the phone. If a shipment is delayed, a rep will need this info and it’s important that it’s easily accessible.

The Alerts + Tasks section clearly shows any outstanding work items related to this account. The contacts section allows the rep to tap in and see all contacts at this account. Since we know a rep typically deals with one primary point of contact at a given account, we created a special display of that person’s info on the front page. We then give one-tap access to the rep so they can quickly email or call that individual.

Task List
Task List
Breaking the task list into “Needs my attention” and “Awaiting others” is a relatively simple concept from a CRM customization perspective. But in a mobile app, it is a very big deal. This function allows the app to replace excessive amounts of emails back and forth between sales reps and product folks. With one tap they can answer two questions:

-      What do I need to work on?

-      What’s the status of XYZ I fired off?

Finding the answer to both of these questions used to require annoying searches through an overfilled inbox. With the app, problem solved.

The result

A solution that has:

  • Improved customer experience, leading to more opportunities and growth
  • Pushed the technology team to be engaged in the business
  • Increased credibility of the organization in the eyes of their customers
  • Capitalized on the momentum of mobility to better serve their field team

Neil Goodrich, CIO of M. Holland Company will be presenting How Changing Nothing Can Change Everything on Tuesday, May 12, 2015 at 3:30 pm at appsworld North America 2015. Come learn more about how M.Holland achieved their mobility goals and how the IT team played a central role in creating that vision.


Get a working custom mobile app for your CRM system


Topics: CRM for Manufacturing Enterprise Mobility

Activity Tracker – Microsoft Dynamics CRM Mobile Samples

Today’s post is co-written by Kyle Gerstner, a Principal Mobility Architect at Sonoma Partners.

With the rush of the holidays, you may not have noticed that the Microsoft Dynamics CRM team released a new set of sample mobile code that demonstrate how to connect and interact with Dynamics CRM from Windows Phone, Android and iOS devices.

Microsoft asked Sonoma Partners to create a sample code solution specifically for iOS and Android developers. In these discussions, we wanted to showcase more than a simple mobile example connecting CRM. We believed we could come up with a quick, easy to understand reference application that leverages the code samples mobile developers would use in common applications, but also be immediately valuable to the user community. Our key solution tenants were:

  • Provide framework for custom mobile applications
  • Phone-based application
  • Simple & common use case
  • Stand-alone reference application
  • No CRM solution changes required

We focused our use case on something every mobile user can appreciate: the ability to quickly find a contact’s details and record an interaction with that person. The results are the Activity Tracker phone sample application!


While we focused on the iOS and Android versions, Microsoft developed the Windows Phone in parallel, providing you the code to natively work with whichever device makes sense for your organization.

This starter application code was designed for mobile developers looking to get started with Dynamics CRM for the first time, as well as seasoned Dynamics CRM developers. Activity Tracker demonstrates how to find a contact and submit one type of activity interaction (a check-in task). However, the code is open source, so you have a framework to easily add additional activity types, brand the application to your color scheme, and also add additional entities (such as account and opportunity). You can also look to extend the use case slightly for more advanced scenarios.

To demonstrate, we have extended the application for our internal use to bring back tweets from a contact. We simply added a ‘Twitter Handle’ field to the contact form and use that to make a call to Twitter, retrieving all public tweets associated with that twitter handle. As you can see from the screenshot, we also altered the design of the activity history to use a horizontal scroll, for better usability with more information sources.


The Microsoft team also has demonstrated extending the application. They have a sample that enhanced the Windows Phone example to use Cortana – bringing the power of voice commands to your CRM data entry!

From a technical perspective, the samples show you how to connect to both the SOAP and OData endpoints that Dynamics CRM uses. As a mobile developer using Dynamics CRM, you will probably use both endpoints in your custom applications.

The OData endpoint is a more common approach for connecting mobile applications, and is the primary approach taken in this sample. For example, we use OData to fetch details of the contact and get the recent records list, which comes back in an easy-to-consume JSON format. However, not all of the Dynamics CRM API methods are currently supported with OData. One example of this, is using the Execute method which was needed to mark an activity as completed. Hence the need to also demonstrate how to interact with the SOAP endpoint.

We also made use of Microsoft’s ADAL library for Objective C and ADAL library for Android, which uses OAuth to authenticate the user to CRM. Like many mobile applications, this means your user authenticates from their appropriate authentication endpoint, with the credentials they already know and commonly use.  More importantly from an application development perspective, the custom application does not need or has access to your username and password. The OAuth model gives the user and system administrators the ability to revoke access if a device is lost or an employee leaves the organization, helping to further reduce the security risks generally associated with mobile applications. 

We believe these mobile samples will allow you to more quickly deploy a customized mobile application for your organization and make your mobile workforce more efficient and engaged.

Ready to mobilize your workforce? We can help. Contact us to learn more about mobile CRM applications for your business.

Topics: Enterprise Mobility Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

Using Mobile CRM to Drive User Engagement and User Adoption

Your sales team’s expectations are changing with evolving mobile technologies.

Take a quick look at the role that mobile devices play in their personal lives and take notes. We’d bet that a majority of your team uses their phone to complete tasks that increase productivity and save them time. It’s never been easier to pay bills, book flights, and set that painful reminder for a dentist appointment with just a few swipes, taps, and submits. Field teams are demanding new ways to be productive on the road and if your CRM solution doesn’t meet, or better yet exceed, these expectations… you won’t get the adoption you’re expecting. 

Mobile CRM applications can help you drive user engagement and user adoption like never before. Take advantage of the unique opportunity that these tools present, and build your team an app that gives them access to the information they need, when they need it, in a way they want to receive it.

Mobile CRM and User Engagement

Building a mobile CRM application for your organization gives you the opportunity to capitalize on internal excitement that can come with a new launch. Imagine two very different, but very real, scenarios for rolling out your future CRM system.

Scenario 1:

You are in a conference room that is filled to the brim with your sales team who are uncomfortably itching in their seats. They’ve noticed that there are 50 slides in your onboarding PowerPoint presentation and everyone looks to their lap where they try to inconspicuously reply to emails, on their phone. If you’re lucky, you have 50% of the room’s attention. You’ve spent months building your CRM and the group’s response is lackluster at best. From the point of unveiling, you’ll have to deliver solely on productivity and user value (you did focus on those during your design and implementation, right?) in order to achieve a successful adoption.

Scenario 2:

You are in a conference room that is filled to the brim with your sales team who are relieved to hear there won’t be an onboarding PowerPoint presentation. You begin the unveiling of your CRM by distributing an iPad Air to each member of your team with CRM/business applications that will help them close more business.

If you hand your end users a tablet, preconfigured with the tools they need, they are far more likely to take you seriously. Who wouldn’t love a shiny new toy that could help them do their job more efficiently?

The device handoff approach is far more effective than sending out an email announcement with a link to your CRM log-in. Trust us, we’ve seen both scenarios unfold and there’s no surprise as to which inspires greater end user excitement and engagement.

Mobile CRM and User Adoption

But the excitement that comes with a new CRM system and the corresponding device will eventually wear off. How can you use your mobile app to keep users engaged to the point that they consistently use the system?

Build or enable tools that truly serves their needs. Building value should be at the core of your project and without it, your users will stop using your app before eventually deleting it.

One way to make sure this doesn’t happen is to invest in customization.

A custom application will help you build an app for your user, not your data. Mobile CRM applications cannot do everything a web version can and it doesn’t need to. The goal is not to rewrite your existing CRM for mobility, but rather distinguish a new hierarchy of activities that your team needs access to on their phone or tablet.

Take the time to pinpoint the 2-3 key things that your mobile CRM application needs to be able to tackle. Minimize the complexity of your mobile CRM application by focusing on the key tasks your end users need to do on the day-to-day. If you can build your team an app that continues to solve their problems in a more efficient way, you create the best possible opportunity for user adoption.

One more thing. Choosing the right device is an important decision you need to make to maximize the value of your mobile CRM application. Outline the tasks your users need to perform and then align these tasks with the native components of different devices. Matching the device capabilities with your users needs will help you build the most effective product.

Want to learn more about Mobile CRM applications, user engagement, and user adoption? Contact us to see how you can create meaningful experiences for your users, which can positively impact the adoption and effectiveness of your CRM.

Topics: Enterprise Mobility