[comp.sys.amiga] Amiga editor programming advice

AXTBF%ALASKA.BITNET@cornellc.cit.cornell.edu (Tim Friest - Programmer/Analyst) (04/10/90)

>From:     danbabcock@eklektik.uucp
>
>Dan Barrett wrote (heavily edited):
>
>> I am porting an editor to the Amiga...
>> Should I use the console device...what kind of window, etc.?
>> Any tips? Thanks!
>
>If you want a slow, frustrating editor - like most editors on the Amiga -
>then open a window and do your IO via the console device. If, however, you
>want an editor that will make people shout "WOW!", here's what to do:
>
>Open a custom, one-bitplane screen. Do not use the operating system for
>text output. Do not use the blitter. Instead, write a very efficient
>character output routine (in machine code, naturally) that performs eight
>moves per character.
>
>For scrolling, use the copper, not the blitter or the CPU. By making
>clever use of the copper, it's possible to scroll very efficiently.
>...
>I have a few user interface suggestions too: utilitize the numeric
>keypad as in the IBM-style arrangement of Home, PgUp, PgDown, etc.

UGH!!!  My first thought when I read this was it was a joke.
PLEASE!!!!  Don't listen to this.

My Paraphrase: Do everything wrong so it will break on the next version of the
operating system, not have any simularity to other Amiga software, and not work
nicely in multitasking.  That will make your users happy.

I never did much like the IBM keypad...

I personally find Emacs that comes with the system adaquate...  It is not
blindingly fast, but it has other strong points...  I am more interested in
features than having the text appear instantaniously instead of almost
instantaniously....

>it would be EXTREMELY nice if the Help key actually brought help, and
>the Escape key actually escaped!

This is good (definately for the help, indifferent to escape).

>One last suggestion: do not implement
>infinitely long lines; instead, simply wrap at 80 columns (at least when
>the user is entering text).
>

Why not?  Allowing a wrap at 80 is fine, forcing someone to wrap at 80 all the
time is a good way to make me never use your editor.

>-- Dan Babcock

Tim Friest

kosma%stc-sun@stc.lockheed.com (Monty Kosma) (04/11/90)

   From: Tim Friest - Programmer/Analyst <AXTBF%ALASKA.BITNET@cornellc.cit.cornell.edu>
   Date: 9 Apr 90 21:30:58 GMT

   >From:     danbabcock@eklektik.uucp
   >
   >Dan Barrett wrote (heavily edited):
   >
   >> I am porting an editor to the Amiga...
   >> Should I use the console device...what kind of window, etc.?
   >> Any tips? Thanks!
   >
   >If you want a slow, frustrating editor - like most editors on the Amiga -
   >then open a window and do your IO via the console device. If, however, you
   >want an editor that will make people shout "WOW!", here's what to do:
   >
   >Open a custom, one-bitplane screen. Do not use the operating system for
   >text output. Do not use the blitter. Instead, write a very efficient
   >character output routine (in machine code, naturally) that performs eight
   >moves per character.
   >
   >For scrolling, use the copper, not the blitter or the CPU. By making
   >clever use of the copper, it's possible to scroll very efficiently.
   >...
   >I have a few user interface suggestions too: utilitize the numeric
   >keypad as in the IBM-style arrangement of Home, PgUp, PgDown, etc.

   UGH!!!  My first thought when I read this was it was a joke.
   PLEASE!!!!  Don't listen to this.

   My Paraphrase: Do everything wrong so it will break on the next version of the
   operating system, not have any simularity to other Amiga software, and not work
   nicely in multitasking.  That will make your users happy.

   I never did much like the IBM keypad...

   I personally find Emacs that comes with the system adaquate...  It is not
   blindingly fast, but it has other strong points...  I am more interested in
   features than having the text appear instantaniously instead of almost
   instantaniously....

   >it would be EXTREMELY nice if the Help key actually brought help, and
   >the Escape key actually escaped!

   This is good (definately for the help, indifferent to escape).

   >One last suggestion: do not implement
   >infinitely long lines; instead, simply wrap at 80 columns (at least when
   >the user is entering text).
   >

   Why not?  Allowing a wrap at 80 is fine, forcing someone to wrap at 80 all the
   time is a good way to make me never use your editor.

   >-- Dan Babcock

   Tim Friest

here's my $.02...one of the most important features I find is the ability
to make any key do anything I want.  Let each key run a function, the
default for most being a "self-insert" like gnuemacs, but let the user
change these definitions as much as he wants.  Also, giving the user the
ability to define key bindings corresponding to the ctrl, left-alt,
right-alt, left-amiga, and right-amiga (and caps lock if you can do it!) is
essential.  It would be REALLY nice if the left/right versions of these
keys could be controlled independently.

