The Irresistible Force of Great User Experience in CRM Applications

The Irresistible Force of Great User Experience in CRM Applications

Those who have worked with Dynamics CRM for a longer period of time will remember how the user experience delivered by the platform has evolved over time: from an Office style, data entry focused, Internet Explorer popup window application into the clean and modern Dynamics CRM 2015 application that works on any device and aims to present the maximum amount of relevant information to the user with the minimum amount of clicks. There was a time when CRM didn’t exactly seem like something that was designed with the needs of the end user in mind, but this direction changed quite drastically from the CRM Online December 2012 Service Update onwards, as Microsoft started to redesign the experiences they wanted to deliver for the users of their business applications in the new era where mobile, social and cloud were quickly becoming the most dominating forces in the world of enterprise software. Not forgetting the consumerization of IT, which had shown people that not every app used in a work context needed to look like a 90’s ERP system.

I have covered this transition in quite a bit of detail in my four part article series titled “Dynamics CRM Platform Evolution”, which I’d recommend you to read through for understanding the practical impact of moving from the “first era” of MS CRM v1-v5 onto the current era of largely CRM Online focused rapid product iterations. One of the points I raised in the article was that not all the CRM software providers in the market had chosen to follow a similar path of introducing a big bang revolution to their application. Unlike Microsoft, had instead opted for an evolutionary path that had seen their application UI remain almost unchanged for the main components and layout, as depicted in the image below.


While being wildly successful in becoming the “next CRM application” after the 90’s generation of Siebel style, on-premises enterprise CRM suites had began to slide out of the limelight, Salesforce also began to receive a growing amount of criticism over the legacy that its user interface had accumulated over its history. The question of “Why doesn’t Salesforce upgrade the UI/UX of its core CRM web app?” did seem more and more valid, especially when competing products like Dynamics CRM were transforming the user experience that one could expect from a customer relationship management application. Well, finally in late August 2015, Salesforce announced that their next era of CRM UX would arrive in the form of the new Salesforce Lightning UI.

Welcome to the Future of CRM, Salesforce!

First of all, congratulations to the product team behind the Lightning UI on the launch! Pulling off a major redesign like this is bound to be a massive task and I’m sure in many ways the work has only begun now, but it’s still definitely an achievement worth celebrating. As many of you may have noticed, in my day job I work exclusively with Microsoft Dynamics CRM, so whatever I write here about a competing CRM solution is not going to be 100% objective. For that I apologize, but the point of my post isn’t to bash Salesforce but rather to analyze some of the trends in CRM software in general and also reflect back a bit on what has taken place in the world of Dynamics CRM during the past few years.

But first, I need to just get something out of the way. Damn how these two apps look alike! Here’s the brand new opportunity form on Salesforce Lightning UI, a.k.a. Opportunity Workspace:


…And here’s how the opportunity form on Dynamics CRM has looked like pretty much since the 2013 version:


Notice any resemblance? Let me help you out a bit by listing the first five things that come to my mind from the Salesforce screenshot:

  • Sales Path for visualizing the sales process stages and related fields, known as Business Process Flow in Dynamics CRM
  • Tabs for switching between related activities and social posts, known as the Social Pane in Dynamics CRM
  • Composer for adding new tasks, phone calls and events to the opportunity, which simply is an inline activity quick create form in Dynamics CRM
  • Related information on Contact Roles, essentially the Stakeholders editable grid in Dynamics CRM
  • Persistent four header fields at the top of the form, ditto for Dynamics CRM

Yeah, of course these both are applications for managing your typical sales opportunity information with activities and contacts, so its understandable that the concepts used in the default screens would be unlikely to radically differ from one another. Still, contrasting Lighting UI with the traditional Salesforce UI and looking at how close to the now familiar Dynamics CRM form layout, UI controls and especially the Business Process Flow feature the Salesforce product team has ended up with their design is, well… Quite remarkable in my opinion. Not a bad choice by any means, and also serves in validating the direction that Microsoft’s team took when overhauling their application’s UI a couple of years ago.

