Choosing between InfoPath and Smart Document Solutions

I was asked recently about when it would be appropriate to use InfoPath vs. Smart Documents.  It's an interesting question as there is quite a degree of overlap between these technologies, so here are my rules of thumb for choosing between them...

 

Consider InfoPath when:

  • The typical usage scenario is similar to filling in a paper form
  • You have complex or highly nested data structure to deal with
  • You have optional or repeating elements in the data structure
  • You need to be able to conform to a specific XML schema and you don’t want to write custom XSLT.
  • You want to be able to display different views on the data.
  • You want the sophisticated data validation provided by InfoPath
  • You want the great inking support provided by SP1
  • You anticipate the user experience will be enhanced using inline windows controls: combo boxes, check boxes, date picker etc.

 

Consider Word SmartDocs when:

  • The typical usage scenario is closer to creative writing rather than form filling.
  • You want to provide a more document authoring-like user experience
  • Other features of Word are important to the end-users (e.g. Grammar checker, Thesaurus, AutoText, Auto Correct etc.
  • You want to make use of other Word extensibility features: Smart Tags, Custom Research Pane Web Services etc.
  • You already have a standard format Word document that users are familiar with and from which you want to be able to extract key pieces of information.
  • You want to add context-aware help and actions to an existing Word document
  • The information you want to capture is largely free-text with little validation required.

 

Consider Excel SmartDocs when:

  • The typical usage scenario involves numerical calculations or working with some kind of list, such as a list of names and addresses.
  • The data set you want to work with is pretty flat.
  • The data set you want to work with is table or list-like in nature
  • You want to use Excel as a platform to perform some form of numerical calculations, data analysis, charting etc.
  • You want to make use of other Excel extensibility features: Smart Tags, Custom Research Pane Web Services etc.
  • You already have an Excel solution that users are familiar with and you want to be able to easily extract key pieces of information as XML.
  • You want to add context-aware help and actions to an existing Excel spreadsheet

 

Finally remember that since the underlying information set in all these cases is XML it's pretty easy to use a combination more than one of these techniques for different purposes.  For instance InfoPath could be used to collect status reports from a number of people, which Word can then aggregate and display in a familiar format for management reports.