REDMOND, Wash., Oct. 31, 2000 — Charlie Heinemann knew it was a risky proposition: building Microsoft’s new Extensible Markup Language (XML) parser component in the public spotlight and encouraging developers to tell the company exactly how they expected this new product to perform.
Heinemann, the lead program manager on the Microsoft team responsible for bringing this vital component to market, felt the pressure last January as Microsoft prepared to release a preview version of the MSXML parser over the Internet. He expected the parser — a component that understands XML programming standards and supports those standards for processing XML documents within an application — to attract heavy attention from the development community because of XML’s central role in the Microsoft .NET strategy.
What if the developers overwhelm his team with demands that Microsoft isn’t prepared to meet? What if they flat out disagree with the direction this product is headed? What if the team sees nothing but negative comments on the XML Developer Center newsgroup?
“Any time you go out and ask your customers what they really want, you’d better be willing and able to deliver,”
Heinemann remembers thinking.
He need not have worried. The attention and feedback from customers soon confirmed Heinemann’s belief that this open approach would make MSXML3 — the final version of the parser that Microsoft released today — even stronger than his team could have created on its own. The new parser component is available for immediate download from the Microsoft Developer Network (MSDN) XML Developer Center at http://msdn.microsoft.com/xml/ .
“By using the Web to deliver each successive version of the parser and receive direct input from the developers as they started working with our technology, we came to understand so much more clearly what our customers needed from this component,”
“That’s not to say that people didn’t beat us up a little bit along the way for this problem or that problem, but it was consistently aimed at helping us improve the technology.”
Lycos.com, a premier Web site of Terra Lycos, a new global Internet network reaching 91 million unique visitors worldwide every month, was among the Microsoft customers that offered valuable input from the beginning. Lycos.com has been using a preview version of the MSXML and plans to upgrade to the final component in its Web directory, destination search engine and personalization offerings.
“We’ve been very impressed with the performance and reliability of the MSXML product as well as Microsoft’s pledge to fully support the preview release in our production environment,”
said John Hotchkiss, vice president of engineering at Lycos.com.
“Microsoft gave us early access to the parser technology, steadily improved upon it with each successive release, and worked very closely with us on site,”
“Those commitments convinced us that we could confidently deploy MSXML within our Web services that receive many millions of hits per day.”
Following the initial preview release of MSXML in January, Microsoft posted new versions in March, May, July and September. The Web site has averaged more than 1,000 downloads of the XML parser per day as well as numerous comments from users posted daily on the newsgroup.
“Using the Web, we’ve been able to obtain input from a broad cross-section of the user community — from developers working in large enterprise corporations to academics and enthusiasts — and rapidly implement them into our component.”
A Bridge for XML Communications
XML is a set of programming standards that provides a uniform method for describing and exchanging structured data in an open, text-based format over the Web. The World Wide Web Consortium (W3C), an independent Internet standards organization, oversees the development of XML specifications. Because it is a universal language that operates independently of the underlying system and applications, XML greatly simplifies the process of exchanging information between sources ranging from Web servers and hardware devices to databases and other software applications. Unlike HTML, XML also allows users to represent data in extremely precise ways and retain the characteristics of the data — distinguishing a person’s date of birth from the date that a loan application was submitted, for example — so that information is treated consistently wherever it gets used.
To make this process work, developers need a layer of code that understands and implements the rules of the XML specification. An XML parser is the low-level, unseen component that fills this crucial role. Some early adopters of XML chose to write their own XML parser code,
“but most people don’t want to have to maintain and update it every time new XML standards come out,”
said David Turner, product manager for XML at Microsoft.
“They’d rather have platform vendors like Microsoft build this piece of the solution and ensure that it is well integrated with their development environment.”
The version of MSXML3 released today enhances previous releases in such areas as W3C-compliant support of Extensible Stylesheet Language for Transformations (XSLT), which translates XML data from one schema to another, and XML Path Language (XPath), which is used within XSLT for finding and addressing the parts of a document that need to be transformed. Microsoft’s XML parser allows applications to cache XSLT style sheets, XML schemas and XML queries in memory rather than reload them each time they’re needed, which further accelerates the processing of XML documents.
Other features include access to the Simple Application Programming Interface for XML (SAX2), which enables an application to handle XML more efficiently by allowing it to process XML files without loading them into memory. In addition,
“We’re seeing 75 to 80 percent improvements in XSLT performance and 75 percent faster validations of schemas with MSXML3 compared to earlier versions,”
Heinemann said. The parser increases XML conformance over previous releases, achieving a pass rate of over 98 percent based upon the Conformance Test Suite created by the Organization for the Advancement of Structural Information Standards (OASIS).
XML Parser Release Program Stresses Customer Responsiveness, Standards Support
Microsoft has actively worked within the W3C on the standardization of XML over the past several years. The company shipped its first XML parser as part of Internet Explorer 4 in 1997 and has continuously improved the technology since then. For example, Microsoft delivered new versions of the XML parser in Internet Explorer 5 and Windows 2000, leading up to the current release.
Because new XML standards and specifications are emerging continuously, Microsoft recognized that customers couldn’t afford to wait until the next major release of a product to receive updates to the XML parser.
“They want to begin supporting the new XML specifications in their products as quickly as possible,”
Turner said. Microsoft has responded with a three-pronged approach: release technology previews of MSXML over the Web so that developers can start to build prototype applications with the parser; invite people to share their comments in a dedicated online newsgroup; and integrate the most valuable ideas into the next release.
The development team designed each update of the parser to be installed side-by-side with earlier versions rather than overwriting them, which helped customers avoid compatibility problems in their applications and services. Team members also participated in the XML Development Center newsgroup to gauge customers’ opinions, answer questions and help troubleshoot the inevitable glitches that accompany any new technology release. The team even posted lists of bugs, or code errors, that it had uncovered in order to help customers overcome them.
“Really opening ourselves up to our customers and letting them get in on the development process was a pivotal point in the life of this component,”
“Their comments invigorated the whole project and helped our team stay flexible. We had to be willing to listen to the development community and even allow them to dictate what we needed to do with the XML parser.”
A memorable example of customers directly influencing the development process came last May, when Microsoft first introduced support for SAX2 within the parser. Heinemann’s team knew the development community was clamoring for this support, but the XML parser version released in May only provided access to SAX2 from the C++ programming language. That same day, Microsoft began hearing from developers who rely on Visual Basic for programming.
“Without a doubt, the most significant piece of feedback we got from our customers was, ‘Make SAX2 available from Visual Basic.’ It was something we had planned to do at a later stage, but our customers definitely thought we hadn’t gone far enough,”
“We heard that message loud and clear, so the team kicked into high gear and delivered Visual Basic support in the next version eight weeks later.”
In the meantime, a regular contributor to the Microsoft XML Developer Center newsgroup submitted an article describing how Visual Basic programmers could adapt the existing SAX2 interface for their needs.
“That was just one of the many instances when members of our developer community stepped up to help each other solve issues and share their knowledge to help the Microsoft team move this product forward,”
Staying Ahead of New XML Standards and Customer Demands
Although Heinemann and his team worked quickly this year to keep pace with the development community’s demands, their top priority was making MSXML3 as reliable and standards-compliant as possible. The MSXML development group is already working on support for the next batch of standards, including the W3C XML Schema recommendation, expected to be released early next year, as well as new interfaces and other features that give developers more flexibility for programming with XML.
“Our quality bar on this product is exceptionally high,”
“We set out to build a high-performance component that exceeded our customers’ expectations, and I think we met almost all our objectives.”
Heinemann added that the Web-based distribution program for MSXML and the high degree of customer involvement in the process are likely to serve as models for other Microsoft product rollouts.
“This experience reinforced our belief that being direct and approachable with customers are the keys to building a foundation of trust,”
“Plus, there’s nothing like having people comment on the quality of your product to get you fired up about it.”