PDA

View Full Version : Admittedly ignorant computing input question


Lasciel
01-03-2011, 02:47 PM
On occasion, whilst typing information into internet browser text boxes, the page or site may not have fully loaded, or I may have neglected to properly click into the text box before typing.

When I then type, none of my input ends up in the destination boxes (obviously).

Here's the really dumb question - where does that input text that I've been busily typing while not paying attention actually GO?

I can think of a few options, but haven't the faintest idea how to find out what actually happens.

Is the text data simply not transmitted over the internet because there's no valid destination point for it?

If so, does the keyboard actually input anything (still leaving the question of where that input then goes?), and if it doesn't, how does the computer know to disregard all the typing?

Alternatively, is the info transmitted to the site or page in question and then
A) deletes itself or
B) languishes in limbo because it doesn't know where to go?

Or, does it do something totally obvious that I'm simply too clueless to realize?

No pressing reason, but it's been an 'I wonder' for me on and off for a while - I'm especially bothered when it happens in username or password boxes: I would really like to know if mis-sent information is just hanging out in cyberspace for someone to pick up randomly.

beowulff
01-03-2011, 02:53 PM
It goes nowhere.
When you type, your keystrokes go into an event buffer (which also includes mouse clicks). UI elements (like text boxes) can read from the event buffer and get the text you are typing. If there is no active text field, then your keystrokes just go into a “bit bucket” (they get discarded).
Note that it is easy to have your keystrokes go into the wrong text field - this happens to me all the time when I launch Firefox, and type into the address bar when it’s not fully loaded, and my keystrokes end up in the search field. It’s pretty easy to send a password as a login this way, which is a security risk.

Lasciel
01-03-2011, 03:18 PM
Thank you, that makes sense.

I've had info end up in the wrong box before, and that's always irritating when I don't notice in time, but usually I see it. I just wondered about all the stuff I type that vanishes into thin air. :D

From your post, I'm assuming that both the event buffer and the bit bucket (is that really what it's called, or is that a nickname? :) ) are processes (destinations? files?) on my own computer, rather than being part of the browser or the website in question?

Is that sequence any different when inputting info from an iPhone/Pad or Droid over a 3/4G network rather than traditional internet?

(again, free and willing admittance of total ignorance here.)

Superfluous Parentheses
01-03-2011, 03:41 PM
beowulff is correct.

Conceptually/roughly/typically, what the keystrokes are send to is the browser program (firefox, internet explorer, opera, safari, whatever). This goes for any program that has its own windows that you can select (typically by clicking anywhere on its windows, using alt-tab or something like that).

Very roughly, the selected/active program receives information about what the user has typed (or clicked with the mouse) from the operating system. It then has to translate those actions into more specific actions (like, say, selecting a specific input field with a mouse, and then typing keys on the keyboard, then pressing a "post reply" button on the same web page).

Any action the program doesn't want to handle, or doesn't now how to deal with, is typically just ignored and any "memory" of it is deleted.

Now on to the web.

In the case of browsers and web sites with input forms/fields,typically, you can type (or mis-type) all you want, and until you press "the submit button", nothing will be sent over the internet - so all the stuff you type on a page like the reply page on this board, will not go anywhere outside your computer until you actually press the "post reply" button, which will gather all the text that's in the input field(s) at that moment and send them as one message to the smdb server.

The above is the typical behavior, because JavaScript, Flash and other technologies make it possible to do much more direct interaction between the browser and whatever server is on the other side of your internet connection (basically, what I said above about input and browser programs/processes can be used by the "web page itself", which can then use the data immediately and even send it on over the internet).

Kevbo
01-03-2011, 07:01 PM
It is directed into the bit bucket in the processor. Prior to Mac/Windows GUIs, bit buckets were just used for bits shifted beyond the end of registers, and for the extra bits not needed in fixed length instructions. Bit buckets used occupy a huge amount of chip real estate until Loof Lirpa invented the monode...of course it was not used to any significant degree until the patent expired. The new compact, monode based, bit buckets are, to a large extent, what led to the demise of command line based computing.

TriPolar
01-04-2011, 12:43 AM
Monode technology also allows efficient recycling of used bits. In the old days, we used to have to empty the bit buckets 3-4 times a day on a heavily used IBM 360.

Lasciel
01-04-2011, 01:03 PM
Is boggled at the thought of having to empty the equivalent of one's recycle bin two or three times a day to clear space for working.

How things change!

ClaytonThroop
01-04-2011, 05:26 PM
Is boggled at the thought of having to empty the equivalent of one's recycle bin two or three times a day to clear space for working.

How things change!

They are kidding ;)

Look up bit bucket on wikipedia for more details.

ouryL
01-04-2011, 07:11 PM
Had you clicked the enter button perhaps you would have found all you window defaults have changed.;)

Musicat
01-04-2011, 07:40 PM
It depends on how the input program requests data.

If it calls the function to "get data from operator," it probably will cause anything input prior to be discarded. If it calls the function to "get what is in the buffer," it probably will accept anything typed up to that moment.

Unfortunately, the first function call seems to be the most common nowadays. The differences between the calls are a little too subtle for programmers with less than 30 years experience and probably offshore.

TriPolar
01-04-2011, 08:18 PM
Entering a key while a browser has focus will direct an event to fire for a window that has focus. It shouldn't get buffered anywhere if that window doesn't handle it. If the browser doesn't have focus, an application on the desktop, or the desktop itself will process it. I haven't spent much time delving into the Mac desktop or other products, maybe some of them have a keyboard buffer accessible to any process. If working from a terminal or terminal emulator, maybe using an old ASCII browser, there might be buffered input somewhere.

Patty O'Furniture
01-04-2011, 10:31 PM
Monode technology also allows efficient recycling of used bits. In the old days, we used to have to empty the bit buckets 3-4 times a day on a heavily used IBM 360.

And we had to hire a guy to stand next to the trash can and say "ARE YOU SURE?" each time somebody went to empty their bit bucket.

[cc]
01-05-2011, 05:51 AM
In most cases, typing without a text box selected in a web browser causes the entered text to simply go nowhere. The browser receives these letters and just ignores them. However, sometimes, it may choose to process them in certain predefined ways. For example, most browsers allow you to press CTRL+F to begin a text search within the page.. some browsers, however, also allow you to leave off the CTRL, and simply begin searching when you press 'F' without a textbox selected. So if you were to begin typing a sentence in a browser that handled keystrokes as commands without requiring you press a modifier key like CTRL or ALT or SHIFT, it may begin just trying to perform various functions and generally acting in a confusing manner.

However, some webpages can use javascript to snare key inputs, even if no textbox is selected. For example, Gmail allows you to use simple letter-key shortcuts to traverse your inbox and begin composing a new message, etc.

On another note, generally (in almost all cases), when you enter text into a text box on a webpage, that data is not being immediately transmitted over the internet. It's just being stored in the browser's memory on your computer until you press submit. However, there are some situations where the webpage (again, using javascript, or Flash) may choose to snag the text you've entered even before you press submit and do some sort of processing on it. One example is those website signup forms you see that automatically check your new username while you type it to see if it's already in use. In this case, they constantly watch what you type in the username box and, even before you've pressed submit, grab that data and submit it to a script on the server that checks whether the name is available or not. One can imagine that this technique could, on less-reputable sites, be used for nefarious purposes.