Archives: March 2010

Sat Mar 27, 2010

GUI's Create user Dumbness

The GUI hides what's going on underneath, so when something goes wrong

The problems are:


The core of the problem is that the mental structure of a GUI and the mental strucure of a program are very different.
So people don't ever really learn to use computers.

The best fix I have for this one is to start building representational user interfaces.
When the user interfaces represent the program underneath then users can start understanding what they do and how they work. Maybe programs can even be set up so they can drill down into the program and users can change or reuse the things they need to do new things rather than just what the program has been written to do.

We can do this.


Posted by: Jon Grover on Mar 27, 10 | 10:36 pm | Profile

[0] comments (226 views) |  [0] Trackbacks   [0] Pingbacks

Mon Mar 22, 2010

GUI's Don't Loop Well

What if you have to perform a fifteen click operation on each of 10,000 items. In a GUI this would require 150,000 clicks. Carpal tunnel here we come. GUI's are really atrocious when you want to do things more than a couple times.

If you could store a trace of what you did and then write a loop around the trace this would handle it. Why don't GUI's allow you to write a little control structure and apply it to a little trace? I have developed a notation called GAT (Gui Action Trace) which could be a trace that could then be used as part of a facility to repeat a set of actions.

We can do this.

Posted by: Jon Grover on Mar 22, 10 | 12:55 pm | Profile

[0] comments (168 views) |  [0] Trackbacks   [0] Pingbacks

Mon Mar 15, 2010

GUI's Ossify Companies

...or perhaps applications ossify companies. GUI's and applications get built or configured based on the company's business practices. Then they don't get changed which means the company's business practices don't get changed, so the company stops changing. This means it no longer changes due to market changes and eventually dies. If the GUI automatically changed along with the application this would cut the technical resistance to change in half, but that would mean that the applications would determine the GUI rather than the users, and since the applications and the GUI's are our slaves and must do what we say, this is socially unacceptable. Everything a programmer has to do ossifies a company. making a GUI, making a program, building a database, debugging. Programmers have certain weapons against ossification: layering and object orientation, but this only works up to a point.

What if we found a system that allowed programs and applications to play well together. We would have to find a way to make a fast language or structure that was not compiled. Doing this at the right granularity would allow programs to work together. Standards could be the glue that holds things together. I guess we've tried all this. I wonder if endemes could help. They would help with the GUI side by making it easier to find a function in an application. If the GUI's were gotten rid of and the user had a more representative way of interfacing with a program - that is more representative of the underlying structure of a program, then they would better know the sea they were swimming in. Just a few ideas, but I guess my main point is, the ossification of applications and therefore companies becomes extreme when we use GUI's. We can make applications and systems more felixible by replacing the GUi paradigm with something else. We can do this.

Posted by: Jon Grover on Mar 15, 10 | 10:53 pm | Profile

[0] comments (169 views) |  [0] Trackbacks   [0] Pingbacks

Sat Mar 06, 2010

GUI's Can't be Modified.

OK, I'm back to ranting and raving about GUI's.

You can't change a GUI. You are stuck with what you've got. If you have an operation you would like to do often, you would probably like to have a simple way to do it. If the GUI provides a complicated and long string of actions to perform it you can not change this. You have to click and click and click each time you want to do it. No code, means no ability to change things. Code means control of the way things operation. No code means the GUI builder controls how things operate. IF the GUI builder doesn't know what you are going to do with their program, they can't set it up to work efficiently for you.

Why don't GUI's expose little bits of code so that you could modify some portion of the way they GUI operate and also have a reset button if you mucked the code up? We can do this.

Posted by: Jon Grover on Mar 06, 10 | 10:01 pm | Profile

[3] comments (224 views) |  [0] Trackbacks   [0] Pingbacks