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 “yes†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 thatadvancedworkrequires 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 article.