Free Dynamics CRM Webinars in February

Hi Everyone,

Just a quick reminder about this month’s free Dynamics CRM webinars:

Dynamics CRM Workflows 101

Friday, February 12th, 10:00am CST    Register Here

In this webinar we will discuss the basics of the Dynamics CRM workflow system, how to create simple workflows, management of those workflows, and the tools that can help you create workflows that help you and your users automate your Dynamics CRM activities.

Dynamics CRM Form Design: Art or Science?

Friday, February 19th, 10:00am CST   Register Here

Given the new form layout for Dynamics CRM 2013+, it is sometimes difficult to design a form that contains the information required by the user, while also being friendly from a data-entry aspect. In this webinar we’ll discuss some form layout tips and tricks, best practices, and some gotchas. Attendees are asked to come ready to share their best practices as well.


Thanks, Mitch

What exactly is a minimum viable product (MVP)?

Earlier this month I gave a talk to several groups of 8th graders at a middle school where a friend of mine teaches.  I talked to them about what it was like to be a software developer, what I did, what my day was like, and what they would need to do if they chose such a path.

Beside just rambling on about the processes of learning and practice, I also showed them a Xamarin Forms application called About Time that I had written quite a while ago that is a quirky kind of clock.  I showed them a bit of the code the deployed and ran it on my iPad – which was about the coolest thing I could think of related to some of the normal development that I do which most 8th-graders would not be too enthused about.  But creating an app that you could put on your iPad, that was something else.

The app was just a learning experience for me when I was learning Xamarin Forms and while I have considered it many times, I have not spent any actual time to finish it up to publish the Apple App Store.

A couple of days ago I get a package in the mail that contained a stack of thank you cards from the school and from the students themselves. Most were of the “thanks for coming and talking to us” variety but a few were very appreciative and inventive in what they had to say and you could tell they actually took the time to write what they thought.

One young lady named Alexis, had this to say:

I really think you should make that software into an app. The only advice is if you could change the background so it could be personal to users.

Does she look like a future product manager or what?

So Alexis, let’s discuss the application development process and what it actually means to ship an application that people will either purchase or use.

Minimum Viable Product (MVP)

A minimum viable product, is exactly that: It is a version of your product that contains the minimum amount of functionality required to perform its job.

The purpose of an MVP is to get it into the hands of the users.

Why is this so important? Back in the late 1800’s, a Prussian army general named Helmuth von Moltke the Elder coined phrase (paraphrased):

No plan survives contact with the enemy.

My updated version of this is:

No plan survives contact with reality.

The basic concept is that we as software developers do not often know what our user want.  In fact, in most cases, the users themselves do not know what they want.  So what do we do?  We guess.  We may shroud this in market research, focus groups, one-on-one’s, etc., but in reality, until people see a thing, it’s really just conjecture.

Don’t believe me, listen to these guys:



So, the idea is that you create a product, get it into the hands of users, the take their feedback to improve the product.

So you want me to ship crap?

Nope. That is not what I said. Your product needs to be professional, functional, and perform the basic tasks for which it was designed.  But, it does not need to have a million bells and whistles that people may or may not use or need.

Consider this:


Pretty scary to think about, but unfortunately it contains a lot of truth.

Why is this important?

It all comes back to time and money. It serves no useful purpose to spend months and thousands of dollars adding features that you are not sure people will need or want.  Stick with the basics then iterate from there. It costs less to add a feature than it does to change a feature once implemented.

It is also important to note that this practice is valuable no matter of this is a paid application or a free application. Time is still money and they don’t make any more than they used to.

I have personally spent months developing software that people did not buy and let me tell you, the thought of the sunk cost of that effort makes me queasy every time I think about it.

So let’s get back to the application that I demonstrated to the kids as an example of an MVP, the possible update process, and how things can work.

About Time, now and future

The idea for About Time came from a watch that I read about ten years ago. I thought it was a pretty cool idea but later research seems to indicate that the watch never made it out of the prototype phase.

My version is slightly different, but it uses the same concept of telling time using phrases that many people commonly use when telling someone the time of day.

Here are some screen shots showing About Time in action:


At around 5:35am.


6:10am or so.

Here is the path that About Time could take:

About Time v1.0

Version 1.0 is my MVP and really needs to have just the basic functionality:

  • Display the time
  • Change the background image to reflect the time of day
  • Update the time should the application be running on the screen so we always have the current time

At this point, it does everything that it is designed to do so I can bundle it up and ship it to the app store. My main decision point now is the price. Here are my options:

  • Give it away
  • Charge $.99

