Tag: Unified Interface

  • Get ready for licensing enforcement in Dynamics 365

    Get ready for licensing enforcement in Dynamics 365

    Understanding what customers can do with specific licensing options available for Microsoft Business Applications has become a key component of the solution design process. There can be many different ways to reach the same business goal when either customizing and extending first party apps that Microsoft has built for Dynamics 365, or leveraging the Power Platform for building your own custom apps. Even within Dynamics 365, when planning which specific features are taken into use for managing a specific business process, it’s important to keep in mind whether it requires some “premium” features available only in more expensive plans like Sales AI. Then there are of course the consumption based components used in Microsoft’s more recent additions to Power Platform licensing model, like API calls and Portals logins.

    Some partners and customers complain that the licensing documents from Microsoft are far too long, but the reality is that at the same time they’re also not extensive enough. It is quite common to run into a scenario when planning the implementation of a specific solution for a customer and then not finding a definite answer on what licenses it requires exactly. This is particularly true nowadays when the licensing model is a merger of the Dynamics 365 style business application products and the new citizen developer focused offering of Power Apps and Power Automate. These different products share more technology underneath the covers than many people realize, yet the way they are sold and positioned is quite different. When there is overlap, that’s when confusion arises.

    What would make it easier to validate the solution design against the licensing model is if there was a way to do test cases with a live system. Unfortunately much of this model still remains an honor system, meaning that many rules only exist on paper but have not been actually technically implemented within the online service run by Microsoft. However, we’ve been hearing about the plans for further technical enforcement of the licensing for some time now. In fact, there are pieces related to this that you can already see with your own eyes when exploring your environments.

    Enforcement mechanism inside CDS

    If you are keeping track of the weekly updates that Microsoft pushes into every Online environment (via tools like Solution History for XrmToolBox), then there’s a chance you’ve noticed a hidden solution called “License Enforcement” deployed in December 2019. This introduced a new “Service Plan” entity into the schema, as can be viewed via the Default Solution:

    You won’t be able to do an Advanced Find search to browse through the data for this entity. There is, however, a very convenient way for us to do a query of the Service Plan records, again via XrmToolBox, by leveraging FetchXML Builder:

    Wow, that looks interesting! While installing the solution, Microsoft also deployed a bunch of Service Plan records that presumably cover all the different types of licenses that have at some point in time granted access to a Dynamics 365 Customer Engagement Online environment, or CDS. Let’s copy this data into Excel for further analysis, and let’s make sure we tap the “friendly names” view option before doing so.

    It looks like there’s important data in the columns “Display Name” & “Name”, but the really interesting column from licensing enforcement perspective is “Access Mode”:

    Looking at the 4 options, it’s a bit difficult to understand what the difference between “all applications” and “first party and custom applications”would be. Even legacy products that are long gone like “Parature Enterprise” have the “all applications” access mode enabled. Without further information on this, let’s focus on the more straightforward options, like “first party applications”:

    Not too many entries for this option. Also it’s not surprising at all that it is the Team Member licenses that show up here. If there is one type of license that Microsoft probably would want to undo in the history of the Dynamics product line, it must be this. Introduced back in the days of Dynamics 365 CRM + ERP story debut, its design neglected the power of the platform in the sense that it granted practically unlimited rights for custom entities for a very low cost. The rights included in Team Member have since then been restricted considerably, to make room for the actual platform SKU that is Power Apps.

    Speaking of Power Apps, let’s look at the service plans that have the access mode set as “custom applications”.

    A lot longer list, with again some surprising entries like “Exchange Foundation”. The vast majority of this list is however very logical, as it mainly covers PowerApps and Flow (which on the branding side have been changed to “Power Apps” and “Power Automate”, of course, but this is licensing). The twist here is that similar to how Team Member granted too wide access for custom app scenarios, the rights included in Power Apps for accessing Dynamics 365 CE data stored in CDS are also a bit problematic from a commercial perspective for Microsoft. What clearly is off limits is the use of the standard app modules that ship with the Dynamics 365 App licenses.

    App Modules as a licensing construct

    The whole point in bringing data like service plans inside the CDS database is in being able to link that into app modules. If you browse through the metadata of any Online environment you’ll discover an entity with schema name “ServicePlanAppModules”. The relationship between a service plan and the app module is both the way how Microsoft has crafted the licensing terms for different products and also the mechanism through which access rights for different license holders will be restricted in the future.

    Looking at the fresh new Release Plan for Dynamics 365 2020 Release Wave 1, one of the new features is in fact called “License enforcement: users with new Team Member licenses”.

    For Team Member licenses purchased during or after October 2018, license-based access will restrict users to a set of designated app modules. These users will no longer be able to access Customer Service Hub, Sales Hub, or custom app modules.

    In April 2020 and already earlier in preview we’ll finally see the new Sales Team Member and Customer Service Team Member app modules that have been hinted at in earlier communication from Microsoft. Although these will be preconfigured modules, there will be room for customizing them to contain custom entities and (presumably) also hide unwanted entities – just like with traditional app modules. What will be different though, based the Release Notes as well as the Service Plan data model, is the lack of ability to build your own specific app modules from scratch. Any organization that has used Team Member licenses for covering a functionality not included within the first party Dynamics 365 Apps built by Microsoft will therefore have some work to do for redesigning the end user facing experience to accommodate these technical restrictions being put into place.

    “Oh, but we don’t use Unified Interface, so I guess we can skip those app modules in the oldskool web experience, right?” Wrong, you have even more work to do! There will be no support for accessing the legacy web client after October 2020. You better hurry with both planning your transitioning to Unified Interface as well as addressing the gaps that may be left for your Team Members users that will not have access to Sales Hub or any custom app module. Both of these changes have been a long time coming, but as many surely have experienced, it can be challenging to get the necessary planning and development work prioritized within organizations without a hard deadline. Now we have one (well, two dates interlinked), so that part is solved already!

    Restrictions like these enforcement rules are bound to generate some emotional responses. In the long run, having the rules specified in software rather than just paper should serve to bring more clarity into what services are available with which licenses. Any such clarity is most certainly welcome for making it easier to navigate an ever growing product stack like Microsoft Business Applications.’

    Read more

    Check out my blog post New Team Member apps for Dynamics 365 where I explore the 2020 Release Wave 1 early access versions of the new App Modules for Sales Team Member and Customer Service Team Member.

  • 2 become 1 UI: PowerApps Roadmap from MBAS

    2 become 1 UI: PowerApps Roadmap from MBAS

    Have you looked at the MBAS Gallery yet? Microsoft Business Applications Summit 2019 was last week and already the majority of sessions have been published online for also non-attendees to enjoy. Even if you attended the conference in Atlanta, there’s a chance that you may have missed a few sessions, with there being 200+ of them in 2+1 days.

    Live recordings of sessions are nice – if you have ~200 hours to sit through them, that is. As is the case with podcasts, I rarely come across a moment in my life where there would be empty space just waiting to be filled with a 1h chunk of audio/video of people talking about something that might or might not be valuable to me. On the other hand, I’m very comfortable with skimming through endless amounts of text & pictures, in search of something that warrants my real attention and further processing. That’s where PowerPoint slides are just awesome. Bullets, tables, charts, diagrams, screenshots, OH YES!

    Last week I started going through the MBAS session catalog and downloading the slide decks for interesting sessions. (I’m not the only one who hoards PPTXs from MS events, check out MVP Jussi Roine’s blog for his tips on learning quick as a consultant.) Now I’ve got a folder with 115 PowerPoint files weighing in at 4.5 Gigabytes. Hmm, looks like some further prioritization is still needed to narrow these down. Well, one thing’s for sure: I know where I want to start diving into the content. The future of business apps awaits in this session:

    Run One UI – the future of canvas, model-driven, and Unified Interface in PowerApps (BRK2073)

    For those with Dynamics 365 Customer Engagement background, the topic of user interface unification might lead your thoughts to Unified Interface. Originally announced 2 years ago, this new client infrastructure aims to do away with the earlier divide between web client, phone, tablet and Outlook. More importantly, it’s a foundation for unbundling the application specific UI controls from the platform and opening up the road for everyone to build the kinds of controls that Sales, Service, Marketing and all the other 1st party apps contain. That story is called PCF and it’s a big deal for sure, but something even bigger is on its way.

    This  “One UI” does not simply look at the Dynamics side of the house, rather it encompasses the whole app story in Power Platform. Ever since XRM merged with PowerApps, we’ve had this somewhat awkward divide between Canvas apps and Model-driven apps. These terms don’t mean much anything to customers when explaining them the platform capabilities. For the Dynamics professionals the concept of a “Model-driven PowerApp” sounds artificial. While on the back end the CDS, admin and developer story is coming together quite nicely, on the front end we see two experiences with not too much in common – today.

    We’ve already heard Charles Lamanna make a statement that Microsoft has no intentions of keeping the app types in PowerApps separate:

    “Artificial limitations in app features will be removed, so that choosing [File – New App] will give you model or canvas experiences and everything will work across both.”

    Power 365 Show: Power Platform Changes and Answering Community Questions with Charles Lamanna

    Sounds cool! But how exactly are they going to pull off this merging of the two client frameworks with a very different history? On the platform side it was fairly simple as XRM probably offered a lot of what CDS v1 was capable of and turning it into CDS v2 was not a big issue due to low adoption rate of the less mature technology of the two. PowerApps Canvas apps on the other hand have a huge momentum going on and the number of apps in production is exploding. Dynamics 365 CE ain’t doing too bad either when it comes to growth figures in the cloud, so messing too much with it sound very risky. After all, we’re still waiting for many existing customers to even move from the classic web client to Unified Interface, so do we really need more confusion in this space?

    In the Run One UI session at MBAS we heard Clay Wesener present the master plan of how the two different app types will gradually turn into one PowerApp. Here it is:

    This is really just mashing together the start and end state from Clay’s presentation, so this time you really should reserve an hour of your time and watch the recording, to understand the finer details. And grab the slides for reference, naturally.

    A key part of the plan is that this won’t happen in a big bang. There won’t be an “Even MORE Unified Interface” launched at some grandiose marketing event, rather Microsoft will introduce capabilities from one app type to the other in a gradual fashion. PCF just arrived on Model-driven Apps as a public preview, soon it will start showing up on the Canvas side, too. Canvas Components are bringing the more structured way to define the UI into the previously blank canvas where each pixel used to run free, making it more like the grown up version familiar from enterprise business applications. These new parts are all about blurring the lines between Canvas and Model.

    (more…)
  • Unified Experiences in October 2018 Release

    Unified Experiences in October 2018 Release

    The October ’18 of Microsoft Business Applications is going to bring a whole bunch of exciting features, spread across the huge stack of products and apps that either make up or operate on the Power Platform. Much of them will be specific to an area that only some of the users or developers work with in their specific customer scenarios, but there are also going to be updates that will be visible to practically everyone. Here are some of those new experiences that we can expect to see within the next few months as the features are gradually released.

    App Navigation

    On the Model-driven App client side, there will be some changes to the navigation features in Unified Interface. Here’s what October ’18 update is going to look like for the end user:

    The product team has communicated the following changes:

    • Sitemap will now be expanded by default, so users don’t need to remember what icon stands for what entity/feature.
    • Recent and Pinned items will be more prominently displayed at the top. MRU (most recently used items) will now be a single list instead of the earlier entity specific MRU list.
    • Sitemap areas will be displayed at the bottom, with a more visible icon and area switcher feature instead of the tabbed area list on top in current version.
    • Command Bar icons will have more color and hover effects to highlight their interactive nature.
    • Both Sitemap and Command Bar color scheme will be changed to dark text on light grey background.

    These are great enhancements that are aimed at making the Unified Interface work more smoothly on the desktop browser specifically. They will not affect the mobile or Mail app, but only the screens that will have a width of 480 or more pixels. It’s awesome to see that even though the clients share the same infrastructure, not everything is forced to work exactly the same way on a big monitor vs. small phone screen.

    Hybrid Experiences on Unified Interface

    For existing Dynamics 365 CE customers who are working in the “classic” web client, the question of “can we do this in Unified Interface?” is a critical factor in deciding on the strategy of how to migrate users to the latest experiences available in the cloud. There’s a list of capabilities not yet on Unified Interface over on docs.microsoft.com that should serve as the starting point for any such planning. For a more forward looking list, the Unified Interface roadmap presented at MS Business Applications Summit 2018 is currently the best summary of what to expect:

    While there will be more and more entities and features natively supported on UCI, not everything from good ol’ Dynamics CRM is going to be rebuilt for the new client infrastructure – at least not yet. When you look at what’s happening on the broader Power Platform side, this prioritization makes a lot of sense, as porting over old UI controls as-is probably doesn’t fit with the long term platform vision. Still, you can’t just pretend that a few missing features like Advanced Find would NOT be critical to business users who’ve built their work processes around these core capabilities of Dynamics 365 CE.

    The short term solution will be to offer a “hybrid UI”, in which the controls not yet ported to UCI will be opened up in windows that render the classic web client UI. So, things like merge dialogs, personal settings, SSRS reports and Advanced Find will be accessible to users from within Unified Interface, with the existing feature set that they’ve come to expect in earlier versions. Of course they won’t be mobile friendly like the responsive UCI controls, but desktop users aren’t probably going to care all that much about this anyway.

    As we can see in the roadmap presentation, Microsoft aims to make Unified Interface the default experience first for new customers and shortly also to existing environments. There’s no need to panic over this change, though, as the plan is to introduce a “Side by Side” (SxS) option for administrators to define whether the classic web client is visible to users or not. If you have a good reason to not yet push everyone over to Unified Interface, you don’t have to – at least not with the Oct ’18 release.

    Power Platform Admin Center

    While the aforementioned changes are mostly relevant to customers who have bought Dynamics 365 Customer Engagement and are using it for either traditional CRM scenarios or more XRM style applications, it’s good to keep in mind that all these investments are actually done in the context of the greater platform. Starting from the July 2018 announcements, Power Platform is now an actual thing that Microsoft sells. To the developers and administrators it has seemed like a collection of separate product boxes of different shapes, but that experience is also about to get unified as the new Power Platform Admin Center is introduced:

    You can already access this UI from either the short URL admin.dynamics.com or the longer (official) version admin.powerplatform.microsoft.com. Today you don’t yet see too many actual admin screens of individual applications within the Power Platform Admin Center, as the menu items will mostly redirect you to existing admin centers for PowerApps, Flow, Power BI and Dynamics 365 CE. Things are going to change soon, though, as a brand new admin UI will reveal the various Dynamics 365 CE settings that you’ve earlier been able to only access from the classic web client:

    These images are taken from another Business Applications Summit presentation, “Key features coming to Microsoft PowerApps and Dynamics 365 admins”. Just like in the UCI session, there’s a great roadmap slide included that shows the stages via which the new features are planned to be rolled out:

    Now, you may not want to look at the detailed dates, since both roadmaps are already ancient history from over a month ago and things aren’t necessarily quite where the initial targets were set. Nevertheless, these are the features and experiences that will soon be out there. If you compare this to the traditional Dynamics CRM world in which many current on-prem customers with their v8.2 (at best) environments are operating in, then it’s in many ways like a whole new application platform to work with. MVP Scott Durow has drawn a great diagram of the new admin experiences in Power Platform that also helps in illustrating the huge shift that is taking place here. We’ve seen architecture diagrams like the one below for a long time now, but once the actual user experience for solution designers also starts to reflect this, I believe that will have a “powerful” impact indeed!

  • Unified Interface Form Design Notes

    Unified Interface Form Design Notes

    It’s been around a year since Microsoft announced that Dynamics 365 Customer Engagement would be moving from the world of separate web, mobile and Outlook clients into a single Unified Interface (or UCI, as in “Unified Client Infrastructure”). At that time I made a prediction that this level of shift in the client technology would be a long road, and to date that still pretty much holds true.

    Although V9 has been available for quite some time for new cloud instances and also existing customers have been upgrading as the version has become available for them a bit later, the majority of current Dynamics 365 CE users won’t yet be on UCI – at least for the desktop usage. MoCA was already replaced with UCI in V9, so the mobile UI is now on the new infrastructure, no choices there. For the web, there’s still a fair bit of capabilities not yet on Unified Interface, which makes it hard for customers to move over to it.

    Eventually everyone will need to migrate to UCI, though. It’s best to start exploring the scenarios where Unified Interface can fulfill the core needs and to gain the skills needed for designing great user experiences on this new client type. Even though the majority of the customizations will be rendered the same in UCI as on the current web client, there are still details that you should pay attention to. This is a collection of a few observations I’ve made when building a Dynamics 365 Customer Engagement App on UCI. Specifically, I’ll focus on the entity form rendering here, as a continuation of the previous post where I covered the new Card Form type.

    The Header

    Let’s start from the top. Form headers are where you would have previously placed up to 4 fields that you wanted to be always visible to the user when opening the form and scrolling down along it. Great for highlighting properties of the record that users needed to be aware of.

    In UCI there can still be just as many fields on the form header, but unfortunately they won’t always be shown. Even on a 1920*1080 screen resolution you may only see the first 2 fields on the form. The rest are hidden behind a small downward arrow icon that the user would have to discover and the click on to see the remaining header fields. I’m pretty sure most will never even realize the fields’ existence.

    When using a smaller mobile device screen the rendering changes quite significantly. Since on a vertical screen there’s no space for showing a header next to the record primary field (the name), in this form factor the header actually becomes the very first form section to be shown to the user. The nice thing is that it’s really “in your face” for the user. The downside is that this may not be the most logical information to be shown at the start of the form – or at least it will differ from what the user might expect to find there. Especially when creating new records these header fields rarely are the ones where you’d start the data entry process.

    For now, I don’t really have a good guidelince on how to consistently leverage the form header with UCI. You probably want to minimize the number of fields shown there, instead of capitalizing on the full 4 field opportunity, and stick to 1-2 fields max.

    The Footer

    Like the header fields, also the form footer has enjoyed a persistent presence on the XRM entity form. Now with UCI and Dynamics 365 CE, this is no longer the case. On a PC screen the fields do get shown, though, but not in a very nice way.

    As an example, a fairly common use case for the footer has been to present a few entity default fields that were hidden in CRM 2013 upgrade when the record properties dialog was removed from the UI. I’m referring to the created/modified on/by information, which can be very useful in determining the validity of the CRM data and persons responsible of the updates. You can still put them there, but currently the rendering looks so messy that I’d prefer not to show that to customers:

    The icons of these fields are often overlapping, even in full screen. This also highlights one of the current issues with UCI, meaning it doesn’t respect the user’s format settings and instead forces “AM” & “PM” upon users who live in a country where these concepts are never used. (Do also watch out for the date fields that sometimes reverse the order of day and month around, creating interesting results with things like appointment data entry.)

    The upside of the new design is that the footer fields don’t add up an extra row at the bottom, instead they are incorporated into the gray bar containing the record status and update indicators. This is very welcome, since in the old web client with especially entities using the BPF control, you’d sometimes have barely any vertical space left for working on the actual record fields, thanks to all the padding at the top & the bottom. Striking a balance with these responsive screen layouts surely isn’t an easy task for the engineers, with requirements for both information density and touch friendliness being presented to them.

    On a mobile screen you will not see the fields of the footer at all. It doesn’t appear to be rendered anywhere else on the form, so any information presented in this form section will be inaccessible in some scenarios. Much like the header, I would also advise not to put many fields in the footer if you plan on using Unified Interface (or if your users need them while out on the road).

    The Tabs

    The return of the visible tabs is certainly one of the big UX improvements compared to the old web client. Having these anchors visible right at the start of the form’s loading is a great help especially with information heavy forms like what accounts tend to have. Adding the “Related” menu to the end of the tab list to reveal the child entities is also much better than the mystery arrow in the middle of the old Nav Bar at the top of the screen. Left navigation and Proper Tabs, woo-hoo! Go UCI!

    Except that much like the header and footer, the tabs aren’t persistent either. The moment you start scrolling down the form, the tab labels get removed from the screen. Doh! Oh well, I guess we’ll just need to scroll down a bit further without the help of those anchors…

    Except we can’t. Once we reach the end of the tab, it’s a hard stop. No matter how much you spin your mouse wheel or swipe your finger on a touch screen, there will be no more of the form revealed to you. You see, in order to go further DOWN on the form you’ll need to scroll all the way UP, reveal the tab labels and then click/press on them. The longer your forms are, especially when reflown as a single column view on a smartphone screen, the longer it will take for your users to reach the next tab.

    Having the tabs as containers with hard boundaries might be an understandable design choice from a UX perspective. Getting lost on an endless list of scrolling fields and sections will not be fun for the users, so bringing some structure into this navigation experience is welcome. On the mobile form factor there’s also the Semantic Zoom option to help the user understand the form’s different tabs and sections. Just a shame that also the Semantic Zoom icon is hidden once move down an inch on the form…

    Here’s an idea to upvote: Ability to Dock “Tabs” on top of Unified Client Interface Tabs.

    We’re Getting There

    Despite of these few challenges, there is a lot to like about the way Unified Interface changes the user experience of entity forms:

    • Quick View Forms truly blend into the native form fields in UCI, whereas with the legacy web client the rendering was always quite clumsy.
    • Timeline is far better at exposing related activities, notes, posts than the earlier tabbed UI hiding most of the content.
    • Subgrids are actually actionable, with access to full grid features like sorting, select multiple.
    • Subgrid content rendering can be customized via custom control configuration options like Card Forms.
    • Business Process Flow consumes less vertical space (although BPF stage fields being hidden by default may cause challenges).
    • Visual hierarchy is much more obvious than even with the web client “refresh UI”.

    A big bonus is also the fact that by default you’ll get the same form customizations for desktop and for mobile users. It may or may not be suitable for real life mobile use cases, but at least you get the starting point for designing a mobile optimized UCI App to be targeted for specific scenarios that only need a subset of full form functionality.

    The key thing to keep in mind when considering the choice between the classic web client and UCI is this, though: UCI is the future. It will be continuously updated with more supported features and optimized for the end user experience with the latest browsers and devices. These updates don’t even require the customer to schedule their version upgrades via the CDU calendar, since from V9 onward all the Dynamics 365 online updates will be deployed automatically to customer environments. See the new continuous deployment policy that Microsoft just announced for more details.

    More and more areas of the classic XRM UI will be moved over to Unified Interface with every release. Although we don’t yet know any dates for end of support for the web client nor the target date for UCI’s full parity, the next wave of features in October 2018 release will be published as release notes on July 23rd at the Microsoft Business Application Summit. Better keep an eye on that one!

  • Card Forms and List Views in Unified Interface

    Card Forms and List Views in Unified Interface

    Since the beginning of time, meaning early days of MS CRM, we’ve grown accustomed to the fact that record fields in Dynamics 365 Customer Engagement can be presented either via entity forms or entity views. The entity form shows the editable fields of a single record, whereas the entity view gives us a list of many records from the same entity. Views used to be read only, but as Microsoft finally provided a first-party editable grid feature in December 2016 update for Dynamics 365, that blurred the lines between a view and a form to some extent.

    Showing views on a form has been possible since already 2011 when subgrids were introduced. Now with the expanding feature set of CDS for Apps and their Model-driven Apps (formerly XRM), it’s actually possible to also show forms within a view. No, not just any random form, as that wouldn’t really make all that much sense. After all, if you want to look at an actual entity form with several tabs and sections worth of data, you’re going to want to click away from the view and show the entity form in full screen mode. In Unified Interface there’s even a nice shortcut for you to keep browsing the other records in the source view without having to navigate away from the entity form you’ve opened:

    The scenario for showing form style content within a view is for a different type of a need: presenting several fields from one record in a view when there is no space available for showing columns side by side. This is of course related mostly to the vertical layout of a phone app that has more pixels available from top down than left to right. You could however encounter this type of a layout need when embedding views onto either forms or dashboards, with a narrow space available for any single record from the view to identify itself with its fields.

    The Unified Interface already has a built-in capability to address this scenario with its automatic reflow. If you take the “My Active Contacts” view as an example, when in the web client on a wider screen you’ll see the view columns in the traditional format. However, if you start making the screen (or “viewport” as the developers like to call it) more and more narrow, you’ll eventually reach a point where the presentation mode changes to remove all the columns & sideways scrolling bar, replaced with a card like UI. It will by default show the entity icon and the first three columns available in the original view definition.

    If you want to have more control over how the information would be presented in its compact, mobile friendly format, then the entity Card Form is a tool that you should take a look at. Available as one form type alongside the more familiar Main Form, Quick View Form and Quick Create Form, the Card Form was introduced originally with the Interactive Service Hub (ISH) client. Since this was a very limited client type that predated the Unified Interface, most customers and many consultants probably haven’t worked with it in the past. Now that Unified Interface is set to take over the world from the legacy web client sometime in the future, it’s about time to get familiar with these features.

    Unfortunately Microsoft doesn’t yet provide much documentation about the use of Card Forms. The references in the current documentation are also somewhat misleading, since the term “card form” is also used in reference to what is actually a Quick View Form. Many people will surely have an image in their minds about the Card Form being something like the example shown below. It is not.

    The customization UI in the application itself isn’t that helpful either. Out of the ~14 default forms that the contact entity currently has in a sales focused Dynamics 365 Customer Engagement instance, 4 forms contain the word “card” in their name, but only one is actually of the type Card Form!

    Ignore the false cards and head straight to either the default “Contact Card form”, or alternatively create a brand new one. You’ll land on the classic form editor experience that will present to you the fixed layout and available features of a Card Form:

    It looks like there are familiar elements from the Main Form available here: header, details, footer. What’s different is that there aren’t much properties you could play around with when it comes to the sections, meaning any labels or layout options that a traditional form would have. The maximum number of fields you can drag from the field explorer and drop onto the Card Form are:

    • Header: 3
    • Details: 4
    • Footer: 4

    Given that the intention is to provide just the key attributes of a record in a view, these numbers should be plenty. In fact, you might want to be cautious about not including too many fields onto the Card Form to keep it visually pleasing to the eye. As you’ll see from the example of how the form renders, there will be no form labels provided for any of the fields in the header or details sections, so be sure to only include the kind of fields that will be obvious to the user based on just the data of the field or the context in which the view is available (not just a bunch of date fields, for example). Also note that the footer currently appears to be expanded by default when the view renders, although there’s an upward arrow for you to collapse it for an individual record (you’d think this would be the other way around). You can control whether the footer is expanded by default or not by going to System Settings – General – Set the default card state for Interactive Dashboards.

    How will you then determine where this card form layout will appear? This is where the Custom Control Framework comes into play. We now have a control type in standard Dynamics 365 Customer Engagement called “Read Only Grid” that is different from the “Read-only Grid (default)” control. When you switch one of the clients (web, phone, tablet) to utilize this new control instead, you’ll get the option to link your default or custom Card Forms as the way how the view contents should be rendered. (more…)

  • Look Out for The End Of Outlook Client

    Look Out for The End Of Outlook Client

    It’s been a while already since Microsoft announced they were deprecating the Outlook Client for Dynamics 365. This announcement applied to the release formerly (and partially still) known as July 2017 Update, which everyone should rather be calling by its version number, i.e. v9.0. Since this version has only very recently become available for existing customers to schedule their CDU dates, it’s a good moment to remind everyone what this means in practice.

    You’ve Been Replaced By An App

    They all keep saying that robots will take away our jobs, but in the meantime it’s apps that are taking over Dynamics 365. Like I explained in my earlier blog post “What’s An “App” in Dynamics 365 Anyway?”, one of the many uses for the term “app” is now the way you integrate Outlook with your CRM system. Unlike the earlier COM add-in of Outlook Client for Windows PCs, this App will now work in any client environment – both in the browser and in mobile environments. That’s why the App is the future and the Client is the past. Well, actually that’s just one of the reasons, but let’s keep it simple for now, since the outcome remains the same nonetheless.

    So, if we’re just getting more of everything then isn’t this the easiest thing to sell in the world? It probably is a no-brainer for the IT guys who’ve had to struggle with the installation, configuration and updating of the locally installed Outlook Clients for years, as the administration overhead is reduced significantly. For the real end users of the CRM system, the perspective may differ, though. A user will immediately see the things that work differently with the App than they did before. Regardless of all the improvements, it will mean changes to their personal workflow, which is why you should pay attention to how the replacement is communicated and what support the users will need in this process.

    In your initial tests of the new features with a V9 environment and the App for Outlook, it’s good to keep in mind that this is still work in progress. The V9 Readme / Know Issues page has a list of technical glitches and unsupported environments for the App that is today still in Preview mode. It’s expected that by the time the current customers get their V9 updates the fully supported App version would also be available. Even with these hotfixes, you should prepare to see some usability gaps remain in the product for a while, as we’re dealing with a technology that’s fresh from the oven: the Unified Interface.

    In The Name Of Unification

    The Dynamics 365 App for Outlook is one step on the long road towards a Unified Client Infrastructure. The earlier v8.x incarnation of the App was a limited side pane that would show information about records related to the email while browsing your inbox. The V9 App is a miniature app module built on the same Unified Interface that will power all the Dynamics 365 Customer Engagement UI’s in the future. This means that the feature set available is far greater, with the ability for you to scroll through the entire contents of a contact form while remaining in your inbox – or even navigate to related records. Similarly the commands at your disposal will allow completing tasks like adding new competitor records into your CRM database from within the single UI.

    For anyone who’s used the Outlook Client mainly for tracking items from their mailbox, calendar or contact list into the shared Dynamics 365 customer database, this will surely seem like a big step forward in terms of the new contextual actions being offered. These users will have gotten used to opening a browser tab whenever they’ve needed to actually view and search the contents of the CRM database in full screen mode.

    Then there is the group of users who’ve been in the Dynamics game for a longer time – at least from the CRM 2011 version. Back in those days the whole concept of Dynamics CRM might have been sold to them as “never leave your Outlook”. These people may not have actually seen a lot of the UX enhancements that have taken place in the browser and mobile clients in the past few years, since to them CRM has always looked like this:

    A “next generation Microsoft Outlook Experience” revealed seven years ago. Yeah, you probably wouldn’t buy a Customer Engagement solution today that looked like an ERP built into Office 2010. That doesn’t mean there wouldn’t be power users out there who still rely on the feature set of the trusty old Outlook Client to keep them productive, because they have mastered the Ribbon, the panes, the tabs, the whole shebang.

    The End Is Near …ish

    Microsoft has stated that by the time V10 rolls out, the client UI pictured above won’t work with Dynamics 365 anymore. That’s kind of understandable we consider that the Unified Interface will also replace the web client at some point in the future – possibly at the very same moment. If that is the case, we might not yet be all too close to the final removal of the Outlook Client yet.

    There’s going to be a lot of work needed before every last bit of legacy client infrastructure will have been replaced with the UCI based components. Microsoft remains committed to the guidance they’ve given to customers about the update schedule, which states there should be two new releases per year. However, we don’t really know much anything about at what point in time the next major release will arrive. Even things like rebranding Dynamics CRM to Dynamics 365 were handled over a minor update of v8.2, so who knows if we’ll see v9.1, v9.2, v9.3 etc. before the plug is finally pulled on the Outlook Client and (presumably) a whole bunch of other deprecated features in V10.

    It also remains to be seen whether Microsoft intends to evolve the desktop experience of using Dynamics 365 Customer Engagement. For example, at the moment the documentation states that the offline functionality is available via the phone and tablet apps. The table app for Windows 10 could of course be used on a regular PC as well, but it’s not completely unrealistic to expect some more targeted client applications appear for the desktop environments. When it comes to the App for Outlook on a PC, the current version still installs an add-in to manage your contacts, for example. So, just because the UI controls are being unified now, this doesn’t necessarily mean we’d be forced to use an “oversized phone app” on our big monitors.

    No More Updates – But Don’t Forget To Update!

    Even though the Outlook Client is now deprecated and there will not be any feature enhancements made to it, that doesn’t mean it would be completely left to rot. In fact, it is very important that once your Dynamics 365 Customer Engagement instances moves up to V9 also your Outlook Clients are using the latest version. This version is now the 8.2.2.137 Update for Dynamics 365 for Microsoft Outlook, available for download here. Yes, it’s V8 and not V9, but don’t let that mismatch distract you.

    You see, with V9 the XRM platform has moved up to using TLS 1.2 protocol for securing the connections between the clients and the server. The earlier Outlook Client versions do not support TLS 1.2 and the V9 server will not accept anything but 1.2 as the cryptographic protocol, which means you’re going to need the latest bits. If you have developed your own clients or code that relies on an earlier TLS version, then be sure to read this in-depth description provided by Matt Barbour of the possible errors you’ll encounter with V9 and the ways how you can avoid those by recompiling your code.

    Update on 2018-01-29: Deprecation of Deprecation

    Against all odds, Microsoft actually decided that they would reverse their previous decision to deprecate the Outlook Client. Read the following blog post and draw your own conclusions:

    Continued support for Outlook add-in (Dynamics 365 for Outlook)

  • Top 3 Themes for Dynamics 365 in 2017

    Top 3 Themes for Dynamics 365 in 2017

    The first day of the new year is a good moment to reflect on what 2017 gave us (or didn’t give) in the Dynamics 365 business. Here are the top 3 themes that came to my mind when I looked backed at the last 12 months of news, releases and overall directions coming from Microsoft.

    Business Applications

    A major theme that emerged this year and found its way into most of the communication coming from Redmond was Business Applications. Those two words on their own of course don’t mean anything very revolutionary, but it’s rather the way in which they were used to broaden the context of Microsoft’s business software beyond just Dynamics that’s of greater significance. If 2016 was the year when CRM and ERP were commercially bundled into Dynamics 365, then in 2017 the scope began to reach further beyond that. At the start of the year the XRM platform was given the Customer Engagement name, with the absolute minimum fanfare allotted for the occasion, so the true focus for product marketing was obviously somewhere else.

    Looking around at what specific software products sit alongside Dynamics 365 in the high level MS technology stack illustrations, it’s quite logical that we’re now seeing the “Power Suite” tied into pretty much every commercial narrative around Microsoft’s business cloud. More precisely, the technology grouped under this suite with no official name is very central to the story being told to both business and technical decision makers for one reason: its purpose is to connect the big three MS clouds. Office 365, Dynamics 365 and Azure are all equal beneficiaries from the toolkit that is provided by PowerApps, Flow, Power BI, CDS and their numerous connectors.

    On an everyday level it may still not be all that common for the real life CRM solutions to heavily rely on the Power Suite technology, like using MS Flow instead of D365 workflows. Because it was first rolled out as a power user focused set of tools for an individual information worker rather than something you’d deploy across a large organization, the practical as well as perceived maturity of this technology has formed a barrier of sort for full-on adoption. The long term outlook for it does look bright in my opinion, however. There’s only so much that Dynamics 365 as a platform can do on its own (be it the XRM, AX or NAV flavor), but if you can connect it with the outside world of MS and non-MS services without the traditional integration development effort, that opens up the door to a world of possibilities. I’m pretty sure customers will be interested in taking a step through that doorway and having a look around during 2018.

    App/Plat Separation

    Taking a few steps down from the higher level clouds and diving into the platform formerly known as XRM, 2017 was a busy year. This didn’t really come as a surprise to me, since I had a wonderful opportunity to get a peak at what the product team had planned for this calendar year already in the last MVP Summit in November 2016. My initial reaction to it was “are you guys SERIOUSLY going to push all of this out in the next release?” Well, a clear majority of the planned features and changes was indeed shipped during 2017 eventually, although the naming of V9 as the “July 2017 Update” didn’t turn out to be such a great idea.

    There were massive changes introduced to XRM (which I’ll continue to call for what it is), both above and beneath the surface. Rolling out Unified Interface initially to the mobile devices and eventually to every UI is going to change the client side of XRM in ways that are even greater than the previous user experience overhaul in CRM 2013. Opening up the client UI to custom extensions with the Custom Control Framework (CCF) sometime later (hopefully in 2018) is a major step in enabling and encouraging the reuse of configurable UI controls for data visualization. Finally, the App/Plat Separation that has moved the previously built-in application features of Sales, Service etc. into optional solution packages is now turning XRM into the type of generic application platform that it has earlier often been depicted as – in the technical decision maker slide decks from MS, at least.

    The combined effect of this transformation which materialized largely in V9 is that XRM should now be a lot more future proof. Having the individual applications as their own packages is a bit like how at one point in the late Windows Phone operating system’s lifecycle the Office apps needed to be separated from the OS, so that they could be serviced and updated without having to ship a new WP build. (Naturally I hope that the fate of D365 will be considerably more glorious than that of WP.) The new UI controls in CCF that now aren’t tied to a single app feature but can rather consume any data coming from XRM database or from external sources via Virtual Entities are bound (pardon the pub) to be more useful in delivering solutions to varying customer needs. Sharing the same client framework across different devices and embedded apps is going to reduce the amount of effort needed to get these solution features in the hands of different user groups.

    Licensing Model

    Sometimes the planned features take a little longer to ship than was originally estimated, which certainly is no surprise to anyone working in the business of software. Other times it turns our that what you initially promised to deliver isn’t actually going to meet the needs of the outside world after all. The delays experienced in getting V9 out to the customers represent the former scenario, while what happened to the Business Edition is an example of the latter.

    There’s no denying that with the growth of the platform and all the new cloud services attached to it, Dynamics CRM had grown from humble beginnings to enterprise scale in the recent years. Therefore the idea of labeling the suite as a true enterprise product and building a different lightweight offering for the needs of smaller CRM environments probably made a lot of commercial sense when MS announced the Dynamics 365 branding with the Enterprise and Business licensing plans to the world in WPC 2016. Only the practical problem remained of how to actually mold a new offering out of the big suite – at least without taking several shots at one’s own foot while setting up constraints for customization and expansion for those customers who’d initially start their exercise from the lower end of the license pool.

    Those 14 months from announcement to eventual cancellation of a separate Business Edition were filled with confusion on all sides – from partners to customers, and probably within Microsoft, too. Although this did leave an unfortunate stain on the year 2017 for Dynamics 365, the long term outcome from the decision to NOT roll out an artificially separated lower tier may turn out to be a better choice after all. It’s all still wide open on how the promised “lower price point” licenses and apps will be packaged, but at least it sounds to me like MS has acknowledged they need to build bridges instead of walls around the growing set of applications in Dynamics 365. For instance: just take a look at the documentation of the upcoming Dynamics 365 for Marketing application and tell me if it looks like an SMB only -product that no existing (Enterprise) customers would have any use for? Exactly. Sanity must prevail and customers be given a chance to license the technology that best fits their needs.

    Hello 2018

    What can we expect to see from Dynamics 365 in this new year then? There are no definite product roadmaps from Microsoft that would publicly disclose what’s planned for be released in which year, since the software business no longer operates on the type of schedule that we saw when products were shipped in shrink wrap every 2-3 years. It now looks more like a mesh of forever updating cloud applications and web services that move along according to their own backlogs and team velocity. Given that the real business applications that customer organizations deploy are a combination of several products that in turn use a variety of back end services, who can actually tell when a certain feature will be “ready”? For example, Dynamics 365 for Marketing utilizes Customer Insights, which in turn relies on the following Azure services:

    • Azure Data Lake Store
    • Azure Data Lake Analytics
    • Azure HDInsight (Spark, Phoenix, HBase)
    • Azure SQL Database
    • Azure Key Vault
    • Azure Secret Store
    • Azure Event Hub
    • Azure Stream Analytics
    • Azure Redis Cache
    • Azure Service Fabric
    • Azure Active Directory
    • Azure Monitoring
    • Azure Metrics
    • Azure Websites
    • Azure Service Bus
    • Azure Storage

    That’s what the future is made of, and that’s why it is so unevenly distributed. We may well see MS announce the next Dynamics 365 Customer Engagement capabilities before existing customers are even able to update their instances to V9. The specific points in time where a particular capability is 1) announced, 2) in private preview, 3) in public preview, 4) available for new environments and 5) deployed for live customer environments may therefore be spread out over a time period that makes even assigning a proper year to it challenging at times – let alone a calendar month like “July 2017”. In this light, I’m personally mainly expecting to see how the above three themes from 2017 will play out as they get closer to impacting the real life scenarios of customer organizations all over the globe that get to put it all into action in their digital business processes.

  • Configuring Custom Controls for Views in Dynamics 365 CE V9

    Configuring Custom Controls for Views in Dynamics 365 CE V9

    The new Unified Interface that launched in v9.0 of Microsoft Dynamics 365 Customer Engagement gave us all the possibility to try out the next generation CRM user experience in new trial orgs or sandboxes. While the CDU process for upgrading existing customer environments to V9 has not yet been made available by Microsoft (which gives them some time to iron out the remaining wrinkles with a steady stream of Service Updates), now’s a good time to explore what’s new and what’s changing with the imminent arrival of Unified Interface.

    One of the most exciting platform enhancements from a developer perspective is surely the arrival of the Custom Control Framework. Known as CCF for short (no, not that Microsoft CCF you senior members of the community might recall), this is essentially the mechanism through which all of the data visualization in the XRM platform will be handled in the Unified Interface. Not just the custom developed UI components from partners but also everything that Microsoft builds. Take a look at the default solution of a V9 org and you’ll already see a wealth of these components listed in there:

    The bad news is that as of now there’s no documentation nor API available for developers to build new or extend existing controls via CCF. It’s coming, but it just ain’t ready quite yet. In the meantime, us system customizers can get familiar with the concept by tinkering with the configuration options that ship with V9.

    Custom Controls for Views

    Back when the Editable Grid first launched, the feature was rolled out in an “all or nothing” style. What this meant was that you were able to enable it on the entity level, but then it was the only view type that any user would see in the UI (at least in the specified client type). Sure, they were given the option to switch from editable to classic read-only grid if they spotted the option, but the system customizer wasn’t able to target the powers of Editable Grid to only views that actually benefited from this feature.

    V9 has taken this a step further and introduced a Custom Control setting for each individual entity view. This gives us the option to set that only a specific view like “Edit Account Details” would only present the grid in the editable format with all the pros and UX cons that this particular control introduces over a read-only view. This doesn’t apply in the classic web UI (or the “Refreshed UI” as the V9 release refers to it) but on the Unified Interface side we can now see the power that this granular control over controls has on the user experience.

    New View Controls in V9

    In addition to the Editable Grid, there are a number of other grid types that a V9 org presents as options for the system customizer. In the screenshot above you’ll see the Calendar Control having been chosen as the data visualization type for the view. This opens up a number of configuration options that can be set right in the UI, like the date field data sources, description label, colors and so on. What we see here is essentially an example of the point & click configurability that a CCF based control can offer when used in the Dynamics 365 CE solution.

    The Calendar Control is also responsive to the client type. When access via a browser app using the Unified Interface style (in this case a custom Subscription Management app), you’ll see a somewhat ugly legacy calendar with the week days presented horizontally. When viewed via the Dynamics 365 for Phones app it will render in a the above format of vertically stacked records per day. (Yes, those day of the week and month texts are presented in Finnish regardless of the app language setting being English, because that’s how Microsoft prefers things to be).

    There are also other control types available for views in V9 currently, such as Timeline Control. That specific control appears to require quite a specific format of source data that fits the scenario of the Company News Timeline solution, so you might not find it useful in your own customization work. What might be worth noticing is that there are in fact two separate read-only grids available in the current release: the default one and the Read Only Grid with settings to control the entity card form and data reflow behavior.

  • Postcards from Microsoft Ignite 2017, part 2

    Postcards from Microsoft Ignite 2017, part 2

    Back to Florida again – at least on a mental level. In part 1 of my Microsoft Ignite conference diary I described the overall setting of Dynamics 365 in the context of the Business Applications story. This time let’s have a look at some of the details on what the XRM platform can do now and in the near future. The live tweet content can be found from my #MSIgnite Storified collection part 2, but here’s the story behind those social posts.

    The GA (general availability) target of Dynamics 365 Customer Engagement V9 was set to the week after Ignite. This was indeed the case, as I didn’t even have a chance to arrive back home from Ignite before I had my first V9 trial instance running the in the cloud. People who had participated in the Dynamics 365 Insider program were already granted access to the preview instances of this major release but now each and every new trial is provisioned with the V9 bits. A few days later there also was an official blog post that announced the availability of “Dynamics 365 October service update”. The naming of course is a bit confusing, since up until this point Microsoft had stuck to the “July 2017 Update” name – and that’s what still shows up in the D365 Admin Center UI. Don’t you agree that life would be much simpler if we’d all just use the version numbers instead of marketing names? Oh, and if we had the KB article already available for the 9.0.0.1103 GA build, that would be even sweeter.

    After the initial Preview Executive Briefing sessions for V9 that were conducted before the summer holiday season, Ignite was the place where the next big presentation on Unified Interface took place (at least to my knowledge). Oren Ryngler and Linda Simovic took us through a detailed demo of all the UX goodies that V9 has to offer. Unfortunately the slide deck is not available for download even for Ignite attendees, but you can view the full recording of the presentation on YouTube. I bet that even if you participated in the preview program, you’d be hard pressed to recall all the wonderful details packed into the Unified Interface. Principles like “Gradual exposure to complexity”, AI capabilities like Grid Recommendations or the new chart types are something you can expect to discover in the video.

    There was another excellent session where Linda discussed what the underlying motivations behind the Unified Interface initiative (or “Unified Client Infrastructure” / UCI) were. Even more interesting was the quick peak at the Custom Control Framework (CCF) that is a significant benefit unlocked by UCI. Described as “extensibility framework for building UI components that visualize data”, we’ve already heard that Microsoft has been busy rebuilding everything in the default app UI as Custom Controls (“but if it’s default then how can it be custom?” Ah, never mind the semantics…). What we don’t yet have is a definitive date for when the APIs for building true Custom Controls will be opened up to customers and partners. What’s REALLY interesting is that the product team’s roadmap includes a “Control Gallery” marketplace for viewing and purchasing these as solutions. If it all works out, then the Unified Interface in V9 is just the start of the true transformation of XRM UI into something more than fields and grids on an entity form.

    While the UI story is always going to get far more social media coverage due to fancy screenshots from the visible application, there’s a lot more bubbling under in V9 than just the promise of a Custom Control Framework. Matt Barbour presented the Microsoft Dynamics 365 CE Platform Update for Developers, delivering a concise “what you need to know” package for people working with XRM solutions or API based extensions. Now that everything in the OoB apps has been separated from “system” into actual solutions, managing the dependencies via solution segmentation is actually a big deal. Why it’s even a bigger thing from application maintenance perspective is that the next V10 major version will ONLY accept V9+ solutions – so start getting used to them right away. In addition to the earlier announced V9 platform enhancements of Virtual Entities and Multi-Select Option Sets, we also received a “one more thing” with Auto Number fields! Thousands of custom numbering solutions can finally be put to rest, at least after you install the Auto Number Manager for XrmToolBox to access the configuration options for this new native field type.

    There were several shorter sessions in the Expo area of Ignite that offered practical tips for how to do more with less when it comes to Dynamics 365 Customer Engagement. While I remain firmly in the no-code territory myself, the PowerShell scripting capabilities available in the new Online Management API or the more familiar Microsoft.Xrm.Data.PowerShell module demonstrated by Shwan Dieken and Sean McNellis from the PFE team open up automation capabilities even I can easily relate to. Don’t forget to check out this huge link list put together by Shawn & Sean for the latest admin tips & tricks you need to be aware of. Over on the MVP powered sessions of Ignite, George Doubinski also showed a wealth of automation tips to reduce manual labor for Dynamics pros. What I bet you didn’t know how easy the integration of Dynamics 365 Customer Engagement with a WordPress website can be, thanks to the plugin developed by George & Co at AlexaCRM.

    Like I wrote on the back of my first Ignite postcard, the Business Applications story that Microsoft wants to tell us consists of a lot more than just Dynamics 365 these days. While it’s been all too easy to disregard the earlier sales pitch for PowerApps and Flow as just a citizen developer fable that doesn’t apply when working on Real Projects, they are gradually gaining the types of ALM capabilities that put them higher up on the list of tools to consider for solving customers’ business problems. While there were some disappointments, like the continuing non-story of Adobe Marketing Cloud + Dynamics 365, you could easily find yourself thinking “hmm, that’s actually pretty cool” while watching the demos for this “Power platform” of non-XRM business tools. Even though CDS still largely is “a box to connect other boxes on a PowerPoint”, the added features like embedded PowerQuery and the accompanying new data sources give us a sign that progress is being made.

    As always, the big questions is about when’s the right time to jump in to the new technology if you want to deliver successful customer projects with it. Events like Microsoft Ignite are great for calibrating your own perceptions and expectations, not just via the official product demos but also the community response to them. I know I walked away from the conference with a far better understanding of what Microsoft is pursuing with their latest product development investments – even though I’ll need to review a bunch of the session recordings to actually grasp the finer details of each individual technology.

  • The Long Road to Unified Interface in Dynamics 365

    The Long Road to Unified Interface in Dynamics 365

    On June 20th Microsoft started taking the cover off its next major release of Dynamics 365 Customer Engagement (formerly known as CRM): v9.0. The biggest announcements in the first day of the Dynamics 365 Preview Executive Briefing were around the client story. With the new Unified Interface (sometimes also referred to as “UCI” for Unified Client Interface/Infrastructure) the plan is to bring a single client technology to cover all the different UI’s across devices. Web, Outlook, Mobile, Tablet.

    This is very exciting news, but there’s a lot of details and footnotes that people in the Dynamics ecosystem need to be aware of. Let’s dive right in!

    The Client Fragmentation of Dynamics CRM

    Most of you will have probably been around when the previous big UX refresh took place with CRM 2013. We then received the MoCA Framework based tablet app with Windows 8 style tile UI and later saw this framework being used in many other places. We even received a brand new client to be used on the (desktop) web, the Interactive Service Hub (ISH). In fact, one year ago it almost looked like MoCA would be eating the world:

    The only problem with this strategy seemed to be that all of these individual parts never formed a sensible whole. Instead, there were so many “seams” visible everywhere you looked in the Dynamics CRM client landscape that many times you just wanted to keep your focus on the traditional web client and wait for things to clear up in these newer areas of the platform. A few examples:

    • Knowledge Articles were introduced only on ISH, but at the same time ISH was too limited/buggy to be used in most of the existing customer service scenarios with customizations in place.
    • Visual Controls were introduced in the phone and tablet, but the main web app forms just kept getting more and more white with nothing but text fields.
    • Dashboards with filters were made available on ISH, but much of the entities (i.e. sales) that typically are analyzed with dashboards were not allowed on the ISH side.

    MoCA was born for the mobile first era of touch UI and understandably it didn’t have all of the traditional capabilities from the web client. However, there were plenty of gaps that didn’t make it ideal for mobile use either. One of the biggest issues I had with MoCA was the “configure once, deploy everywhere” principle, which tried to force the same full CRM configuration onto the mobile device screens. MoCA brought the CRM into your pocket, but most of the time what a user would need in their pocket is a simplified app focused on a limited set of tasks. The limitations with MoCA meant that Microsoft had to rely on a Resco based client for their Field Service app in which the use cases are primarily mobile only.

    This Time It’s Different

    The promise of Unified Interface is that the era of web vs. mobile is over and now we’ll see a UI that’ll both adapt to the device or screen in use, as well as offer the same customization options in each of them. Content will be presented in a way that will reflow into different states of the control as the space available to it changes.

    Unlike with MoCA, this time there can be multiple different apps also accessed on a mobile device. Also web-only features like form switching are now available on all devices which makes it far less challenging for the system customizer to design a solution when all the exceptions and limitations of specific client types are (in theory) no longer in the way. It’s important to set the expectations on a realistic level, though, since I’m quite sure we’ll need to make some more compromises on the web side of the house with this new Unified Interface, but hopefully it’ll be a price worth paying for true mobility of Dynamics 365 business apps.

    For an even more customized experience, the Custom Control Framework that has been gradually introduced as part of the application (like the Editable Grid, for example) is going to introduce a design surface for developers to extend Dynamics 365 Customer Engagement apps in exciting new ways. Not only that, the existing ASPX based UI controls that have been in the core CRM application since forever are now also being transformed into Custom Controls. This is a part of the larger application/platform separation initiative that’s a whole topic of its own. On a high level, the developers should soon have access to basically the same tools for building new UI controls as what Microsoft is using to build their business apps.

    All of this should help in removing many of the gaps that have currently stopped the rolling out of the individual application features in earlier releases for real life business scenarios. There are plenty of promises that MS is making on performance improvements of this new client technology, too. That’s an important aspect to keep in mind and realistically evaluate as the Unified Interface becomes available, since all of the eye candy in the world won’t be of much value if the actual user experience of working with the application isn’t meeting the ever growing expectations of fluid interaction with the data stored in and managed via Dynamics 365.

    Are We There Yet?

    So, all of this looks great – now can we have it by tomorrow, please? The short answer is “no” and the expanded one is “it depends”. As mentioned in my earlier blog post, much of the new features in Dynamics 365 will now be rolled out via Private Previews and Preview programs before general availability. Hopping on to the preview train will shorten the time it takes for gaining hands on experience with the new UI. However, there’s more to it.

    Earlier I mentioned the previous UI refresh of CRM 2013 release (“Orion”), but some of you might still remember the intermediate release of “Polaris” (whereas the official name December 2012 Service Update isn’t something even I remembered anymore). That was perhaps the first Online-only release that Microsoft developed, with a target of not even trying to upgrade all of the application features into the new UI concept but instead just a selected few entities (“COLAC”) received the refreshed forms and Business Process Flow. You could build a simple CRM demo for a new customer with it, but trying to upgrade existing systems into Polaris or building anything with more customization requirements was a no-no. They had to wait until the full CRM 2013 release became available.

    The reason I’m bringing up this is that initially the Unified Interface is likely to be a bit like Polaris. It’s going to be made available only to brand new instances with the Business Edition licensing, or for new Apps that are either built by Microsoft (Customer Service Hub, a.k.a. ISH v2) or by the customer. It will also be available on the Phone and Tablet apps as well as in the lightweight Dynamics 365 App for Outlook (which officially replaces Outlook Client that’s now deprecated). Everywhere else, though, it’s not going to be the time for Unified Interface yet, but instead a refresh of the web client that’ll look something like this:

    Starting to get confused? I don’t blame you! There’s a hint of irony in the fact that the “Unified” Interface will initially be yet another interface variation for the Dynamics 365 application. I’m sure it’s not the way Microsoft would prefer to have these things introduced but reality is usually a bit more messy than PowerPoint presentations. The new client technology simply represents such a major shift in how Dynamics 365 works that upgrading all the complex customizations of existing Enterprise customers into it in one go would not be a smart move. Remember that “everyone’s an enterprise customer” until the Business Edition finally is out the door.

    To truly understand the client strategy that Microsoft is pursuing, you simply have to look at the Business Edition now, regardless of your deployment’s size. It is the dreamy wonderland in which MS can cut back on unnecessary complexity of application features and not worry about breaking any existing deployments, since there is hardly any legacy there. A fresh start that doesn’t need to carry all of the overlapping functionality (like Contracts vs. Entitlements) or provide all the admin options necessary for hybrid environments. It’s not all pure bliss in the sense that all of this will eventually have to live in harmony with the more complex custom UI’s and business logic of big corporations with “non-simplified” CRM systems running on the Dynamics platform. Still, right now we’re seeing a move from “cloud first” to “Business Edition first” when it comes to client innovation.

    Just because the Business Edition is targeting the lower end of the product licensing fees doesn’t mean you should dismiss the functionality that is being introduced in it. If the Sales app mainly streamlines many of the unnecessary complexities of current opportunity management in Dynamics 365 Enterprise, then the Marketing app will bring advanced logic like Customer Journey management that many existing larger customers would surely love to get their hands on. Unified Interface is the big story here that’s driving the release policy. I suspect that it’s the primary reason why the new XRM based Marketing app is only available for Business Edition customers initially, since features like integration with Customer Insights based segmentation and scoring mechanisms are not a feature anyone would build solely with the SMB segment in mind.

    It will all make sense in the end (hopefully), but in the near future both the customers as well as Microsoft will have some work ahead of them before the new promised land of Unification is reached. This is of course not all that different from what other business application platforms with a long market presence must go through every once in a while. Some may claim that Microsoft is following the Salesforce Lightning UI concept here with their Unified Interface and the similarities are surely there to be found. In fact, what I wrote about this the last time when Salesforce was following Microsoft’s lead is still pretty relevant when it comes to user experience evolution, so why not revisit that blog post for some perspective: The Irresistible Force of Great User Experience in CRM Applications.