SharePoint provides business users a way to create document and data repositories to capture necessary information. Users enjoy the configurability of the platform, and the ease with which they can create a list or library, add a few metadata fields and views, and call it a day. But this doesn't add up to a good user experience.
Let’s analyze a real-world scenario: Say you are creating a list where employees can submit issues to the help desk. You create the list using the “Issue Tracking” list template. You add a few columns for tracking additional information for filtering or reporting purposes. You create a couple of views that categorize the requests by category and status, for example.
This is where most people would stop. Is it enough? Has any thought been put into the user experience at this point? Probably not.
How do users submitting a new request know which fields are required? Or which fields they should not fill out or have access to? How will they get to the new issue form? Will it be clear what they can expect after they’ve submitted an issue? How will they find previously submitted issues?
The following should be implemented nearly every time you create a list or library for data capture. If it’s just for yourself or a small team with extensive knowledge in how SharePoint and your business process works, then these may be unnecessary.
However, if you are trying to gather information from end users who don’t have much experience with SharePoint or your business process, the following tips will help you get the information you need and will provide them with a lot less headaches.
1. Hide Unnecessary Form Fields
Little will frustrate people more than being faced with a form which contains a lot of extraneous fields. Even worse is when fields are present which are intended for another party — not the user — to fill out. How will users know which fields they should fill out, and which to leave alone? For example, in our issues list, there are fields to capture the issue’s status and who the issue is assigned to — clearly meant for help desk personnel to fill out.
An easy way to circumvent this issue is to hide these fields when submitting a new issue. This can be done using content types, modifying the forms in SharePoint Designer to hide the fields in question, or by using another third party form tool.
2. Set Required Fields and Other Form Validation
As frustrating as not knowing which fields to fill out, is not being alerted to incorrectly entered data, including required fields. When you create a new list or library, by default it sets either the Title or Name field as required. It's up to you to configure the validation on other fields to make it easy to fill out the form the correct way.
You may have a field that must have data entered in order for a workflow to operate properly, for example. Or you may have some metadata fields that you wish users to fill out to help people find information later via search — but make sure not to require too many fields, otherwise you risk frustrating users. It’s easy to make a field required in the list’s settings.
More complex form validation can also be configured, such as requiring that a start date be before an end date, or a discount field can’t be more than 10 percent of the purchase price. This is also configurable in the list’s settings. You can create any formula that you want, and as long as it evaluates to true when evaluating against the user-entered data, the field passes validation. Otherwise the form will display an error message that you specify.
3. Group Fields Logically
A large form with many fields can make the data run together and appear jumbled, which is especially true when using the out-of-the-box SharePoint forms. Help your users by grouping similar data together separately — it will make more sense and also be more visually pleasing.
If you have personal data (name, address, phone, etc.) and other distinct types of data you want to capture, you can modify your forms in SharePoint Designer or another form tool to move and group the fields more logically.
4. Let Users Know Their Form Submission Was Successful
One thing that’s driven me crazy since the early days of SharePoint is the default redirect behavior after a form is submitted. It simply returns users to the default list view, which probably isn't where you want them to go.
You can control this. Manipulate the “source” URL query string parameter in the link to the form. You can create a “thank you” page and redirect the users to that page by appending the URL in the query string. Use the thank you page to let users know that their form submission was successful, as well as what to expect, such as standard response times. Maybe the thing that’s driven me crazy is that more people don’t know about or utilize this trick.
5. Update the Default Views
The default view of a new list or library in SharePoint is a list of everything they include, including columns (assuming you checked the box “Add to default view” when adding columns to your list). No filtering, sorting or grouping goes on in the default view — it’s just a bunch of data that is essentially meaningless and hard to decipher.
Create a custom view that is more meaningful to your target audience, and set that as the default view. This is easily done when you’re modifying a view, so when someone clicks on a link to your list or library, they see your custom view instead of the generic default.
6. Create a Dashboard or Landing Page
Think about user flow — how will users enter a new record into your application and how will they find that information later. Create a page that serves as a dashboard or landing page for all the information you want users to see regarding your application.
For our issues list, I would recommend creating a page that contains a prominent link at the top for submitting a new item. I would also include web parts displaying open issues and the issues that the user submitted, so they can easily find them later. I could also add a KPI with a visual of the average response time and how quickly issues are resolved, or a web part that displays frequent issues and how to solve them.
Think holistically about how various data can be brought together and displayed in an easy-to-decipher format, not in terms of a single list.
7. Only Show Relevant Information for That Person
Taking the dashboard page one step further, only show information that is relevant to the person who is viewing the page.
For example, for people entering new issues, display a web part on their page that shows the issues that they have submitted for quick reference. Show help desk users a web part with all of the unresolved issues that are assigned to them. You can use audience targeting to make sure only the help desk personnel will see this web part.
Worth the Effort
I have described some fairly simple changes that a site owner can implement to enhance the user experience with forms.
While it takes extra time to implement, it will be very well received by your users. Simply creating a list, adding some metadata, and sending users a link to the default list view page won't cut it if you're aiming for a good user experience. Take the time up front to implement these simple enhancements, and you will be rewarded with happy users.