nslay said:
Admittedly, I'm not well versed in the details of Unix history. But I'm guessing that Unix didn't always have a tty subsystem. That it originally started with paper tape. Then it evolved to have ttys. Then it later evolved to have ptys and mouse support. What's next?
The earliest incarnations actually did begin with tape though later with electricity based created by Morse for electrical telegraph using Morse code. Communications can be traced back to earliest written history with homing pidgins to human messengers back to the greek times where various encryption style logic like the Cæser cipher (i.e. rot13 ) can be identified.
TTY actually was used pre-unix during the multics and ctss years as they where beginning to explore time-sharing shared resource computation. It actually stood for Teletype - teletypewriter or simply teleprinter( i.e. expensive typewriter).
Early documentation on Thompson's line editor
ed() explores UNIX as if a hard copy; paper based; terminal would be used. Bill Joy's original
vi() took several years to complete because backward compatibility through the creation of a terminal driver to take advantage of a "glass" terminal while being compatibly with "paper" terminals. In fact the original
vi has a so called 5th mode called "open mode" to do just that. The work which Joy put into the termcap library would later influence
curses().
Also naming conventions for signals would also follow early computing experiences; SIGHUP stands for `Hang Up` which sends the signal that the serial connection had been severed to simulate hanging up a phone.
nslay said:
Keyboards/mice may go away in the distant future and there are already devices that lack these. So, how does a human interface with Unix now? I doubt shells/ttys are up to the task and I imagine shells will eventually be relegated to interpreting scripts than user input.
So how do you imagine human-Unix interaction in the future?
I imagine some sort of hybrid between touch screen and AI (and maybe dictation). Touch screen is horribly inefficient and to make it viable, I think you need smart software interfaces that can predict user intentions.
Someone at one of my local user groups showed me that they had ported
editors/vim to the ipad (iOS). As interesting as it was there was no ESC key as it was using the system level keyboard widget. As a workaround he pointed out that they had made a "shortcut" with another symbol on it's keyboard. If such a thing is important enough not to be a toy to show to your friend someone will have to create a proper UNIX layout keyboard to use in conjunct with the software.
I highly doubt anyone will be developing on these devices. Imagine writing a program by speaking to siri. Simple 4th gen interfaces could be created for end users such as we have now like "Compose message to Alyssa P. Hacker" but verbose COBOL style syntax had never really worked well for iron clad programming.
Even imagine administration (or even security) on mobile connected to server. Something as simple as chmod +x /path/to/file could be spoken as "change mode add execute home username bin program"
Now building on expansion pipes redirection and upper/lower case sigils and so forth a predetermined syntax will need to be created. With that we are looking at another dialect or another layer of abstraction. Most people who search google or web commerce sites don't know SQL. Nor should they have to. The keyboard will never really go away. It's easy to confuse the consumer market with the professional market. The problem is that computers became a commodity more of a toy than a productivity tool when they became home devices.
There will always be people who only care about playing games and social connection. You won't find any applications for building a spreadsheet calculator via voice command on the phones or tablets. It's unlikely that we ever will get to that style of "star trek" future of computing.
Also we still live in the day and age where consumers make no distinction between the internet and the web. Then again these people are not concerned with what kernel they are running or even if it's secure or as fast as can be. They are the market for these devices. As long as we have programmers, secretaries and any profession which deals with data input and entry there will always be physical keyboards.
My 2 bits.