[comp.lang.misc] Visual Languages

creubank@crls.sony.co.jp (Curtis Eubanks) (09/12/89)

I am interested in visual languages--programming languages that allow
a non-programmer to create programs by choosing and manipulating icons.
My question is:  How much can I assume a user knows?  Being a
programmer myself, it's difficult for me to answer this question.

Consider the concepts of conditional branching and looping.  These are
essential to traditional programming practices, but how does someone
who is completely new to computer programming deal with these ideas?
Is an expression of the form

		if <test> then <branch1> else <branch2>

easy enough for a non-programmer to understand and use?  Probably.  Is
it intuitive?  How about

		while <condition> do <action>

?  Maybe a little more difficult.  Of course, once a user has
successfully implemented a program using either construct, future
usage will be much easier.  But that's just turning non-programmers
into programmers, not using common knowledge.  Ideally, a user who
knows nothing but some very basic interaction skill (moving the mouse,
clicking, and perhaps typing) can walk up to a visual programming
system and start programming immediately.  Realistically, this might
be impossible.

My intuition is that any useful visual language must be restricted to
a specific domain to be able to be used by a complete novice.  A
non-programmer must choose from a limited number of icons that
represent simple or at least familiar concepts.  Before going any
further in developing a visual language program, some questions must
be answered:

	[1] What does the user know?
	[2] What kind of operations does he wish to perform and on
	    what data?
	[3] How would he naturally represent these operations/data
	    visually?

Unless we know what kind of things the end-user wants to program, we
cannot design an appropriate visual language.  Recent discussions on
comp.cog-eng about the scarceness (or lack) of universal icons makes
me think [3] might be a major stumbling block.

Any comments?
--
-----------------------------------------------------------------------------
Curtis Eubanks                   kddlab!crls.sony.junet!creubank@uunet.uu.net
Sony Corporate Research Labs     creubank%crls.sony.co.jp@uunet.uu.net
Information Systems              creubank@crls.sony.co.jp
-----------------------------------------------------------------------------