Wednesday, May 31, 2006

When is InfoPath the correct technology?

Lately, we've (the very talented Developer Group at my company) have been discussing when to use InfoPath instead of something more traditional like ASP.net. Here is the synthesized result of our conclusions based on past experience. Hopefully, it aids you in making the correct choice in your projects.

InfoPath is suitable for:

  • Simple to medium ‘form’ applications
  • Applications based on data-entry. i.e. validate/submit
  • Applications based on xml data
  • Applications that follow a pattern supported by the out-of-the-box GUI. This reduces custom-code considerably.
  • Applications requiring offline data entry/saving
  • Scenarios benefiting from a consistent Application environment – No cross-browser Issues
  • “No installation” simple applications – for simple data entry forms

InfoPath is not suitable for:

  • Applications based on data-management. i.e. download/upload/validate of existing data sets
  • Complex forms where significant work is needed to optimize performance by working around InfoPath’s foibles
  • Applications that have no need for the concept of ‘client-side’ data entry. i.e. reports
  • Time-sensitive form initialization – complex forms can be slow to load
  • Applications with a large user base. i.e. licensing issues – purchase 1000 copies of Office Premium
  • Non-Windows environments – Office Premium must be installed
  • "No installation” complex applications – complex forms require security certificates or installers