Lots of stuff to do

Computers, Programming Languages and Operating Systems

Wednesday, September 20, 2006

Userinterface - Just undetermined functions?

Well, the purpose of user interface is two fold. Firstly, we need the user interface to display information, and secondly, we use the interface to input information. Now, I will take this concept of the interface a little further, and abstract it from just the user, but to all interfaces - they are basically where the computer interacts with the outside world.

Now how does this relate to functions? Well, functions take information from a variety of sources, and then does things to it, and spit out answers. We have so far assumed magic tubes that feed the information from sources to the function. Although, we have discussed how the information will be outputted. I envisioned a system of viewers, which allow any structured information to be placed into meta viewers wihch convert structure to layout, and then viewers that convert information into textual/graphic representations. I have also envisioned that this entire structure of functions, viewers can be controlled by the user, after all the function composition is just some handy metainformation kept in the computer, that can be viewered.

But what about more complex things like interaction at an interface? FOr such a more complex thing, we have to take a look at how we often do things normally (I dont like that word). Well, we basically generally use a structure that would be called a event loop, which triggers linear series of actions (maybe a tree instead of a line). WHat do I mean? Well, when you click a button, that is triggered on the event loop. Then stuff happens and other interactions exist. We ask, what is the intent of htese event loops? The intent of these loops are to make choices.

How to do this in a lazy, function based world? Basically set up a function that processes events (event function), make it take input from the user interface, and then the lazyness takes care of the looping etc. But there is more. We can actually get the user interface for free, based on the event function, because we already know what information the event function wants, so we can generate a user interface for it.

However, I feel like this is just a interesting effect, not someting that you would like to know about. It would be kept at the bottom most level of the knowledge sphere. So a user will not be able to interact or even know about it until they decide to peel away the abstractions. In the end, however, when you have peeled away all the abstractions, you will reach the tao of computing.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home