XML and Eclipse Modeling Framwork

EMF is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. Models can be specified using annotated Java, XML documents, or modeling tools like Rational Rose, then imported into EMF. Most important of all, EMF provides the foundation for interoperability with other EMF-based tools and applications. ”

Yet another application of XML. It is nice too see inexpensive modeling tools on popular development environments.

Bill Gates on Blogs as Business Tools

Microsoft’s Gates Touts Blogging as Business Tool.

Gates described to his audience, which included Warren Buffett, Jeff Bezos, Michael Dell, Carly Fiorina, Barry Diller and other top business executives, how blogs worked and suggested that they could be used as a tool for businesses to communicate with customers.

“It’s getting away from the drawbacks of e-mail and the drawbacks of a Web site,’ Gates said, “We’re progressively getting better and better at it.”

Ever since I started using Bloglines my life has changed a bit. Now it has become my morning newspaper.

Before I started reading blogs I used our company’s product InfoMinder to track more than 400 web pages. Since InfoMinder alerts you to changes in web pages, it was the best way for me to keep track of topics, people (and their blogs), companies and products. Now I supplement it with blogs and I get something more than mere items of news and information. I get perspectives that I enjoy.

Blogging is already becoming popular in knowledge sharing ( see K-Logs) and project logs (Plogs). You learn a lot from blogs and blogrolls .

Documents for Everyone

Documents for everyone seems to be the theme of this conference. Jon Udell said it yesterday and Adam said it again today. Jean Paoli provided probably the most compelling evidence of this theme in his presentation towards the end of the day.

“We need to make things simpler”, says Adam, maintaining that XML and web services are becoming too complex. “Why does it have to be this hard” he repeatedly asked the audience. His plea for simplicity resonates so well with Jon’s theme yesterday. “Because there is no information model, everyone is building their own”, he said. Like Jon’s talk, it is one of those sessions that makes you reflect deeply. Adam blogs and I hope he will continue this theme in his writings.

There were many other interesting sessions. One I particularly liked was from Joshua Fox from Unicorn titled Know what your schemas mean. He pointed out the problem of multiple overlapping vocabularies and proposed a solution based on “Semantic Information Management”. There was another talk about “Combining Multiple Vocabularies without tears”.

For me, the highlight of the day was James Clark’s talk on Incremental XML Parsing and Validation in a Text Editor. He is a legend. I went to the talk to listen to him about how he implemented an incremental XML parser in Emacs. I am not an Emacs guy, but I am interested in incremental parsing. I think this is just the tip of the iceberg. Many of his ideas can be embedded in document editors.

Jean Paoli’s talk about Real Applications of XML on the Desktop: A New Era for XML in the Mass Market was not technical but very useful. He talked about how there is a bottom-up movement towards the adoption of XML for everyday tasks. He described different cases of XML use with Office 2003 in simple day-to-day apps. This, of course, is Microsoft at its best. They take something as powerful as XML and hide it behind simple user interfaces of Word or Excel. What makes it so interesting is that most of the apps were built in weeks.

I am looking forward to Dave Thomas’ keynote on Open Augment. It is very complementary to our own effort on prototyping HyperScope at the Bootstrap Alliance.


XML 2003

Today is the first day of the event. Jon Udell gave a great keynote speech. He makes some very good points. He proposes that we pay attention to the human factor in all our attempts to automate. As Doug Engelbart says, it is about “Augmenting human intellect” and not merely automating functions.

Jon has his own unique presentation format. It is not some static HTML pages or PPT. It is a cute XML App built using very simple technologies. He demonstrated dynamic queries on his own slides using simple XPATH expressions. He definitely practices what he preaches.

I went to a vendor presentation by Amazon about their use of Web Services. They have a SOAP interface and a REST based interface (XML on http). Surprised to find that only about 15% of the traffic is based on SOAP requests.

There were a couple of other interesting presentations. One was about adding a third dimention to SVG. The one on Information Architecture with XML: From Lingua Ubiquita to Lingua Franca was pretty interesting.

I was at the News Summit yesterday. It was a full day affair and covered some of the major News XML standards like NewsML, NITF, PRISM, RSS, Atom, ICE, XMP. I am still trying to digest all that stuff. There seems to be some overlap between these different standards. I did not make it to all the post lunch sessions. Had a dream last night that they decided to merge all these things into one standard.

Collective Intelligence

Imagination is more important than knowledge
— Albert Einstein

