A revolutionary OS/Programming Idea--Formatted for picture

John Newman jmn381@yahoo.com
Fri Oct 3 15:09:01 2003


--0-1406288424-1065218920=:55985
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

Ok, this should work.  I filled in all the white
space.  Just pretend it's color.;)

___________________________________________________________________________
|_C:/Programs/functions/ifthen.*__________ifthen_________ifthen___________|
||_File__|__Edit__|__Format__|__View__|__Programming__|__Help____________||
||::::::::::::::::::::::::::::::::::::|_UML
Charts_____>__|::::::::::::::||
||::::::::::::::::::::::::::::::::::::|_Constants______>__|___________:::||
||::::__::::::::::::::::::::::::::::::|_Variables______>_|_Private__>_|::||
||:::|##\_________:::::::::::__:::::::|_Run______________|_Public_/*\_|::||
||:::|############|:::::::::|##\______|_Debug_____________|::____/
  \_::||
||:::|#####if#####|:::::::::|#########|_Catalog________>__|:|Enter
text|:||
||:::|############|:::::::::|####then#|_Primatives_____>__|:|in
textbox|:||
||:::|############|:::::::::|############|::::::::::::::::::|>________<|:||
||::::\__________/::::::::::|############|::::::::::::::::::||________||:||
||:::::::::::::::::::::::::::\__________/:::::::::::::::::::|__________|:||
||:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::||
||_______________________________________________________________________||
|__ifthen__________ifthen_________ifthen___________ifthen_________ifthen__|

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
--0-1406288424-1065218920=:55985
Content-Type: message/rfc822

X-Apparently-To: jmn381@yahoo.com via 216.136.224.124; Fri, 03 Oct 2003 14:08:09 -0700
Return-Path: <tunes-admin@tunes.org>
Received: from 206.63.100.249  (EHLO bespin.org) (206.63.100.249)
  by mta160.mail.scd.yahoo.com with SMTP; Fri, 03 Oct 2003 14:08:09 -0700
Received: from bespin.org (localhost [127.0.0.1])
	by bespin.org (Postfix) with ESMTP
	id 1A4A3209A0; Fri,  3 Oct 2003 14:08:04 -0700 (PDT)
Delivered-To: tunes-l@bespin.org
Received: from web14709.mail.yahoo.com (web14709.mail.yahoo.com [216.136.225.233])
	by bespin.org (Postfix) with SMTP id A096D1FAD5
	for <tunes@tunes.org>; Fri,  3 Oct 2003 14:07:53 -0700 (PDT)
Received: from [68.66.28.57] by web14709.mail.yahoo.com via HTTP; Fri, 03 Oct 2003 14:07:52 PDT
From: John Newman <jmn381@yahoo.com>
Subject: Re: A revolutionary OS/Programming Idea
To: Alaric B Snell <alaric@alaric-snell.com>
Cc: tunes@tunes.org
In-Reply-To: <3F7D5447.3030200@alaric-snell.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="0-694125863-1065215272=:83732"
Sender: tunes-admin@tunes.org
Errors-To: tunes-admin@tunes.org
X-BeenThere: tunes@tunes.org
X-Mailman-Version: 2.0.11
Precedence: bulk
List-Help: <mailto:tunes-request@tunes.org?subject=help>
List-Post: <mailto:tunes@tunes.org>
List-Subscribe: <http://lists.tunes.org/mailman/listinfo/tunes>,
	<mailto:tunes-request@tunes.org?subject=subscribe>
List-Id: TUNES is a Useful, Nevertheless Expedient, System <tunes.tunes.org>
List-Unsubscribe: <http://lists.tunes.org/mailman/listinfo/tunes>,
	<mailto:tunes-request@tunes.org?subject=unsubscribe>
List-Archive: <http://lists.tunes.org/archives/tunes/>
X-Original-Date: Fri, 3 Oct 2003 14:07:52 -0700 (PDT)
Date: Fri, 3 Oct 2003 14:07:52 -0700 (PDT)
Content-Length: 3816

