The Ubiquity of Print Enabling Printing within the Ubiquitous Web

Don Wright, Director of Standards, International

Making ubiquitous printing a part of the Background ubiquitous web should be no different. Few can argue the need for printing in today’s world. Long after the pundits began (Note: An overview of the evolution of to predict the paperless office of the future, network printing and network printing the actual number of printed pages has management can be found as an annex continued to increase most notably due to starting on page 4 of this paper.) the rapid increase in available information – information made available largely by the World Wide Web. While the web provides The PWG, the UPNP forum and others have easy access to a treasure trove of often worked in relative isolation. In information, printing that contrast, a group like the information is not nearly as W3C consisting of experts “There will be a paperless office easy as seeing and reading in all aspects of the web when there is a paperless from hundreds of member it in a browser. bathroom.” companies can examine and --Wall Street Journal, 1985 propose a more holistic Over the last 15 years, solution. printing devices have become one of the most usable and manageable devices on the network, second Print and the Ubiquitous Web only to the personal computer. The printing Today, most printers are designed to be industry, including both shared – many directly on a network. For manufacturers as well as software and printing on the ubiquitous web we should operating system developers, have created rely heavily on the work previously done an organization called the Printer Working such as the Devices Profile for Web 1 Group (PWG) where issues and problems Services4 and the printing model created by related to the use and manageability of the PWG Semantic Model5. printing devices can be solved. While the PWG is not always the venue where these While it is apparent that much of the problems are solved, it has consistently groundwork has been laid and much of the served as the nexus for the companies and foundation is in place, problems and issues people to see that the problems are remain to be solved. addressed. All of the companies and many of the same people who have been a part of the PWG have also been a part of the groups ISSUES that have addressed printing in other There are a variety of issues that need to be organizations including groups like the addressed to enable the ubiquitous usage of UPnP™ Forum2 and the Bluetooth® SIG3.

1 devices on the ubiquitous web. Some of 3. Are intermediate services needed (or them are very general issues such as: supported) to transform content into a form usable by a specific printing 1. Does a ubiquitous web mean that device? the full function of the device is 4. If intermediate services are available everywhere or that some supported how do they bind to “sufficient” subset of a device’s full devices? How do clients bind to the function is available everywhere? intermediate services? 2. Is a device a “service” as considered in typical “web services” based CAPABILITIES: architectures? 3. Is a device an amalgamation of 1. Are the attributes & value of the “services” as considered in typical PWG Semantic Model sufficient or “web services” based architectures? is a more complete negotiated capabilities model needed? 4. Are devices “peers of” or “slaves to” the typical computers and 2. How are those device capabilities servers which dominate the web delivered to the client seeking to use today? that device? Protocol? Format? In addition, there are many, many questions 3. Is the management of the which apply more specifically to printing capabilities and configuration of devices. The following are some of the these devices appropriate for more obvious ones: consideration as a part of this project? DISCOVERY:

1. How are printers discovered? SECURITY: Broadcasts? Directories? 1. Is the content being printed secured? 2. Which printers are “in range” in a If so, how? ubiquitous web? 2. Does the client or the printer 3. Is selection by sub-net appropriate determine if and when security is or sufficient? needed? 4. Is geographic positioning 3. What security is needed for the information needed? printing device itself to protect it

from “print spam” and other DELIVERY: attacks?

1. How is the print job delivered to the 4. How is trust established between the device? Is it negotiated or client and the printer? How does mandated? If it is mandated, should the user know that the printer seen it be IPP or SOAP or HTTP PUT or on the ubiquitous web is the printer something new? it claims to be? 2. Must the sender fully understand the capabilities of the device or are The work on Devices Profile for Web other solutions (e.g., XHTML-Print) Services brings us closer to the concept of sufficient? ubiquitous printing within the ubiquitous web but significant efforts to consider the unique requirements of printing and to 2 create the necessary profiles and other the use cases for each of the device specifications are still needed. classes. These may be in the form of completely new standards or simply be PATH FORWARD profiles which specify how a multiplicity of standards should be used to connect a specific device class to the In order to move the concept of the ubiquitous web. Some of this work may ubiquitous web for non-computing devices be done within the W3C or done forward, a number of foundational steps through partnerships with other groups. must be taken:

