To the eXtreme, part 2: The future of the web caught up with IE and Dynamics CRM

3 comments

Posted on 12th February 2012 by Jukka Niiranen in News and events

, , , , , , , , , , , ,

One great thing about Microsoft Dynamics CRM as a business application platform has been that it’s modern enough to have been born into the browser window from day one. With no legacy from the pre-web era, the product has been able to stay relevant with no major disruptions in the client side development and also supported the eventual move of the server side functionality to the data centers in the cloud.

A history of Internet ExplorerInternet Explorer market share peaked in 2003, when 95% of all Internet usage was on IE. Coincidentally, Microsoft CRM 1.0 was released in January 2003. At the time, providing support for any other browser than your in-house product would have certainly sounded like a requirement you could de-prioritize. Today Internet Explorer commands a market share of less than 40%. There are now more iPads sold than any brand of desktop PCs combined. If that doesn’t signal the move to a post-PC era, I don’t know what does. If you’d be a company manufacturing an IE only product for PCs in the year 2012, you could soon be out of business.

This is a fate Microsoft intends to avoid, which is why the cross-browser support for Microsoft Dynamics CRM was officially announced in the Q2 2012 Service Update release preview guide, released at the beginning of Extreme CRM 2012 conference in Berlin. We had already seen the promise of non-IE browser clients for Dynamics CRM presented in Microsoft’s May 2011 Statement of Direction and now we finally have details about what to expect in Dynamics CRM R8 release exactly one year later. As with my previous post on mobile CRM, I won’t rephrase all the content of the official announcement but I’ll rather try and reflect on the topic with some personal observations and thoughts.

There’s Supported and then there’s “supported”

If you’ve glanced at the table of supported browser and OS combinations, you’ll have noticed that Microsoft does not guarantee support on every browser out there on every operating system. This is not too surprising, as any web application developer surely knows what a nightmare the differences in interpretation of web standards between various browsers can be for application development and testing. In the words of Craig Dewar (Director of Product Management for MSDYNCRM), browser testing is a “gigantic effort” for Microsoft, which is why official support is not all encompassing.

Microsoft Dynamics CRM browser and OS support

Just because a browser or OS is not listed in Microsoft’s documentation as supported, doesn’t mean Dynamics CRM won’t work on it. So, even though there are no supported options for using Microsoft Dynamics CRM on Linux, you might not notice any problems if you access it with Firefox on Ubuntu. In fact, Craig mentioned in his keynote at Extreme CRM 2012 Berlin that even if you’re using a client that’s not officially supported, Microsoft will allow you to open support tickets on issues that are not specific to the browser/OS combination you’re running. I guess you’ll just want to have at least one Win/IE or Mac/Safari device around to make sure you can reproduce the issue when dealing with Microsoft Support representatives.

“Macbooks for everyone!”

In case you’ve been drooling over the cool Apple hardware that all the opinion leaders seem to carry with them these days, the future does indeed look brighter for people working on/with Dynamics CRM. Before you jump head first into the OSX & iOS world and format all your Windows partitions, it’s important to remember that what Microsoft is talking about here is just the browser client support for CRM end users.

Outlook 2011 for Mac: sorry, no Microsoft Dynamics CRM clientWhile you can get Microsoft Office for OSX and run Outlook on you Mac, what you can’t do is use the Microsoft Dynamics CRM for Outlook client. This means you can’t track emails to CRM, synchronize your calendar appointments between Outlook and CRM, get CRM task and call reminders from your Outlook, synchronize your contacts from CRM to Outlook to your iPhone, or have any offline support for CRM data and application functionality when your Macbook doesn’t have WiFi or 3G data connectivity. All in all, you lose quite a bit of that seamless productivity tools magic that Dynamics CRM promises to deliver for all Windows users. I haven’t seen any announcements about a CRM Outlook client for Mac, so it’s pretty safe to assume that we won’t see one released for the Outlook 2011 for Mac version currently available.

