Why is there no persistent class representing the user in total?
Squeak being a personal multimedia environment, it could probably be said that any image is some representation of the user.
And if I have more than one image... ?? Does that mean Im now User ver 3.5 ? :)
Isnt the most cherished person in our programming life, the "user", more
than an I/O port?
Because that's the bit you're interested in. If there's one sure sign of an object modeler type gone wrong, it is that he starts modeling reality without constraining himself with actual needs.
Generally true. Except in this case, the need (having gone unstated in my prior posting) is to have all the right information in the right place w/o too much effort finding it and too much effort organizing how its display.
UI & cognition concerns itself with the essentials of the very meaning of all computer use needs and how to express them.
Its a need that users have a hard time expressing due to the psychological principle that if its printed on paper or on a computer display, its suppose to be that way and that its the best and only way.
Most dont know about or even imagine keystroke/mouse automation macros at an OS level. Auto-complete is mostly in an OS. In Squeak we can search for and text label on any morph/form. You cant do that in a MS Office application. There you can search the help document and hope the help document has the text label of the form/dialog box in it. Such a concept doesnt occur to a vast majority of users and is hidden in Squeak to the casual user.
Is there a commonly known place in the Squeak environment where the user can fill out a form to express himself that I dont like how this works in Squeak & I dont know how to change it? And if they do make a change its only an effect, another choice (of a great many) to make for the next user (do I need or dont need rather than a model to be reused. Why they did it is only in the comments, not in a model.
A user interface is a compression of a large amount of data into a very small view port to that data and to the commands that operate on that data. Much of whats hidden (the data, data nesting structure, the display format, and potential operations on the data) remain in the users memory. So, there is much more to a mouse movement than Where did it go?
A mouse movement can be very inefficient if it takes 30 mouse clicks, movements crossing the entire display, and several different commands to put two pieces of data together. But Squeak doesnt care. There is no representation of thats too far for a user to go in Squeak.
One could say thats for a good UI designer to know. Another would say Wheres the designers tool box so that everyone benefits from an experts knowledge? Would one say there should be no Collection Object hierarchy since thats what data structure designers should know how to do?
The interface is as essential to organizing knowledge as a Collection.
Note that you do the same. If you hand your credit card to a warehouse clerk, all you are interested in is where that clerk's hand is and whether it already has taken hold of the card so you can let go. You couldn't care less about his email address.
But if his hand makes a copy of the card number & exp date of everyone whos given him their card in the queue before me, I might not want to give him my card no matter where his hand is! And Ill not let go if he does grab it!
Why dont we create class hierarchies of our GUIs to match the already researched rules of cognitive science?
Because cognitive science tells us the domain is too complex to be modeled by simple class hierarchies?
But OOP advertises itself a better because it more closely matches reality and accommodates data and rules at any level of complexity. Is not Squeak the idea processor, yet it remains ignorant of the process by which ideas are created & expressed. Im not talking about the mathematical models but logical models to efficiently answer the users questions of what, when, where, and why and sometimes how and who.
Jef Raskins The Humane Interface
Best laugh I had in a long time, this article. The guy steps up and invents Emacs/Vim with a lot of fanfare.
Very true. But dont forget, Emacs/Vim has only been for programmers - the heavy data users & manipulators of the past. Most GUI & OS users have no clue such a thing exists! Now everyone is a heavy data user but OS tools havent grown to match.
Even Squeak claims to try to remove the line between user & programmer. Educating the user to his/her new role and new needs hasnt grown to match.
Its the design with the intent of creating habits, efficient productive habits thats important.
For example, how many OO programmers (or super-users) know the 7 +/- 2 rule of thumb for not taxing short term memory? Or even better rules for not taxing human limits.
http://www.findarticles.com/cf_dls/g2699/0003/2699000312/print.jhtml
Its not a mathematical formula or algorithm... just a guide how objects could be visually juxtaposed, sequentially presented over time, or categorized. Keyword: Chunking. It can be applied to any menu, list, hierarchical outline, number of windows, number of widgets, or number of minimized window title bars, length of window, pages in a BookMorph. From that rule we also get the use of white space in GeeMail Morphs, the use of bullet points, paragraphs and heading in text, etc. There can be automated procedures for optimizing data presentation time & space to facilitate an expressed purpose if given the requirements and known human limits and preference... something a little better than staggerPolicyString .
Web design brings this more to the publics attention; but, who would make the link between a web designer and a Squeak user creating/manipulating morphs?
As far as a 'multi-modal' interface is concerned, I do agree that Squeak relies a bit too much on the mouse alone. But also, I think that Squeak should have mouse gestures - there's a gesture recognizer in there after all, and I heard good reports on them. There's a lot of work to be done here...
Id say fundamentally essential work with a great payoff at the end in terms of accessibility and popularity (of Squeak).
From time to time I still astound folks with Alt-Tab, Ctrl-C, Ctrl-V, Ctrl-A,
and Ctrl-Shft-End along with other keyboard magic in the MS world.
Cheers, Darius
squeak-dev@lists.squeakfoundation.org