The printing community remains an active 1. Specific use cases and needs for each of and effective one. Organizations like the the various types of non-computer Printer Working Group continue to provide device classes (e.g., printers, cameras, forums to discuss emerging issues and a scanners, and refrigerators) must be venue to solve them. We recommend the developed. A broad range of engagement of the printing community, both stakeholders from the affected industries directly with developers and manufacturers must be engaged in the creation of these and through groups like the PWG, to work use cases. The development of these toward enabling the use of printing devices use cases should span a wide range of on the ubiquitous web. activities including typical consumer activities extending upward to complex business and industrial activities.

2. Examine in detail the architectures and models of similar or related efforts (e.g., UPnP) that have already been created. Identify the strengths and weaknesses of each of those designs.

3. Develop the overarching model or architecture for non-computer devices for all classes for the ubiquitous web. This architecture should consider what was learned in #2 above and reuse what is appropriate. This architecture should strongly consider utilizing and building upon existing standard technologies whenever possible. If pre-existing standards cannot be adopted unchanged, work with the developers of those standards and make minimal modification to them to align them with the ubiquitous web architecture.

4. Based on the architecture developed above, specific standards (or recommendations) must be developed to address the specific issues and needs of

3 Annex: Historical Overview Information about the printer and its capabilities can potentially be enormous. As In the Beginning: IPP such, the IPP group settled on a relatively small number of attributes which included In the mid 1990’s, a group of companies specific information about the manufacturer, recognized a need to create a standard for make and model of the device. The printing across the network. At that time, a assumption was that if the information variety of largely proprietary protocols 6 defined by IPP was insufficient for an supplemented by an anemic LPR protocol application, it would need to obtain the dominated print submission across the additional information knowing the network. manufacturer, make and model. A generic device capabilities syntax or protocol, such IBM, Lexmark, Novell and as conneg,8 was not included. See Figure 1 recognized the need for a standard and for sample attributes discoverable and in began an effort within the nascent PWG that some cases settable within IPP. eventually became the Internet Printing 7 Protocol (IPP). Other companies, including To address question 2, the IPP group Canon, Dataproducts, Epson, Hewlett- decided on a small number of basic Packard, , QMS, , Sharp operations. While many more can be Labs and Sun Microsystems, quickly joined imagined, this core group of operations is the effort. sufficient for most applications and even includes the concept of printing a URI. Early in the development process, the team (Note: Not all operations are required for realized it had to answer several basic compliance with IPP.) See Figure 2 for the questions before it could proceed: complete list of operations defined by IPP.

1. What information is needed about a Printer-name printer’s capabilities and state are Printer-location necessary in order to print? Printer-make-and-model Printer-state 2. What commands to the printer are Charset-supported necessary to adequately control and Document-format-supported submit print jobs? Color-supported PDL-override-supported compression-supported 3. How should the print job formatting Pages-per-minute commands passed within the print Job-priority job interact with formatting Copies commands contained within the job Finishing description language (late binding Sides versus early binding)? Number-up Orientation 4. How should the print job be Media transported to the printer? Printer-Resolution Print-quality The answers to the first three questions above are found in Internet Printing Figure 1 – Sample of IPP Printer Protocol/1.1: Model and Semantics, now Description & Job Attributes RFC2911.

4 In the end, the IPP group determined it was The “Sons” of IPP unable to mandate a single solution to the The development of IPP was a massive question of late binding versus early effort starting in 1996 and was still binding. As such, by using a pair of developing additional RFCs as late as 2005. attribute (pdl-override and ipp-attribute- In the mean time, a number of other projects fidelity), the client is able to determine the re-used the model and concepts of IPP. capabilities of the device and structure print jobs accordingly. UPnP™ Forum The last question is addressed in a separate In 1999, the Universal Plug and Play forum document, Internet Printing Protocol/1.1: began developing the PrintBasic Service 9 10 Encoding and Transport, now RFC2910. Template for UPNP Device Architecture version 1.0.