OK, so how about the support of Apple’s mobile devices then? It says Dynamics CRM will run on iPad 2 with iOS 5.x, so that should at least deliver the full flavor of the browser experience on a tablet, right? Well, the problem is you might get more than you bargained for in that deal, since (as far as I’m aware of) the browser client will look and work exactly the same on all supported platforms and devices. If you’ve ever tried running the Dynamics CRM web client on a Windows 7 tablet, you’ll know that simply replacing the mouse cursor with your index finger will not magically “touchify” the user experience. What works nicely on a 24″ screen with mouse & keyboard input may not scale/transform into the tablet environment of 10″ screens and touch UI. If you’ve used a remote desktop app on your iPad, then I’d imagine this is pretty much what you can expect from a browser client on an iPad. Unless you go for the $30 per month subscription of Microsoft Dynamics CRM Mobile app or purchase a perpetual license from CWR Mobility, TenDigits or other ISV’s that develop mobile clients optimized specifically for the touch UI. The same goes for Android tablets, only with the exception that the browser client falls into the “not officially supported” territory.

Finally, if you’re not only using Dynamics CRM but also administering or customizing it, I’ve read that you’ll still need Internet Explorer in order to access these areas in the web client.

‘Reimagining’ Windows, should we also reimagine Dynamics CRM?

WinRT architectureIt’s important to note that the web client coming out in Q2 2012 is not a HTML5 product, rather it’s a trimmed version of the previous IE only client with removed dependencies on Microsoft’s proprietary extensions that only IE supports (.htc files etc.). The future is not here yet, but there is little doubt on the direction Microsoft is heading towards, with the upcoming WinRT framework and the big push for HTML, Javascript and CSS as the foundation for future Windows apps.

Which brings us to Silverlight. It’s been widely speculated that Silverlight 5 released at the end of 2011 will be the last of it’s kind, the end of the road. Porting existing Silverlight apps to run on Win RT is said to be easy, which should naturally be in the interest of Microsoft to ensure. As I’m not a developer, I’m looking at the discussion more from the point of view of someone who needs to examine all the available technologies out there, evaluate how they fit together and build a working business solution out of them. From this perspective, there are some concerns regarding Silverlight that very much affect Dynamics CRM users as well.

While Dynamics CRM might work on a browser/OS combination that is not officially supported, the game is different if you’re using Silverlight web parts in your CRM. If a Silverlight plugin is not available for the client, it will not work, period. This includes combinations such as Chrome/OSX, any machine running Linux and most notably the iPad. Ok, so what about making the same UI with a different technology, like HTML, Javascript and CSS? In theory everything should work on every platform in this case. You’re free to draw your conclusions on which approach is better for starting your next Dynamics CRM add-on project.

Looking further ahead to Windows 8, we’ve already received the announcement that there will actually be a completely different edition of the operating system, called Windows On ARM (WOA), that will the basis for building always on, always connected, low power consumption devices to rival the iPad. The Internet Explorer 10 browser on WOA will not allow any plug-ins whatsoever, be it Flash or Silverlight. Furthermore, the Office 15 package that is available for WOA tablets will include only Word, Excel, PowerPoint and OneNote, but not Outlook. By now you should have figured out that the Microsoft Dynamics CRM experience on WOA will need to be quite different from what we have on Windows 7 today.

If there will not be Outlook on the “real” Windows tablets, what does the future hold for the CRM Outlook client? I previously wrote about the legacy of Outlook and how it will be increasingly more difficult to carry all that legacy when moving to the Post-PC era of iPad-esque devices for every knowledge worker. By the looks of things, Outlook could possibly get split into Metro Mail, Contacts and Calendar apps. If this happens, then it’s easy to envision a separate Dynamics CRM Metro app sitting alongside them, integrating into all the other installed apps through a simple share contract. After all, isn’t that the way it should really be? Link contacts/friends/followers from any social network app to CRM contacts, track any type of status update/post/tweet from the same app as a custom activity type into your CRM database. There’s no reason why customer relationship management tasks should be any more complex or inflexible than that.

It’s great to have Dynamics CRM available soon on (almost) any browser. Still, if Microsoft truly is reimagining Windows the way they claim to be and if their business customers buy into their new story, perhaps running Dynamics CRM on Safari won’t seem all that exciting anymore this time next year.

