Friday, November 21, 2003

Better Living Through Software: Is InfoPath the Next Excel?

Better Living Through Software: Is InfoPath the Next Excel?
Larry O'Brien at SD Times asks "Is InfoPath the Next Excel"? He raises a number of interesting points,
some of which I'll try to respond to; First, he says:
"It would be easier to say if InfoPath were programmable
from .NET languages. Not so. For some reason, InfoPath's programming model uses Microsoft
Script Editor, which supports only JScript and VBScript."

It's true that InfoPath uses JavaScript right now, but this
is primarily an issue of timing.  InfoPath was actually conceived long before
.NET was around, implemented years ago, and much of the recent couple of years has
actually been spent polishing the product to be a nice Office citizen rather than
doing any drastic new feature work.  And now that InfoPath is shipping, it is
part of Office 11, which still relies on script code.  So InfoPath is a very
nice complement to the rest of the Office suite, and that's how things get done inside
Microsoft.  Now, it is disappointing to people like me who have been doing .NET
development for a few years, but there are still many Office customers who are more
conservative and would probably be spooked if we required them to take dependencies
on .NET to use Office.  And finally, the next version of InfoPath is planning
to support .NET much more fully, just as the rest of the Office suite will.

Next, he says:
"So the output of this new tool is available for programmatic
manipulation, but far from the way that formulas and macros make the power of spreadsheets
casually available, spelunking inside InfoPath form files is only for the stout of
heart. No revolutionary power-user capabilities here."

In fact, one key appeal of the InfoPath format is that everything
is done using completely non-proprietary formats.  The UI of the form designer
is saved as XSLT, the code is all standard JavaScript, and the object model is primarily
accessed using XML DOM.  What this means is that I can design a form in InfoPath,
crack the XSN, and copy the XSLT directly to an Apache server to use in generating
HTML output (for example).  Or I can borrow JavaScript that I wrote for my Netscape
and IE web pages and use directly in InfoPath.  And simple things are fairly
straightforward, with no need to delve into code.  I'll grant that advanced work requires
a stout heart -- there are not many people who have expertise in the trifecta of DOM,
JavaScript, and XSLT -- but for those who do, the sky is the limit.

Anyway, Larry makes a number of other good observations which
InfoPath-watchers may not have seen remarked elsewhere, so it's good to read the whole

I agree Larry O'Brien's article is good reading. FYI my take on InfoPath (pdf article)
Post a Comment