XAML Revolution

Found this via TimS blog, a brand new whitepaper that distills the experience of early forays into the WPF/XAML way of building rich user experiences.

The whitepaper is a much needed guide around how workflows between designers and developers may be organized. Its a quick read at under 17 pages but is filled with little nuggets of high level information. Not the syntax or API variety but around how to approach any project that aims to utilize this technology.

There are tons of material on the web around WPF but most of them only deal with it at the low level. There needs to be more such papers that give a more detailed picture around the lay of the land. Best practices around the life cycle of building and maintaining a WPF app needs to be brought out.

The highlight of the paper, for me though, has to be the following passage – Technically, XAML is not a language itself but a .NET serialization and initialization language. Therefore, XAML can represent more than the features in the WPF platform; it can represent any custom controls, new animations, etc., as well as any .NET object graph. In a way, one might conceive of XAML as code represented as XML.

Okay, now re-read that passage and think for a while. I think a significant portion WPF’s genius has to be in that single idea. Because if you think about it the notion of representing UI with markup is not new(HTML, XUL etc as the paper points out), nor is the notion of having code attached to specific events(VB, most RAD apps work this way).

But to have markup represent an arbitrary object graph is something unique, with implications far beyond WPF. In fact in the product I work on we have plans to investigate this option further. We have already evolved a markup based DSL to capture the behaviour of our system. The ease of having such a representation to encode behaviour cant be underestimated and we have countless instances where this has been a life saver.

Now, to return to the whitepaper. I wish more layers would be taken up for assessment in this series. Specifically I would love to see the following topics i) Security implications ii) Best practices for graphically intensive apps iii) Interop options(with Winforms etc) and pitfalls.

del.icio.us Tags: , , , , , ,

ODF, Metadata & what am I missing?

Today I discovered the weblog of Rob Weir called “An Antic Disposition“. Rob is a member of the OASIS ODF TC amongst others. The blog has been a delight so far – be it the technical content, the perspectives that are revealed or even just the list of books from his library, all indicate an individual with a richness of thought and perception that goes beyond the minutiae of technology and its implementation.

The specific post that caught my eye was the ODF gaining support for XML/RDF driven metadata framework. A metadata framework would allow application developers to provide the means to gather contextual information that allows interpretation of content within a document.

For example if you come across the term “711.25” within a document, how would you interpret it? Is it the price of something? Is it distance between two locations? Honestly, it could be anything. In this case it is the last trade price of Google as on 02 Nov 2007. Note what helps us disambiguate this number is multiple pieces of information i) Traded stock is Google ii) The number is the last trade price and iii) As on 02 Nov 2007. And that is just the start of what would be required to clearly interpret a number as one we just saw.

This is an admirable step for an open source effort but what I don’t get is this – Microsoft Office has had extensible metadata support since Office 2003. Especially on Word, using the Smart Document feature, one could attach a custom schema to the document and have it annotate content. The metadata lives interspersed with the content, allowing you to mark every fragment of text with XML tags and attributes that make disambiguation possible. We have used this feature for over 3 years and in spite of the niggles have realized that this feature adds the “Smart” to “SmartDocuments”!

Now, neither in the post or in any of the linking articles did I find a reference to the fact that this feature exists already elsewhere. Nothing wrong with it in principle but guess one can learn from prior art. Note that I restrict myself to metadata addition frameworks for office productivity applications, which I believe is the scope of ODF 1.2.

Am I missing something here? Would like to understand this better, Rob?

del.icio.us Tags: , , ,

Extreme Markup Languages..Oh dear!

When a conference is named as Extreme Markup Languages, you know the going could get a little rough! πŸ™‚

Just discovered this today and I found such a treasure house of ideas on the edge of advancements in XML and related areas.

Head there right away and at least read through the titles..

Some of ones that interested me..

Easy RDF for real-life system modeling

From Metadata to Personal Semantic Webs

Have fun!!

del.icio.us Tags: ,

In the beginning was Word 2003

To elaborate on the work that I do- I manage a small offshore development team of 11 for a equity research authoring tool.
We leverage the Smart Documents feature of Word 2003 extensively. This allows us to mark specific content fragments within the document with XML tags, thus allowing validations to be performed, to display content specific UI on the Word Task Pane, display SmartTags that suggest context specific actions and so on.

My first task when I joined the team was to play a technology role, primarily to design and implement a feature that we call compilations. Easiest way to think of this feature is to remember ETL, as in Extract Transform Load of Warehousing data. We extract content from source documents authored with our tool, perform some transformations and load them onto a new target document.

In developing this feature I have learnt a lot of technical and non-technical aspects involved in designing, implementing and maintaining a product feature. Over the next few blog entries I hope to start off with the concrete technical topics and then move onto the more abstract management related areas.

Topic of my technical posts will be on WordML and how it can be leveraged to create documents that hold structured xml tagged content.