monty
 

gheff@hubcap.clemson.edu (Gary R Heffelfinger) (04/11/90)

>    >From:     danbabcock@eklektik.uucp
>    >
>    >Dan Barrett wrote (heavily edited):
>    >
>    >> I am porting an editor to the Amiga...
>    >> Should I use the console device...what kind of window, etc.?
>    >> Any tips? Thanks!
>    >
>    >If you want a slow, frustrating editor - like most editors on the Amiga -
>    >then open a window and do your IO via the console device. If, however, you
>    >want an editor that will make people shout "WOW!", here's what to do:

Blitz (the browser) made me say "wow", but I rarely use it.  Sure it's
blindingly fast, but I prefer the features of "more" and I'd rather stay
on the WB screen.

>    >
>    >Open a custom, one-bitplane screen. Do not use the operating system for
>    >text output. Do not use the blitter. Instead, write a very efficient
>    >character output routine (in machine code, naturally) that performs eight
>    >moves per character.
>    >
>    >For scrolling, use the copper, not the blitter or the CPU. By making
>    >clever use of the copper, it's possible to scroll very efficiently.
>    >...
>    >I have a few user interface suggestions too: utilitize the numeric
>    >keypad as in the IBM-style arrangement of Home, PgUp, PgDown, etc.
> 
>    UGH!!!  My first thought when I read this was it was a joke.
>    PLEASE!!!!  Don't listen to this.

What he said.  (Forgive me.  I missed the start of this thread so my
quoting may be wrong.)

Look at Matt Dillon's DME for an example of a crisp, small,
feature-packed editor that behaves and will probably work flawlessly
under 1.7.

If DME is too slugish for you, you need to chill out and get off the
caffeine.  :-)

I have no particular opinion about the IBM keys, but it can't hurt.
Don't automatically open up a window on a custom screen.  Some of us
would rather stay on the WB screen, thank you, even if it is a little
more sluggish.

>    >One last suggestion: do not implement
>    >infinitely long lines; instead, simply wrap at 80 columns (at least when
>    >the user is entering text).

Ick!  Some of us *like* long lines.

>    >
> 
>    Why not?  Allowing a wrap at 80 is fine, forcing someone to wrap at 80 all the
>    time is a good way to make me never use your editor.

I wholeheartedly agree.  Editors like DME and QED allow you to enter
long lines if you wish, and to wrap if you wish.

-Gary






-- 
             Gary R Heffelfinger ------ gheff@hubcap.clemson.edu
               Clemson University - Info. Systems Development
       Eagles soar, but a weasel will never get sucked into a jet engine.

barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (04/11/90)

	Thank you to everyone who has responded to my questions.  The
editor in question is JOVE, an Emacs-like editor (and my favorite editor,
too).

	JOVE allows any command to be bound to any key, so (to the person
who asked for the numeric keypad to have IBM-PC-type bindings) you can
do it if you like.

	If all goes well, I'll port it this Spring/Summer.  I am somewhat
temped to wait for 1.4, though, since it will have more standardized
file requestors, etc.  Probably what I'll do is a straight port first (no
Amiga additions), and then seriously Amiga-ize it.

                                                        Dan

 //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
| Dan Barrett, Department of Computer Science      Johns Hopkins University |
| INTERNET:   barrett@cs.jhu.edu           |                                |
| COMPUSERVE: >internet:barrett@cs.jhu.edu | UUCP:   barrett@jhunix.UUCP    |
 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////

GWO110%URIACC.BITNET@brownvm.brown.edu (F. Michael Theilig) (04/12/90)

     My editor of choice is Emacs off the 1.3 extras disk.  The things I
 like about it is that if you use interlace (like I do), emacs will open
 a custom screen the same size as workbench.  And it will handle the
 extra size properly.  Also, if you use a funky font, and/or use interlace,
 it will handle that properly, also.

     Emacs is just as fast as I need it, and has basically all the
 features I want.  It does have some problems (does Mr. Jesup want to
 hear about them?) but is great otherwise.  I don't understand why
 anyone whould complain about it's speed.  Use fastfonts.

     If I were you, I'd take a look at a lot of editors before making
 any final decision to it's functionality.

      F. Michael Theilig  -  The University of Rhode Island at Little Rest
                            GWO110 at URIACC.Bitnet

I am an expert on all subjects, and as long as you
don't ask me any questions, you will remain convinced.