Standard Wishes

An interview the creators of PostScript

It seems Steve Jobs (Apple's CEO) is not happy with Adobe Flash. He wrote an open letter.

The founders of Adobe (and creators of PostScript) Chuck Geschke and John Warnock replied with a public message on open markets.

During November 2008 (Shane Warden and) I had the opportunity to interview the creators of PostScript for the book Masterminds of Programming.

I am posting here a section of the interview that looks very actual nowadays. It is entitled "Standard Wishes" and starts at page 414 for those that already own a copy of MoP :)

What is the next outstanding problem to solve in the realm of computer programming or computer science?

John Warnock: Well, in the world I live in today I have probably 30 or 40 manuals on my bookshelf that all have to do with the Web. They're all thick and they're all mutually contradictory. I would love to see cleaning up the imaging models, cleaning up the programming environments, cleaning up all the things that make up the Web today, because there really is no reason to have any of that stuff.

The terribleness of the different browsers and dealing with that because of the different implementations with HTML has to go away.

With Flash what we're trying to do is both beef it up and make it robust enough so that at least you can get one language that's platform-independent and will move from platform to platform without hitting you every time you turn around with different semantics.

Charles Geschke: I totally agree. It is so frustrating that this many years later we're still in an environment where someone says if you really want this to work you have to use Firefox. We should be way past that point by now! The whole point of the universality of the Web would be to not have those kind of distinctions, but we're still living with them.

It's always fascinating to see how long it takes for certain pieces of historical antiquity to die away. The more you put them in the browsers you've codified them as eternal, and that's stupid.

Do you see this as a failure of the standards process we have today?

John Warnock: Well, the standards process is less about solving problems than in codifying history.

Charles Geschke: My personal attitude is a lot of the standards activity, the sprinkling holy water on what's already a fete complete. It's not there to actually create anything, as John said. It's just to codify it and its historical generation.

Unless there's an active, vibrant organization who takes ownership of the standard and either polices or makes so easily and readily available the implementation of that standard that no one tries to do it on their own, you don't have a standard. That's always the dilemma we dealt with in the early days with PostScript. If the clones had managed to wrest control of PostScript away from us, we would never have gotten to PostScript 3. It would have by that point devolved into a set of incompatibilities that would have made its whole premise pointless.

John Warnock: The same thing is true of PDF. We finally got the U.S. Archives to adopt it and it's a subset of the current stuff, but at least it's a spec.

When we did Acrobat we said we really have to have it so that these files really live and we sign up for making them completely backward compatible so that really, really old Acrobat files will still be read by the readers. That's a big job. Acrobat is a huge piece of code, but it serves such a purpose on the Web that I can't even imagine the Web not having it.

Should these standards be driven by one main implementation or can they arise from rough consensus?

John Warnock: With PostScript it was our implementation that really defined what the standard was and that's pretty much true of Acrobat, too.

The dilemma is if you had Netscape and then you had Microsoft, Microsoft wasn't in anyway motivated to keep them compatible. I think that's tragic.

Charles Geschke: They did the same thing with Java.

Could we have a better Web if we used PostScript instead of HTML and JavaScript?

Charles Geschke: Well, we have been working on our new platform for the Web, the current name for it is Adobe AIR. The Adobe Internet Runtime is a way to bring the level of sophistication of the graphics of the Web up to the same level that you see in our applications and you see in the kernel of the PostScript imaging model, bringing that to the Web in such a way that you can build applications that seamlessly sort of blur the distinction between what goes on on the desktop and what goes on on a web application. We believe that that is a way to get PostScript-like imaging and graphics out to the Web in a way that HTML really does not support effectively.

HTML has two problems. It's basically a bitmap-oriented representation of information, number one. Number two, it's not a standard. The way I say it's not a standard is if you take any of the most popular web browsers and point them at a specific HTML page, they'll all produce different results. To me that's just not acceptable because what it means is that if you really want to build a sophisticated website, you have to do browser-specific programming in order to get the website to give the appearance of being the same no matter which browser you use. It's going back in time. It's like the bad old days.

That's happened because HTML was left as sort of an "open standard." I believe that there's an inherent contradiction in that. You can have the implementation of a standard be open, but the standard itself needs to be very well designed and thought out in such a way that you don't see that kind of disparity.

I remember when Java was first introduced by Sun. They eventually did a deal with Microsoft, and one of the first things Microsoft did is change Java. There was no uniformity between various implementations. That sort of flies in the teeth of the whole concept of a standard. If you're going to have a standard, it has to be a standard and everybody has to adhere to it. Typically that means having one fairly autocratic organization maintain the standard, not the implementation.

