How to make modern web apps look like tn3270 apps?
October 6, 2021 9:05 AM   Subscribe

I miss using tn3270 apps like old university library catalogs and such. Is there a way for me to share this experience by creating modern web apps, where the forms have the look and feel of tn3270? Possibly some kind of javascript/css framework?
posted by Galaxor Nebulon to Technology (7 answers total) 7 users marked this as a favorite
Sweet. Yeah I started down this road once by researching the use of JavaScript ports of the old curses UI library. Beyond that it seemed to be a question of whether you wanted to throw in cathode ray tube visual effects.
posted by johngoren at 9:22 AM on October 6, 2021 [2 favorites]

Response by poster: Oh wow. That curses port is awesome, but maybe a little more extreme than I was thinking. That looks like a way to write actual terminal apps in javascript. I want to just make a regular web-app, but throw a skin on there that gives it that terminal feeling.

And I think tn3270 is particularly well-suited to this because, as I understand, the client had some intelligence like web browsers do. It was sent a screen, then you do stuff on the screen, and send your results to the server. Unlike a curses-type application, where the server processes each keystroke.
posted by Galaxor Nebulon at 9:31 AM on October 6, 2021 [1 favorite]

Yeah, the tn3270 had a very web page like architecture: Inputs that you could tab or arrow between, and the enter button (or whatever the analogue is, my memory is rusty) sent the entire thing back to the app, not character at a time like the vt100 and its children (220,320, etc) did, much like the submit button does forms.

So in a way this could be a big ol' CSS process and no JavaScript at all, just using the old style forms & submit to a server.
posted by straw at 9:56 AM on October 6, 2021

Best answer: You could get pretty close by tweaking the colors on BOOTSTRA.386 and avoiding some of the less-3270-looking components like the buttons. A few F-key bindings and you'd be right back in the good old days.
posted by pocams at 11:14 AM on October 6, 2021 [3 favorites]

Best answer: Here is a 3270 font. "This font is derived from the x3270 font, which, in turn, was translated from the one in Georgia Tech's 3270tool, which was itself hand-copied from a 3270 series terminal."
posted by Nelson at 1:31 PM on October 6, 2021 [3 favorites]

A long time ago I used to program direct 3270 I/O from mainframe CICS (DFHTC not BMS). What humans see as a 24 x 80 text array is actually a 1920 position straight memory buffer. There were reserved values for "Start Field", "Insert Cursor" and "Attributes" to control color, highlighting, enterable/non-enterable fields, where the cursor was initially located after painting, etc. On the return trip there was an AID (Attention Identifier) to indicate whether the Enter Key, PF1 through PF12 or PA1 or PA2 was used. Also the memory addresses were based on a 7 bit code so there was a translation table in the manual to go from memory position to row and column on the screen. Finally there was an MDT (Modified Data Tag) which caused only the contents of enterable fields which had indeed been modified to be shipped back "over the wire". Also SBA command to "Set Buffer Address". Ahhh, I love the smell of green screens in the morning.

I realize this doesn't actually help you recreate it in modern languages, but I thought it might help you to know that there was more to it than just the color and font, and/or to understand any references to the above terms during your research.
posted by forthright at 5:11 PM on October 6, 2021 [5 favorites]

Maybe not what you’re looking for, but you might use a terminal emulator with a text browser like links2.
posted by Monochrome at 9:07 PM on October 6, 2021 [2 favorites]

« Older Recipes for portable, unrefrigerated food   |   Window covering ideas for custom-sized glass door? Newer »

You are not logged in, either login or create an account to post comments