Aside from the similarity to Dynamics CRM, there are plenty of nice looking designs and features included in the Salesforce Winter ’16 release notes. Some of them are about filling the functional gaps to Dynamics CRM (list view charts known from CRM 2011 make an appearance here), others are borrowing concepts from the more recent CRM apps out there (Kanban style opportunity board used in Pipedrive, Pipeliner et al., as well as SalesFlow for Dynamics CRM), but many of the release items seem to be focused on fine tuning the application usability and removing unnecessary friction from common tasks that sales people need to perform on a daily basis. Rather than just slapping on a new field layout and updating the icons, it does seem like the user experience of Salesforce will change quite dramatically with Lightning. Of course the true UX can only be evaluated once a live version of the application is available for testing how it truly feels like to use the app, but at this point it looks like a major step forward.

The Price of Revolution

Introducing a new application user experience to new users who don’t have prior experience of the product will always be far easier than forcing it upon the existing user base. While few people would say that they don’t want a nice & easy UI, the reality is that resistance to change is always a factor when dealing with human beings. When it comes to business software especially, disruptive changes are at the very bottom of the want list for the majority of people who are responsible for ensuring that information systems deployed for managing the core business processes of their organization keep on churning out the expected results. What’s going to happen when a CRM system jumps from evolutionary releases to revolutionary changes instead?

The one important thing to keep in mind is that changes like this never take place overnight. Migrating over all the functionality that vast application platforms like Salesforce of Dynamics CRM have accumulated over time isn’t something you can get away with a single big bang release. With Microsoft there was a preview version of the new UX introduced with the Online only Polaris release, launched almost one year ahead of the actual major release of CRM 2013 (v6.0). Initially only five core entities were updated to the new “refreshed” forms, and even today the latest v7.1 still contains lots and lots of entities and menus that follow the old Ribbon based user experience. So, three years later the work isn’t even done for the Dynamics CRM product team in renewing the platform, which means that the end users and system customizers need to cope with a somewhat mixed application environment. The platform legacy becomes most apparent with the new mobile client applications that don’t support the old product architecture, resulting in features like marketing lists or connections not being available on the modern client versions. Sure, life is much, much better with the new UX, but it has also introduced some new complexities into the product.

In the case of Salesforce, the story sounds to be somewhat similar, as not every area of their platform will be Lightning enabled right from the start. The Service Cloud will not yet be updated, nor will features like forecasting, orders or person accounts. In moments like these it’s always interesting to see how companies prioritize their development efforts, as they are likely to indicate either the observed level of usage for certain features of their products, or alternatively possible future plans to scrap something old and rebuild it from the ground up. If you’re working as a consultant that advises customers on what features they should take into use or invest in developing for their CRM systems, the messages conveyed by the application vendors via the frequency of updates to certain functional areas of their products are signals you’ll most certainly take into consideration when deciding on what strategy to recommend to your client base.

With 150k customers and millions of users, it’s going to take a while before Salesforce will have safely moved each and every one into the Lightning world. In fact, based on the statement by Sara Varni, senior VP of marketing for SFDC Sales Cloud,  this milestone may never even be reached, since Salesforce will support the classic experience “indefinitely”. In the oldskool settings of on-premises servers, the way this could have been handled would be for the customers just sticking to an older version of the software and not deploying any updates. When you’re the grandaddy of SaaS platforms, things are obviously a bit different and supporting older versions will require more than just accepting support tickets for ancients releases of your software. With CRM Online, Microsoft has previously been pretty strict on getting every customer to move on to the latest version via the CDU (Customer Driven Update) program, but lately they’ve also changed their update policy to allow skipping the bi-annual releases and updating only once per year. As SaaS products become a more mature market, I bet we’ll be seeing a growing number of options for customers to choose which versions to use, which features to activate and when to schedule these changes to take place.

Universal Experiences

The way Salesforce chose to build their next generation UI is different from the path that Microsoft took. While Dynamics CRM 2013 introduced both the new web client experience as well as the “MoCA” tablet client application as separate experiences (followed by the refreshed mobile app in CRM 2015 Update 1), Salesforce decided to first build the Lightning framework for their Salesforce1 mobile app and then scale it out to the PC screens. As a result, the screenshots that we see in the Winter ’16 release notes look very much like a mobile app placed onto the screen of an iMac. While you could in theory also use the Dynamics CRM for Tablets app on a Windows 8/10 laptop, the users will certainly almost always end up choosing the Dynamics CRM web client designed for interaction with mouse & keyboard rather than touch optimized “Metro” experience.


I think this will be one of the most interesting design choices to keep an eye on when it comes to user reactions to the new Salesforce Lightning UI. Regardless of all the recent Universal Apps hype that Microsoft has been building up alongside the Windows 10 release, I’m personally not quite convinced yet that you can deliver a great UX with a single app that needs to scale from 5″ touch screens to 27″ desktop monitors. As a result, I’m also not a big proponent of the “configure once, deploy everywhere” slogan used in reference to the Dynamics CRM mobile apps, since I’d rather see CRM applications truly optimized for the device and use case in question. However, if Salesforce can pull this off with Lightning, then perhaps Microsoft has been right all along with their OS strategy and the application teams should now move faster towards unifying the client side of things.

Applification of Platforms?

When it comes to products like Dynamics CRM or Salesforce, one of the key reasons why they are being so widely deployed across enterprises today is the ability to customize them to align with the business processes specific to the customer organization. They are not only replacing legacy CRM suites but also capturing an ever larger share of the market that used to belong to custom developed business software, since using a customizable application platform delivered from the public cloud can really drive down the TCO quite significantly. But if the CRM applications are now reaching towards an even more polished user experience in performing common tasks with sales, marketing and service records, what will happen to supporting the business specific scenarios that are more unique than what pre-built application features can cover?

When Microsoft launched the Dynamics CRM 2013 version with the refreshed UI, they didn’t only add more features into the already crammed product, but rather they took away some configuration options that had been previously expected from the platform. As the saying goes about the goal of design work, “perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.” That may very well be true when designing a product to serve a specific set of tasks, but it may not resonate so well with a toolkit used for crafting these end products. Limiting the options shown to an end users is different from limiting the options available to the designer of the final solution that the user will be exposed to.

How do such limitations show up in everyday life with the latest Dynamics CRM version? Today we have inline quick create forms for effortlessly adding activities for records, but we can no longer choose if we want to record a future phone call activity instead of a completed one. We can use an editable grid for adding line items into opportunities, quotes and orders, but we can’t configure these grids to contain those fields that the business logic would require to be recorded onto these line items. The price of added convenience for some is therefore resulting in the reduced usefulness to others. Looking at the Salesforce Winter ’16 release, it’s apparent that also here the polished UX will be come at the cost of reduced options. For example, there will be a brand new, great looking Home screen offered for sales users, but the components shown in it cannot be customized at this time.


Is there an inherent conflict between the needs of the application end user and the platform customizer? I don’t believe this is necessarily the case, but it is obvious that there are trade offs in building something that works great and building something configurable when it comes to the allocation of development resources for these software products. As the release cycles get faster and faster, the pressure for getting a new feature out there can mean there’s no time to perfect the first version into something that will meet the needs of all user groups and align with the rest of the platform functionality. The real question is, will the features be made more customizable in the subsequent releases, or will the requirements be pushed down in the backlog when the demand for more new features arises?

When discussing the user experience of applications that are not commodity services like email but highly business specific process management tools (at least when properly deployed), it’s very important to understand what the final UX really consists of. It’s not only about having the slickest UI controls for working with the data, the flashiest graphics for visualizing the sales pipeline or most creative layouts for presenting different data sources on one screen. At the end of the day, the users need to feel like they can easily accomplish the tasks they are responsible for, with the help of the application – not despite of it. Understanding what exactly those tasks are and what pieces of information are relevant to the process of their completion is something that requires careful analysis conducted at the organization deploying a new CRM solution. Failure to do this will quickly wash away any value that the software features could have potentially delivered to the organization.

As today’s CRM platforms become more and more sophisticated with the functionality and data presentation options available, the design work of those who configure the customer specific solutions also needs to be aligned with the increasing expectation levels for application usability. It’s still not rocket science, but it does require a greater attention to detail than the earlier, more primitive business applications where the UI was essentially a reflection of the data model. I’ve illustrated some of these design aspects in my 10 Tips for Designing A Great User Experience presentation, which hopefully can give an idea of how the system customizers can do their part in building CRM systems that the business users will find great value in – a Useful Experience, if you will.