We think there's some real opportunities to bring the quality of what you can do up on the Web to a whole new level. We've been working in this area. We've got a lot of interesting applications that third parties have already done using the AIR platform, and we're going to continue to focus on that. It makes the operating system and the platform that you're running your local laptop or PC on pretty much irrelevant. It just doesn't matter. You can see why, to a certain extent, Apple and Microsoft view that as a challenge because they would like you to buy into their implementation of how the seamless integration with the Web goes. What we're saying is it really shouldn't matter. That cloud ought to be accessible by anybody's computer and through any sort of information sitting out on the Web.

Federico Biancuzzi is a freelance interviewer. He is co-author of "Masterminds of Programming - Conversations with the Creators of Major Programming Languages", a book published by O'Reilly.

You might also be interested in:


Very interesting piece. What would have been of Computing and the Web if we could take out the business part of it? Idealistic, you bet! Real and possible that is our job!

fête complète -> fait accompli

These guys are so naive.

Microsoft screwed Sun an dtherefore Java is gone. Well, we have a fix, choose Adobe.

So naive...

Geschke / Warnock should be in position to know about the "because two standards are better than one" argument.

The whole history is not about standards and compliance, but about the struggle for owning (read: tight control, thus setting) the platform: in this way Adobe is no different from Microsoft, Sun or Apple. It is about cashing in on the long term.

It is so frustrating that this many years later we're still in an environment where someone says if you really want this to work you have to use Firefox Flash.
Fixed it for you, Charles.

I notice the good that Adobe does, advancing the state of ECMAScript even through Microsoft objections, and open-sourcing some interesting JavaScript interpreting technique. This is prelude to Adobe-bashing.

Flash is in no way "one language that's platform-independent." It runs only on several platforms. Go away from them and you don't get a good experience; you don't get a degraded experience: You get no experience. Even Firefox runs on more platforms than Flash does. Maybe we should ditch Flash for Firefox.

Also, when you have one implementation, any security vulnerability suddenly becomes a "platform-independent" vulnerability. Given Adobe's track record, I do not trust Adobe's security. (Given PDF's security track record, I do not trust Warnock and Geschke.)

As for AIR, I do not enjoy the speed of Flash on any platform. Even the demo that comes with AIR, that's basically a web page in a window, has horrible responsiveness. As much as I disagree with Jobs' ban of all languages, I think AIR may be appropriate for only a small number of simple programs.

I think AIR may be appropriate for only a small number of simple programs

Of course, this is not to say that people won't make complicated programs in AIR. ActionScript is Turing-complete, no matter how appropriate it is, and ActionScript is easier to use than, say, Java.

And I look forward with eager expectation to the day that interpreter technology and hardware improve enough for AIR to run well, like Java. Notice the keyword, forward. I really hated Java back in the mid-90s for having pathetic performance, too.

Thankfully flash is dying and no one has heard of air. Any developer that wants to use flash instantly loses all credibility. It's in the same league as cold fusion or visual basic.

"That's a big job. Acrobat is a huge piece of code, but it serves such a purpose on the Web that I can't even imagine the Web not having it. "

Personally I cannot imagine the web without djvu+postscript or gsview+djview.

The way I say it's not a standard is if you take any of the most popular web browsers and point them at a specific HTML page, they'll all produce different results.

The web is not print. HTML is supposed to be a way to publish information in a way that gives browser developers and users some level of control over how it's actually presented.

The problem is people assume that everyone has 20/20 vision and 640x480 800x600 1024x768 displays and Netscape Navigator Internet Explorer and so they spend huge amounts of time/money trying to get everything pixel perfect then are surprised when it looks like garbage when viewed on any other system.

> Acrobat is a huge piece of code...

Dear Adobe;

Have you ever considered producing a a true Adobe *READER* that sticks to displaying acrobat files? I.e. no sing/dancing javascript or sound or motion pictures or launching applications? That might make the program a lot smaller, and a lot more secure. Right now, Adobe Acrobat reminds me of the old Mozilla 0.9 "browser" with email and usenet newsreader built in, back in the "about:kitchen_sink" days.

iPad is the best Web browser I ever used. It's a joy to write HTML to the HTML5 specification and have it just work, and have the buttons be pressable. I don't miss Flash at all, and I made Flash since 1997. I ported all my old projects to HTML5 and they run everywhere now. HTML5 was what the Web needed, not Adobe Flash or AIR.

Adobe Air is a complete failure and a bad ripp-off of html+css+js.

Just try league of legends, it has a complete Adobe AiR based launcher tool and its horrible. Its slow, it has its own UI elements but they themselves ain't even fit to each other nor can the replicate the OS GUI look and feel. Besides that most of the software is buggy since ages and it consumes lots of CPU. Its just CRAP.

Go do your homework, fix the Creative Suite, fix Acrobat for Mac, build up tools for pdfhtml conversion (in both directions) and you have a market.

AiR and Flash are just failure. Live with it.

News Topics

Recommended for You

Got a Question?