--0-694125863-1065215272=:83732
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

Aleric wrote:

> On a similar vein, I'd like to be able, when viewing
> the GUI an 
> application has presented, to do something like
> "shift + right click" on 
> a button to get a menu of programming actions - such
> as opening up the 
> source code for the action handler for the button
> and so on.

Yes, that's exactly what I am talking about.  Just
right-click, menu pops down, one of the options is
"source folder" or something like that.  Any and every
object in any and every program can be toggled in the
same way--from the backround, to the buttons, to the
icons, to the address barsl, etc.

Aleric said:

> Yep. That level of programming is what some would
> call 'scripting' - 
> just using basic flow control to architect
> interactions between other 
> software components; lots of UNIX people do this,
> perhaps without 
> labelling themselves as 'programmers' or 'real
> programmers', but the 
> syntax for shell scripts is a bit wierd to say the
> least, which must be 
> an obstacle to many.

Exactly.  Take the power, flexibility, extensability,
etc., of *nix, and apply it visually--you could think
of it as a visual object scripting environment. 
Apperently, Linux is not supposed to be that hard, but
I can't figure it out (not that I've tried very hard).
 If every command on the console, though, simply had a
button, and acted like a visual application, I am sure
I would be using it right now.

Also, this visual filesystem is going to be slick.  No
popups telling you that files are transfering from one
place to another, just automatic, and fast.  Also it
might be slightly 3d, where files are represented as
boxes, and boxes are pushed and pulled on the z plane
through the scroll wheel, or by clicking and holding
on a button on the window bar while moving the mouse
up or down.  This way, one can move boxes into and out
of other boxes, and have more organization space.  But
that is really secondary to the idea of a visual
programming file system.

Aleric wrote:

> That indeed holds for a novice, but experimentation
> with structured 
> editors (see below) led the non-novices to get
> annoyed with them and 
> shift back to editing strings.
> 
> Now, it could well be that this was not a fair test
> - maybe nobody tried 
> teaching somebody to program from scratch in a
> structured editor, then 
> got them to attempt to use a textual syntax to see
> how they got on. I 
> don't know. Anyone got a reference?

Or, maybe those structural editors just sucked.  I've
been research what visual editors there are for days,
and none of them really do what I am talking about.  I
want a simple interface, similar to the windows
explorer window--I want to right click on the editor
area, go to Insert-->new file, click, and have it pop
up--I want to open the file into a new window, right
click editor area, go to Insert-->new Data
Structure-->new Array, click, there it is--Then I want
to right click on my array file and go to properties,
and go to the "number of elements" text field and
enter "50" and leave the other fields default, and
then click save--Then I can open my array file, and
walla, I have fifty new array-element files to play
with.

See what I mean?  Something simple like a file system
that a dumbass like me can work with.  Not these
"visual programming tools" that were MADE for
programmers in the first place.  Mind you, I will be
learning all about programming soon--I'm going into
the military to be a computer programmer--but I am
using my present ignorance to help you (proficient
programmers) help us ingnorant ones (perhaps helping
yourselves in the long run).


For those who still have no idea what I am talking
about, I tried to illustrate the idea in notepad. 
Here it is below:

Take this simple if algorithm:

if x=2 then y=x+1

Now set up in the 'abstract syntax tree' way:

>if
>>=
>>>x
>>>2
>>then
>>>=
>>>y
>>>+
>>>>x
>>>>y


This is a file system, for all intents and purposes. 
An AST, as far as I can tell, IS the same thing as a
file system.  Both are computer programs.  But the
computer has to understand this as a string of
symbols.  So, the heirarchy must be represented in
nested structures, as below:


ifthen,if,=,x,2,=,if,then,=,y,+,x,1,+,=,then,ifthen

