XPS printing in Vista

XPS printing in Vista

Summary: Some things fly under the radar from a technology standpoint. Printing is one of those things.

SHARE:
TOPICS: Printers
22

Some things fly under the radar from a technology standpoint. Printing is one of those things. I don't have a lot of conversations with industry PR people in my role as ZDNet blogger, mostly because the types of blog posts I write don't really fit such topics. XPS, however, or the "XML Paper Specification," is a new technology Microsoft introduced with Vista, and over which Microsoft and Adobe had a rather public tussle given that some consider it a potential competitor to PDF.

Given that history, when I heard from a PR representative for Konica-Minolta regarding new XPS support in printers released by the company, I decided to give them a listen. That led to a phone meeting with Kevin Kern, VP of Product Planning & Development at Konica-Minolta.

XPS is a format for describing digital documents that is used natively by the printer spool in Windows Vista. Built as a subset of XAML (the XML format used to specify the layout of user interfaces in .NET 3.0), Microsoft has released the specification under a royalty-free patent license. To back this up, they've published a "Community Promise for XPS that assures people that Microsoft really, really won't sue implementers of the technology. In an FAQ linked to the promise, Microsoft assures readers that no one will have to sign anything to be subject to the promise (in other words, the promise is universal, so sublicensing is unnecessary).

There has even been some talk of Microsoft submitting XPS to a standards body, a move possibly instigated by the European Commission. I'll need to look into that, as I didn't find anything more about it on the web.

Konica-Monilta, according to Kern, is one of the first companies to release a printer that supports the new XPS printing subsystem introduced with Vista as well as the new Web Services for Devices (WSD) specifications. This means that an XPS file is at some point passed directly to the printer, making it the job of the printer to interpret what that document means. XPS, in other words, acts like a low-level common document format given that all applications, if they are to print the XPS way, must convert at some point to an XPS document.

This has a number of advantages over older GDI printer technology. Before, applications created what was essentialy a bitmap representation of what the printer should print. With XPS, printer spools are much smaller, both due to integrated ZIP-based compression that is used to package together all pieces of an XPS file as well as structural advantages, like the fact that a common page header and footer can be included once in the XPS package and referenced by each page in the document.

Second, XPS supposedly improves color representation and offers higher-fidelity printed output, making XPS-based printers closer in performance to commercial-grade varieties. Though I couldn't confirm this (I don't have an XPS printer), what did occur to me was that if the printer is handling its own XPS interpretation, if you like how colors are reproduced or image gradiants rendered on pages printed in the store, you can be assured it will look the same way back in the office (and across applications).

I asked Kern if this might lead to some future nirvana where printer drivers aren't needed anymore, replaced by a universal driver that does little more than pitch an XPS document at a printer and trigger a print job. The answer was no, as there are still a lot of settings that aren't defined in an XPS document (though he did indicate that an XPS driver core could be reused by a manufacturer, thus offering more driver consistency). Those printer-specific settings, however, can be detected more easily by other devices on the network. Though WSD doesn't imply "pitch and print" functionality, it is something that assists the auto-detection and setting of printer capabilities.

Whatever the case, it occurs to me that printers are moving to a realm where less custom code is necessary to drive them. Though they haven't reached the level of "pitch a file via web service and go," printers have certainly moved further down the path towards first-class, self-sufficient devices on the local network versus slaves of a machine to which they are connected.

Printers are even starting to have built-in security. Konica-Minolta has built biometric features into certain high-end printers that ensure output only occurs when the owner is physically present. Further, for situations where the data cache on a printer / scanner might constitute a serious security breach (for instance, at the NSA, or more common, at companies that process loan applications using a scanner and Optical Character Recognition (OCR)), you can have the entire local drive encrypted.

XPS is an interesting advance in printer technology in Windows, and one that might even appeal to the open source community. Furthermore, a free and open specification that serves as foundation for printers that work with Vista would seem a boon to other platforms.  It certainly seems like there are no legal barriers to its implementation. But, if there are, I'm sure someone will tell me about them in the Talkbacks.

