XPS Five Points of Light - Part1: Open Format
I felt it was overdue to talk about what I see as the ‘all-up’ key values that XPS brings to our customers. By the way ‘all-up’ is a phrase I started using only since after working for Microsoft. It is used a lot in meetings where a VP asks: "what’s the ‘all-up’ customer satisfaction metric for this product?" As in – don’t give it to me by demographic, geographic – what is the final bottom-line #? I digress…
We talk about XPS value a lot to our customers, partners and at public events, but usually only about the value to the customers at the event. For example at Winhec we talked almost exclusively about printing and scanning hardware integration for XPS, at PDC we talked mostly about the developer story and later on after Beta 2 we will talk more about end-user benefits. So, I thought I would use my blog as a place to talk about the whole picture.
I’ve decided to break it into five parts for easier digestion and blog-style commenting. I will try and get through the five points before the end of the year–although it takes a lot of discipline to keep to just five parts and not leave things out. Here we go...
Part 1: Open Format
I already blogged about XPS being open in October, so I will try and not be completely redundant. I think of Open Format as a value proposition in the following ways.
Using Open Technologies
– specifically building the format markup using XML as the syntax and using ZIP as the packaging technology. This is a ‘greasing-the-skids’ for development approach. Being able to leverage existing tools and knowledge, makes life a lot easier for developers. Using open technologies also helps IT Pros and other decision makers in the corporate environment. They like to know that they won’t need huge quantities of training to get people to understand the new technology and they trust that they are not building their own solutions around something new and un-proven. XML and ZIP have a long and successful life and will continue to be used as foundations for packaging and describing data for a long time. It just made sense to use those for XPS. I continued to be surprised how quickly someone can pick up the spec and get something running. Even in an embedded system, simply because the developers are already familiar with XML and have a parser, they can prototype very rapidly. A year ago I saw the first piece of paper coming out of a printer that was processing XPS on an embedded controller (not running Windows of course) – that was a great day! ****
Available Cross Platform
–‘Open’ inherently includes the idea that the technology will work cross platform. Now, if you aren’t dedicated to building something that you want to work cross-platform from the beginning, you naturally will start slipping, and start building assumptions or dependencies that assume a certain platform like Windows. You may be nice and clean on the technology side, but if there is an assumed target platform when the design decisions are made its difficult to make it cross platform later.. XPS is open in the technology it is built on, but more importantly, the architects, developers, and program managers that all worked on the project and designed the format had a singular goal to make it cross-platform. This was not a ‘by the way after it is done lets see how hard it would be to get this working on a Mac’ – it was baked-in design goal from the beginning. I can tell you that in the early days of XPS, there were certainly many nay-sayers (‘evil-doers’ is a better description) that we had to beat with a large stick to make them understand the importance of cross-platform support. We have won the battle – and our partners and customers will enjoy the spoils. ****
Clear Unambiguous Specification –
an often overlooked part of the open story, having a good specification is critical. Great technology, working cross-platform is fine – but if the specification is poor and leaves a lot of guesswork to the developer, things go south pretty quickly. Interoperability is a primary goal of XPS and it relies completely on the specification. If you look at the specification for XPS and Open Packaging Conventions, you will see that we have endeavored to make them as clear and comprehensive as possible. We continually get great feedback from our partners on places where the specification could be interpreted more than one way – and we are fixing those. We are mostly past the design-phase of the spec and are now focusing on cleaning up ambiguity. ****
– This one is obvious. If it is going to use open technologies, if it going to work on any platform, it also has to come with the right legal framework so anyone can implement it free and clear of any legal concerns. Our license is simple – create, render, consume on any platform, no royalty. The draft license is up on www.microsoft.com/xps.
So, I believe we have really nailed this one. You have to have open, road-proven technologies, cross-platform as a design goal, a great spec and a simple, free license.
Part 2 will address Trustworthy. This is tied very closely to open, so I will try and get it posted soon.