When I arrived at my second job, the software I worked on and another set of applications were written for PC using an in-house graphics library wittily called GEMTSC because it was written using GEM and emulated TSC terminals, enormous heavy terminals that took two people to lift. It is possibly that people in this company actually wrote the microcode for the terminals, that was before my time and I don't think I ever really knew.
Now, this was in the forgotten days of software-that-was-graphical-but-not-WIMP, and a particular feature of this library was that you could have 50 lines of 80 characters on a PC screen in EGA mode - EGA was lower resolution than VGA, 640 by 350. Now, of course, the only way of getting 50 rows of characters in 350 pixels is to have a 7 x 7 font. Which one of my colleagues drew over a weekend, including lower case. I have to say that it looked rather better than the 7 x 7 fonts I can find on the interwebs, and I think his feat was insufficiently recognised. (*) Each character could have a different foreground and background colour (3 bits each). As you can see from this description was rather like Teletext mode and, indeed, on the 'real' TSC terminals characters could be made to flash, fortunately this didn't make it to the PC version. It was vehicle routing software. Each route had a line on the screen and each drop was represented by a 2 character abbreviation, with the background and foreground colours of both characters bring significant, so the information was amazingly dense.The users could type in things (something) like M01010503 to move the drop at position 1 on vehicle 1 to position 3 on vehicle 5 and the software would update the display with changed timings and colours to reflect delivery windows etc. The users could do this amazingly fast, far quicker than you could with a mouse.
Meanwhile, with one of the products, not the one I was working on, work was going on on the next generation of that product, which would have a proper WIMP interface, using the full GEM GUI thing, which I think had a silly abbreviation GEM AES - application environment services. Except that it didn't use 'normal' GEM forms as people didn't like them - my boss in all seriousness said that he didn't think we would ever let a windowing system dictate the look and feel of our software. This is not as nutty as it sounds for the late 80s. It would, however, I feel have been less nutty if the colour scheme chosen hadn't been so bizarre, it was very heavy on black, white, grey, light and dark blue and light and dark magenta. A rather gothy look for the software. The text on the forms was either the same font or something very similar, certainly non-proportional, with the buttons having right angle corners. Some time I will have to mock up what it looked like.
The next generation product seemed to me to suffer from the traditional program of it being rewritten by people who didn't quite understand the principles behind the mathematics etc. (I'm sure that if anyone finds this and recognises what I'm talking about they will disagree, and perhaps I am being a bit unfair).
I suspect it didn't help that the person who wrote the original system was not over-communicative and had an ideological objection to meaningful subroutine / function names in the conventional sense of the term. We were, of course, in the land of FORTRAN 6 character names, and his argument was that a name, least of all a 6 character one would be a misleading simplification. Therefore things were given numbers e.g. IX8081 - with IX meaning integer function and 81 being the 81st routine in subcategory 0 of category 8 - you would then look in the documentation to find what the 81st routine in that subcategory was, and of course you would see the hierarchy chart explaining what category 8 and subcategory 0 of it were.
It became clear that it wasn't going to fit into 640K and therefore the software was ported to OS/2. And I mean ported rather than rewritten, so we had the strange non-platform look and feel forms ported from GEM to OS/2. (**)
So far, so good. I actually quite liked OS/2, although it suffered from the problem with all OSs except Windows and (in recent years) Linux of only installing and working on PCs under carefully controlled circumstances (***)
At this point, however, (a) people wanted the software to run on varieties of Unix and (b) people wanted the software to run on Windows. Someone called Bill faffed around with a Unix machine to try and work out what we should do. The decision was taken out of his hands and it was decided to use (cue dun dun dun music) a cross platform library.
The cross platform library, which it appears is still on the go, was called XVT. At the time it provided support for the Mac (which we didn't want because there is no call for engineering software on Macs), Windows, OS/2, and a variety of Unixes (and possibly VMS running X). There was also a rather bizarre character mode version which emulated windowing on a character display. The software was therefore ported again, but maintained its lovely home-grown look and feel.
Now, the thing is that lots of people used this XVT thing back in the day for their desktop software on the off chance that they might want to run it on Unix. However, we were the only people I know to use the Unix version. And it didn't work terribly well. Though possibly that was the fault of (a) the wacky non-platform-look-and-feel forms and (b) the fact that it was on its third port by that point. I have no idea what it's like now, and of course now it's competing with free (beer / speech) software.
So we went back to writing our own cross platform library more optimised for what we did - the fourth port. And so it stayed until I left.
(*) thinks, with a 1280 by 1024 display, you could fit 142 rows of 182 characters, wonder what that would look like?
(**) my group, on the other hand, DID actually ship some software written in GEM using this library, the only software written in the GEM version that ever was shipped. My vague recollection is that we shipped the software in order to get paid though we knew that the customer wasn't going to use it due to a change of management / direction. It was a GEM running on DOS front end to an IBM mainframe system written in FORTRAN using a 3270 terminal emulator. Essentially another brilliant but slightly misguided person wrote a layered protocol stack based on the theory of the OSI 7 levels. This entailed gibberish being written to the 3270 terminal which was read using the emulator library and converted to menus / forms etc. We had to get the resident IBM mainframe guru to write us some special assembler to call from our FORTRAN to clear the 3270 screen. The architect of said software took his money from the sale of the company to quit and travel round the world. We also wrote a route finder package we were going to sell for a few thousand pounds, which is what they cost in those days. We had just about finished it when AutoRoute came out for fifty quid. My, how we laughed at that, too.
(***) "We don't get many of those round here" "Vampires?" "No, controlled circumstances