Make CRM Activity Feeds easier to follow by creating custom groups

2 comments

Posted on 13th December 2011 by Jukka Niiranen in Uncategorized

, , , , , ,

The functionality of the new Activity Feeds feature introduced in CRM Online R7 / CRM 2011 Update Rollup 5 is built around the concept of following specific records. This allows a very granular level of control for the users to select the specific items from which they wish to see posts on their personal wall. However, this does also force us to carefully plan for the scenario of a new user who logs into the Activity Feeds view for the very first time. What they will have in front of their eyes is an empty wall with just a few links to the online help material.

An empty wall greets the new CRM users

In order to make Activity Feeds a shared, trusted source of information on customer related events, the organization using Dynamics CRM needs to provide its users a path that they can follow to become a member of this community. Although it is possible to build custom business logic through the SDK that automates the following of records, wouldn’t it be better if teams of users could themselves choose topics that they wish to follow, and also broadcast their posts to other users following the same topic? You know, like #hashtags on Twitter. Well, there’s no built-in support for hashtags in the current release of the Activity Feeds solution, but here’s a description of one possible workaround which I’ve come up with.

In my previous post on the topic, I covered the general process of how to enable Activity Feeds for entities in Dynamics CRM. The natural choice for supporting a team collaboration scenario would be to use the default entity Team to display relevant posts for its’ users on the entity form. Unfortunately you can’t enable Activity Feeds for teams, since that’s not a supported entity. In fact, you cannot enable Activity Feeds for any organization-owned entities, even custom ones.

Luckily there’s nothing stopping your from creating a user-owned custom entity and enabling it for Activity Feeds, so let’s go ahead and create a new entity called “Group”. No need for new fields, just publish the entity, then create a Post Configuration record with the same entity name (new_group or something like that). After this you’ll need to go and adjust the form so that the Record Wall is directly visible when you open the form, by moving it below the first General tab.

New entity Group created for enabling mentions on Activity Feed posts

Now you’re all set for starting to use the group entity in Activity Feed posts. No matter on which record’s wall (or your personal wall) you’re writing a post to, you can perform a mention by entering the @ character followed by the group’s name. In this case I’ve created a group called CRM, so I’ll add a mention of @CRM on an account record wall. You’ll see how that turns into a hyperlink to the group record.

Post with a group mention on an account record wall

How the user’s personal wall works is that it will display all Activity Feed posts that contain any reference to a record that the user has followed. It doesn’t have to be the record where the post has been written on. This is what enables us to make following updates concerning a certain topic easier for the end user, as long as the posts contain a mention/link to the group record. For manual posts the users will need to indicate that they wish to direct the post to the group’s followers by performing the @[groupname] mention as seen below.

Performing a mention on a Personal Wall post

So, does this mean that the mentions can only be utilized with manual user initiated posts? Absolutely not! There is a new attribute available in the workflow editor, called Post Url (Dynamics value). You can read this post on the MS Dynamics CRM Team Blog for details on how the feature can be leveraged in building workflow rules that create Activity Feed posts with mentions referencing other records. This allows us to reference multiple related records in a single post and make it appear on the personal wall of anyone who’s following one of the records.

Let’s say we want to create an auto post whenever a case record is created and it has the value “CRM” in the subject field, to notify anyone who’s following the CRM group. Ok, so we can find a relationship to the related subject record but since that’s not supported for Activity Feeds (just like teams aren’t), we wouldn’t be able to use it for creating a mention. Also, since the group entity we created doesn’t have a relationship to the case entity, it’s not available in the workflow dynamic values menu.

Should we go and create a relationship through entity customization? Well, that would be a bit cumbersome, since you’d then have to include a reference into the actual group record in every case record you wish to create a post a mention on. You’d pretty much have an additional subject lookup on the case form as a result, which is not a good solution in terms of usability (at least if you already use the default subject entity in your processes). (more…)

Power of Choice or the Legacy of Outlook?

6 comments

Posted on 14th November 2011 by Jukka Niiranen in Annoyances

, , , , , ,