Print-Job The UPnP printing working group chose to Print-URI recast the IPP model and semantics into the Validate-Job architecture of UPnP which used XML for Create-Job encoding and SOAP for the protocol and Send-Document HTTP PUT for print data transfers. Given Send-URI that UPnP was designed to be usable by Cancel-Job devices such as cell-phones and PDAs, the Get-Job-Attributes large computing overhead necessary to Get-Jobs create the largely defacto standard printer Get-Printer-Attributes page description languages, PCL and Hold-Job PostScript, was a problem. The UPnP group Release-Job looked at a number of solutions and, in the Restart-Job end, decided to base printing on a derivative Pause-Printer of XHTML. The group decided that when Resume-Printer printing from these low-end devices, Purge-Jobs “content was king” rather than the typical printing perspective that absolute formatting Figure 2 - IPP Operations consistency and fidelity was required.

11 Early versions of XHTML-Print were developed for simultaneous use by the UPnP group and the Bluetooth group (see below). At the time, the computing power of most Fortunately, there was a core group of printers was severely limited. A design companies that could work in both spaces decision was made to encode the IPP while living within the confidentiality protocol over the wire in a binary format. restrictions of both groups. Eventually, after Very late in the process, an effort was made both the UPnP and Bluetooth work went to convert the IPP binary encoding to an public, this specification was handed off to XML-based one. In the end, this effort was the PWG which drove the work to become defeated due to the delay that such a change two separate PWG candidate standards12. would cause and due to the continued In 2003, an agreement was reached with the perception that XML would be too verbose W3C to give this work to the W3C’s HTML for a printer’s processor to handle. In and STYLE working groups with the intent retrospect, while is seemed right at the time, for them to become W3C recommendations. it was probably the wrong decision for the XHTML-Print13 is now a W3C Proposed long term. Recommendation and the CSS Print 5 Profile14 is now a W3C Candidate Bluetooth and others. The result was the Recommendation. PWG Semantic Model document and the Semantic Model XML Schema17 describing The UPnP group settled on a reduced set of it. operations derived from IPP as well as a slightly different set of printer and job The PWG’s Semantic Model has elements. incorporated the original conceptual IPP work as well as the enhancements developed Subsequently, a PrintEnhanced Service subsequently for efforts such as UPnP and Template15 was developed which better Bluetooth. As such, additional operations, addressed the needs of photo printing. The printer description elements, job description XHTML-Print and CSS Print Profile elements and document description elements specifications are still core to this new UPnP are defined. Even those elements not specification. Additional operations and included in IPP for implementation attributes were added over what was specific simplification reasons have been fully in PrintBasic to achieve the functionality described within the PWG Semantic Model. desired. The model is robust and complete.

Bluetooth® SIG In addition to the Semantic Model, the PWG has also created standards for the names for In 2000, shortly after the start of the UPnP the various types and sizes of media, e.g. effort, another effort was begin. This time it paper, transparencies, as well as names for was within the Bluetooth Special Interest the character repertoires (aka Character Group and its goal was to develop a Basic 16 Sets) supported by a printing device. These Print Profile to enable printing in the documents, Standard for Media Bluetooth environment. Many of the same Standardized Names18 and Repertoires- companies and people were simultaneously Support Element19 are necessary for participating in both the UPnP and internationization and full function operation Bluetooth efforts. of many printing devices.