Topic: Printers

John Carroll

About John Carroll

John Carroll has delivered his opinion on ZDNet since the last millennium. Since May 2008, he is no longer a Microsoft employee. He is currently working at a unified messaging-related startup.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

22 comments
Log in or register to join the discussion
  • Following the links

    John, maybe the links resolve differently inside of Microsoft.

    [url=http://www.microsoft.com/whdc/xps/xpsspec.mspx]The specification link[/url] leads to a standard trade-secret nondisclosure agreement which specifically disclaims any patent use authorization and requires agreement to eyes-only distribution, nondisclosure of contents, destruction of copies following merger or acquisition, etc.

    It doesn't require royalties, though -- you're right about that.

    The [url=http://www.microsoft.com/whdc/xps/xpscommunitypromise.mspx]Community Promise[/url] requires the agreement of anyone practicing the "necessary patents" as long as they are fully compliant with the required elements of the specification -- one slip, and Steve owns you. Further, it requires personal agreement to the terms by anyone practicing those patents, which means (IANAL) the actual end-users.

    In effect, then, anyone who uses a Minolta printer has to enter into a covenant not to sue Microsoft for patent infringement or else, again, Steve owns them.

    Now, [b]that[/b] is really "viral." I'm truly impressed.

    Of course, the usual disclaimers apply: I am not a lawyer, I don't play one on TalkBacks, before practicing any of the patents at issue consult a licensed patent attorney, etc.
    Yagotta B. Kidding
    • Re:

      [i]The specification link leads to a standard trade-secret nondisclosure agreement which specifically disclaims any patent use authorization and requires agreement to eyes-only distribution, nondisclosure of contents, destruction of copies following merger or acquisition, etc.[/i]

      I'm not going to try to jive the download legalese with the Community Promise, though I would think the Community Promise holds precedence. I, like you, am not a lawyer, nor do I want to be.

      [i]The Community Promise requires the agreement of anyone practicing the "necessary patents" as long as they are fully compliant with the required elements of the specification -- one slip, and Steve owns you.[/i]

      Funny, I don't remember you speaking that way when it was Sun making similar requirements with respect to Java. Basically, you are obligated to make a conformant XPS implementation (not even a complete one, though the subset must be conformant), which should be a boon for everyone, as it ensures everyone is compatible.

      [i]Further, it requires personal agreement to the terms by anyone practicing those patents, which means (IANAL) the actual end-users.[/i]

      [i]In effect, then, anyone who uses a Minolta printer has to enter into a covenant not to sue Microsoft for patent infringement or else, again, Steve owns them.[/i]

      That was made purposefully broad. From the covenant:

      [i]If you file, maintain, or voluntarily participate in a patent infringement lawsuit against a Microsoft implementation of the XPS Specification, then this personal promise does not apply with respect to any Covered Implementation made or used by you. To clarify, "Microsoft Necessary Claims" are those claims of Microsoft-owned or Microsoft-controlled patents that are necessary to implement the required portions (which also include the required elements of optional portions) of the XPS Specification that are described in detail and not those merely referenced in the XPS Specification.
      [/i]

      [i]As a further condition of this promise, if you are engaged in the business of developing (i) scanners that output XPS Documents (as defined in chapter one of the XPS Specification); (ii) printers that consume XPS Documents to produce hard-copy output; or (iii) print driver or raster image software products or components thereof that convert XPS Documents for the purpose of producing fixed file or hard-copy output, you covenant that you and your affiliates will not sue Microsoft, any direct recipient of this promise or any customer for infringement of any XML Paper Specification Derived Patents on account of any manufacture, use, sale, offer for sale, importation or other disposition or promotion of any XPS Specification implementation. "XML Paper Specification Derived Patents" mean any patents covering inventions conceived or derived by you or any of your affiliates from access to the XPS Specification.[/i]

      Seems like it is rather narrowly scoped to cover XPS and its implementers, not a blanket "never sue Microsoft for anything."

      Under GPLv3, anyone who files suit against any user of GPLv3 software loses their rights to that software. If the FSF owned patents, maybe they would use similar language to effect a patent moratorium.
      John Carroll
  • Why not PDF?

    The PDF standard offers all of these capabilities already. Mac OS X already standardized on using PDF in the spooler, as well as the graphics system. It has enabled a great deal of highly cross-platform functionality. Why did M$ need to come up with something new for this? We already *HAVE* a standard that works!


    The industry would be doing itself a tremendous favor by ignoring the XPS "standard" completely and standardizing on PDF. PDF technology is already very widespread; PDF is being used as an interchange format quite widely on the 'net, and all needed capabilities are already in place.

    By creating XPS printers, companies make printers that work with Windoze and which only appeal to M$ customers. By creating PDF-based printers, companies could produce printers that worked... well, everywhere, including Windows, but on OS X and various UNIX platforms also. It would be extremely stupid to base printers on XPS (unless supporting PDF or PostScript equally well).
    fde101
    • or why not standardize it?!?

      MS is going to great lengths to get OOXML standardized, but they'll just put this on the "promise not to sue" list and hope it gets widespread adoption. Just some more crooked MS tactics. So why not push it for ISO??? WTF?!?!
      Voodoo187
    • PDF is just compressed PostScript

      [i]The PDF standard offers all of these capabilities already. Mac OS X already standardized on using PDF in the spooler, as well as the graphics system. It has enabled a great deal of highly cross-platform functionality. Why did M$ need to come up with something new for this? We already *HAVE* a standard that works![/i]

      And before PDF, PostScript. Apple and Unix systems have used a common postscript print spool for ages; as long as the printer accepts PostScript the only "driver" you need is a [b].ppd[/b] (printer description) file.

      For whatever reason, Microsoft developed their own system specific to them. Neither then nor now has Microsoft shown any interest in PostScript printing architectures, even to badmouth them.

      It's a puzzlement -- there are quite a few applications where "print to postscript" is required and my cow-orkers who use Microsoft platforms always have a hard time getting it right.
      Yagotta B. Kidding
    • Why not XUL instead of WPF?

      Microsoft makes its own technology. They get to do that when they have 95% of the desktop market and over half the server market. There are advantages to that. When you need to extend / change it, you can do that faster than if you have to negotiate a change to an international standard.

      That being said, they have made the technology open to all, and may even standardize it (as noted in the article).
      John Carroll
      • In other words

        [i]Microsoft makes its own technology. They get to do that when they have 95% of the desktop market and over half the server market.[/i]

        Where does an 800 pound gorilla sit? [1]

        [1] OK, so maybe I left one letter out of the verb.
        Yagotta B. Kidding
        • Microsoft...

          ...is going to want to make its own technology in ways smaller companies don't. Rather than fight that market reality, people should be pushing Microsoft to open up more. That way, the technologies that they create internally are useful externally.
          John Carroll
          • Why?

            "people should be pushing Microsoft to open up more"
            People have been trying for years - as you say - why should they as they are a monopoly
            Why can't they be corporate good citizens for once and just open without being pushed?
            deaf_e_kate
          • Silly question

            [i]"people should be pushing Microsoft to open up more"
            People have been trying for years - as you say - why should they as they are a monopoly[/i]

            People should put their efforts into pressuring Microsoft since it keeps them from other activities.

            [i]Why can't they be corporate good citizens for once and just open without being pushed?[/i]

            Just a wild guess here, but maybe because it's not part of their business model?

            Less fun than having the whole world afraid of you, too. Never underestimate egoboo as a management motivator.
            Yagotta B. Kidding
          • er: Silly question

            "People should put their efforts into pressuring Microsoft since it keeps them from other activities."
            I'm not disagreeing with you at all - just pointing out John has already stated the answer to his own question/prososal

            "Just a wild guess here, but maybe because it's not part of their business model?"
            Again - I agree with you, it was question for John to answer/spin.
            deaf_e_kate
          • Well, DUH!

            [i]Microsoft is going to want to make its own technology in ways smaller companies don't.[/i]

            Of course. Where MS has the power to exclude potential competitors, your management would be derelict in their fiduciary responsibility to stockholders for not doing so.

            [i]Rather than fight that market reality, people should be pushing Microsoft to open up more.[/i]

            I commend to your attention the story of the king and the tide. I can think of many things more productive than "pushing" Microsoft to do something against its interests (not to mention habit and experience.) Bench-pressing 18-wheelers comes to mind, for instance.
            Yagotta B. Kidding
        • Where does an 800 pound gorilla sit?

          ... anywhere it likes.
          bportlock
    • Valid point

      The XPS-printers that have been released up to now all seem to support multiple standards, including PCL and/or PostScript. This means users are not locked in when choosing such a device.

      My own write-up about XPS at http://www.prepressure.com/library/technology/xps may provide you with some additional information that is useful.
      Prepressure
  • show me the code!

    what can I do with it if I don't have the souce code?
    In order to run on Linux I need code, not papers.
    Linux Geek
    • Write your own

      [i]what can I do with it if I don't have the souce code?
      In order to run on Linux I need code, not papers.[/i]

      Male Bovine Excrement.

      If you want code, write some. A good specification for files and protocols is all that should be required of anyone, and more than some can manage.
      Yagotta B. Kidding
  • What exactly is XPS? Article is unclear

    Is XPS a printer language like postscript? Is it a document format like pdf?

    If a print language, what does it do for output quality? What color models does it support: RGB, CMYK, LAB, etc? Does it carry both spot and process color information? Does it properly interpret/support truetype, postscript and opentype fonts? Does it support printer color profiles? Would all applications need to have an XPS export function (even if hidden in the print command).

    If a format (article describes it as a ?low level? document format), what are its advantages (or disadvantages) over something like pdf? Can one send an XPS file to another machine? If so, does it embed the fonts, or subsets of the fonts? Does it downsample images? If so what are the downsampling specifications and can they be changed? Since it applies zip compression, does it compress everything or does it compress images while leaving text alone? Does it allow for preflight and separation previews/checks before print so as to avoid common problems like weak blends in transparency? What transparency flattening settings does it support or does it flatten or not? Does it support layering so things can be easily repurposed?

    The article does not say
    j.m.galvin
    • Doesn't matter

      You're asking a bunch of totally irrelevant technical questions. Keep in mind that since the print pipeline for 95% of the world's computers [b]will[/b] be running through XPS, it's by definition the best you're going to get.

      Any other representation can, at best, preserve the information in XPS. Any capabilities [u]beyond[/u] XPS will get filtered out anyway.
      Yagotta B. Kidding
    • What Exactly is XPS - Reply

      Good questions. I suggest a couple of URLs to get answers to these questions. The first is a white paper by Martin Bailey, CTO of Global Graphics at http://www.globalgraphics.com/xps/faq.pdf. It has a good discussion of both XPS and comparison with PDF. A second site at http://www.webbuyersguide.com/bguide/whitepaper/brief.asp?wpId=Nzk0NQ&category=74&sitename=webbuyersguide&kc=newsdaily031207 has a table comparing the two formats.
      jmater
      • Thanks. First guy scary wrong

        I read the first one and not the second because it required registration.

        It seems that XPS is to be ?all of the above? as it pertains to my questions, but mainly a competitor to pdf.

        The first guy was scary wrong on some stuff (assume he?s a marketing guy). He said that yu cannot embed fonts in a pdf, which is total hokum. Virtually all pdfs contain embedded fonts.

        He said that most people try to check pdf compliance with the reader. The only people who care about compliance are at the print output stage and they all use Acrobat and can easily check compliance on the preflight, as can the graphics art and layout types, who all have Acrobat.

        There were other weird things so I checked the company?s main site. They?re pushing their XPS solutions for device makers. They also make Jaws ? a competitor to Acrobat.

        So I decided that I?d better take anything he said with a grain of salt.
        j.m.galvin