The first selling point advertised for Dynamics CRM in almost any context is the user interface familiarity of Office users and the seamless integration to Outlook. Compared to other CRM applications, the feature set available in the Dynamics CRM 2011 client for Outlook is unsurpassed, no doubt about that. However, sometimes you do run into issues that break the illusion that CRM and Outlook would be the one and the same application. Here are a few features that you should be aware of when planning on how you’ll train your users to use the two different client versions available: web and Outlook.

Issue 1: Dashboard ribbons are not context sensitive in Outlook

If you build a dashboard out of grids that present the user with relevant data from various entities, this can significantly cut down their need for jumping between different menus and screens. Say, a customer service representative can easily view all the new items in the email support queue, active cases assigned to him/her and also other open activities. With the help of the context sensitive ribbon the user can then process these records in the same screen, by changing record status from open to closed, accepting items from the queue, creating new tasks etc.

Except, in Outlook that won’t work. The user will only be able to create a new dashboard, but not any of the common tasks, like creating new records for the selected grid. This is because in Outlook the ribbon is not context sensitive within the dashboard. Why is this? It works elsewhere in Outlook, so why not here? I imagine the explanation is that while the normal grids are composed of native MAPI objects inside Outlook, the dashboards are merely web pages as far as the Outlook client can recognize them, so it can’t understand which ribbon should be shown in which part of the page. Bummer.

As a result, if you want to create actionable dashboards that allow users to work on the items presented there, it’s better to instruct them to open CRM through the web client instead of the Outlook client.

Issue 2: Different logic in Quick Find

People who have worked with Dynamics CRM throughout several versions will surely have learned how the Quick Find operates and when you need to use wild cars. With the CRM 2011 Outlook client, this logic no longer holds true. Outlook has its own way of handling search terms, so now we can punch in a search word right from the middle of a field, such as the account name, without entering the asterisk wild card in front of the term.

Great, easier for the user to perform searches, right? Well, it is if you only ever work inside the Outlook client. If you step into the web client views, you’ll discover that things work differently there. Not only do you need to remember to use the wildcard in Quick Find criteria, but there also is a specific Quick Find View. Whereas in the web client the search will cover every active record in the database, no matter from which view you start, in Outlook the search is conducted on the records in the selected view. So, if you’re in the My Contacts view in Outlook client and search for a contact that belongs to another user, the Quick Find results will not deliver any data. In the web client it will.

Also the columns presented in the web client will always be the ones specified in the Quick Find View customizations, but in Outlook the columns will not change as you’re searching from within the current view. However, it appears that the search columns that the Outlook client performs the query on are still affected by the ones defined in the entity Quick Find View, even though this view is never actually presented to the Outlook user. Still following me? If the different search logic is hard for a consultant to remember, just imagine how confusing it can be to the CRM user.

Issue 3: Writing emails from Outlook without Outlook

One of the three core modules in Dynamics CRM is Service. The most typical scenario for utilizing CRM for customer service processes is directing the incoming emails for an address like support@company.com to a queue in CRM. This way the emails are automatically tracked under a contact record if the sender email exists in CRM. Also the queue allows you to see which items are already being worked on by customer service reps.

If you’re working with the Outlook client for Dynamics CRM, then you can write all your emails with the normal Outlook email editor and make use of the rich tools for message formatting, signatures, attaching multiple files with at once etc. Right? Not in this case. If the email you are replying to does not exist inside your Outlook mailbox but rather as an email record inside a CRM view, you can’t send “Outlook” emails as a reply. When you click the reply button, the Outlook client will open the web client email editor form for you.

There’s surely a reason why the email editor in the web client hasn’t been improved since CRM 3.0. Outlook is Microsoft’s premium experience editor that should be used wherever possible, whereas the web editor is a secondary feature. But if you’re using Outlook already, then it would be nice to be able to always remain within that rich client, even when replying to queue emails, wouldn’t it?

Issue 4: Recently used and pinned records behind the File button

Many users will normally be working with a selected few accounts, contacts and opportunities at a time, rather than the whole CRM customer database. This is why the Recently used records menu in CRM 2011 is a great usability enhancement, which is also familiar from many other CRM applications. Right from the CRM main window, from the top left corner where you first look, you’ll be able to open a rich pane that presents all the latest records as well as the views you’ve recently visited.