The Bluetooth group picked up the XHTML-Print work first proposed with the Print Service Interface UPnP group. Like UPnP, the processing During the development of the Bluetooth power of the expected devices using Basic Printing Profile, a new need became Bluetooth radios, e.g., cell-phone and PDAs, apparent. With the increase in personal made the selection of a simple, mandatory mobility coinciding with the creation of the printer page description language like Bluetooth environment, the nearest printer XHTML-Print attractive. Like UPnP, the was often one the user had never seen before Bluetooth group also selected a slightly and for which the user’s computing device different set of operations and printer and lacked appropriate printer drivers. With the job elements from those described by IPP. wide variety of document formats available on the Web, it was and is often impossible to load the desired document into a cell phone The Semantic Model or PDA for either viewing or printing. Seeing the rapid adoption of XML in the IT community, the PWG revisited at least part Therefore, to address the broadest set of of its IPP decision about the encoding of the mobile and Internet printing situations, a printing model. It also revisited the limited service needed to be available on the set of operations and attributes used by IPP network to take a document in one format, as well as the enhancements made by UPnP, convert it to another format suitable for 6 printing, and then deliver it to the desired printer. This delivery could be either directly from the printing service or through some Don Wright is the Director proxy, including the originating client itself. of Standards for Lexmark The content could originate on the Web or International and the Past could have been created by the client. Chair of the IEEE Standards Association Print Service Interface20 (PSI) created a set Standards Board. He of interfaces and methods that enable a currently also serves as client to create a Print Job on a Print Chair of the IEEE Service. The Print Service can then Standards Association transform the information to be printed on Standards Board Patent Committee. He has the printer to the proper format. over 26 years of IT product development experience with Lexmark and previously This effort was done before the creation and IBM. Mr. Wright is a member of the Board stabilization of Web Services standards like of Governors of the IEEE Standards WS-Addressing, WS-Discovery, WS- Association and the Board of Directors of Eventing and others. It therefore developed the IEEE Industry Standards and specialized solutions for these problems. Technology Organization, a 501(c)6 non- Although the solution specified was profit organization devoted to the eventually completed, it was soon obsoleted development and support of a number of IT by the plethora of WS-* specifications. industry consortia.

Despite a lack of implementations, much Mr. Wright is especially active in the can be learned from the use cases and other development of standards relating to concepts developed within PSI to address printing. In addition to his work with the the need for ubiquitous printing by an ever IEEE, his involvement includes the World more mobile user community. Wide Web Consortium where he is the Lexmark Advisory Committee representative and have served on the Patent Web Services and Print Policy Working Group, the Printer Working In May 2004, a group of companies Group (a program of the IEEE ISTO) where announced Devices Profile for Web he is the past Chair., the Executive Board of Services. These companies included , the InterNational Committee for Information Lexmark, Microsoft and Ricoh. Technology Standards (INCITS), the Universal Plug and Play Forum, and the Bluetooth SIG, among others. Mr. Wright This profile defines a minimal set of has chaired a number of standards implementation constraints to enable secure committees and is the author of numerous Web service messaging, discovery, papers, drafts and standards. He holds both description, and eventing on resource- Bachelor of Science and Master of constrained printer endpoints. It depends Engineering Degrees in Electrical heavily on XML, SOAP, WSDL, WS- Engineering from the University of Addressing, WS-Discovery, WS-Eventing, Louisville. WS-Security, and other Web services specifications.

7

REFERENCES

1 http://www.pwg.org

2 http://www.upnp.org

3 https://www.bluetooth.org

4 http://msdn.microsoft.com/ws/2005/05/devprof

5 ftp://ftp.pwg.org/pub/pwg/candidates/cs-sm10-20040120-5105.1.pdf

6 http://www.ietf.org/rfc/rfc1179.txt

7 See http://www.ietf.org/rfc/rfc2567.txt, http://www.ietf.org/rfc/rfc2910.txt and http://www.ietf.org/rfc/rfc2911.txt

8 http://www.ietf.org/rfc/rfc2533 (and others)

9 http://www.upnp.org/standardizeddcps/printer.asp

10 http://www.upnp.org/standardizeddcps/upnpresources20051215.zip

11 http://www.xhtml-print.org

12 See ftp://ftp.pwg.org/pub/pwg/candidates/cs-xpxprt10-20030331-5102.1.html and ftp://ftp.pwg.org/pub/pwg/candidates/cs-xpcssprt10-20030331-5102.2.html

13 http://www.w3.org/TR/2004/CR-xhtml-print-20040120/

14 http://www.w3.org/TR/2004/CR-css-print-20040225/

15 http://www.upnp.org/standardizeddcps/printenhanced.asp

16 http://www.bluetooth.org/foundry/adopters/document/BPP_SPEC_V10/en/1/BPP_SPEC_V10.pdf

17 http://www.pwg.org/schemas/sm/1.0/PwgSchema_1.00.zip

18 ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf

19 ftp://ftp.pwg.org/pub/pwg/candidates/cs-crrepsup10-20040201-5101.2.pdf

20 ftp://pwg.org/pub/pwg/candidates/cs-psi10-20050225-5104.2.pdf

8