Vanilla Fix™: Incremental fixes that drive user adoption of SharePoint forms

You have some sort of ledger or register that is business-critical to what your team does. This may be an asset register, a calendar specifically designed for your team’s events, records of workshop bookings, a collection of travel requests to review and process, an archive of approved designs, a list of industry contacts, or a library of knowledge articles.

Luckily, you have had the courage and means to step up from having to manage multiple copies of Excel spreadsheets and Word documents, to taking advantage of a centralised source of truth in an information system such as Office 365 or a company intranet powered by SharePoint, where you interact with forms to perform your tasks.

Small, repeatable tweaks have a big impact on usability.

There is much to talk about forms deployed on the SharePoint platform. Your mileage may vary, but when you open a form to do data entry or to edit an item, there is usually some degree of frustration from having to put up with big and small unplugged holes that may lead to confusion, misdirection, inconsistencies, compromised data integrity, abandonment following failed save attempts, lack of visual guidance, and other manifestations of usability chaos.

SharePoint, however, is not at fault here; it is a highly malleable platform, one that provides robust generic functionality required to drive an information system. What is needed is appropriate last-mile customisation implemented with people’s specific needs in mind, which is often the difficult part.

To address the various limitations of native SharePoint forms, however, consultants and developers have traditionally opted for ad-hoc hacks with little consistency across implementations and few provisions for ongoing maintenance. Commonly known alternatives to this have been: bringing back a dead product, having to justify ongoing costs of licensing a separate suite of software, and forcing a paradigm shift down people’s throats.

But if you are asked to design a highly usable SharePoint form that enables its users to handle business information with confidence, AND if the execution must come with as little surgery, delay, and resistance as possible, then there is a new alternative called Vanilla Fix.

Vanilla Fix: fixing vanilla SharePoint forms

Vanilla Fix is a set of front-end form design patterns for the SharePoint platform. These patterns started off as a collection of repeatable solutions that were formulated by Jesse Kim through SharePoint consulting engagements across a variety of industry sectors. Vanilla Fix is used to solve various problems associated with collecting and handling form data, such as:

  • ensuring that users see only the fields they need to see as dictated by business logic, and nothing else;
  • implementing conditionally mandatory fields;
  • conditionally limiting drop-down or checkbox choices on the fly;
  • providing custom actions in addition to standard Save and Cancel;
  • splitting a form into multiple steps or pages, together with logic for conditional progression;
  • applying a customised form layout that makes sense to end-users;
  • transparently generating custom audit trail entries as each record or request moves through different statuses;
  • …and other themes of front-end enhancement.

Problems like these are solved by making repeatable incremental improvements to how native (“vanilla”) SharePoint forms behave. The net result helps users to get better value out of their information systems.

KM-SPF on Github

Vanilla Fix Repository on Github

Why front-end?

In short, front-end enhancements are the quickest to implement, produce results with high agility, and come with no added complexity. By staying front-end and letting the user-facing browser handle form customisation logic, no additional load is imposed on the server, no software installation is required on either end, and no new paradigm needs to be learned.

Vanilla Fix enables lightweight, purely front-end enhancements to the functionality, behaviour, and intuitiveness of forms in SharePoint. It uses a combination of HTML, Cascading Style Sheets (CSS), and client-side object-oriented JavaScript to complement the native form-related capabilities of SharePoint.

The concept of injecting front-end enhancements into SharePoint forms is neither new nor revolutionary; however, the value of Vanilla Fix comes from documented consistency and the degree at which “fixes” are made repeatable.

Rendering an information system usable

There are, of course, limits to what can be developed on the front-end alone. A solution may use a combination of Vanilla Fix and Microsoft Flow, for front-end user interaction and back-end workflow automation, respectively. Some business processes with high complexity do often call for specialised software products or bespoke means on the server- or cloud-end. Teams and businesses know that even small tweaks have a big impact on the usability and user adoption of their forms, and will commit to tools that deliver the enhancements and functionality they want.

The fact of the matter leanred through a series of form development projects, however, is that clever front-end enhancements actulally achieve a lot towards the objective of rendering an information system usable. Vanilla Fix proactively explores this niche by systemising the various tried-and-tested fixes and enhancements into an openly available body of intellectual property.

Who is this for, and what are the requirements?

Vanilla Fix has been put together so that teams can avoid reinventing the wheel, resist adding to the complexity in technology stack, and hopefully save on software licensing costs. It works on Office 365 (SharePoint Online) classic forms as well as SharePoint 2016, 2013, and 2010 installations. Naturally, the primary audience who will experiment with and adapt Vanilla Fix is front-end developers.

The ultimate audience, however, is business stakeholders who will engage these developers to create or enhance SharePoint-powered information systems. Teams that have already invested in the SharePoint platform for information sharing and various business registers, in particular, could benefit significantly from incremental enhancements that “get it right.”

In reality, for a non-trivial SharePoint form to actually hold business value, some degree of customisation beyond out-of-the-box provisions cannot be avoided. Such is perfectly business-as-usual. While SharePoint as a platform provides a robust foundation upon which business information is held and secured, the true value of an information system is largely derived from the usefulness of tuning and enhancements made on top of it, which will in turn drive users towards sustainable information management practices.

Question the default recommendation

Usually, however, what follows discovery is a recommendation to license and install specialised software on top of SharePoint in order to overcome the limitations that have been identified with respect to the problem that needs solving. Generally, this leads to one of two broad outcomes:

  1. accepting the limitations of vanilla SharePoint forms and forcing users to work around them, which inevitably results in lower-than-expected user adoption due to questionable usefulness; or
  2. justifying the costs of licensing and maintaining a suite of software products on top of SharePoint, which may be overkill and introduce new inefficiencies for the magnitude of the problem at hand.

Vanilla Fix offers an alternative that sits between the two. It starts with undertaking an objective analysis to determine if a team’s form design requirements – or at least a significant portion of them – can be met by leveraging repeatable front-end enhancements.

A point worth noting is that a solution for form development does not need to be exclusively one or the other; at the end of the day, it depends what is required by the team using the form. While Vanilla Fix may well be the only tool needed for form customisation and enhancements, it can also handle the front-end of a SharePoint solution in a way that complements other technology components such as Microsoft Flow and Nintex Workflow.


How do I get started with Vanilla Fix?

If you are a front-end developer who is reasonably familiar with the basics of jQuery, get started in this order:

  1. Setup and Deployment Guide
  2. Architecture
  3. Object Reference
  4. Design Patterns & How-To’s

If you are not a developer, you must be looking for one. First gather and prioritise your form design needs. Then find a developer and discuss your needs with them. With their assistance, undertake an assessment of how much front-end enhancements facilitated by Vanilla Fix could help, either in isolation or in conjunction with server- or cloud-side workflow automation products.

Terms of use

Simple! Vanilla Fix is made available under a Creative Commons Attribution 4.0 International licence, meaning: anyone can freely use, adapt, and modify Vanilla Fix in their project however they like, commercially or otherwise. The only thing asked for is attribution, that is, mentioning vanillafix.com in script comments, which also serves as a pointer that may be useful for future maintenance of customised forms.

Creative Commons Licence

Questions and thoughts about Vanilla Fix can be sent to: vanillafix@kimmaker.com