Compiz and Information arrangement
What is it htat windows (the actual physical square boxes where you put your applications, not the MS product) do? THey provide a hand method to arrange your information into separate rectangles of information. HOw does this fit in with the model viewer controller worldview where there is information, there is functions that modify informatioin and there is viewers that take inforamtion and produce an output?
Well, the answer is that when we have lots of information that we want to see, we have what we call an arrangement of the inforamtion. An arrangement is simply a metaviewer that allows arbitary arrangement of viewers. Of course, when we have tables, we have table metaviewers that automatically tabulates each viewer. This is a similar thing, except for lots of information. So our metaphor still works. But we have just added an extra layer of complexity.
Now we face a more difficult question. What about the newfangled 3d information managers, such as the Mac style 3d graphics accelerators, things like Compiz+Aiglx combos for linux, and what has been proposed for the windows Longhorn? They propose a model where all windows are rendered onto planes that are t hen arranged into a 3d space. THis gives you really cool desktops, where you can literally have the sides of a cube as a desktop. Unfortunately, this does not seem to fit our viewers.
So far all I have said a viewer is something that manifests information - that is, it takes information (probably binary bits and pieces), and then it "realises" it into physical manifestations, such as 2d pictures or 1d sound. A meta viewer is something that allows the composition of informatin. Preferably, these containers would be both useful, and graphically pretty. So really, viewers are just special functions, where they take information and output information of type real-stuff. Where 2d and sound both inherit off. Thus things like compviz can be visualised as just another layer between the viewers and the actualy screen.
What we now have is :
Individual Viewers --> ( 3d plane --> Composition Manager --> 2d projection)--> Screen
We would probably implement this via implementing a general layer class, that joins communications between classes. Then all calls to the other class is redirected through the layer class. THis way, you can arbitrarily redirect your information without any recoupling of the compnents of hte viewers and the screen. Of course, somehow this layer class must be able to handle multiple incoming and multiple outcoming.
THis is just another layer using a more complex internal working, but externally it is all ok...
However, we get problems when we ask how we can make uses interact with the layers theirselves. I will tell you when I figure out. But it is to do with a semantic interface.
Well, the answer is that when we have lots of information that we want to see, we have what we call an arrangement of the inforamtion. An arrangement is simply a metaviewer that allows arbitary arrangement of viewers. Of course, when we have tables, we have table metaviewers that automatically tabulates each viewer. This is a similar thing, except for lots of information. So our metaphor still works. But we have just added an extra layer of complexity.
Now we face a more difficult question. What about the newfangled 3d information managers, such as the Mac style 3d graphics accelerators, things like Compiz+Aiglx combos for linux, and what has been proposed for the windows Longhorn? They propose a model where all windows are rendered onto planes that are t hen arranged into a 3d space. THis gives you really cool desktops, where you can literally have the sides of a cube as a desktop. Unfortunately, this does not seem to fit our viewers.
So far all I have said a viewer is something that manifests information - that is, it takes information (probably binary bits and pieces), and then it "realises" it into physical manifestations, such as 2d pictures or 1d sound. A meta viewer is something that allows the composition of informatin. Preferably, these containers would be both useful, and graphically pretty. So really, viewers are just special functions, where they take information and output information of type real-stuff. Where 2d and sound both inherit off. Thus things like compviz can be visualised as just another layer between the viewers and the actualy screen.
What we now have is :
Individual Viewers --> ( 3d plane --> Composition Manager --> 2d projection)--> Screen
We would probably implement this via implementing a general layer class, that joins communications between classes. Then all calls to the other class is redirected through the layer class. THis way, you can arbitrarily redirect your information without any recoupling of the compnents of hte viewers and the screen. Of course, somehow this layer class must be able to handle multiple incoming and multiple outcoming.
THis is just another layer using a more complex internal working, but externally it is all ok...
However, we get problems when we ask how we can make uses interact with the layers theirselves. I will tell you when I figure out. But it is to do with a semantic interface.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home