h a l f b a k e r yClearly this is a metaphor for something.
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
Please log in.
Before you can vote, you need to register.
Please log in or create an account.
|
What would be interesting is if a terminal acts as a hybrid virtual machine and standard terminal emulator.
So basically if a terminal program supports this mode. What it would do, is seperate the code running the interface into a webassembly/javascript code, and send it over to the terminal emulator.
The terminal emulator will then run the code client side. Thus allowing for more responsive user interface for a terminal.
[remote server] ----> [web assembly client/terminal]--->[user]
Basically all this optional client side code does, is expose 'stdin/stdout' for the remote server, and 'stdin/stdout' for the user. It just sits inbetween the user and remote, allowing for responsive user interface.
ANSI Escape Code
en.wikipedia.org/wiki/ANSI_escape_code This is what most terminal uses. You would transfer web assembly in some form though this (e.g. kermit?) , as well as the various piped data [mofosyne, Jul 07 2016]
[link]
|
|
via terminal escape code. This is because by default this
is a normal terminal. Its just that it can switch to a mode
where it receives webassembly code first (if not caeched
already), and uses the webassembly program to act as the
frontend of a terminal program. |
|
|
You will still see it like a normal terminal session, but in
say a text editor it would be more responsive since the
view is local. |
|
|
Think of this as a more interactive version of "local echo". |
|
|
So say vi has a local interactive mode. |
|
|
-------- REMOTE Server ----- |------- LOCAL TERMINAL --
[LINUX] --- [ VI Program ] -:|:-------- [ User ] |
|
|
Now the view and controller is separated. However the
user experience is more responsive. |
|
|
-------- REMOTE Server ---- |------- LOCAL TERMINAL --
[LINUX] --- [VI Backend ] -:|:-- [ VI Frontend ] -- [ User ] |
|
|
The remote server often hosts a database that is relevant
to the web page. How does this manage to locally handle
that aspect of the web page? |
|
|
I imagine it depends on the program's implementation. You could perhaps provide some statistics on link stability so the program can switch between different syncing mode depending on how stable the link is (ping, bandwidth, latency). |
|
|
But essentially think of this as a stripped down webbrowser, where it still has the virtual machine that runs .wasm programs, but to a text terminal output instead. |
|
|
As for if its the same wasm program each time? Well if you caeched it, then you can just load that up if the fingerprint matches. (As for security, well just like a dumb terminal, a wasm terminal program shouldn't communicate outside the terminal (But happy to be convinced otherwise). |
|
| |