I believe this more than ever. Blogs are a good example. I enjoy reading blogs. In them, you get a glimpse into the imaginative mind of the blogger. Because I am a bit of a techie, Jon Udell is one of my favorites. I personally think he is an idea machine.

Talking about idea machines, I am privileged to spend some time with Doug. I met him almost a year ago and it is one of the most transforming events in my life. He is the closest to a real genius I ever met. His thinking is refreshingly different.

He is well known as the inventor of the mouse. There are lot of other ideas of his that do not get as much attention. I plan to blog a bit about some of these in the coming weeks. If you have not done so, it is worth reading a few of his papers.

I will close with a few things to ponder about.

What is Collective IQ?
How do you Augment Human Intellect?
What is a Networked Improvement Community?
How do you build a Dynamic Knowledge Repository?


XDocs and the age of new XStars ( X* ?)

Last week Microsoft executive started talking about XDocs. Here is Microsoft’s description. “XDocs,” a code name for the newest member of the Microsoft Office family, streamlines the process of gathering information by enabling teams and organizations to easily create and work with rich, dynamic forms. . A few usage scenarios on this page talk about some sample applications.

Here is my wishlist for XDocs or similar technology.

XDocs web component ( an .net component, activex control, java applet or some similar web object). This will allow me to insert an XDoc anywhere in a webpage. This means, all the website interactions with the visitors will be based on custom schemas and will have better semantics.

XDocs Office Component. Imagine the ability to click on File/New in Microsoft Word and see a bunch of XDoc style sheets. When I pick one, it looks like a Word document with sections. For example, as a marketing dude, I choose a document called Customer Visit. This document contains sections where I can type customer contact information, feature requests, reactions to prototypes I presented etc. Once I enter this document, different parts of the documents are streamed as XML to different applications. For example, the feature requests may be automatically inserted in a product database.

XDocs mail component. Somewhat similar to the scenario above, except that when I Compose/Create a new mail, I get to pick one of the pre-defined formats (each one based on an XDocs format). Let us say that it is a simple meeting request. When I send it out, it goes to my colleague. When my colleague opens the mail he is prompted to Accept/Reject/Request Postponement. The last option appears only if he has a conflict in his calendar (magically performed by an plug-in in the email client which can process XML). I know that this stuff works in outlook. But I would like it work in yahoo, hotmail or any other mail system or webmail client. When my colleague clicks Accept, his calendar is updated automatically. A development kit to allow me to define my own sequence of actions for each type of mail I receive would make it even more extensible.

Let us assume that have a new collaborative environment called XGroups based on XDocs as the underlying format. It has the ability to create your own message types. If I want to compose a plain old message, I simply pick normal as the type and I get the conventional email style message. But think of what can happen in this group. This is an extensible infrastructure. Let us decide that our XGroups decide to share a bunch of bookmarks. We simply design an XDoc called Bookmark. When I compose a message, I pick Bookmark style and simply enter a web page address. As a product team, we may decide to have message type called Feature Request. Everytime someone enters a feature request, it looks a like a normal message but is automatically tagged with the product name, the source of the request (customer, internal etc) and the request text. As we interact using XGroups, we are building a knowledge base behind the scenes.

What will have next? XMail (XML based email), XMTP ( like SMTP except it is structured with XML messages), XTTP ( like HTTP but will get/send xml streams for apps). With all this we may really need an XVM (an XML virtual machine).

XMLization of the Web

XMLization of the web is bound to happen sooner are later. Already several websites deliver content in XML format. One of the popular XML tool vendors Altova of XMLSpy fame, announced Stylevision(TM) for building XML websites and converting HTML websites to XML. In my opinion, XMLization of the web is the first step towards moving to the Semantic Web.

When content travels from a backend database to the web page, somewhere along the line the semantics are lost. This problem can be avoided by keeping the web content in XML. Also, you get a host of other advantages like the easy repurposing of content, ability to exchange rich data with other applications, etc. This ability just gets us to the first step of an immensely interoperable web.

IDC predicts that the XML tools development market will reach $395 million by 2006 at a compound annual growth rate (CAGR) of 41%. While most of the web publishing is about content, increasingly websites will merge content with applications. This movement opens up entirely new opportunities for XML components. It will be interesting watch evolution in this space.

Update – May 2016

It did happen (XML as the content format for web) and was dropped for html5. There are several reasons for this shift. XML, however, continues strong and appears in places you don’t expect (for example, as the definition of UX).