A bit of necessity plus a lot of free time equals...
The other day out of the blue my friend Rob asked what model of HP terminals we used to use at NVC. He says "Not the 150, the other ones." I'm still not sure why he wanted to know, but we had 262x series (2622, 2623, and color 2627) as well as 264x series. This reminded Pat of a crazy program I had written which ran on all of the terminals, but also had extra features on the touch screen HP 150. The program would let you turn an ordinary text terminal into a windowed terminal, and on the HP 150 you could even drag the windows around with your finger.
Let me backtrack a little... Back then the lab only had a handful of NeXT computers. There were still lots and lots of HP terminals around as well as scattered throughout the entire building. The HP terminals were leftovers from the days of an HP 3000. I had connected a lot of the terminals directly to the NeXT serial ports and others to an old slow HP 9000 (which we had dubbed "Grimlock"). The only remote access to the lab was via a dialup shell into a Linux box. It was a time when funding was almost non-existant and I developed a skill for making cool things out of junk that was on-hand.
A "discovery" I had made was a stash of a handful of HP 150s. I became quite enamored with them because of their small size, integrated printers, how they would double as early DOS computers, and of course their touch screens. I still treasure them so much that I have two in my personal collection. Both have the internal thermal printer and extra RAM, and one has a network card, plus I have a 20meg HD, a dual floppy drive,the spiffy stackable swivel bases, and lots and lots of floppies and documentation on them. If you've ever been on J street in Benicia during Peddler's Fair during the last 15 years, you might have seen one acting as a cash register at the yard sale at my grandma's house. (But that's another story.)
Anyways, since I was doing so much terminal access from both on and off campus I was becoming frustrated with only having one shell in front of me. I also wanted to do something cool with the touch screen on the HP 150s. And so ttykit was born.
ttykit is my suite of software that creates an entire text-based menu and window system on a text screen terminal. There's an Object-Oriented library made in Objective-C that's modeled very closely after the NeXTSTEP 3 API, a standalone windowserver that is PostScript-like and actually can draw lines using ascii (even diagonal by stair-stepping!), and the only application I ever wrote that uses ttykit, Roboterm. Roboterm is mostly just a simple Terminal.app type program.
Right after I did all that I was planning on creating a really fancy email program that would have a lot of the features of Mynah, my NeXTSTEP email program. Unfortunately it never came to be. Technology evolved and software improved and I finally succeeded in getting the Linux dialup server to do PPP. This put an end to the need to have a nice terminal based email program since I could now use Mynah at home. Soon after NVC received a grant and most of the HP terminals were removed and replaced with more NeXT computers so there was no longer much need on campus either.
Sort of sad really, ttykit had so much potential. I was also working on making a special program to help TAs manage the physics stockroom. I was going to make a fancy database with maps of the stockroom and shelves to help people locate all the equipment, and even include pictures which would be displayed on the HP terminal's graphics screen using software I wrote that could display pictures on any HP terminal, color or monochrome. (Yet another one of my need-for-it projects that I wrote and also got phased out, although I still use the rest of the picture library every day, it's even been incorporated into the web sites I build. Maybe I need to make another blog entry all about it?)
I also had dreams of polishing up the PostScript-like windowserver and making it much more complete and have it listen on a NeXT compatible port. I thought it would be really cool to be able to launch a program on a NeXT and then -NXHost it to my text-based windowserver. Alas, I never quite got that far.
Here's a short video of it running:
So.... Since this software has been sitting on my computers for who knows how long and not doing anything for anyone, the time has come for me to release it to the wild. I am putting it under the GPL and making it available for download. In theory it should be possible to build on anything that has gcc and Objective-C. There will probably be issues though since it was originally designed to compile on a NeXT (since that's all that had Obj-C at the time). I also had to invent some special entries to Termcap to support the features of the HP150, be sure to grab that file too if you happen to have an HP150.
If there's enough interest I'll see about setting up something where people can ssh in and try it out for themselves (I have to decide if I want to deal with the security issues and/or put yet another server online).