Thoughts on Forms

Forms, forms, forms…

It’s amazing how much manual data entry we still have to do in what is supposed to be an increasingly automated world.  For a data-intensive application like CRM, the way the application presents and requests data from the user can be pivotal in deciding whether the user actually benefits from the system. 

Take an example from one of the most popular sites today: YouTube. How many fewer videos a day do you think would be uploaded if their submission form was poorly designed?


What is so great about such a plain looking form? First of all, it gets straight to the point: “What do I need to fill out to get this video uploaded?” All of the required fields are lumped in the top section and optional fields are left in the expandable sections below with a summary of what the defaults are set to. Another important thing to note is that most of the labels are immediately obvious but since most users are not familiar with ‘tags’ they’ve provide some more information. Finally, take a look right above the form and you’ll notice that although this is a 2-step wizard they make it very clear where the user is in the process (“Step 1 of 2”).

On the other hand, try registering to vote online. Why do such basic questions seem so complicated?


There are some broad thoughts I’d like to share about how we can improve upon the forms experience have in CRM 4.0 and, of course, please do let me know what you think in the comments.

Forms should show the right information to the right user at the right time
There is usually more information on a typical form in CRM today than most users care to see. What is relevant to one person may be irrelevant to another; however, context is also important think about. In some cases a single person may want to see different views of the same piece of data at different times. Our forms should be smart about what they show who and when.

Forms are about more than just data entry and retrieval

Although the examples above are all about inputting data, in CRM the real value is created when that data is made relevant alongside other related information in the system. This tells users the ‘so what’ about their CRM data and helps them make intelligent decisions beyond just a single account or contact. Our forms should make it easy for users to get insight from relevant and related information that exists elsewhere in the system.

Make it simple to create great looking & easy to use forms

At the end of the day it needs to be easy to make well-designed forms that you want to put in front of your users. Well-designed forms reduce administrative time, increase system adoption and, most importantly, increase the overall quality of data in the system. While there should be flexibility in the tools we offer, they should be focused enough that as a system customizer you don’t need to spend too much time making something that looks great.

(On a side-note, if you’re interested in great form design for your own website, one of my personal favorites is Luke Wroblewski -

As I mentioned, these are just some of my thoughts on the world of forms but, more importantly, I’d be interested to hear your feedback and enhancements you’d like to see in CRM5.


Steve Kaplan

Comments (7)

  1. Josh Painter says:

    My biggest "form wants" for CRM 5:

    — Multiple Forms per Entity – you are absolutely right about context. I frequently have a need to show a form just a little differently for a group of users, and using javascript to show/hide things is not only unsupported in some cases, but quite tedious.  If I could just create as many "front-ends" for an entity as I needed, this would be much easier.

    — A clearer seperation between the type of an attribute and how it is displayed on the form – for example the nvarchar attribute type.  Why can’t I change it from a textbox to a textarea on the fly? I have to delete the attribute and recreate it.  The attribute may have required/max length/etc, but how it is displayed on the form should be the form’s job (maybe on the formatting tab for the control), not specified on the attribute.

    — Ability to create custom controls and then specify that control to be used for an attribute.  For example, allow me to build a custom UI control somehow, and then when I add that attribute to a form it should ask me what control to use.

    — Editable Related Fields – If I’m looking at a custom entity form that has a lookup, I’d like an easy way to see/change fields on that related lookup record as if those fields are part of the form that I’m already on.  Again, this can be accomplished by javascript/plugins but it comes up so often that I’d like it to be a core feature.

    — Enhanced lookup control – Auto-complete was a great addition, but it could be even better.  I wish we could configure what field(s) to use as the Display property instead of just the primary attribute.  I wish we could configure what fields the auto-complete uses.  I wish that as I typed in the lookup field, a grid popped up under the lookup box that allows me to quickly find a match, and that grid was configurable so I can add columns that help the user identify the match.  I wish we could apply filter logic to the grid’s results (only find contacts of type "x"). And finally, I wish the Quick Create form was integrated as well, so if I don’t find a match I can create one right there on the same page. Extra points if we get to create multiple Quick Create forms for different use cases!

    — Multi-select picklists! This was one of our biggest problems importing from Sales Force – we ended up creating as many bit fields as were options in the SF multi-picklist so they could choose multiple options in CRM.

    — Silverlight native support – If CRM forms were actually just Silverlight forms that I could modify using Expression/VS/etc, I would have true ultimate power! 🙂


  2. Josh Painter says:

    A few more:

    — I wish we had the ability to create multiple Associated Views per entity, and then choose which one I want to use on a related entity form.

    — We can create multiple views per entity right now, but it would be nice if I could add an entry to Site Map that would point directly to a view.  As it is now, we can add an entry that points to an entity, and set the default view, but that is a system-wide setting.


  3. Steve Kaplan says:

    Thanks for the great comments Josh. We’ll make sure to consider these for CRM5.

  4. John O'Connor says:

    ALL fields should have a read only setting.  In the current version and in 3.0 some fields (like all of the ship to address fields) cannot be set to read only, even though they all have a setting to turn them off.

  5. David McDowall says:

    I’d be interested in how to create simple data entry forms that can be posted on my company’s website so that customers can use them to register RFQ’s, Information requests, Notifications of Product Returns etc in such a way that the data can be automatically loaded into CRM and create CASE’s and OPPORTUNITIES that are subsequently routed to the right user or queue for processing.

    Can any of you advise on how this might be done, or direct me to any existing solutions or providers that can help ?

  6. CRM Services says:

    really amazing blog and I was thankful to you for sharing such useful information.

Skip to main content