CRM Navigation Hacking with Bookmarks

CRM Navigation Hacking with Bookmarks

When you spend your days working closely with an application like Dynamics CRM, such as when customizing or developing solutions for your customers, your mind will often times be working much faster than the application. You know exactly which feature you want to access, but if you need to navigate through several levels of menu hierarchies to get there, the process may be too slow to keep up with your train of thought, making it hard to concentrate on the actual task at hand.

My personal strategy for reducing the cognitive burden involved with navigating inside Dynamics CRM has been the use of smart bookmarks. Here’s some tips on how I’ve set up my current working environment. If you have any similar CRM productivity tips of your own, please do share them in the comments section below.

Launching New Tabs from “Quick Nav”

While piling up a mountain of open browser tabs may not be great for your productivity either, the cost of moving between tabs is still lower than constant in-app navigation between menus. When working with CRM customizations, I always tend to have the end user content in one tab (views or record detail forms) and the Solutions view on the other one, so that I can quickly access the component I want to modify and validate the results with an F5 on the other tab.

Dynamics CRM 2013 and beyond unfortunately don’t support the standard convention of right-clicking on menus and opening them up in a new browser window. Nothing stops you from opening CRM in a second tab and working with the settings via it, but this means you always have to start from the first page and navigate back to where you wanted to go. To speed things up a bit, I keep a “Quick Nav” available menu in all my browsers, created as a folder in the favorites/bookmarks bar that I also keep open at all times.


So where exactly do those bookmarks lead to? A specific menu in a certain CRM organization? Nope, those are generic bookmarks that apply to the currently open CRM organization. They work in any CRM 2013 or CRM 2015 environment, on-prem or Online. You see, they are not actual bookmarks with a static URL pointing to a resource somewhere, rather they are bookmarklets that contain a short piece of JavaScript. [Read more…]

Don’t Merge Your Forms in CRM 2013

Don’t Merge Your Forms in CRM 2013

If you have been using Dynamics CRM before the 2013 version was released, you may have something in your system called “information forms”. This is not a very descriptive term for them, since of course all the entity forms are about presenting “information” to the end user. These forms actually date back to a time in the Dynamics CRM platform history when there was only a single form available per entity. Times have changed quite a lot since then, as entities can now have role based forms, mobile forms, quick create forms and quick view forms.

Although not a specific form type in itself, CRM 2013 introduced a whole new layout for the default entity forms as a part of the UI refresh. Instead of the traditional & boring two column layout, the new CRM 2013 forms are made up of three columns that can consist of not just entity fields but also related entity subgrids, the social pane, Bing Maps component and other exciting new features. Whereas the old default forms were called “Information”, the names of these new forms follow the entity names. So, the account entity will have a new form labelled “Account”, as an example. (By the way: check this tip for optimizing your form naming convention.)

Merge Forms Feature

Since the new forms are designed to make better use of the new navigation paradigm of CRM 2013 as well as present the data in a much richer way than the old “ERP style” forms of past CRM versions, customers who are upgrading their Dynamics CRM deployment to the latest version are advised to migrate into using these new forms. In fact, Microsoft has stated that the next major version (CRM 2015) would no longer support the use of the old “information forms”.

To make this transition easier, Microsoft has provided a feature called “Merge Forms”. This new button available on the form editor in the CRM customization UI (which still utilizes the old CRM 2011 style layout even in CRM 2015, by the way) is intended to be used for bringing the tabs, sections and fields from your old forms onto the new forms with as little clicks as possible.


The process is described in the article “Update your forms to Microsoft Dynamics CRM 2013 or Microsoft Dynamics CRM Online Fall ’13”. Even more detailed steps can be found from the PDF document “How to Prepare for the CRM Online Fall ’13 Service Update”. Basically what the feature does is bring in the contents of the old form to the end of the currently open form, with the intention of making it faster to rearrange your customized fields and sections to align with the new default form’s content and layout.

Sounds like a handy feature, right? There’s only one slight problem with it: it doesn’t work.

Conflicting ID Values

