Howdy,
I have been lurking, but one of my favorite topics is being broached.
Regarding 'user friendly' interfaces, I maintain that it's friendlier
to use words than pictures (cryptograms). People already have
words to describe what they want to do, it's not trivial to learn
the translation to small icons to represent the concepts.
I envision an interface which involves using words as instructions
to the computer. A CLI, but smart. Not plain text, but instructions,
with both the OS and the user learning as they go. I think the instructions
should refer to something like 'recipes' which are a layer between
the instruction level and the software which carries out the instructions.
Recipes would come with the OS, would be available via net exchange
with others, could be produced per need.
I wonder how many would be required for the average user. My
guess is very few. If an unrecognized instruction was typed, it could
trigger a wizard which asked if it was a typo, if not, gather info about
what the user wants to do. The OS would try to create a recipe, if it
couldn't, it would check the global recipe pool for one which met the
criteria, if not found it would send the request to a global recipe
request queue, and a developer would address it. The next person in
the world who wanted to do the same thing would have access to
the recipe.
The recipes could also be represented visually, but I still think it's more
intuitive to type "mail" than to locate the little picture of a letter, position
your mouse over it, click it 2 times in succession. Quickly, but not
too quickly.
Thanks,
Kent
On Tue, 8 Mar 2005 09:43:45 -0500, Phil Frost <indigo@xxxxxxxxxxx> wrote:
> On Tue, Mar 08, 2005 at 01:26:40PM +0100, flaig@xxxxxxxxxxxxxxx wrote:
> > What I was first thinking of was the following: The user is
> > fundamentally different from any function, even in the absence of the
> > notorious shell layer, and data -- whether wrapped up and peppered
> > with executable code into objects, or "primitive" -- is something
> > intangible. To the calling function, the letter is just another
> > object, that's fine:
> > letter = text_editor()
> > But how can we pass this object to the user, and how is the user
> > expected to deal with it? If text_editor() is pure, side-effect free,
> > haskelly function which does really nothing except for creating and
> > returning a letter object, the direct invocation at the Python prompt
> > >>>text_editor()
> > will cause the returned letter object to get lost. Thus we would need
> > side effects to do something useful.
> >
> > But I hope that I have grasped your concept by now. Is something like
> > >>>LetterToGrandma = text_editor()
> > followed by
> > >>>RevisedLetterToGrandma = text_editor( LetterToGrandma )
> > and finally
> > >>>send_to_printer( RevisedLetterToGrandma )
> > >>>LetterToGrandma = RevisedLetterToGrandma.clone()
> > >>>RevisedLetterToGrandma.erase()
> > going to be the way, with LetterToGrandma and RevisedLetterToGrandma
> > being references to persisting objects?
> >
> > If so, I have now understood what you are talking about. :-) Actually
> > much simpler than file systems!
>
> That's the idea. In the standard python repl, the result of the last
> line is printed then stored in the magic variable "_", which saves the
> need to name things often.
>
> > And I am also very curious about what the user interface is going to
> > look like. A graphical browser which displays all the objects in
> > namespace, with each object's methods being available as a pop-up
> > menu, and the built-in functions such as "send_to_printer" as desktop
> > icons for drag'n'drop, would seem straightforward, but maybe you
> > already have some better ideas?
> >
> > At any rate, how can a namespace with 50'000 components be handled
> > efficiently? Just like one with 50 components, sure. But how is this
> > going to be hammered into something "user-friendly"?
>
> I'm not afraid to use the keyboard. Simply consider the the
> expressiveness of 101 keys versus 2. Then consider that humans
> communicate with each other most effectively with language and not
> points and grunts, and it seems like the keyboard is the way to go.
> Something complex can not be made to be used by an idiot. Trying to do
> that just hinders non-idiots. It's unreasonable to expect everyone to
> learn millions of little details about how a computer works, but it's
> not unreasonable to expect everyone to learn how to type.
>
> So, with 50000 components, one could search these based on some criteria
> entered with the keyboard. Searching on the first few letters is often
> useful if one remembers the name of an object. No popup menus, ever.
>
> > Likewise, will other nodes and their namespaces (that is to say, all
> > components of the namespace which have a certain public_visibility
> > flag set) appear as objects, or maybe functions returning lists of
> > objects, in my own namespace? I think this would be a very nice
> > starting point for distributed computing.
>
> I'm not sure what you are asking. What kind of nodes? Nodes, as in
> computers in a distributed network, or objects in a graph, or something
> else? And which namespace? If Unununium were as popular as windows there
> would probably be more namespaces than humans on earth.
>
> There is no public_visibility flag. There are no permission flags.
> Access is controlled by granting references.
>
> > PS. I know most of you will object to this, but I suggest that
> > appropriate measures be taken to secure all the rights to this
> > approach ASAP.
> >
> > Call me paranoid if you like, I am more worried that I may not be
> > paranoid enough. The Uuu page is listed at www.windows-sucks.com, and
> > from the fact that M$ themselves are running a page named
> > www.linux-sucks.com you may infer that they are aware of what is going
> > on!
>
> I can't resolve www.linux-sucks.com :(
>
> Our right to continue developing Unununium is already secured. Patents
> can not be grated for prior art. If they are, I don't care. If they push
> the issue, I opt for armed revolt.
>
> > PPS. As for myself, I am neither a troll nor a sneak, and ready to
> > provide any legal or illegal proof, including an oath to be taken on
> > the head of Billyboy (if placed before me in a silver dish), that I am
> > not involved with any software company whatsoever. :-))
>
> _______________________________________________
> Uuu-devel mailing list
> Uuu-devel@xxxxxxxxxxxxx
> http://unununium.org/cgi-bin/mailman/listinfo/uuu-devel
>
|