Friday I was one of the presenters at the Linux Asia 2007 Open XML workshop. This event took place at Delhi's India Habitat Centre, and it gave me a chance to hear some new perspectives on Open XML and file formats in general. We had about 30 attendees, including students and teachers, government elites and tech-sector people, and -- of course -- Linux developers.
Mr. M. Moni, the head of India's e-Government Standards Committee, kicked off the event by saying "it is both strange and welcome to have Microsoft here today." He then discussed the Indian government's commitment to open standards, stressing the importance of open dialog between government and industry, and spoke of the huge investment in existing documents in both the public and private sectors.
Next up was my good friend Vijay Kapur, Microsoft's National Technology Officer for India. Vijay provided some background on standards in general, including an overview of the ISO Fast-Track process. He also covered the "XML-ization" of the Office file formats over the last 10 years, and touched on the goals and benefits of document format standards.
During my presentation, I took the attendees through the details of Open XML architecture, starting with the basics of the Open Packaging Convention and demonstrating how to create a simple Hello-World document using nothing but Notepad and WinZip. I also showed off some of the creative work ISVs have done with the Open XML file formats, and covered some of the specific design decisions that went into Open XML, especially in the areas of compatibility, interoperability, and performance.
We had a special treat, for us as well as the attendees, when two college students demonstrated Open XML applications they have created. In both cases, they had built their applications by referring to the samples on OpenXmlDeveloper.org, with no help from Microsoft or anyone else. In fact, I had just met Akshaya Sharma the day before, and I met Dipanker Sarkar minutes before we started.
Akshaya's application is written in C#, but he didn't bother to use Microsoft's System.IO.Packaging API and instead used a third-party ZIP library to edit a SpreadsheetML document. He demonstrated how his application allows the user to select an existing spreadsheet, make changes to the data in a grid control (including adding rows if desired), then write the result back out to a new file.
Dipanker's application is written in C++ on the Linux platform. It presents the user with a form to fill in a few fields, then creates a WordprocessingML document (as a DOCX file) from the entered information. For his presentation, Dipanker created a DOCX file and put it on a thumb drive, which I then inserted into my Vista laptop and opened the document in Word 2007.
At the end of the 2.5-hour workshop, we had an interesting discussion of issues and options in implementing Open XML and converting existing documents into the Open XML format. I was impressed at the level of technical knowledge exhibited by some of the attendees, especially those in governmental IT positions. It's clear that India's top technology officials are interested in the low-level details, which was great to see.
After the workshop, we went out to the exhibition area and looked around a bit. At the Microsoft booth I met several interesting people, including Niyam Bhushan, a consulting editor for BenefIT Magazine. He has a long and active history in India's open-source community, and is a very creative guy. (For example, he designed the Free Software Foundation India logo and he's the founder of CreativeDot.org.) Niyam took the time to introduce me to others at the conference and made me feel very welcome. He said it was a shame that the OpenDocument Format and Office Open XML workshops took place on different days, and suggested that in the future it would be great if we could have a panel discussion of document formats that includes experts in both formats. Great idea, Niyam, set it up!
All in all, my first Linux conference was an enjoyable and interesting event. Thanks to everyone involved.