Remember that on the Apple App Store, once a user purchases your application, they get future updates for free. The only way to charge for an update is to create a new application. So once you have their $.99 (minus the Apple commission), you have made all of the money that you can make off of the sale to that customer, unless you create a new app. (we’ll discuss other monetary options in a minute.)

About Time v1.1

Assuming people are using the application and that you have received good feedback and ratings, consider moving the the Android and Windows Phone market places. Since the code was written in Xamarin Forms, it is already cross-platform and just needs to be published to those markets.

About Time v1.2

The phrases are hard-coded into the application so let’s make them configurable by the user. Let’s also ship some pre-defined phrases from other countries.

About Time v1.3

The times that the app uses to determine when to switch background images is hard-coded. Let’s add a call to an Internet web service that will get the location of the device to determine the proper boundaries for sunrise, sunset, day, and night.

About Time v1.4

Apple Watch edition. Assuming by this time that Apple actually allows us to create applications that can show you the time of day.

About Time v1.5

At this point we need to discuss and discover if we need to add an alarm clock feature. If so, then do it now.  How do we know if we need an alarm feature? We ask our users to see if that would be something they would find useful.

About Time v2.0

In this version, we add the following features available as in-app purchases:

  • The ability to add custom background images
  • Synchronizing configuration data (phrases, images, etc.) with a cloud-based database so that About Time running on any of the user’s devices will always have the same configuration.

This will be the final version of About Time, baring any maintenance updates.

So what is the point of the multiple versions?

Well, there are several things to consider:

1. Regular updates will increase your visibility within the App Store.

2. You have a methodology that allows for a constant feedback loop with your customers.

3. You don’t have to worry about spending time on unused features should the feedback not be favorable. You can halt development at any point in this product plan, should you choose.

#3 is the most important point, so let me give you an example of why:

In v2.0 we are going to allow the users to select a background photo of their own.  While this seems like a trivial exercise, here are the actual steps required:

  1. Selection of the photo for each of the four times of day
  2. Storage of the photos
  3. Photo analysis. In order to have a text color that allows the time-phrase to be shown, we have to sample to photo to determine what the main color is so that we can properly adjust the phrase to be either black or white.

Again, not rocket-science steps here, but things that must be considered and which will take time to do properly.

In Conclusion

So to wrap things up, just ship the damn thing. You can make it perfect later.

New Workshop: Dynamics CRM Management and Troubleshooting (Online)


This workshop is for administrators of Dynamics CRM Online and will cover the following topics:

  • Review of the tools that you need to have in your toolbox
  • Error, Warning, and Notification Messages
  • Managing System Jobs
  • Automating System Job Clean-up
  • User Management Tips and Tricks
  • Email Management
  • Troubleshooting Using Event Tracing
  • Workflow Best Practices

The information covered is relevant to Dynamics CRM versions 2011+, with any version-specific information noted.


Wednesday, February 17th, 2016 at 1:00pm (Central Time-US)

Class Duration:

2.5 hours

Cost Per Attendee:


Eventbrite - Dynamics CRM Management and Troubleshooting (Online)

Note:  Due to the interactive nature of this webinar, this session is limited to 25 attendees.


Each attendee will receive a copy of my upcoming book: Dynamics CRM Deep Dive: Administration. This is an enhancement to my 21 Squared: Administration training. Download the sample lessons to see the type of information we'll cover.

February's Free Dynamics CRM Webinars


Hi Everyone,

Here is next month’s webinar schedule:

Dynamics CRM Workflows 101

In this webinar we will discuss the basics of the Dynamics CRM workflow system, how to create simple workflows, management of those workflows, and the tools that can help you create workflows that help you and your users automate your Dynamics CRM activities.

Friday, February 12th, 10:00am CST    Register Here 

Dynamics CRM Form Design: Art or Science?

Given the new form layout for Dynamics CRM 2013+, it is sometimes difficult to design a form that contains the information required by the user, while also being friendly from a data-entry aspect. In this webinar we'll discuss some form layout tips and tricks, best practices, and some gotchas. Attendees are asked to come ready to share their best practices as well.

Friday, February 19th, 10:00am CST   Register Here


Drop me an email if you have questions or suggestions.

Thanks, Mitch

Why do you not blog: A Challenge

Everyone should have a blog, as I have stated many times in webinars or in conference presentations.  Everyone has unique experiences that could probably benefit the community as a whole, should you choose to.

How I got started

Way back when, in 1995, I had to learn C#, .NET, and SharePoint in about a three-week timeframe. I learned a tremendous amount by reading other people’s blogs. I can safely state for the record that I would not have been able to accomplish my goals without the generosity of others sharing their experiences.