So, when I’m in the Outlook client then, surely I’m able to access the same list? Well, you are, but you’ll have to open the Office Backstage menu by clicking on the Outlook File menu, then glazing past all the file manipulation options and settings menus, to finally reach the recently viewed CRM records. And even if you reach it, you won’t be able to launch any views from this menu, since again the way how Outlook treats grids is different from the web client. Anyway, you probably won’t be accessing this menu any more often than you tweak your CRM settings, simply because it’s so well hidden away.

Desktop Outlook: how crucial is it still?

Ok, so there are a few quirks to be aware of when jumping between the web client and Outlook client. But how essential is it really to use the Outlook client in the first place? (more…)

Connections don’t merge, so be careful with duplicate records

4 comments

Posted on 12th November 2011 by Jukka Niiranen in Annoyances |Features

, , ,

Update 22.3.2012: this has now been fixed in Update Rollup 7 for Microsoft Dynamics CRM 2011 (KB 2600643). Go and get the file here, unless you’re using CRM Online.

Connections are a nice new feature in Dynamics CRM 2011 that allow you to create ad-hoc relationships between two records of almost any entity type. Additionally, you can specify roles for both the Connected To and Connected From parties, to describe the connection in more detail, as well as provide start and end dates for the connection. These are very handy for recording non-hierarchical relationships between contacts and accounts that tend to exist in the real world. As an example, a person working as the CEO of Company A might be a member of the board in Company B, which means they should be visible under both accounts. Company A would then be the parent account of the contact, whereas there would be a connection between the contact and Company B.

Another common real life phenomena is that duplicate records find their way into the CRM database. This can be due to data imports from external databases, web forms feeding in new contacts, or simply two users being unaware of each other’s records and entering data with slightly different spelling or email address variations. Luckily Dynamics CRM has a built-in functionality that allows you to merge duplicates from the database. This process will move all the child records from the subordinate record to the master record, thus ensuring that everything remains linked to the active record and not the deactivated duplicate.

Except that for connections this doesn’t happen! Once the merge is done, all the connections will still be referencing the inactive record, not the master record. In the aforementioned example, you would have effectively lost the information about the contact’s relationship with Company B. Even though you could still see it by opening up Company B’s record and seeing the connection there, how would you ever have known where to look?

There is an existing feedback item 683301 on Microsoft Connect regarding this functionality:

Here’s a quote of the comment I’ve posted on the item:

I think this is a serious flaw that undermines the perceived reliability of the Merge Duplicates feature in the eyes of the end users. The merge screen indicates that all child records related to the subordinate record to be deactivated would be transferred to the master record, but it doesn’t warn that connections would need to be manually checked.

The merge process works just fine for custom entities, activities and pretty much everything except connections. Why would the user ever want to leave behind some non-duplicate information to the deactivated record? By merging two accounts or contacts the user is effectively declaring that these represent the same object in the real world. If something in the database has a relationship with either of these records, it should be carried over to the active record, as the inactive record no longer serves any other purpose than indicating the prior existence of a duplicate entry and the possible differences in attribute values compared to the current active record.

If you think connections should be transferred over to the master record when merging duplicates, be sure to log in to Microsoft Connect with your Windows Live ID and cast your vote on this item. In the meantime, if you’re planning to use the connections entity for recording any data related to accounts, contacts, or leads, my suggested options are:

  • Don’t do it. Create a new custom entity for recording this data, as they will merge over to the master record just fine.
  • Develop you own plugin for capturing any merge events and updating the related connection records accordingly.
While we’re on the topic, I also tested what happens to the old Relationship records that were used for connecting account, contact and opportunity records in versions prior to CRM 2011 (and are still visible in an upgraded organization). The result? When merging two contacts, any relationships referencing the subordinate record are deleted! Yeah, crazy, I know. If you’ve got any insight on what is the reason behind this perplexing system behavior for either connections or relationships when dealing with duplicate records merging, please leave a comment in the box below.

Switch to our mobile site