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.