The CRM 2013 Quick Start is a first look at Microsoft Dynamics CRM 2013 and all the new features that have been included. In the CRM 2013 Quick Start you will find details that can help … Get the book
Matt Witteman, an MS CRM MVP, posted a nice wish list of 14 improvements that he would like to see in the product. Out of all these, I agree with almost all of them and would take them up on my list as well, except for the first one, which is the request to have more frequent releases of new MS CRM product versions. And that really contradicts with the whole point of asking for feature improvements.
When you are working with a product that has a release cycle of 2 years, there are a couple of things that happen. Number 1, you implement workarounds or acquire add-ons to circumvent some of the features that you are most sorely lacking in the current release. Number 2, you commit yourself to the platform that has been given to you and invest in long, tedious and expensive integration projects that promise to deliver value in the long run.
Imagine that this same platform would suddenly turn into a “perpetual beta” kind of product which continuously insists on updating itself with nice little features and quick polishing. You would end up living in a world of constant fear that a change in the next minor version will either render some of your previous efforts obsolete, or more importantly, break an integration that the whole business has learned to rely on.
I’d very much like to have it both ways, but when it comes to choosing one or the other, I’m actually pretty happy with the way things are for Microsoft CRM. Yes, my company is still on CRM 3.0. Yes, we have a huge number of critical integrations. Yes, there are plenty of features in 4.0 that I want to get my hands on. Yes, upgrading to 4.0 will be a long and hard journey. I just don’t think there really is a viable alternative to this development path, yet. Then again, while reading The Big Switch and seeing what is going on with Salesforce.com and other modern players, I also keep on wondering how many years the current method of implementing business applications will last, and what will be the next platform that I get my hands dirty on after 5 years time?
If you ever need to access the MS CRM server from a remote office with not such a speedy connection, you will notice that CRM is not a particularly light weight application. In a WAN environment where the server is located in a different country or even on a different continent as the users, this can cause some serious issues. Slow performance is a very real threat for CRM user adoption.
In an attempt to respond to the complaints of branch office users about the system usability issues caused by network latency, we have started investigating what really goes on between the CRM server and the CRM client in some of the basic use cases, such as opening CRM default front page (my activities) and opening an account form.
Loading the CRM front page without cahced data can include close to 300 different HTTP requests. To me, that sounds like an insane amount for any web page! Sure, there are various little icons on the screen and many controls to load, but still that is way over what I would expect. My personal installation of SugarCRM only takes 65 HTTP requests to give me a nice dashboard of accounts and activities. Where do all these requests originate from?
Let’s look at the individual requests that take place during a normal CRM page loading:
First you see the request for the 16_print.gif, then a while later you see the same request again. What’s up with that? Going through the list, you will notice that in practice all the items are requested twice from the application server. The first one has a result code 401, the other 200.
Welcome to the world of IIS, or more precisely version 6.0 of it. This is how content protected by integrated Windows Authentication is handled by the server. You can read some discussion on the subject from this thread: “Integrated Windows Authentication – Double Hits“. Brian Reid from C7 Solutions also covered this subject in his blog post “Improving the Performance of IIS 6.0 Applications”, where he also suggests quite an elegant solution of modifying the AuthPersistSingleRequest setting in IIS metabase. However, this being not just any in-house developed site but Microsoft CRM, a business critical application, I’m hesitant to try anything that has not been officially promoted by MS as a performance tweak. Therefore I decided to have a look at what this article had to say about IIS: Optimizing the Performance of Microsoft Dynamics CRM 3.0 White Paper. I’ll share my findings in part 2 of this post.
If you need to support a Microsoft CRM environment where both the desktop (online) and laptop version of the Outlook client are being used, here’s a quick way to switch your own workstation to use a different client mode. Assuming of course that you already have the local SQL database on your machine.
- Open Regedit
- Locate the registry branch HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient
- Set the LightClient registry key to either 00000001 (desktop) or 00000000 (laptop)
There’s another key right next to it, which tells the current status of the client:
- RCOffline = 00000001 equals offline mode
- RCOffline = 00000000 equals offline mode
That registry key may come in handy if your “Go Offline” / “Go Online” buttons in the Outlook UI get mixed (which is what they sometimes do!) and you need to determine the real status of the client.