Here, above, I have {={x}{2}=}, with equals on both
sides, to reinforce that {=} is the object to which
{x} and {2} belong--and so forth through out the
string.  This could represent a one dimensional file
system.

Below, all I have done is brought the heirarchy to the
two dimensional plane, where objects envelope objects
left, right, AND up, down.  

I would open the 'then' file, and have it open up only
inside the the 'ifthen' file (unlike windows) and have
nested windows, where the "file" and "edit" toolbar
would pop up if I ran my mouse over that level of then
hierarchy. Otherwise, I would dragndrop the folder out
on to my desktop and double click it there to open it.
 Notice below, I have the mouse over
Programming->Variables->Public.  

These two dimensions give extra freedom to manipulate
code.


___________________________________________________________________________
|_C:/Programs/functions/ifthen.*__________ifthen_________ifthen___________|
||_File__|__Edit__|__Format__|__View__|__Programming__|__Help____________||
||                                    |_UML
Charts_____>__|              ||
||                                   
|_Constants______>__|___________   ||
||    __                             
|_Variables______>_|_Private__>_|  ||
||   |  \_________           __      
|_Run______________|_Public_/*\_|  ||
||   |            |         | 
\______|_Debug_____________|  ____/   \_  ||
||   |     if     |         |        
|_Catalog________>__| |Enter text| ||
||   |            |         |    then
|_Primatives_____>__| |in textbox| ||
||   |            |         |            |            
     | ________ | ||
||    \__________/          |            |            
     ||________|| ||
||                           \__________/             
     |__________| ||
||                                                    
                  ||
||_______________________________________________________________________||
|__ifthen__________ifthen_________ifthen___________ifthen_________ifthen__|


I hope the picture format survives the email.  It's
about 70 spaces wide in notepad.

(Ok, I just put this into the email text box and it
screwed it all up.  So, if you can't see the
illustration above, I attached the picture in an
attachment.  It's a small picture)

So this should be the standard window explorer for the
whole OS.  First, average people will start creating
macros and hybrids of programs to accomplish their
everyday tasks.  Then they will start sharing them at
the OS website.  Someone will create picture linking
file, where you can export from photoshop to your
PicLink file, then copy an executable (or link to one)
from a program file and this will create an icon--then
put the icon on the desktop.  Once one person has done
that simple task, no one has to anymore.  With
hundreds, thousands, maybe millions of people all
gathering and growing new novel source files, the
whole OS could possibly build itself into something we
can't even imagine.

Answer me this:  What is better, a hundred expert
programmers collaborating on a project, or a million
mediocre programmers, all slowly working in parrallel
(along with a hundred expert programmers)?

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
--0-694125863-1065215272=:83732
Content-Type: text/plain; name="FileIDExplorer.txt"
Content-Description: FileIDExplorer.txt
Content-Disposition: inline; filename="FileIDExplorer.txt"

___________________________________________________________________________
|_C:/Programs/functions/ifthen.*__________ifthen_________ifthen___________|
||_File__|__Edit__|__Format__|__View__|__Programming__|__Help____________||
||                                    |_UML Charts_____>__|              ||
||                                    |_Constants______>__|___________   ||
||    __                              |_Variables______>_|_Private__>_|  ||
||   |  \_________           __       |_Run______________|_Public_/*\_|  ||
||   |            |         |  \______|_Debug_____________|  ____/   \_  ||
||   |     if     |         |         |_Catalog________>__| |Enter text| ||
||   |            |         |    then |_Primatives_____>__| |in textbox| ||
||   |            |         |            |                  | ________ | ||
||    \__________/          |            |                  ||________|| ||
||                           \__________/                   |__________| ||
||                                                                       ||
||_______________________________________________________________________||
|__ifthen__________ifthen_________ifthen___________ifthen_________ifthen__|
--0-694125863-1065215272=:83732--
--0-1406288424-1065218920=:55985--