“What do you mean it doesn’t work? I have used the button to bring in my custom fields and it did just what I expected.” Well, maybe I should rather say that it works partially. If you never export your CRM customizations into a solution file and move it to a different environment, you may not notice that anything is wrong with your forms. However, if you do want to move the customizations between development, test and production organizations, you might run into the below error message during the solution import process.


After the error, if you download the log file and open it, you’ll see a message like this:

Error code 0x8004F658. The label ‘E-mail 2′, id: ’87dc7c9c-94c1-3953-e490-11413b31d0ad’ already exists. Supply unique labelid values.

What the system is telling us is that we’re trying to insert an item into the customization metadata that has a non-unique ID. Depending on the scenario, the item could be a field or section label. But how did the ID end up being a duplicate? After all, we don’t assign these GUID values in the customization UI, rather the CRM platform generates them. What could have caused the system to violate its own rules?

The answer can be found from this thread on the MSDN forums: CRM 2013 Solution Import. A Microsoft support engineer has confirmed that the error is caused by a design mistake in the Merge Forms feature. Apparently in the process of merging form content from the old form onto the new one there is more data carried over than is needed. Not only do you get the form components exactly the way they are configured in the original form, but you also get the same ID’s. Now, since the old form also exists in the system, this will cause an error message when you try to import your solution file from the source system to the target environment, like from development to test environment, for example.

The Workaround

The system where I ran into this problem was running Dynamics CRM 2013 Service Pack 1 ( with no Update Rollups (see this earlier blog post for help on understanding the different updates and version numbering). The forum thread above does not indicate that a hotfix for the form merge bug would have been included in one of the released updates so far, so I’m assuming that all CRM 2013 environments are affected by it during the time of writing.

The suggested workaround in the forum discussion was basically “start all over”, meaning removing the merged content from the form and re-adding the components back there one by one. In the environment I was working on this would have required many hours of work with using the form editor on a number of entities , which I wasn’t too keen on spending there. I had just migrated a copy of the CRM 2011 production organization database onto a CRM 2013 test server and was in the process of testing the upgrade steps before the final go-live, so re-doing the customizations at this stage just sounded like both a schedule challenge as well as a potential source for new issues.

I extracted the CRM solution zip file and poked around the customization.xml file for a while, trying to think of a way out of this situation. After I realized that trying to edit the XML manually would only land me into a deeper hole, it occurred to me that there was another feature in CRM that performed something similar than the broken Merge Forms: the “Save As” button. Copying entity forms to create new variations was something that I had used many times with no issues, so perhaps I could rely on it here as well?

I proceeded with creating a copy of each of the entity forms where I had used the Merge Forms feature. Since the new form versions created via “Save As” are able to co-exist with the original forms without causing any conflicts, this must mean that the CRM platform assigns the required new ID’s to the form components. Based on this reasoning, I therefore assumed that once I deleted the original merged form and renamed the new copy (as well as configured the form order and security roles), I would have a clean solution file with unique ID values. After testing the solution import I was extremely glad to see that this was in fact the case, as no more error messages appeared during the import. Saved by the “Save As”!

Don’t Just Merge – Design

So, with the above workaround and a potential upcoming hotfix, is there any reason not to use the Merge Forms feature? In my humble opinion, the merge process is not a best practice but rather just a quick’n dirty way of getting the custom fields to appear on the entity forms. If you don’t in practice know how to customize your Dynamics CRM environment but need to cope with the updated UI of the new version, then the merge will technically make it possible to keep using your CRM data. What it will not do is produce a system that your end users will enjoy.

The merge will bring over a lot of duplicate content (all the default fields) that you may forget to clean away from the new form. It will also create very confusing components for the system administrators, such as the old “What’s New” section vs. the new Social Pane, which require a deeper understanding of the Dynamics CRM platform evolution to really figure out. The biggest risk is that the form content designed for the old version UI will end up living alongside the content that is specifically made for the post CRM 2013 world, creating a disconnected and illogical application that works differently depending on the area where the user navigates to.

Instead of taking the shortcut and doing a quick content merge, I recommend investing a bit more time and effort in planning what’s the best way to present the data and how to make it as easy as possible for the users to interact with it through the UI. If you need some ideas for improving the user experience of your Microsoft Dynamics CRM environment, take a look at my previous post that listed 10 tips for designing a great user experience in Dynamics CRM.