tbg@apollo.COM (Tom Gross) (04/08/89)
Mich's version of PHIGS early history Jim Michener 4/7/89 Written in response to a news group article (appended). In the U.S., PHIGS was the development of the Accredited Standards Committee X3H3 (Graphics). X3H3 started meeting in October 1979. There were discussions (like in 1980) of what should be done with the CORE System (SIGGRAPH 79), when somebody, I'm virtually certain it was Bert Herzog, said: Let's revisit, one more time, the assumption that there should be no hierarchy. The decision went in favor of hierarchy. Subsequent work, then, went in the direction of merging hierarchy and CORE System functionality. One subcommittee of X3H3, task group X3H3.1, worked simultaneously on standardizing GKS internationally (and nationally) and on PHIGS. The PHIGS attribute model at first was very similar to the CORE system's (attributes directly in structures). In contrast, early GKS had a table lookup model (index attributes, looked up in a "workstation table"). The collision between the two models in 1981 or 1982 created the Attribute Source Flag concept, which GKS and then PHIGS adopted. -- GKS-3D started in about 1983 or 1984 after (almost) all the work was done on GKS. It was an attempt to take some features from PHIGS and weld them onto GKS. After a while GKS-3D and PHIGS got into a moving-target situation: Most folks agreed that the 3D parts of the two should be the same (and that the primitives output onto workstations should be the same), so if some change was suggested for one of the systems, the other system would have to change too. -- The name PMIG (I do not believe it was ever called PMIGS) referred to the Programmer's Minimal Interface to Graphics. It was definitely not related to the development of PHIGS. It was an attempt to cut GKS functionality (which some judged to rich) down to about 30 functions. GKS at the time had over 100 functions. Today's GKS (X3.124-1985) has about 186 functions. I believe the name PHIGS was adopted after some discussion of PMIG, although I am not positive. In this light I would say that the "P.I.G." of PHIGS came from PMIG. The flow might have been in the opposite direction. PMIG was abondoned around 1982, I believe. -- Rensselaer Polytechnic Institute did one or more implementations of early drafts of PHIGS. Contact Salim Abi-Ezzi, still at RPI, for more info. I do not know at what point they started getting IBM support. I do recall in 1985 that Salim was giving the rest of the committee reports on their implementation experience. -- During the PHIGS discussions I recall a really minimal proposal (a joke) that had only five functions. I do not remember the proposal exactly but it was something like: INITIALZE DEVICE SET COLOR (R,G,B) DRAW LINE (4x4 matrix) - draws the unit line between (0,0,0) and (1,0,0) - after transformation by the specified 4x4. READ CURSOR POSITION(x,y) TERMINATE DEVICE -- The "real designer's" referred to the news group article below would have to include the CORE system designers, the GKS designers, and the X3H3.1 task group members. -- Submitted by Jim (Been-in-graphics-standards-since-1971) Michener mich@apollo.com ------------------------------------------------------------- Article 4905 of 4909, Thu 01:40. Subject: PHIGS early history? From: garry@batcomputer.tn.cornell.edu (Garry Wiegand as guest @ Cornell Engineering && Ithaca Software) (25 lines) More? [ynq] We are trying to track down the early design history of Phigs and get it straight. I had had a vague impression that Phigs was basically an IBM contract to RPI which later got promoted to being an ANSI committee, but that's all I knew. My partner has called ANSI and dug through the Siggraph proceedings of the early 80's. The information is very scanty there, but it sounds like: Phigs was an outgrowth of a GKS-3D group (which faded away upon not being able to reach agreement with the ISO GKS committee?); The first (ad hoc?) committee to meet called it "PMIGS", started meeting in 1980, (and did the design from scratch?); The first official standards committee called it "PHIGS" and started meeting in 1982. I don't know how the IBM/RPI work and the Megatek work fits into this, or who/when the real designers were. Can anyone who was there in the early days fill us in on the designers, the basic chronology, and the first implementations of PHIGS? How did it really happen? (merci) garry wiegand (garry@larch.cadif.cornell.edu - @tcgould won't work!)
andrea@hp-sdd.hp.com (Andrea K. Frankel) (04/11/89)
In article <427e35c1.137b8@apollo.COM> tbg@apollo.COM (Tom Gross) writes: >Mich's version of PHIGS early history >Jim Michener >4/7/89 > >The name PMIG (I do not believe it was ever called PMIGS) referred >to the Programmer's Minimal Interface to Graphics. It was definitely >not related to the development of PHIGS. It was an attempt to cut >GKS functionality (which some judged to rich) down to about 30 functions. >GKS at the time had over 100 functions. Today's GKS (X3.124-1985) has about >186 functions. > >I believe the name PHIGS was adopted after some discussion of PMIG, although >I am not positive. In this light I would say that the "P.I.G." of PHIGS >came from PMIG. The flow might have been in the opposite direction. >PMIG was abondoned around 1982, I believe. I joined the committee just after all this happened, but the guy at the next desk who was our X3H3 rep kept me entertained with the ongoing soap opera: The early work on API's stemming from SIGGRAPH CORE was, just about from the start, divided into two efforts colloquially called "small CORE" and "large CORE" among the standards workers. These were respectively acronymmed as PMIG and Programmers' Interface to Graphics, or PIG. There was all sorts of good-natured ribbing between the two groups - small CORE calling the large CORE "pig" because it was such a resource hog, large CORE teasing small CORE folks that PMIG spelled backwards was "gimp" which was more descriptive ;@) There were all sorts of "tail wagging the dog" arguments between the two groups, who eventually figured out that you can't retain autonomy in making design decisions in each group if you're also supposed to maintain compatibility (brilliant, eh?). PIG quickly became PHIGS (thank goodness - who could ever market a product called [company name]-PIG?), since the hierarchy was one of the key design distinctions between that and GKS, which is also a programmer's interface to graphics. PMIG wasn't exactly abandoned. The higher levels of management in the standards-making hierarchy called into question why we (X3H3) were continuing to work on a standard which appeared to overlap substantially the ISO standard GKS, and called upon X3H3 to justify or abandon the work. Although PMIG as a project was abandoned, it lived on as "Level M" (for minimality) in the ANSI GKS standard; this Level M does not appear in the ISO GKS standard. As you might guess, many of the folks who had worked long and hard on PMIG and really objected to the basic model of GKS were somewhat discouraged about having to give up their pet project, and even more disgruntled that it was they who were given the task of "ANSI-izing" GKS (i.e., making the ISO standard into an ANSI standard). These same folks had probably not worked as hard as they might have to effect changes in GKS while it was possible, because GKS was perceived as a European standard unrelated to what we in the U.S. were doing. By the time PMIG was "revectored" into ANSI GKS Level M, it was too late to do much about major design issues in GKS, and we had to be content with trying to band-aid the worst problems at the ISO level or putting in a few VERY minor differences in the ANSI version. (Of course, those of us in companies which do a sizable portion of our business in the international market really prefer to see a global approach to standards, and try hard to minimize differences between ANSI and ISO standards.) This bit of history was a major factor in the subsequent direction taken by X3H3, of pursuing almost all work primarily as international standards with the intent to have identical ANSI standards adopted nearly simultaneously. It's much slower, more political, and more frustrating (because of less direct control) than simply doing ANSI standards, but it does ensure that we don't get into the same pickle again. (Different pickles, yes, same pickle, no ;@) Andrea Frankel, Hewlett-Packard (San Diego Division) (619) 592-4664 "wake now! Discover that you are the song that the morning brings..." ______________________________________________________________________________ UUCP : {hplabs|nosc|hpfcla|ucsd}!hp-sdd!andrea Internet : andrea%hp-sdd@hp-sde.sde.hp.com (or @nosc.mil, @ucsd.edu) CSNET : andrea%hp-sdd@hplabs.csnet USnail : 16399 W. Bernardo Drive, San Diego CA 92127-1899 USA