Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Terminal I/O UI

Terminal I/O UI

Scheduled Pinned Locked Moved The Lounge
helpdesignsalestutorial
16 Posts 8 Posters 14 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    charlieg
    wrote on last edited by
    #1

    So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

    Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

    J P P C B 8 Replies Last reply
    0
    • C charlieg

      So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

      Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

      J Offline
      J Offline
      Jeremy Falcon
      wrote on last edited by
      #2

      Terminal could mean a lot of things... there are UI libraries out there that simulate a UI in a terminal. Windows 1 did it. [Ncurses](https://upload.wikimedia.org/wikipedia/commons/2/27/Linux-menuconfig.png) does it. So when you say terminal, are you talking about something like [this](https://lh6.googleusercontent.com/proxy/sAhJFx23HGdE7f63s5bghNXet5UVFg4ckKQcJt4SXqC1Q0g8U1iw5xlhYntrUPnv\_tO4w1PJelMfo3-chWOZ9A)? Or is it something like [this](https://www.bttr-software.de/freesoft/ufo.png)? In either case, the good news is you don't need any fancy UI library. If they're that resistant to change then less is more and I can't imagine any UI lib that wouldn't have the basic inputs to mimic those two screenshots.

      Jeremy Falcon

      C 1 Reply Last reply
      0
      • C charlieg

        So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

        Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

        P Offline
        P Offline
        Peter_in_2780
        wrote on last edited by
        #3

        You might find it worthwhile to read William Galitz, "Handbook of Screen Form Design". It's from that era, but his philosophy should translate to a world of text boxes, radio buttons, etc etc. When we used his ideas back in the dark ages, it seemed to reduce "forehead meets keyboard" events among the users.

        Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012

        1 Reply Last reply
        0
        • C charlieg

          So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

          Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #4

          It might not be a good idea to "upgrade" at all.

          C 1 Reply Last reply
          0
          • P PIEBALDconsult

            It might not be a good idea to "upgrade" at all.

            C Offline
            C Offline
            charlieg
            wrote on last edited by
            #5

            This might in fact be true. We're now on the 3rd generation of developers/support people. I don't think it's going to 4.

            Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

            1 Reply Last reply
            0
            • J Jeremy Falcon

              Terminal could mean a lot of things... there are UI libraries out there that simulate a UI in a terminal. Windows 1 did it. [Ncurses](https://upload.wikimedia.org/wikipedia/commons/2/27/Linux-menuconfig.png) does it. So when you say terminal, are you talking about something like [this](https://lh6.googleusercontent.com/proxy/sAhJFx23HGdE7f63s5bghNXet5UVFg4ckKQcJt4SXqC1Q0g8U1iw5xlhYntrUPnv\_tO4w1PJelMfo3-chWOZ9A)? Or is it something like [this](https://www.bttr-software.de/freesoft/ufo.png)? In either case, the good news is you don't need any fancy UI library. If they're that resistant to change then less is more and I can't imagine any UI lib that wouldn't have the basic inputs to mimic those two screenshots.

              Jeremy Falcon

              C Offline
              C Offline
              charlieg
              wrote on last edited by
              #6

              It's not that gross, but I'll post some screen captures shortly. I know piebold will understand when I say this is all VT100 based. Works fine in putty.

              Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

              1 Reply Last reply
              0
              • C charlieg

                So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

                Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                C Offline
                C Offline
                charlieg
                wrote on last edited by
                #7

                Okay, some images. Basically the users whip through the menu processing and thundering into data entry. UI presentation 1 is I want to mimic this behavior. https://ibb.co/FXCWY2m https://ibb.co/rtTVt5S https://ibb.co/rtTVt5S

                Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                J P 2 Replies Last reply
                0
                • C charlieg

                  Okay, some images. Basically the users whip through the menu processing and thundering into data entry. UI presentation 1 is I want to mimic this behavior. https://ibb.co/FXCWY2m https://ibb.co/rtTVt5S https://ibb.co/rtTVt5S

                  Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                  J Offline
                  J Offline
                  Jeremy Falcon
                  wrote on last edited by
                  #8

                  Well, if they're used to using a thin client / mainframe like that over SSH and you don't want to lose that concept of thin client and/or the app is on the way out anyway, you really only have three options (ignoring MS's butchering of the term smart client in WPF, etc.). 1 Check out [Ncurses](https://en.wikipedia.org/wiki/Ncurses). It's a 100% terminal based UI library and totally free. It's a C library but I'm sure you can find bindings for it just about any language. You can spice it up a little and lose zero of the thin client goodness and everything is 100% terminal based. 2 You can replace that old UI as a web page pretty easy, and you can make it look exactly the same. It's still considered thin client / mainframe as only the browser is required. There are tons of [examples](https://github.com/m4tt72/terminal) out there that mimic a console for the web. 3 As mentioned, if the app is going to die anyway... then just do nothing and let it die.

                  Jeremy Falcon

                  C 2 Replies Last reply
                  0
                  • J Jeremy Falcon

                    Well, if they're used to using a thin client / mainframe like that over SSH and you don't want to lose that concept of thin client and/or the app is on the way out anyway, you really only have three options (ignoring MS's butchering of the term smart client in WPF, etc.). 1 Check out [Ncurses](https://en.wikipedia.org/wiki/Ncurses). It's a 100% terminal based UI library and totally free. It's a C library but I'm sure you can find bindings for it just about any language. You can spice it up a little and lose zero of the thin client goodness and everything is 100% terminal based. 2 You can replace that old UI as a web page pretty easy, and you can make it look exactly the same. It's still considered thin client / mainframe as only the browser is required. There are tons of [examples](https://github.com/m4tt72/terminal) out there that mimic a console for the web. 3 As mentioned, if the app is going to die anyway... then just do nothing and let it die.

                    Jeremy Falcon

                    C Offline
                    C Offline
                    charlieg
                    wrote on last edited by
                    #9

                    But I want the money :). I've had to deal with requests over the last 20 years that are simply not possible with the current system. They keep trying to replace it without talking to the people that use it and know it. I'm just looking for something that will allow me to replicate the speed of the terminal environment. I'll check into the links.

                    Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                    1 Reply Last reply
                    0
                    • C charlieg

                      So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

                      Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                      B Offline
                      B Offline
                      BernardIE5317
                      wrote on last edited by
                      #10

                      I am not certain I fully understand your intention but permit me to say I am looking forward to learning the GUI library "Dear ImGui" as it is impressively fast and am rather fond of its appearance.

                      1 Reply Last reply
                      0
                      • C charlieg

                        Okay, some images. Basically the users whip through the menu processing and thundering into data entry. UI presentation 1 is I want to mimic this behavior. https://ibb.co/FXCWY2m https://ibb.co/rtTVt5S https://ibb.co/rtTVt5S

                        Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #11

                        My article :: CommScript[^] :: is how I dealt with automating data entry via such a system about twenty years ago. I doubt that will you in your endeavor.

                        1 Reply Last reply
                        0
                        • C charlieg

                          So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

                          Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                          1 Offline
                          1 Offline
                          11917640 Member
                          wrote on last edited by
                          #12

                          First of all, you need to learn the communication protocol between the VT terminal and VAX. Only when you understand completely, how they talk between them, you can start your application design. Since terminals from these old days where dumb devices, I suspect that this communication protocol is heavily based on the VT terminal features (only my guess). So, VAX knows exactly, which terminal it is talking with, and sends terminal-specific data to it. Learning the VT terminal reference is another necessary step. So, your task is to write VT terminal emulation. VAX should believe that it is talking with VT. End user may see an exact copy of the terminal or something else, like full-featured GUI application - this is less important. Finally, such tasks are usually solved by complete terminal emulation also for end user. Not surprising, this is a lot of work. Make a Google search for "VT terminal emulation". You are not the first person, who needs to implement such functionality. Maybe some existing emulation can do something that you need. Long time ago I was working in the company, that made a great business developing an old terminals emulation - for similar purposes.

                          C 1 Reply Last reply
                          0
                          • C charlieg

                            So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

                            Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                            R Offline
                            R Offline
                            RickZeeland
                            wrote on last edited by
                            #13

                            Maybe this would be of interest to you: Get the Best of Both Worlds: Command Line and GUI[^]

                            1 Reply Last reply
                            0
                            • J Jeremy Falcon

                              Well, if they're used to using a thin client / mainframe like that over SSH and you don't want to lose that concept of thin client and/or the app is on the way out anyway, you really only have three options (ignoring MS's butchering of the term smart client in WPF, etc.). 1 Check out [Ncurses](https://en.wikipedia.org/wiki/Ncurses). It's a 100% terminal based UI library and totally free. It's a C library but I'm sure you can find bindings for it just about any language. You can spice it up a little and lose zero of the thin client goodness and everything is 100% terminal based. 2 You can replace that old UI as a web page pretty easy, and you can make it look exactly the same. It's still considered thin client / mainframe as only the browser is required. There are tons of [examples](https://github.com/m4tt72/terminal) out there that mimic a console for the web. 3 As mentioned, if the app is going to die anyway... then just do nothing and let it die.

                              Jeremy Falcon

                              C Offline
                              C Offline
                              charlieg
                              wrote on last edited by
                              #14

                              "There are tons of examples out there that mimic a console for the web." This is the phrase I was looking for. It's a console app. I'll look things up.

                              Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                              1 Reply Last reply
                              0
                              • 1 11917640 Member

                                First of all, you need to learn the communication protocol between the VT terminal and VAX. Only when you understand completely, how they talk between them, you can start your application design. Since terminals from these old days where dumb devices, I suspect that this communication protocol is heavily based on the VT terminal features (only my guess). So, VAX knows exactly, which terminal it is talking with, and sends terminal-specific data to it. Learning the VT terminal reference is another necessary step. So, your task is to write VT terminal emulation. VAX should believe that it is talking with VT. End user may see an exact copy of the terminal or something else, like full-featured GUI application - this is less important. Finally, such tasks are usually solved by complete terminal emulation also for end user. Not surprising, this is a lot of work. Make a Google search for "VT terminal emulation". You are not the first person, who needs to implement such functionality. Maybe some existing emulation can do something that you need. Long time ago I was working in the company, that made a great business developing an old terminals emulation - for similar purposes.

                                C Offline
                                C Offline
                                charlieg
                                wrote on last edited by
                                #15

                                Nah, no need to know the protocol of anything. As Jeremy pointed out, it's a "simple" console app - well simple in terms of 200K lines of FORTRAN - that all runs on the VAX. It's a thin client all the way. The code itself does nothing fancy with sending certain special commands that you can use with a VT terminal (depending on it's model). The entire point of maintaining the console interface is for not harassing the existing users. If it's not broke, don't fix it sort of thing. I will glance at your references. Thanks.

                                Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                                1 Reply Last reply
                                0
                                • C charlieg

                                  So, I have a system I am pitching to migrate to something modern. It was written in the early 80s using a VT terminal interface to a VAX. The customer has attempted to redevelop, migrate, re do this system about a 1/2 dozen times, all ending in failure. What keeps getting miss is that, at the end of the day, the system works. Production knows how to rapidly enter jobs to produce the product. So, picture a UI that is a series of terminal input. I guess the closest analogy would be entering prompts at the command prompt level. I really don't want to continue in this direction, but the UI is key to the effectiveness of the system. Unlike Microsoft, I abhor screwing with users. It's important that phase 1 of the new project look and behave exactly like the existing system. Any suggestions for libraries or toolkits. I don't care if I have to buy a license. The UI is the most evident thing about this application. There are users that are simply wizards at flying through the terminal based interface. I also have to migrate from flat files to an RDB and replace all of the report code with a modern report writer but that's another issue.

                                  Charlie Gilley “Microsoft is the virus..." "the problem with socialism is that eventually you run out of other people's money"

                                  T Offline
                                  T Offline
                                  Tomaz Stih 0
                                  wrote on last edited by
                                  #16

                                  When replacing an optimized front end treasury system, I used but two hacks: 1. understand what information they need most and why and put it where they find it and 2. learn all of their keyboard shortcuts and replicate them in the new system. I can't overstate the importance of the ability of the operator to quickly enter all the data with just tab, alphanumerical characters and cursor keys.

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups