[comp.sys.amiga] An Intuition.device?

BARRETT@owl.ecil.iastate.edu (Marc Barrett) (09/11/90)

   There have been messages here in which some people have complained 
about how much easier it is to develop software under on the NeXT and
on IBM & clones under Windows 3.0.  My question is: why wasn't this
addressed in AmigaOS2.0?

   In some of his speeches, RJ Mical has told about how it was the intention
of the original Amiga OS developers to make Intuition a device instead of
a collection of routines (as it is now).  Had Intuition been made a 
device, software development would have been a hundred times easier,
because thing like opening screens and windows, creating menu items, and
receiving mouse input from the user would be done by passing codes to
the Intuition device and receiving information from it.  

   The only problem with the idea of making Intuition a device is speed.
The device would have to receive codes from a program, and translate them
into the proper calls to the main Intuition routines.  However, with
the advent of the A3000, I don't think speed is much of a problem anymore.

   The big thing about this idea is that it can still be done.  There
is absolutely no reason why this Intuition device could not still be
written.  Existing programs would continue to call the Intuition routines
directly, but future programs could use the Intuition device instead,
speeding development of future software.

   If Commodore will not produce this Intuition device, I wish some 
other enterprising Amiga developer would.  This would be a great boost
to the Amiga, and would constitute the first major addition to the Amiga's
OS since the Amiga first came out five years ago.  (As of now, all of
the Amiga's OS enchancements -- including 2.0 -- consist of large 
numbers of minor changes, with no really big changes)

      
                                 -MB-

ken@cbmvax.commodore.com (Ken Farinsky - CATS) (09/11/90)

In article <30021@nigel.ee.udel.edu> BARRETT@owl.ecil.iastate.edu writes:
>   There have been messages here in which some people have complained 
>about how much easier it is to develop software under on the NeXT and
>on IBM & clones under Windows 3.0.  My question is: why wasn't this
>addressed in AmigaOS2.0?

David Junod (CATS) is working on some tools to simplify the programming
of the machine.  Hopefully this will make the programmers job easier.

>...Had Intuition been made a 
>device, software development would have been a hundred times easier,

I don't see how this follows.  Programming intuition would have been
about the same if it were a device, except calls would have been
DoIO() instead of OpenWindow().  I personally find the OpenWindow()
type of interface clearer than filling in a structure and calling
DoIO()/SendIO().  Each to his/her own, I guess.

Could you explain how making intuition a device would simplify the
programming task?

-- 
--
Ken Farinsky - CATS - (215) 431-9421 - Commodore Business Machines
uucp: ...{uunet,rutgers}!cbmvax!ken
bix:  kfarinsky

U3364521@ucsvc.ucs.unimelb.edu.au (Lou Cavallo) (09/11/90)

G'day,

{Disclaimer: I haven't even seen the programming environment for OS 2.0.}

MB> In article <30021@nigel.ee.udel.edu>, BARRETT@owl.ecil.iastate.edu
MB> (Marc Barrett) writes: 

MB> There have been messages here in which some people have complained about 
MB> how much easier it is to develop software under on the NeXT and on IBM &
MB> clones under Windows 3.0. My question is: why wasn't this addressed in
MB> AmigaOS 2.0?

Not a flame here...questions. There were a lot of changes that make up OS 2.0,
many seem to be related to providing the basic building blocks for easier s/w
development. Principally I recall the new gadget stuff and a superset(?) of it
.the BOOPSI architecture they invented for OS 2.0.

Perhaps it is still early days to see whether s/w development will be enhanced
and easier with these devlopments.

So my questions.

Are developers happier with s/w development under OS 2.0 ?
What is missing that's make s/w development easier/better?
How do NeXT and Windows 3.0 programmers have it easier? (no flames please)

I read on the net that the NeXT has an easy to use Interface Builder. Perhaps
if Ali Ozer (sp?) is reading this he might describe it a little?

MB> In some of his speeches, RJ Mical has told about how it was the intention
MB> of the original Amiga OS developers to make Intuition a device instead of
MB> a collection of routines (as it is now).  Had Intuition been made a 
MB> device, software development would have been a hundred times easier,
MB> because thing like opening screens and windows, creating menu items, and
MB> receiving mouse input from the user would be done by passing codes to
MB> the Intuition device and receiving information from it.  

I never understood (and still don't now Marc) what RJ meant by those remarks.

Can anyone fill in a little bit more here?

MB> [...further discussion deleted. I'll leave these points to others...]

MB>                                  -MB-

yours truly,
Lou Cavallo.

rick@tmiuv0.uucp (09/11/90)

In article <30021@nigel.ee.udel.edu>, BARRETT@owl.ecil.iastate.edu (Marc Barrett) writes:
>    There have been messages here in which some people have complained 
> about how much easier it is to develop software under on the NeXT and
> on IBM & clones under Windows 3.0.

Gee, I've worked with Windows, and it isn't any easier.  In fact, it's a
damned nuisance!  Maybe I'm just weird.

>                                      My question is: why wasn't this
> addressed in AmigaOS2.0?

I _like_ developing for the Amiga.  It's more fun than almost any other
system I've worked with (including Macs, PClones, Vaxen, Unix, Xerox, and
a host of others).

[...]

>    The only problem with the idea of making Intuition a device is speed.
> The device would have to receive codes from a program, and translate them
> into the proper calls to the main Intuition routines.  However, with
> the advent of the A3000, I don't think speed is much of a problem anymore.

Bingo.  Speed is the critical thing.  Intuition has to do LOTS of things,
including redrawing screens, watching the mouse and keyboard, updating
various system lists and much, much more (sound like a K-Tel commercial?).

Devices are nifty for single-threaded items like disks, tapes, etc.  They
are _not_ appropriate for multi-threaded items like screen displays and
such.  Why do you think Windows is still single threaded?  Oh, sure, they
may say it's multitasking, but it isn't (to my way of thinking at least).
This is also a complaint with X-Windows.  It is commonly implemented in
a manner similar to a device, complete with the speed penalties.

[...]

>    If Commodore will not produce this Intuition device, I wish some 
> other enterprising Amiga developer would.  This would be a great boost
> to the Amiga, and would constitute the first major addition to the Amiga's
> OS since the Amiga first came out five years ago.  (As of now, all of
> the Amiga's OS enchancements -- including 2.0 -- consist of large 
> numbers of minor changes, with no really big changes)

Which cave have you been hiding in?  2.0 does not "consist of large numbers
of minor changes".  It is a major rewrite.  BCPL is gone.  ARexx is resident.
Windows are cleaner and faster.  The libraries are more robust.  Many bugs
have been killed.  Using your criteria, it would appear that anything that
is evolutionary is a minor change.  Like going from a Model T to a Ferrari
Testarossa.  Hey, it's still just a car, no?

> 
>       
>                                  -MB-

[getting off my soapbox now]
----------------------------------------------------------------------------
[- O] Rick Stevens, Technology Marketing Incorporated
  ?   EMail: uunet!zardoz!tmiuv0!rick -or- uunet!zardoz!xyclone!sysop
  V   CIS: 75006,1355 (75006.1355@compuserve.com from Internet)
      (Opinions are mine.  No one listens to me here anyway.)

"Lead, follow, or get the h*ll out of the way!"
----------------------------------------------------------------------------

uphwk@TERRA.OSCS.MONTANA.EDU (Bill Kinnersley) (09/12/90)

[In "An Intuition.device?" <30021@nigel.ee.udel.edu>,
      BARRETT@owl.ecil.iastate.edu (Marc Barrett) said:]
:
:   In some of his speeches, RJ Mical has told about how it was the intention
:of the original Amiga OS developers to make Intuition a device instead of
:a collection of routines (as it is now).  Had Intuition been made a 
:device, software development would have been a hundred times easier,
:because thing like opening screens and windows, creating menu items, and
:receiving mouse input from the user would be done by passing codes to
:the Intuition device and receiving information from it.  
:

(Inhale ................)


(Exhale.................)


(Pause to look out the window, and reflect that the sun is still shining,
the grass is green, and that Usenet postings like this are here and gone, 
and cannot affect the really important things in life...)


OK.

Marc, let me just say that making Intuition a library rather than a device
was probably one of the wisest decisions the original Amiga developers made.

I can't say any more without starting to FLA... (no, stop.)

-- 
--Bill Kinnersley
  Physics Department   Montana State University    Bozeman, MT 59717
  INTERNET: uphwk@terra.oscs.montana.edu      BITNET: UPHWK@MTSUNIX1
226 Transfer complete.

jnmoyne@lbl.gov (Jean-Noel MOYNE) (09/12/90)

    Yes, but maybe if intuition was a device it would be now possible to 
run it thru a network (for example) ... But OK, at the time it wasn't 
obvious. And it is much more easier to program with intuition as a library 
!!!

   Having intuition as a device wouldn't give you easier programming. But 
it's true that a good interface builder on the Amiga would be a great 
help. For ages the only solution was to use Power-Windows. The first 
version were full of bugs and had lot of limitations (like: I don't want 
you to use the extra lines on a PAL machine). And the new version is still 
full of bugs (you somtimes have to realy fight with it to avoid the guru 
when generating the code !!).

     Now K-Windows must be available, I didn't see it yet, so I won't 
comment.

       JNM

d6b@psuecl.bitnet (09/12/90)

In article <30021@nigel.ee.udel.edu>, Marc Barrett <BARRETT@owl.ecil.iastate.edu> writes:
>    In some of his speeches, RJ Mical has told about how it was the intention
> of the original Amiga OS developers to make Intuition a device instead of
> a collection of routines (as it is now).  Had Intuition been made a

Sure, and you could turn all the devices into libraries, but why? It's
pointless. Personally, I don't find Intuition
"hard" to program at all; in fact, I think it's very easy to program
(for the things I need it to do. I don't claim to know your needs). And
the major complaints people have had (no standard file requester comes
to mind) have been solved in 2.0 (obviously this is not evident if you
just run old software under 2.0).

-- Dan Babcock

peter@cbmvax.commodore.com (Peter Cherna) (09/12/90)

In article <30021@nigel.ee.udel.edu> BARRETT@owl.ecil.iastate.edu (Marc Barrett) writes:
>
>   There have been messages here in which some people have complained 
>about how much easier it is to develop software under on the NeXT and
>on IBM & clones under Windows 3.0.  My question is: why wasn't this
>addressed in AmigaOS2.0?

This area HAS been addressed with a significant and coordinated effort
in 2.0.  Here are some examples:

	Tag-based OpenScreen and OpenWindow,
	Many new DOS calls, including pattern match,
	Standard file requester,
	Standard font requester,
	Gadget toolkit including menus, scrolling lists, mutually exclusive
		gadgets,
	"boopsi" gadget classes,
	etc.

I might also add that the guys who put together the examples for the 1.3
Rom Kernal Manuals went to great lengths to ensure that they worked as
intended.  People learning from the 1.3 RKMs have it a lot easier than
those who had to work from the 1.1 or 1.0 (or earlier) volumes.

>   In some of his speeches, RJ Mical has told about how it was the intention
>of the original Amiga OS developers to make Intuition a device instead of
>a collection of routines (as it is now).  Had Intuition been made a 
>device, software development would have been a hundred times easier,
>because thing like opening screens and windows, creating menu items, and
>receiving mouse input from the user would be done by passing codes to
>the Intuition device and receiving information from it.  

I don't see how calling a device is easier than calling a library.  There
are many other issues too, even if it were a good idea.  How much slower
would it run, if at all?  How much more ROM space and programmer effort
would it take?  Would we rather spend that ROM space and programmer time
somewhere else?  (I keep hearing many suggestions for enhancements, and
I can only assume that most folks would like to see effort go "somewhere else")

>   The big thing about this idea is that it can still be done.  There
>is absolutely no reason why this Intuition device could not still be
>written.  Existing programs would continue to call the Intuition routines
>directly, but future programs could use the Intuition device instead,
>speeding development of future software.

Perhaps there is no reason why it couldn't be done.  However, there
would have to be compelling reasons to do it.  I don't think you've
presented any.

>   If Commodore will not produce this Intuition device, I wish some
>other enterprising Amiga developer would.  This would be a great boost
>to the Amiga, and would constitute the first major addition to the Amiga's
>OS since the Amiga first came out five years ago.  (As of now, all of
>the Amiga's OS enchancements -- including 2.0 -- consist of large
>numbers of minor changes, with no really big changes)

I'm sorry you feel that 2.0 consists of "large numbers of minor changes".
Fortunately for the rest of us, you are in the minority.  There is a lot
of excitement about 2.0, precisely because it represents a very
significant improvement over 1.3.

>                                -MB-

     Peter
--
     Peter Cherna, Software Engineer, Commodore-Amiga, Inc.
     {uunet|rutgers}!cbmvax!peter    peter@cbmvax.cbm.commodore.com
My opinions do not necessarily represent the opinions of my employer.
"Very strange... the window is broken on both sides."

p554mve@mpirbn.mpifr-bonn.mpg.de (Michael van Elst) (09/12/90)

In article <30021@nigel.ee.udel.edu> BARRETT@owl.ecil.iastate.edu (Marc Barrett) writes:
>   In some of his speeches, RJ Mical has told about how it was the intention
>of the original Amiga OS developers to make Intuition a device instead of
>a collection of routines (as it is now).  Had Intuition been made a 
>device, software development would have been a hundred times easier,
>because thing like opening screens and windows, creating menu items, and
>receiving mouse input from the user would be done by passing codes to
>the Intuition device and receiving information from it.  

Most times, Mister MB does not know what he's talking about. User input
IS done by receiving information about input events, and (some) actions
like opening windows and screens are done by passing the intuition task
messages to do so. Then asking for mouse information is polling whereas
a multi-tasking friendly program is event driven.
And then I don't think that sending codes by an application will make
software development easier than just calling a system routine that
does this. Actually this is a question for purists (of message passing
systems). Maybe MB likes to use the X window system on the X protocol
level.

Regards,
-- 
Michael van Elst
UUCP:     universe!local-cluster!milky-way!sol!earth!uunet!unido!mpirbn!p554mve
Internet: p554mve@mpirbn.mpifr-bonn.mpg.de
                                "A potential Snark may lurk in every tree."

janhen@wn2.sci.kun.nl (Jan Hendrikx) (09/12/90)

In article <14358@cbmvax.commodore.com> peter@cbmvax.commodore.com (Peter Cherna) writes:
>In article <30021@nigel.ee.udel.edu> BARRETT@owl.ecil.iastate.edu (Marc Barrett) writes:
>>   In some of his speeches, RJ Mical has told about how it was the intention
>>of the original Amiga OS developers to make Intuition a device instead of
>>a collection of routines (as it is now).  Had Intuition been made a 
>>device, software development would have been a hundred times easier,
>>because thing like opening screens and windows, creating menu items, and
>>receiving mouse input from the user would be done by passing codes to
>>the Intuition device and receiving information from it.  
>
>I don't see how calling a device is easier than calling a library.  There
>are many other issues too, even if it were a good idea.  How much slower
>would it run, if at all?  How much more ROM space and programmer effort
>would it take?  Would we rather spend that ROM space and programmer time
>somewhere else?  (I keep hearing many suggestions for enhancements, and
>I can only assume that most folks would like to see effort go "somewhere else")

(but many people said essentially the same thing)

I happen to remember having read essentially the same thing as MB has.
The reason _I_ remember a device would have been easier to program
_for RJ Mical_, who initially wrote the thing, was there would be far
less synchronisation problems. There seemed to be a lot of those,
at least until 1.2. If Intuition were a device with associated task,
this task could easily serialize operations that would interfere if
executed interleaved. At least that is what I understood.

--
Olaf 'Rhialto' Seibert                           via janhen@sci.kun.nl
How can you be so stupid if you're identical to me? -Robert Silverberg

UH2@psuvm.psu.edu (Lee Sailer) (09/12/90)

In article <1032@ucsvc.ucs.unimelb.edu.au>, U3364521@ucsvc.ucs.unimelb.edu.au
(Lou Cavallo) says:

>How do NeXT and Windows 3.0 programmers have it easier? (no flames please)

>I read on the net that the NeXT has an easy to use Interface Builder. Perhaps

I don't believe that Windows 3.0 is much easier, but the Interface Builder
seems very nice (but then, I've only read about it 8-).  With IB, you build
an interface like so:  Call up a program almost like a paint program that has
windows, buttons, sliders, string gadgets, and so on as its basic elements.
You create a window for your new application by dragging one from the
palette onto the main NeXT screen.  You add some buttons, and give them
names and so on.   Need a string gadget, fine, where do you want it, and how
big should it be.  Drag.  Resize.  Oops, that buttons in the way, maybe over
here and a little bigger.

When you are finished, IB creates the Obj-C source code (an OO dialect of
C--much more elegant than C++ but more differnet from regular C) that will
generate the interface you just designed.  It has very easy to use hooks into
it for the guts of the application to use.  That is, you write the program
that reacts when a user pushes a button or selcts a string gadget, and
also tell the interface how to respond in return.

Like I say, it looks to be pretty neat.  I read comp.sys.next, and people
there seem to be at least fairly satisfied with it most of the time, and
version 2.0 is about out.

BTW, an academic article in IEEE Software, reviewing the "four generations"
of User Interface Management Systems currently available says something to the
effect of there being few real 4th generation systems, even in the research
labs, but NeXT Step and its Interface Builder at least partially qualify.

Footnote.  While not as widely used as C++ or Smalltalk, Obj-C seems like
a really good way to go, especially since it is sort of the core language of
NeXT.  With some sort of interface layer between NeXTSTeP and Intuition,
I can even imagine NeXT applications porting easily to Amiga 3000.

The Amiga would make a good little sister to NeXT.

                                                  lee

ckp@grebyn.com (Checkpoint Technologies) (09/13/90)

In article <20596.26ed0909@psuecl.bitnet> d6b@psuecl.bitnet writes:
>In article <30021@nigel.ee.udel.edu>, Marc Barrett <BARRETT@owl.ecil.iastate.edu> writes:
>>    In some of his speeches, RJ Mical has told about how it was the intention
>> of the original Amiga OS developers to make Intuition a device instead of
>> a collection of routines (as it is now).  Had Intuition been made a
>
>Sure, and you could turn all the devices into libraries, but why? It's
>pointless.

If the Intuition interface had been a .device, then redirecting that
device to different display hardware may have been easier.  This is not
for certain; it depends on the level of abstraction RJ would
have used by the intuition.device.  I doubt seriously that it would
have made programming any easier.
-- 
First comes the logo: C H E C K P O I N T  T E C H N O L O G I E S      / /  
                                                                    \\ / /    
Then, the disclaimer:  All expressed opinions are, indeed, opinions. \  / o
Now for the witty part:    I'm pink, therefore, I'm spam!             \/

guineau@wjg.enet.dec.com (W. John Guineau) (09/14/90)

On a related subject, what would it take to get Intuition running on a
frame buffer like the (so far elusive :-) Video Toaster?

This would allow Intuition to run on say a 24 bit display!


--
W. John Guineau   			guineau@wjg.enet.dec.com
Digital Equipment Corporation
Marlboro MA. 01752

"Without a noise, without my pride, I reach out from the Inside" - Peter
Gabriel

pashdown@shotput.es.com@bambam.UUCP (Pete Ashdown) (09/14/90)

UH2@psuvm.psu.edu (Lee Sailer) writes:

>In article <1032@ucsvc.ucs.unimelb.edu.au>, U3364521@ucsvc.ucs.unimelb.edu.au
>(Lou Cavallo) says:

>>How do NeXT and Windows 3.0 programmers have it easier? (no flames please)
>>I read on the net that the NeXT has an easy to use Interface Builder. Perhaps

>I don't believe that Windows 3.0 is much easier, but the Interface Builder
>seems very nice (but then, I've only read about it 8-).  With IB, you build
>an interface like so:  Call up a program almost like a paint program that has
>windows, buttons, sliders, string gadgets, and so on as its basic elements.
>You create a window for your new application by dragging one from the
>palette onto the main NeXT screen.  You add some buttons, and give them
>names and so on.   Need a string gadget, fine, where do you want it, and how
>big should it be.  Drag.  Resize.  Oops, that buttons in the way, maybe over
>here and a little bigger.

Sounds like Power Windows for the Amiga except Power Windows supports a few
more languages.  Power Windows is made by Inovatronics, I do not represent
them, but I do recommend -all- their products highly.  Has anyone heard if
they are doing a version for OS 2.0?

>                                                  lee


"Mario was standing there stark naked and drunk.  He had been fighting with
Princess again. ''Where the hell have you hidden the shrooms??'' he screamed."
            --  "Jump! How High?: My Life With Mario"  By Luigi
  ==== Pete Ashdown ==== pashdown@esunix ==== ...utah-cs!esunix!pashdown ====

utoddl@uncecs.edu (Todd M. Lewis) (09/20/90)

In article <2315@bambam.UUCP> pashdown@shotput.es.com@bambam.UUCP (Pete Ashdown) writes:
>UH2@psuvm.psu.edu (Lee Sailer) writes:
[...about how the Interface Builder works on the NeXT.]
>
>Sounds like Power Windows for the Amiga except Power Windows supports a few
>more languages.  Power Windows is made by Inovatronics, I do not represent
>them, but I do recommend -all- their products highly.  Has anyone heard if
>they are doing a version for OS 2.0?

Yes, it does sound like it, but it doesn't look like it, and it sure as
heck doesn't work like it.  Try putting good looking borders on gadgets
with PowerWindows, or try making you menu's text something other that
auto-formatting.  Here's a good one--try making an array of gadgets
line up with equal spacing.  You can do it, but you have to really want
it bad.  With IB, you just (let me fire up IB here...) hold down the Alternate
key while you drag the gadget's drag handle.  Presto, an array of identical
gadgets show up.  You can resize individual gadgets or resize the whole
group at once.  The gadgets are already there?  No problem.  Select them
all (group selection) and choose Make Row, or Make Column.  You want
'em the same size?  Choose Same Size.

With PW, you have to be pretty careful to make sure things will "make
sense" to intuition.  With IB, it's darned near impossible to do something
stupid.

Don't get me wrong, I use PW a lot.  But every time I do I think the best
use for PW would be to use it to rewrite PW.  The problem with PW is that
it is just good enough so that is isn't ever quite worth the effort to
rewrite it.  But it sure could be better.
_____        
  |      Todd M. Lewis            Disclaimer: If you want my employer's
  ||\/|  utoddl@ecsvax.uncecs.edu             ideas, you'll have to
  ||  || utoddl@ecsvax.bitnet, @unc.bitnet    _buy_ them. 
   |  || utoddl@next1.mscre.unc.edu 
       |___   ("Prgrms wtht cmmnts r lk sntncs wtht vwls." --TML)

stelmack@screamer.csee.usf.edu (Gregory M. Stelmack) (09/21/90)

In article <2315@bambam.UUCP> pashdown@shotput.es.com@bambam.UUCP (Pete Ashdown) writes:
>
>Sounds like Power Windows for the Amiga except Power Windows supports a few
>more languages.  Power Windows is made by Inovatronics, I do not represent
>them, but I do recommend -all- their products highly.  Has anyone heard if
>they are doing a version for OS 2.0?
>

And if they're not, we need to start a campaign of letter writing to convince
them that it would be a good idea. They make GREAT packages, very useful to
programmers interested in programming Amiga interfaces.

-- Greg Stelmack
-- Email: stelmack@sol.csee.usf.edu
-- USmail: USF Box 1510, Tampa, FL 33620-1510
-- Amiga: the only way to compute!