When I started working with Dynamics CRM 3.0, I wanted my own blog on which I would share my experiences so that other people could learn from what I was doing – hopefully saving them some time and effort. It was a way to return the favor that others had given me.

In fact, one of my first blog posts was the result of opening a support case to learn how to hide a tab on a Dynamics CRM form.

I have a couple of very simple rules for writing articles:

1. Does it take me more than 30 minutes to either find the answer, or create the answer?

2. Is the answer of strategic value to either my company or my customers?

If #1 is yes and #2, is no, then I write the article.


The tools

WordPress is the way to go when establishing your online presence.  All of my web sites run WordPress, whether or not they are used as blogs or as company web sites.  You can host a free blog at, which will give you a site called:, or you can create your own domain hosted at a hosting provider that supports WordPress.  I use WP Engine [affiliate link] for all of my sites because of their customer service and administration facilities, not to mention the automated backups. Smile

Windows Live Writer (part of the Windows Essentials package) is what I use to author every article I write and it totally changed the way in which I write and post.


Some tips

1. WordPress allows you to schedule the publication of posts. This is extremely handy should you write a bunch of articles in one sitting and want to spread them out over a period of time.

2. Don’t publish more than one major article on your blog per day. The idea is you want to have people continually visiting your blog so if you publish everything in one day, you may have only one visit. Publishing five articles in five days is five visits.

3. Articles do not have to be novels. Sometimes just a quick tip or trick is all you need – but don’t shy away from the novels. People enjoy those too.

4. Be thorough . Nothing drives me crazy like an article that mentions a great topic and just barely covers it. I am sure that you have read articles that at the end you ask yourself, “what was the point.”

5. Don’t be afraid to make updates should new information come along related to the topic you covered. Either create a new article (my preference) or just update the original article in a manner that makes it obvious that you’ve added or changed the content.

6. Screen shots. A screen shot is worth a thousand words; seriously.  I use SnagIt for all of my screen shots.`

7. Recommended WordPress plugins. Here are just a few of the plugins that I recommend.

  • JetPack is probably the ultimate WordPress plugin and is written by the same people who created WordPress. Lots and lots of features here.
  • Download Counter allows you to count people who are downloading files from your site.
  • Contact Form 7 is a great contact form tool.
  • WP-Polls is a great plugin for polling your audience.
  • WP to Twitter is what I used to automatically tweet my posts before I started using CoSchedule (mentioned below).
  • WPTouch create a mobile-friendly version of your site.

8. Pay attention to when people visit your site. From my experience, people do not visit my site much on the weekends. This means I should not post things on weekends.

9. Use social media to your advantage. I use a service call CoSchedule [affiliate link] to schedule my posts to Twitter, Facebook, LinkedIn, and Google+.

10. Read this article about when to post on social media: What 10 Studies Say About The Best Times To Post On Social Media


The challenge

So enough about me, my process, and getting things set up.

I want you to start writing, whether or not you have a blog already.

If you have article ideas but do not have a blog or are not in a position to create one at the moment, would you like to author a guest-post on this site?


If you are interested

Write up a short description of your article idea and send it to me via the contact form on my About Me page. I’ll review it and get back with you on any feedback and next steps.

5 Things you will learn in the Dynamics CRM Management and Troubleshooting Workshop

On Wednesday, January 27th, I’ll be hosting a new edition of my Dynamics CRM Management and Troubleshooting workshop.  Here are 5 things that you’ll learn to help you in your Dynamics CRM administration efforts:

1. Tools every administrator should have in their toolbox

There are a handful of extremely useful, and free, tools available that will help you in your administration efforts. We will discuss where these can be found and how they are used.

2. How to read and understand Dynamics CRM error messages

There are all types of errors that show up in various places within Dynamics CRM. Knowing and understanding these error messages, their origin, etc., can help you reduce the likelihood that they will happen on a frequent basis.

3. Cleaning up your Dynamics CRM organization database

There are a couple of main areas within the Dynamics CRM organizational database that need to be maintained in order to keep the system functioning at its highest level. We’ll cover how and why to keep your database clean.

4. Automating database maintenance tasks

Once we have cleaned up our database, it’s a good practice to add maintenance jobs to keep it clean. We’ll cover the various ways this can be accomplished.

5. The art of platform tracing

Have you ever had to turn on tracing to track down a pesky CRM issue, then you know how challenging it can sometimes be. We will covert both the tools and techniques to make the job of platform tracing easier.


Eventbrite - Dynamics CRM Management and Troubleshooting (On Premises)


Got questions?  Just let me know.

Thanks, Mitch

Sharing information and lessons learned with other developers

Sign up for our new KnowledgeBits service and get news, tips and tricks and more, delivered straight to your inbox.