[ Last updated Monday Oct 29 9:30pm EST aka -0600 ]
I'm here with Till in San Jose at the second annual printing summit. Last year's summit was hosted by (nearly defunct) VA Linux, but this year's is hosted by HP and IBM.
See also Raph's diary for another report.
Till took pictures.
After a pretty uneventful flight, I drove the four feet to the hotel and bumped into Ben in the lobby. Ben is the leader of the gnulpr project, which is developing into an interesting new spooler. He pointed me at the first-day organization meeting in a conference room; after checking in I dropped by with Till.
Assorted HP and IBM folks were wrapping up their presentation preparation. We bumped into Patrick Powell of LPRng, and headed out for a beer. Trivia du jour: the Wall Street Journal runs LPRng. Evidently their plate making machines involve 7GB datasets and funky load balancing tricks.
Bruce made a showing; he gave a keynote centered largely around patent issues, including mention of the current W3C snafu…
He also commented on the fact that HP and IBM are competing to deliver better things for Linux; this is indeed interesting. This year's conference is vastly more industrial in flavour; fewer traditional free software projects are represented, and there is an explicit focus here on standardization efforts and large company needs.
Ben gave a discussion around an overall enterprise printing architecture intended to give some context to further discussion. You'll see in the slides that this is quite a large system.
Mark presented a summary of IBM's printing-related efforts. Mainly this consists of the OMNI driver project, which has grown since last year to interface with IJS and Foomatic as well as include many more drivers.
Mark's actual presentation focused on characteristics of a user-centric printing “experience”, as well as a high-level overview of OMNI's flexible hybrid data/code driver structure and interface goals.
Wendy of Sun presented a quick summary of Sun's work; Sun has mainly focused lately on contributions to GNUlpr.
The folks dialed in from Japan were asked if they had any industry issues to add; they promptly rattled off a pretty lengthy list of questions and wishes for HP/Raph's IJS Ghostscript interface. The fellow speaking was from Canon; apparently he was with an Epson guy.
Epson is known to produce some almost free drivers in Japan; Canon is known to be investigating ways to provide drivers for their printers. These IJS questions highlight this. Further discussion also revealed the usual concerns about that elusive red herring “IP” in drivers…
I had lunch in the courtyard with Till, Ray (Epson), Raph (Ghostscript), and several other Epson and Canon employees.
We chatted about Raph's work on IJS, colorimetry, halftoning and dithering, and ICC; he's planning to put together a release of a bunch of his experimental code as “RinkJ”. While it'll probably only support one or two printers, it will serve as a demonstration of a fully calibrated ICC-capable accurate color inkjet driver. Gimp-Print will be getting a run for the money…
Ray mentioned that he's been trying to find proper contacts with all major Linux distributors. This is actually a pretty difficult problem; Till and I have taken an action item to assemble a sister list to our existing printer vendor information page.
Ray and Raph also talked a bit about Epson's driver programs. They have a sister company providing mostly-open drivers at release time for many newer Epson inkjets; the intent is to provide timely drivers as new printers ship. We chatted about the pros and cons of this scheme; mainly the con is that the Epson drivers include a binary module.
Pat the Organizer wandered by acting panicky about my joint presentation with Jeremy of Samba; I had barely written some slides, and Jeremy hadn't even done that. We assured him we'd be all set by the evening sometime…
Ben presented an overview of capabilities, covering both requirements and a few existing systems, most of which are either PPD-based or defunct.
This devolved into a rather lengthy audience-Ben debate around whether we should use PPDs or something else. No real conclusion as such came out, although the ability to handle PPDs from vendors seemed an obvious requirement…
John Olenick of HP then introduced an overview of driver and translation systems, issues, etc, featuring Raph, Dave Suffield (HP), and Pete Zanucchi (IBM).
Pete presented a fairly detailed view of system interaction from a driver standpoint.
Raph presented IJS, his generalization plans for the gs-driver interface code from HP's “hpijs” driver. Basically, it's a socket-n-shm raster transport with a few lightweight metadata features. This is mainly interesting as an alernative driver interface for Ghostscript, the current scheme in which makes third-party driver distribution very difficult. [ Raph has some more details about hpijs/ijs/omni in his diary. ]
Poor Dave sort of got bumped due to a schedule crunch. This was a pity, since he actually did much of ijs during the alteration of HP's ADK drivers into hpijs.
Norm Jacobs (Sun) presented a good high-level overview of the many network-related issues around printing in large enterprises.
This included a summary of work on LpNet, a project implementing various parts of GNUlpr around networked communication, including nameservice, ipp-esque communication interfaces, etc.
After the formal presentations, a gang of some 15 people instantly clustered around a whiteboard as if to design the printing system of the future. While the goal is laudable, the mid-conference timing (nevermind the size of the group) probably resulted in little substantive progress. I spent the time mailing my slides for tomorrow's presentation to the organizers and checking email.
A half hour later a reception was planned in the hotel coutyard. Unlike other Hyatts, this one in sunny California features a proper open courtyard in lieu of an atrium design; for those of us visiting from New England's rapidly cooling weather this was a nice change.
At the reception, I snacked on salmon-n-caper hor'd oevres while chatting with Till, Mark V of OMNI, Patrick (LPRng), and Michael Goffioul (Kprinter). We gabbed about various idiosynchratic printers we knew, including chain printers, teletypes, continuous ink systems, devices with ratty TCP/IP stacks, firmware with job size == 2^31 bugs, etc. After a time the discussion wandered off into pure geek territory, including such coding subtleties as the details of signal and poll/select interaction, edge-vs-level triggered events via queued signals and poll, autoconf's general suckitude, various embarassing data structure selections, and so forth.
Underlying our discussion was a sort of understood feeling that a) most “Linux” companies are doomed and b) alarming volumes of free software are produced with disturbingly little reference to historical lessons. While that's a perhaps a discussion for another day (or at least one reserved for discussion over a beer or two), my own take is that the sheer volume of “fresh meat” arriving daily into the free software world produces the occasional gem no matter what the average code quality. That many companies may die in the meantime is perhaps a shame, but hardly unexpected; none of the design patterns for engineering sustainable profit from free software have been demonstrated to scale significantly beyond the number of people involved. Pity.
I chatted with Till and Patrick about possible enhancements to Foomatic's schema. Patrick has some good ideas; he's interesting in seeing enhanced PJL functionality and some other neat things.
Pat gave a presentation around installation and configuration. His first few slides served mainly to disavow any responsibility for actual installation (quite correctly; this is a distributor problem). After this he dove into a number of configuration scenarios. Most of them featured a “print path configuration tool” of sorts; see the slides for the details of this.
It sounded remarkably like
foomatic-configure to me…
Then the discussion veered into network discovery, visiting user, and thin client configuration.
Ben then launched into a presentation of admin issues. He led in with an apalling 40% stat for administrator time spent on printers. (This will never be zero, of course; printers are mechanical, after all, but 40% is clearly awful).
This led into a set of high-level discussions around queue management, job control, security and authentication, etc. Jeremy popped up with a whole series of comments on security (long a bane of printing systems), which was greeted by assorted agreeing comments from the audience…
Ben also touched on notification, which in his system basically encompasses all manner of backchannel communication.
Robert (gimp-print) couldn't make it, but he just emailed me to point out that the final 4.2 prerelase of his driver collection is out; folks with inkjets who haven't been using a 4.1 release should give it a shot - you should see vastly better color quality on many printers.
He's also excited to see RinkJ moving back onto the front burner, and to build on Ghostscript's impending ICC capabilities in the future…
Wendy (Sun) gave a presentation about her model, in which the various entities in the system are “service providers”. She concentrated on “tracing”, ie event snooping for administrative troubleshooting.
This naturally led into discussion of auditing and thence policy. The idea is to scale these all the way up to the high-end auditing and management systems like unicenter etc.
I gave a presentation on the “data path”, with which I took various liberties as an excuse to highlight existing code that does many of the tricky things that will be needed in any new system. Especially interesting is PPR, which is the only spooler with even a hint of font management and workable notification support.
In the discussion after, the JDF schema was pointed out as the basis for a ticket-based data flow system; this would be particularly helpful for inter-organization jobs, but certainly provides a good input for api and protocol design.
A woman who's name I didn't catch also opened the font can-of-worms with a set of questions about printing CJK jobs. CJK users are especially interested in workable font support; non-ASCII users in general must have something beyond the standard Postscript fonts. There is a modicum of font management in PPR, but pretty much nothing else around.
Jeremy gave a talk covering the data flow through Windows. He gave us a good feel for the way server-based Windows printing works and the internal interfaces involved. Particularly interesting (if unsurprising) is the way Windows implements capabilties: as code. Beyond the basic pagesize, etc, all knowledge about interesting printer knobs is expressed as Win32 code. There is also a metafile-based “server render” printing model. It will be interesting to integrate free Unix drivers into the Windows user interfaces…
Scott McNeil gave an overview of his group, which works to define rigorous standards for application developers. They've aggregated various existing standards and added some new ones to the point that they define a core set of application interfaces.
At this point, they drew the names of several APIs on the board and launched into an attempt to assign people to tasks. This instantly led into what Jeremy called a horse-before-the-cart discussion and downhill from there. Some attempt at forming LF working groups for various APIs was made, and regular communication was planned.
At this point people started wandering out, and the hotel began breaking down the room. I chatted a bit with the various IBM Marks about event, and talked a bit to Ray about what status can be gotten back from the Epson inkjets. It'd be nice to work out some good scheme for printer status information in Foomatic.
After the summit ended, Till, Michael and I ran over to Fry's, since Till wanted to buy a new laptop. I'd never been to Fry's, so we got lost. However, when this happened I actually used my wireless Palm for a non-toy purpose, and – this is the amazing bit – it actually worked quickly and usefully to give me the map I needed from MapQuest.
Later we had a steak and played some pool there in San Jose, and the next morning we got up early and drove up to San Francisco. We did a bunch of the usual tourist stuff including the bridge, the cable cars, Lombard St, Coit Tower, and Muir Woods. As evening came on the girl at the hotel recommended the Halloween festivities on Castro. She wasn't kidding; they blocked off the street and everybody was out in some pretty incredible costumes. The clear winner was a fellow done up as the heroine from Hitchcock's The Birds, walking around in a phone booth replete with an electric sign, a flock of birds, spots of blood, and a really good shocked look on her face…
This summit was significantly different in flavor from last year's. Last year, all the players in the Linux printing world didn't know each other. There was little or no communication between projects, and every distribution shipped a really sorry excuse for a printing system. At the conference, various styles of presentation reflected much of what was going on in the world. Various break-away groups were able to let various key pairs communicate a bit (driver authors and printer vendors; spooler designers and spooler maintainers; etc).
This year, it was organized as a series of technical presentations to everybody with very little organized discussion time. Fully half of the presentations were summaries of the in-progress work of a group of ev-VA and Sun folks. All presentations were very high-level, and most discussions were guided to have a similarly vague focus. Raph's impression of this not being much fun is quite on target; the conference presentations were frightfully uninteresting (I count my own among these; I'm a dreadful speaker, presented almost last, and didn't really have time to prepare properly).
The conference as a whole was engineered specifically to kick-start a standards process, which is worthwhile. However, the standards process that seems to be planned involves much work in a vacuum; things will be specified by people with little knowledge of existing or previous implementation.
As for the future, my prediction is that the standards process begun here is mostly irrelevant, except to any extent that it opens additional lines of communication between useful parties. Actual progress probably will come about less as a result of this conference but intead when many distributions ship printing systems that aren't completely half-assed. Only then will real progress begin to appear.
You can discuss the summit in