home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / os2wish.zip / wishlist.os2 < prev   
Text File  |  1994-03-19  |  139KB  |  3,124 lines

  1. OS/2 Wish List -- Last Updated: 94-03-19
  2.  
  3. INTRODUCTION
  4.  
  5. This is the OS/2 Wish List, compiled from OS/2 users worldwide from networks
  6. such as the Internet and Fidonet.  This document hopefully represents the
  7. direction in which OS/2 users would like OS/2 to go and the tasks that must
  8. be accomplished to get OS/2 there.
  9.  
  10. This list does not necessarily represent what OS/2 users want IBM to do, but
  11. what OS/2 users want done for OS/2 in general.  Therefore, it could be a
  12. valuable source of information for commercial vendors and shareware authors.
  13.  
  14. WHERE TO FIND THE WISH LIST
  15.  
  16. PLEASE send this list everywhere you can!
  17.  
  18. In the following, a * denotes a site that I personally update, and therefore
  19. has the most up-to-date versions available.  All other sites are updated on
  20. a weekly basis through a mailing list (see the end of this section for
  21. details).
  22.  
  23. The following FTP sites carry the Wish List:
  24.  
  25.   Site                  IP Address      Location
  26.  
  27. * ftp.synapse.org       192.197.166.1   /pub/wishlist
  28.   ftp-os2.cdrom.com     192.153.46.2    /pub/os2/2_x/info
  29.  
  30. NOTE:  uunet.ca has not begun monitoring the nameserver at synapse.org,
  31.        so ftp.synapse.org will return Unknown Host.  The IP should work
  32.        perfectly fine.
  33.  
  34. The following FidoNet sites have the Wish List available for FREQ
  35.  
  36.   Site          Magic File Name
  37.  
  38. * 1:163/590.0   WISHLIST
  39.   2:51/2.0
  40.   2:500/218     WISHLIST
  41.  
  42. The following OS2Net sites have the Wish List available for FREQ
  43.  
  44.   Site          Magic File Name
  45.  
  46.   81:431/19     WISHLIST
  47.  
  48. The following Information Services carry the Wish List
  49.  
  50.   Site                  Area
  51.  
  52.   America On-Line       OS/2 Forum
  53.   BIX                   ibm.os2/listings
  54.   CompuServe
  55.  
  56. The following BBSs carry the Wish List
  57.  
  58.   Site                          Phone Number            Country
  59.  
  60. * Kinloch Castle OS/2           613 224-9274            Canada
  61.   Exec PC US
  62.   Greater Chicago On-Line       708 895-4042            US
  63.   Minnesota OS/2 User's Group   612 379-8272            US
  64.     When loging in, specify that you are interested in the
  65.     OS/2 User Group section.
  66.   Techni-Link                   X.25 NUA 26410420       Italy
  67.                                 X.25 Inside Italy 1421
  68.                                 v.32bis +39 (6) 4180440
  69.                                 HST     +39 (6) 4180660
  70.                                 v.23    +39 (6) 4510211
  71.   The Beaver's Nest             31-53-337444            The Netherlands
  72.  
  73. The following Internet-accessible BBSs carry the Wish List
  74.  
  75.   Site                          IP Address
  76.  
  77.   mclink.mclink.it              192.106.166.93
  78.  
  79. The following Newsgroups carry the Wish List:
  80.  
  81.   Group                         Reposted Every...
  82.  
  83.   Z-NETZ/RECHNER/IBM/OS2        2 weeks
  84.  
  85. If you would like the list mailed to you every week, please mail me and I
  86. will add you to the distribution list.  Please note what format you'd like
  87. the Wish List to appear in.  The current choices are plain text, zipped and
  88. uuencoded, or no Wish List at all -- just a note that a new version is
  89. available from ftp.synapse.org.
  90.  
  91. If you want to receive the text version of the Wish List, please make sure
  92. your mail system can support up to 200K messages.  If you want to receive
  93. the zipped and uuencoded version, your mail system must support up to 100K
  94. messages.  Please check with your system administrator before subscribing.
  95.  
  96. GETTING YOUR WISHES ADDED TO THE LIST
  97.  
  98. To add your wish to the list, please mail to 'evanc@spatial.synapse.org'
  99. (Internet) or 'Evan Champion @ 1:163/590' (Fidonet).  Please make sure that
  100. your full name and mailing address are in the message to make it easier for
  101. me to add your name to the contributors list.  I try my best to pick up
  102. wishes from UseNet or FidoNet Echos, but I do not always read every message
  103. and as such might miss your wish - so to make sure it gets in, please send
  104. it in mail!  All contributors are credited at the end of the list.
  105.  
  106. NOTE:  This will be the last release of the Wish List before voting beings.
  107.        Please mail any additions/changes ASAP in order for them to be
  108.        reflected in the list people will be voting on.
  109.  
  110. WARNINGS ABOUT THE LIST
  111.  
  112. It is understood that some of these options would increase the size of OS/2
  113. astronomically, thus causing problems for OS/2's distribution.  Whenever
  114. this is the case, the item should always be included on the CD-ROM
  115. distribution, and should be made available for media charges only for the
  116. floppy distribution.
  117.  
  118. Some of the items in this list represent major changes to OS/2 and
  119. specifically dictate the removal of old methods of doing things.  It is
  120. recommended that such changes be implemented as a two version process
  121. whenever possible - the first release would implement the addition and the
  122. next release would remove support for the old method.  This will allow the
  123. user the time between major releases (usually a year) to become familiar
  124. with the additions and to update their software.
  125. ----------------------------------------------------------------------------
  126. TABLE OF CONTENTS
  127.  
  128. 0.  CHANGE LOG
  129. 1.  USER & DEVELOPER RELATIONS/SUPPORT
  130. 2.  PACKAGES
  131. 3.  THE KERNEL
  132. 4.  MULTITASKING, MULTITHREADING AND 32-BIT CODE
  133. 5.  MEMORY AND VIRTUAL MEMORY
  134. 6.  DEVICE SUPPORT
  135. 7.  REFERENCING DISKS
  136. 8.  FILE SYSTEMS/FILE ACCESS
  137. 9.  LOCALIZATION
  138. 10.  PRESENTATION MANAGER
  139. 11.  WORKPLACE SHELL
  140. 12.  TEXT APPLICATIONS
  141. 13.  COMMAND LINE SHELL
  142. 14.  INSTALLATION
  143. 15.  SYSTEM CONFIGURATION
  144. 16.  MULTIMEDIA
  145. 17.  DOS
  146. 18.  WINDOWS
  147. 19.  REXX
  148. 20.  UTILITIES
  149. 21.  APPLETS
  150. 22.  HELP SYSTEM
  151. 23.  DOCUMENTATION
  152. 24.  PRINTING
  153. 98.  OS/2 IN GENERAL
  154. 99.  CONTRIBUTORS
  155. ----------------------------------------------------------------------------
  156. 0.0  CHANGE LOG
  157.  
  158. ADDITION  1.8  USABILITY TESTING
  159. CHANGE    2.5  ADOBE TYPE MANAGER
  160. ADDITION  2.14 OS/2 FOR DOS
  161. CHANGE    8.1  FILE SYSTEM REQUIREMENTS
  162. CHANGE    8.9  CACHING ENHANCEMENTS
  163. ADDITION  8.18 MANIPULATION OF OPEN FILES
  164. ADDITION  8.19 FLOPPY EJECTION/DISK CHANGE RECOGNITION
  165. CHANGE   10.1  MOVE OS2.INI IN TO THE FILE SYSTEM
  166. CHANGE   10.9  X11-STYLE WINDOW CONTROL
  167. CHANGE   10.12 FILE DIALOG
  168. ADDITION 10.27 SYSTEM MODAL DIALOGS
  169. ADDITION 10.28 MAXIMIZED WINDOWS
  170. CHANGE   11.9  DRIVE OBJECTS/DISK TREE VIEW TO GIVE MORE INFORMATION
  171. CHANGE   11.20 'FIND' FUNCTION
  172. CHANGE   11.22 WPS SHUTDOWN FUNCTION
  173. CHANGE   11.42 ARRANGE
  174. CHANGE   11.49 SCHEME PALETTE
  175. ADDITION 11.51 SHUTDOWN FOLDER
  176. ADDITION 11.52 STARTUP/SHUTDOWN FOLDER ENHANCEMENTS
  177. ADDITION 11.53 ICON DISPLAY
  178. ADDITION 11.54 POPUP MENUS
  179. CHANGE   12.1  TEXTUAL USER INTERFACE
  180. CHANGE   12.3  PM-STYLE COPY AND PASTE
  181. CHANGE   13.17 ENHANCE COPY
  182. ADDITION 15.9  ENVIRONMENT VARIABLE SUBSTITUTION IN CONFIG.SYS
  183. ADDITION 17.19 DESQVIEW TIME SLICES
  184. ADDITION 17.20 SLOW DOWN DOS SESSION
  185. ADDITION 18.7  WINOS/2 FULL SCREEN
  186. CHANGE   20.13 FDISK ENHANCEMENTS
  187. ADDITION 20.19 STANDARD ARCHIVER
  188. CHANGE   21.2  BASE WORD PROCESSING
  189. ADDITION 21.8  MOUSE POINTER EDITOR
  190. ADDITION 23.5  THE BIG PICTURE
  191. CHANGE   98.7  MULTIPLE VIDEO CARD SUPPORT
  192. ADDITION 98.11 REMOVE HARDCODED PATHS IN INI FILES
  193. ----------------------------------------------------------------------------
  194. 1.0  USER & DEVELOPER RELATIONS/SUPPORT
  195.  
  196. While IBM generally does a good job in supporting users and developers,
  197. there is definitely a lot more can be done.  The following are some
  198. suggestions.
  199.  
  200. 1.1  DRIVER SUPPORT
  201.  
  202.   Without device driver support for devices the user can't use their
  203.   investments and would likely rather stay in DOS than have to give up
  204.   access to their hardware.  IBM must do everything possible to get third
  205.   party vendors to write device drivers.  This includes a service for
  206.   vendors to pay IBM to write the device drivers at a reasonable cost.
  207.  
  208. 1.2  DRIVER QUALITY
  209.  
  210.   Not all third party vendors give the same driver quality that we are used
  211.   to IBM providing.  To solve this, IBM should have an independent lab to
  212.   do device driver testing at low or no charge.  IBM should also set up a
  213.   volunteer device driver testing corps based on Team OS/2 (maybe even
  214.   using Team OS/2 members).  IBM could manage a database with each member's
  215.   configuration and would make the database available to any manufacturer
  216.   on request.  This solution would satisfy everyone:  it is low cost for
  217.   IBM to support and for vendors to use, provides the vendor with diverse
  218.   system configurations and would help to provide the user the best quality
  219.   drivers.
  220.  
  221. 1.3  INTERNET SUPPORT
  222.  
  223.   IBM needs to provide better support to people on the Internet.  This
  224.   means assigning people to monitor the Usenet newsgroups (comp.os.os2.*),
  225.   making available Internet-addressable mailboxes for IBM support, making
  226.   IBM support board message areas Internet accessible and especially
  227.   keeping the IBM Internet site complete and up to date
  228.   (software.watson.ibm.com).  This means that EVERYTHING available on IBM's
  229.   Support BBS in Boca Raton should be on this system at the most 1 day
  230.   after it appears in Boca Raton.  Of course, making the IBM's Support BBS
  231.   Internet-accessible would be the optimum solution.
  232.  
  233. 1.4  ENCOURAGE DESIGN BY GROUPS
  234.  
  235.   IBM should encourage vendors to get together as groups to design software
  236.   for OS/2.  This means things like device drivers, file systems, common
  237.   functionality for applications, etc.  This will help the user enormously
  238.   by creating some form of standards for third party support.
  239.  
  240. 1.5  MAKE ALL APIS PUBLIC
  241.  
  242.   It is unacceptable for part of OS/2's API set to still be hidden away,
  243.   forcing programmers to hack the libraries to find out how to use these
  244.   functions.
  245.  
  246. 1.6  BUY OFF DEVELOPERS
  247.  
  248.   Let's face it -- OS/2 needs some serious applications, and fast!  IBM
  249.   needs to do everything possible, including the transfer of large amounts
  250.   of money or the equivalent, to make developing in a smaller OS/2 market
  251.   much more lucrative.  This also includes getting OS/2 games.  IBM should
  252.   pay some of the top game companies to only release their next few games
  253.   for OS/2 -- that will definitely encourage more home users to make the
  254.   switch, and having more applications will get the attention of the
  255.   corporate world.
  256.  
  257. 1.7  PUBLISH IFS SPECIFICATION
  258.  
  259.   IBM seems to be very reluctant to give out details on Installable File
  260.   System development.  This is probably why both DCF/2 and Stacker do not
  261.   use IFSs like they outght to.  It is inexcusable for IBM to say that OS/2
  262.   has installable file systems so developers can go write their own, and
  263.   then not provide the information to do so.
  264.  
  265. 1.8  USABILITY TESTING
  266.  
  267.   OS/2 needs to be given more usability testing, and the test volunteers
  268.   should cover a much broader spectrum of knowledge.  Everyone from the
  269.   neophyte to the OS/2 guru should be included in the test.  One of the
  270.   problems with OS/2 is that the simple things are often simplified such
  271.   that the power user is left with no where to go, and the powerful features
  272.   are often too complex for the average user to figure out.  A middle ground
  273.   must be found so that OS/2 is the perfect choice for people from all kinds
  274.   of computing backgrounds.
  275. ----------------------------------------------------------------------------
  276. 2.0  PACKAGES
  277.  
  278. The following lists packages that are available separately that should be
  279. added to the base OS/2 distribution, in addition to ideas for how to package
  280. OS/2.
  281.  
  282. 2.1  PEER-TO-PEER
  283.  
  284.   The base OS/2 kit should include some sort of peer to peer networking as
  285.   an option.  Basic TCP/IP networking would be good for cross-platform
  286.   networking.
  287.  
  288. 2.2  SOM 2.0, DSOM
  289.  
  290.   The System Object Model 1.0, used in the WPS and elsewhere, should be
  291.   upgraded to SOM 2.0.  DSOM should be added when peer-to-peer or
  292.   other network services are installed.
  293.  
  294. 2.3  OPENDOC
  295.  
  296.   OpenDoc support must come out-of-the-box.  OpenDoc is at the forefront of
  297.   technology, and would be an important stand for the top document
  298.   technology to be linked with the top desktop operating system.
  299.  
  300. 2.4  C2 SECURITY
  301.  
  302.   Optional C2 security should be available in the base system, complete
  303.   with a file system to handle file permissions.  Support for even higher
  304.   levels of security would be great, as a separate product.  In addition
  305.   file systems supporting encryption are very desirable.
  306.  
  307. 2.5  ADOBE TYPE MANAGER
  308.  
  309.   Adobe Type Manager 3.0 (with multiple master fonts) should be included in
  310.   the next version of OS/2, along with a greater number of fonts.
  311.  
  312.   In addition, a greater effort must be made to have Adobe Type 1 fonts look
  313.   as good on screen as a hand-tuned bitmap font.  Eventually, it would be
  314.   ideal to be able to replace the bitmap fonts with Type 1 fonts to allow
  315.   unlimited font sizes.
  316.  
  317. 2.6  OBJECT REXX
  318.  
  319.   OS/2 is a world of objects -- so the software that controls this world
  320.   must be object-based as well, thus the need for Object REXX to be
  321.   included with OS/2.
  322.  
  323. 2.7  EPM SOURCES (*.E) AND ETPM COMPILER
  324.  
  325.   The EPM sources (*.E) and ETPM compiler should be included in the base
  326.   operating system.
  327.  
  328. 2.8  CD-ROM VERSION OF OS/2 TO PROMOTE OS/2 SHAREWARE
  329.  
  330.   Only a small portion of the OS/2 CD-ROM is used.  The remainder could be
  331.   filled with the best OS/2 shareware, bitmaps, fonts, etc.  Software
  332.   should be initially tested for quality, but after that no restrictions
  333.   should apply to who's software can appear, except that it must not be
  334.   commercial.  This will give a real boost to the OS/2 shareware industry
  335.   while not treading on the toes of the commercial vendors.
  336.  
  337. 2.9  OS/2 SOFTWARE CD WITH OS/2 ON CD-ROM
  338.  
  339.   Ship each version of OS/2 on CD-ROM with an extra CD of vendor software.
  340.   Each disk would contain fully featured OS/2 applications that work for a
  341.   limited number of uses (say, 10 uses).  After that, the application must
  342.   be paid for (by using an 800 number).  When ordering the application, the
  343.   user receives a key to unlock that application so it can be used
  344.   unlimited times, and the user would have the opportunity to order manuals
  345.   etc.  on the phone.
  346.  
  347. 2.10  EWS PROGRAMS IN THE BASE PRODUCT
  348.  
  349.   The IBM Employee Written Software collection is chocked full of really
  350.   useful software.  The entire EWS collection should be provided in the
  351.   CD-ROM version.  The floppy version should contain the most useful of the
  352.   EWS programs - namely TinyEd, ExDesk, MSHELL/TSHELL, etc.
  353.  
  354. 2.11  OS/2 STICKERS
  355.  
  356.   OS/2 2.0 shipped with really great OS/2 stickers, but 2.1 did not.  They
  357.   should be put back in to the OS/2 package.
  358.  
  359. 2.12  OPENGL
  360.  
  361.   OpenGL is a 3-D graphics language with much more power and flexibility
  362.   than the current PM API.  It is already available for AIX, and will be
  363.   shipping with the next release of Windows NT, and as such should ship
  364.   with OS/2 as well.
  365.  
  366. 2.13  OS/2 FOR DOS
  367.  
  368.   There is already an OS/2 for Windows which uses your existing Windows code
  369.   instead of loading a whole new version of Windows on your drive.  What
  370.   about OS/2 for DOS?  There are too many DOSs out there to do it like OS/2
  371.   for Windows, where OS/2 hooks in to an existing configuration -- but what
  372.   about shipping OS/2 with an IBM DOS that, if the user wishes, could be
  373.   configured to be bootable, either through the Boot Manager or with dual
  374.   booting.  This could save a few precious MB for the user, and would be a
  375.   great time saver if OS/2 could make both a DOS and OS/2 setup at the same
  376.   time.
  377.  
  378.   This would also be a great way to introduce things like long file names
  379.   and HPFS to DOS.  In addition, IBM could sell OS/2 and DOS together
  380.   (atleast in CD form) for the same price as DOS alone, as a means to
  381.   encourage more people to buy OS/2.
  382. ----------------------------------------------------------------------------
  383. 3.0  THE KERNEL
  384.  
  385. OS/2's kernel is showing signs of age in relation to the new breed of
  386. microkernels; listed below are proposed ways to improve it.
  387.  
  388. 3.1  INCLUDE SMP SUPPORT
  389.  
  390.   Included with the base system should be the kernel support for handling
  391.   SMP (symmetric multiprocessing).  It is understood that most users can
  392.   not take advantage of SMP, however its inclusion would be a powerful
  393.   weapon against those vendors who claim their operating system is superior
  394.   because they support SMP.
  395.  
  396. 3.2  DYNAMIC DEVICE DRIVER LOADING/UNLOADING
  397.  
  398.   OS/2 should be able to load and unload device drivers on-the-fly.  This
  399.   would allow, for example, a much faster boot process, as device drivers
  400.   could be loaded as needed, and would allow to user to reconfigure their
  401.   machine without rebooting.
  402.  
  403. 3.3  SIMPLIFY THE INTEL KERNEL
  404.  
  405.   The OS/2 for Intel kernel is enormously complicated, which leads to bugs,
  406.   and is huge, which leads to slow performance .  IBM should attempt to
  407.   simplify the kernel by doing such things as splitting it up in to
  408.   smaller, more manageable parts.  This would, in effect, make a
  409.   quasi-microkernel; however, to maintain high performance and
  410.   compatibility, the strict academic definition of a microkernel would not
  411.   be enforced.
  412.  
  413. 3.4  MOVE THE INTEL VERSION TO THE IBM MICROKERNEL
  414.  
  415.   Of course, if you can't beat them, join them.  The portable OS/2 versions
  416.   (ie:  OS/2 for PowerPC) are already being implemented on the IBM
  417.   Microkernel and moving the Intel version to the Microkernel would help
  418.   maintain the uniformity of the kernel feature sets.
  419.  
  420.   Moving to the IBM Microkernel would allow:
  421.  
  422.   - dynamic loading/unloading of device drivers
  423.   - greater stability as device drivers run in user space and not kernel
  424.     space
  425.   - would provide architecture-independent device support as drivers
  426.     interact with the kernel and not directly with the hardware.
  427.   - would require less memory
  428.   - faster boot off floppy as less has to be loaded at boot time (device
  429.     drivers could be loaded as needed by an installation program that would
  430.     search for supported devices)
  431. ----------------------------------------------------------------------------
  432. 4.0  MULTITASKING, MULTITHREADING AND 32 BIT CODE
  433.  
  434. This section deals with wishes refering to how OS/2 multitasks, areas that
  435. need multithreading and 32-bit code.
  436.  
  437. 4.1  BOOT CODE TO BE MULTITHREADED
  438.  
  439.   To some, OS/2 takes an eternity to boot.  One of the primary reasons is
  440.   that the boot process runs in a single thread.  Multithreading the boot
  441.   proces, in addition to bringing it up to 32 BIT, should give significant
  442.   performance increases.
  443.  
  444. 4.2  DECOUPLE MULTITASKING FROM THE PRESENTATION MANAGER
  445.  
  446.   OS/2 should be a fully functional, multitasking operating system without
  447.   the help of the Presentation Manager.  This will a text-based Task List.
  448.   Switching between full screen sessions should not require switching to
  449.   the desktop as an intermediate step.
  450.  
  451. 4.3  SORT TASK LIST
  452.  
  453.   The task list is very awkward to use when lots of programs are running --
  454.   it is simply too difficult to find what you are looking for when the
  455.   tasks are in random order.  The list should be alphabetically sorted,
  456.   with the option to do things like inverse sorts.
  457.  
  458. 4.4  FULL 32 BIT OS/2
  459.  
  460.   Given that a large part of OS/2 is already 32 BIT, and that the whole
  461.   thing will have to be 32 BIT for the portable OS/2 versions, it makes
  462.   sense to finish the job and make the Intel version fully 32 BIT.  Forcing
  463.   developers to write 16 BIT device drivers and file systems is crazy and
  464.   contradicts IBM's general plan of 32 BIT applications for OS/2 ('We want
  465.   you to write 32 BIT applications, but sorry, you can't use 32 BIT code if
  466.   you want to do this...').  The work is already being done for the
  467.   portable OS/2 project, so the effort is already being spent -- now bring
  468.   the same changes to OS/2 for Intel.
  469.  
  470.   The move to 32 BIT code should begin with IFSs and device drivers and
  471.   other areas that force developers to use a 16 BIT compiler.  Once those
  472.   are updated, the remaining 16 BIT OS/2 applications that are accessible
  473.   through a 32 BIT compiler via thunks should be converted to full 32 BIT
  474.   code.
  475. ----------------------------------------------------------------------------
  476. 5.0  MEMORY AND VIRTUAL MEMORY
  477.  
  478. The following wishes relate specifically to how OS/2 manages memory and
  479. virtual memory.
  480.  
  481. 5.1  LOWER MEMORY REQUIREMENTS
  482.  
  483.   The standard PC ships with 4 MB memory - not nearly enough to run OS/2
  484.   properly.  To support these standard configurations, OS/2 should be
  485.   modified to run with acceptable speed (comparable to a 6 or 8 MB
  486.   configuration) on 4 MB systems.
  487.  
  488. 5.2  MEMORY STATE RECORDING
  489.  
  490.   The user should be able to save the memory state of the machine to the
  491.   swapfile as an option during shutdown.  This would allow the machine to
  492.   start up with all programs and documents opened to the exact place they
  493.   were before shutting down.  It would be desirable to be able to save the
  494.   memory state for individual applications instead of the memory state of
  495.   the entire system.  This would allow the user to do such things as:
  496.  
  497.   - interrupt a long debugging session and reload it the next day
  498.   - save the state of a program before attempting a critical manipulation
  499.   - save the state of a program when a bug has occured or is about to
  500.     occure to give to the author for debugging purposes
  501.   - allow a notebook user to save the state of their system, change a
  502.     battery and reboot right where they left off.  This could be combined
  503.     with power management software so that when battery power gets to a
  504.     certain point, the system could automatically dump itself
  505.  
  506. 5.3  SWAP PARTITIONS
  507.  
  508.   OS/2 should support swap partitions in addition to swap files.  Swap
  509.   partitions eliminate costly file I/O overhead by allowing the operating
  510.   system to do block writes right to the device.  OS/2 should also support
  511.   multiple swap partitions, allowing the user to spread the swap activity
  512.   over many disks.
  513.  
  514. 5.4  DOSALLOCMEM ENHANCEMENTS
  515.  
  516.   Two new memory allocation types should be added for DosAllocMem.  The
  517.   first is PAG_RESIDENT which would make the memory object from being paged
  518.   out or discarded.  This would be helpful for those programs that need to
  519.   have deterministic behaviour in order to maintain real-time I/O
  520.   responsiveness in heavy workload situations.
  521.  
  522.   The second memory allocation type is PAG_DISCARDABLE which would allow
  523.   OS/2 to throw away the contents of pages of the object rather than paging
  524.   them out.  This would be useful for application-managed caches.  For
  525.   example, DB2/2 could cache database information in a higher-level form
  526.   than depending on file system caches.  Multimedia applications could
  527.   cache recently used images or read-ahead data to improve responsiveness
  528.   to the user.
  529.  
  530.   Two new exception type should be added to help applications using
  531.   discardable memory to handle accessing pages that have been discarded.
  532.   The first exception could be named XCPT_PAGE_NOT_PRESENT and would be
  533.   issued when an attempt to access a discarded page is made.  The default
  534.   behaviour would be to terminate the application.
  535.  
  536.   The second exception type could be named XCPT_DISCARDING_PAGE and would
  537.   be issued whenever a range of discardable pages are being thrown out.
  538.   This would help applications update status tables to reflect that pages
  539.   have been discarded.  The default behaviour would be to ignore the
  540.   exception and continue.
  541.  
  542. 5.5  DOSQUERYMEM ENHANCEMENTS
  543.  
  544.   DosQueryMem should be modified to be able to report resident and
  545.   discardable page types and also to be able to report whether a
  546.   discardable page is present (in RAM) or not present (it was discarded).
  547.  
  548. 5.6  DOSQUERYRESOURCESTATUS (NEW API)
  549.  
  550.   A new API call named DosQueryResourceStatus should return the amont of
  551.   used and unused physical resources such as physical memory, virtual
  552.   memory and CPU time.  This would aid programs that maintain caches
  553.   allocated with PAG_DISCARDABLE by giving them more informatino to decide
  554.   how big to make discardable caches.
  555.  
  556.   The following is a proposed definition for DosQueryResourceStatus.
  557.  
  558.   APIRET  DosQueryResourceStatus( PID processID, RES_TYPE sourceType,
  559.   RES_MEASURE  resourceMeasure, RES_UNIT resourceUnit, PULONG pResult );
  560.  
  561.   processID - process ID for which information is to be returned or 0 for
  562.   global information for the entire system
  563.  
  564.   resourceType - type of resource: RESTYPE_PHYSICAL_MEMORY,
  565.   RESTYPE_VIRTUAL_MEMORY, RESTYPE_DISCARDABLE_MEMORY
  566. RESTYPE_CPU_TIME
  567.  
  568.   resourceMeasure - type of measure: RESMEAS_UNUSED, RESMEAS_USED
  569.  
  570.   resourceUnit - unit to use for results: RESUNIT_BYTES, RESUNIT_PAGES,
  571.   RESUNIT_PERCENT, RESUNIT_MILLISECONDS
  572.  
  573.   pResult - pointer to 32 BIT unsigned integer to receive the result
  574. ----------------------------------------------------------------------------
  575. 6.0  DEVICE SUPPORT
  576.  
  577. Device support is essential for getting users to run OS/2; the following
  578. are suggestions on areas that need the most work.
  579.  
  580. 6.1  SCSI STANDARD DEVICES
  581.  
  582.   OS/2 should support all devices that are part of the SCSI standard
  583.   devices, such as tape drives, scanners, printers, etc.  Each device type
  584.   would have one driver, much like the SCSI CD-ROMs are handled using
  585.   OS2CDROM.DMD.
  586.  
  587. 6.2  PCMCIA
  588.  
  589.   OS/2 currently provides only the 'socket services' for PCMCIA devices.
  590.   It is up to the manufacturer to write the other side of the socket, which
  591.   unfortunately few other than IBM provide.  Notebook computers are a
  592.   booming market that IBM should concentrate on serving.
  593.  
  594. 6.3  3 BUTTON MICE
  595.  
  596.   All 3 buttons of a 3 button mouse should be usable under OS/2.  The third
  597.   button could be mapped to return a particular key sequence, or perform a
  598.   particular action (ie:  send a window to the back, etc.)
  599. ----------------------------------------------------------------------------
  600. 7.0  REFERENCING DISKS
  601.  
  602. Pretty well every OS/2 user agrees that calling disks 'A:', 'B:', 'C:' just
  603. doesn't cut it.  Unfortunately, not everyone is agreed on how this problem
  604. should be solved.  There are 2 opposing arguments, one for mounting drives
  605. off of a root directory and the other for using the already present disk
  606. labels as disk names.
  607.  
  608. 7.1  DEVICE ALIASES
  609.  
  610.   The user should be able to:
  611.  
  612.   - alias a directory to a disk; ie: alias c:\application to \\apps or e:
  613.   - alias a disk to a directory; ie: alias e: or \\apps to c:\application
  614.   - alias a disk to a disk; ie: alias e: to \\apps
  615.  
  616.   It should be possible to alias both c:  and d:  to \\apps, with collision
  617.   detection.
  618.  
  619. 7.2  DISK DEVICE NAMES
  620.  
  621.   Instead of calling disks 'A:', 'B:', 'C:', etc, disk devices could be
  622.   referenced internally as 'FDx:' for floppies and 'HDx:' for hard drives.
  623.   This would allow an unlimited number of available partitions.  Device
  624.   aliases could be created to alias back 'FDx' and 'HDx' to the DOS
  625.   equivalents to allow older software to work while allowing those who have
  626.   surpassed the 26 available drives to use their full capacity.
  627.  
  628. 7.3  UNC NAMING CONVENTION
  629.  
  630.   OS/2's APIs already support the Universal Naming Convention method for
  631.   referencing disks by their disk label, in the format
  632.   '\\volume\directory\file'.  Currently, this format is only available for
  633.   network drives; this should be expanded so that drives can be accessed
  634.   by their volume name anywhere in the system.
  635.  
  636.   When used on a FAT or HPFS drive, the disk label could only be 11
  637.   characters in length (as that is the current disk label size).  Any new
  638.   file systems should support 255 character labels.
  639.  
  640.   To maintain some sort of compatibility with DOS, all drives would be
  641.   aliased to their 'A:', 'B:', 'C:', etc.  equivalents to support older
  642.   software.
  643.  
  644. 7.4  MOUNTING DRIVES
  645.  
  646.   Drives would be mounted as directories off of the boot drive (for
  647.   example, 'D:' could be mounted as '\applications').  For programs that
  648.   are not designed to handle such a system, the root drive would be aliased
  649.   to 'C:' and the floppy drives would be aliased to 'A:' and 'B:'.
  650.  
  651. 7.5  STATIC DRIVE NAMES
  652.  
  653.   Whatever happens, drive names must be static, as opposed to the dynamic
  654.   naming scheme used now.  The dynamic scheme can cause serious headaches
  655.   when a new drive is installed because the drive letters will change to
  656.   accomodate the new drive and so software may be broken.
  657.  
  658.   This could be achieved by moving to either the UNC naming convention or
  659.   to mounting drives because the aliases that turn the long name back to
  660.   the drive letter would be staticly defined.
  661.  
  662. 7.6  MULTIPARTITION VOLUMES AND VOLUME STRIPPING
  663.  
  664.   Multipartition volumes are those consisting of 2+ partitions who are
  665.   put together to make 1 volume (note:  this is different from the compound
  666.   device aliases listed above).  There is no way to tell that the drive
  667.   consists of more than 1 partition, except for some big performance
  668.   improvements if volume stripping is used.  Volume stripping divides
  669.   a multipartition volume in to small chunks snd spreads them around the
  670.   available hard drives.  Each drive is assigned a small part of the
  671.   read or write operation, and as such can act in parallel.
  672.  
  673.   The multipartition volume and volums stripping support should allow
  674.   the user to add drives at any time to the multipartition volume.
  675. ----------------------------------------------------------------------------
  676. 8.0  FILE SYSTEMS/FILE ACCESS
  677.  
  678. This section deals with wishes directly related to the OS/2 file systems,
  679. in addition to how files are accessed.
  680.  
  681. 8.1  FILE SYSTEM REQUIREMENTS
  682.  
  683.   The needs of OS/2 users are constantly changing and the file systems need
  684.   to move with them.  The following is a list of the new file system
  685.   requirements:
  686.  
  687.   - access control lists (ACL) for file security
  688.   - journalling
  689.   - extended attributes greater than 64K
  690.   - caches greater than 2 MB
  691.   - a maximum file system size in the terabyte range
  692.   - 255 character disk labels
  693.   - symbolic links (shadows).  They could be implemented using extended
  694.     attributes or the abstract file type (see below)
  695.   - new file type (in addition to 'File' and 'Directory') called 'Abstract'.
  696.     Abstract files would be used for imbedding objects in to the file
  697.     system (rather than having the objects exist in an extended attribute,
  698.     so they could be manipulated just like any other file) and could be used
  699.     for implementing symbolic links.
  700.   - file association in the file system
  701.  
  702.   It should be possible to link multiple directories together to create a
  703.   compound directory containing the files from all its contributing
  704.   directories, with collision detection.
  705.  
  706.   Most of these requirements would probably require a new file system to
  707.   support them.  Those that can be implemented in HPFS should be, and those
  708.   that can not should be implemented in a new file system.
  709.  
  710. 8.2  FILE SYSTEM CONVERSION UTILITY
  711.  
  712.   It is very difficult to convince a user to format their FAT drive to
  713.   install HPFS.  Therefore, a utility to convert between file system
  714.   formats non-destructively should be provided.
  715.  
  716. 8.3  INSTALLABLE FILE SYSTEMS FOR REMOVABLE DEVICES
  717.  
  718.   Installable file systems must be made available for removable devices,
  719.   including floppies.  It is unacceptable for a user with optical disks to
  720.   be forced to use FAT instead of a better file system (ie:  HPFS)
  721.  
  722. 8.4  CHANGE DIRECTORIES WITH '/' OR '\'
  723.  
  724.   The OS/2 IFS definition specifically states that both '/' and '\' should
  725.   be usable for changing directories, and yet almost nowhere in OS/2 can
  726.   either be used.  This should definitely be fixed.  This will require
  727.   changing the standard command line switch delimeter to '-' from '/'.  It
  728.   should be noted that most software already uses '-' as the command line
  729.   switch delimiter.
  730.  
  731. 8.5  ALL FILES EXECUTABLE
  732.  
  733.   Any file should be executable, no matter what its extension.  The shell
  734.   (CMD.EXE or WPS) should first determine whether whatever the user asked
  735.   it to open is actually an executable.  If it is, the program starts
  736.   normally.
  737.  
  738.   If not, the file is assumed to be some sort of data file, and the
  739.   operating system tries to find the creator (using the extended
  740.   attributes) of the file and starts it, instructing the creator to open
  741.   the file.  The creator's extended attributes would have a default command
  742.   line to use when starting a program this way.
  743.  
  744.   If it can't find the creator, it should return back an error message
  745.   saying that the file was not executable and the file's creator could not
  746.   be found.
  747.  
  748.   The current rules for special file extensions should be removed as
  749.   they are not appropriate for a free-form file name system.  Something like
  750.   a REXX script or batch file that generally has no file type could be
  751.   started as 'cmd rexxscript'.  Typing just the name of a directory would
  752.   change in to the directory.
  753.  
  754. 8.6 VIEW/SET EXTENDED ATTRIBUTES
  755.  
  756.   A utility should ship with OS/2 to allow the user to view and edit a
  757.   file's extended attributes.  This would be particularly necessary if all
  758.   files are considered executable, as the user may want to specially assign
  759.   creators for files so they can be automatically opened, or to allow a
  760.   REXX script or batch file to run without having to run 'cmd rexxscript'.
  761.  
  762. 8.7  SECURE SYSTEM FILES
  763.  
  764.   Display a warning every time a system file (typically one in the \OS2
  765.   directory) is going to be replaced by an application.  To implement this,
  766.   a file holding the names of files that should not be changed without
  767.   giving notice to the user could be used.
  768.  
  769. 8.8  OPTIONAL CACHING BY DRIVE
  770.  
  771.   The user should be able to specify drives to cache (or not to cache).
  772.   For example, the user could ask for drives 'C:', 'D:' 'F:' to be cached,
  773.   but not 'E:'.
  774.  
  775. 8.9  CACHING ENHANCEMENTS
  776.  
  777.   The following are requests for changes to OS/2's caching system:
  778.  
  779.   - dynamic caching.  Instead of the static caching employed under OS/2 now,
  780.     a dynamic cache should be employed.  The user would assign a bottom
  781.     limit to the cache, but as memory requirements grow and shrink the
  782.     cache could grow and shrink as well, to maintain maximum performance at
  783.     all times.
  784.   - unified caches.  Currently, each file system has its own caches.  This
  785.     is a horrid waste of system resources because a user may, for example,
  786.     mainly use HPFS, but they still have the cache for their FAT drive and
  787.     for their CD-ROM.  Instead, a single, unified cache should be employed.
  788.     Each file system would access a common cache, meaning that files are
  789.     cached depending on how they are used rather than the file system they
  790.     are on.
  791.  
  792. 8.10  FILE SYSTEM-INDEPENDENT DISK COMPRESSION
  793.  
  794.   A file system-independent disk compression scheme should be provided with
  795.   OS/2 to help offset the increased disk space requirements over
  796.   DOS/Windows systems.
  797.  
  798. 8.11  REDEFINE EA MANIPULATION
  799.  
  800.   Currently, a program has to read all of a file's EAs in to a complicated
  801.   structure, modify the structure and write the whole record back.  This is
  802.   inconvienient for the programmer, and will become a problem when greater
  803.   than 64K EAs are introduced.  EAs should be indexed to allow the
  804.   programmer to jump right to the position in the EA they want to read in
  805.   and only read and write the blocks they need.  This should also bring
  806.   performance enhancements.
  807.  
  808. 8.12  .LONGNAME EXTENDED ATTRIBUTE
  809.  
  810.   Long file name support exists in FAT today, in the form of the .LONGNAME
  811.   extended attribute.  Unfortunately, only the Workplace Shell uses this
  812.   attribute.  All the OS/2 file system calls should rely on the .LONGNAME
  813.   attribute instead of the 8.3 file name to provide transparent long file
  814.   name support to the user.
  815.  
  816. 8.13  .SHORTNAME EXTENDED ATTRIBUTE
  817.  
  818.   Just as the .LONGNAME extended attribute gives long file name access to
  819.   FAT systems, a .SHORTNAME extended attribute could give transparent long
  820.   file name access to DOS applications.
  821.  
  822. 8.14  BOOT SECTOR
  823.  
  824.   The current OS/2 boot sector (created by FORMAT/PMFORMAT) is next to
  825.   useless.  It displays a cryptic message that few people bother to even
  826.   look up.  A new boot sector that just skips over the disk and continues
  827.   the boot process if it can't boot OS/2 should be implemented.
  828.  
  829. 8.15  MAINTAIN CASE
  830.  
  831.   While neither of OS/2's file systems are case-sensitive, they do retain
  832.   case (ie:  "MyDiR" is stored as "MyDiR" but can be referenced as "mYdIr"
  833.   or any other arrangement).  This, however, is not reflected in the
  834.   standard dialog box, in CMD.EXE, and hardly anywhere else for that
  835.   matter.  This should be changed.
  836.  
  837. 8.16  CASE-SENSITIVITY ATTRIBUTE
  838.  
  839.   There is a huge debate over whether OS/2's file systems should be
  840.   case-sensitive, and both sides have valid arguments.  Therefore, to let
  841.   everyone get what they want, a case-sensitivity attribute, much like the
  842.   read-only, system, hidden and archive attributes that are available today
  843.   could be created.  It would be used on a directory to specify that the
  844.   files contained in that directory are to be treated as case-sensitive.
  845.   If a user wanted to make their entire system case-sensitive, they could
  846.   just recursively change all directories to case-sensitive.  If just a few
  847.   applications require case-sensitivity (UNIX applications, primarily) then
  848.   only their directories would be made case-sensitive.  In addition, an
  849.   environment variable would hold what the default setting should be for
  850.   new directories.
  851.  
  852. 8.17  MULTITHREADED FILE SYSTEMS
  853.  
  854.   Currently, OS/2 has one thread for the file systems.  That mean if the
  855.   kernel blocks on disk access, the entire operating system is stuck.
  856.  
  857.   To solve this, each logical drive should should run in a separate thread,
  858.   and each file system thread should be independant of the rest of the
  859.   system.
  860.  
  861. 8.18  MANIPULATION OF OPEN FILES
  862.  
  863.   It should be possible to remove, rename, copy over, etc. an open file.
  864.   This would allow the user to replace things like DLLs without booting off
  865.   floppy.
  866.  
  867.   To accomplish this, the following procedure would be followed:
  868.  
  869.   - make the file unavailable to requests from any program but those that
  870.     already have a file handle open to the file
  871.   - rename the file to a special name that denotes the file to be deleted
  872.   - copy the new version
  873.   - when all programs using the original file close the file, the original
  874.     is removed
  875.  
  876.   Note that this would still permit OS/2's advanced swap file usage because
  877.   the executable is never removed from the disk while the program is
  878.   running. Special provisions would have to be made to ensure the swap file
  879.   can always find the executable.
  880.  
  881.   Also note that these files must be automatically removed during the boot
  882.   process, in case the system crashed before the files were properly
  883.   removed.
  884.  
  885. 8.19  FLOPPY EJECTION/DISK CHANGE RECOGNITION
  886.  
  887.   OS/2's floppy driver should support ejecting floppies (and IBM and other
  888.   companies should take the initiative to make self-ejecting floppies) and
  889.   the automatic recognition of floppy changes ie: when a program asks for a
  890.   new disk to be inserted, the program shouldn't need to be told the disk
  891.   was changed for it to proceed.
  892. ----------------------------------------------------------------------------
  893. 9.0  LOCALIZATION
  894.  
  895. OS/2 was designed as an international operating system, to be used anywhere
  896. in the world along with other platforms.  Unfortunately, OS/2 in it's
  897. current state is far from being an international operating system; the
  898. following are wishes designed to solve this.
  899.  
  900. 9.1  UNICODE
  901.  
  902.   Unicode is the up and coming standard for international communication and
  903.   must be supported by an up and coming operating system that is designed
  904.   to be international.  Therefore, OS/2 should be converted in to a
  905.   Unicode-based operating system.  Doing so would have the added advantage
  906.   of removing the need for a different version for double-byte character
  907.   sets.
  908.  
  909.   Code page emulation would be provided to support applications that are
  910.   not Unicode aware, but they should be quickly phased out.
  911.  
  912. 9.2  CYRILLIC AND GREEK CODEPAGES
  913.  
  914.   OS/2 should have the same 8 BIT codepages for Cyrillic and Greek that are
  915.   available for IBM DOS.
  916.  
  917. 9.3  ISO 8859.1 (ISO LATIN-1) CHARACTER SET
  918.  
  919.   OS/2 should support the ISO 8859.1 (also known as ISO Latin-1) character,
  920.   used in other operating systems such as UNIX.
  921.  
  922. 9.4  MULTIPLE CODE PAGES
  923.  
  924.   As OS/2 becomes more widely used internationally, people need to be able
  925.   to exchange documents using different code pages easily.  Therefore, OS/2
  926.   should be modified to support more than 2 code pages.
  927.  
  928. 9.5  STANDARD DATE, TIME AND NUMBER FORMATS
  929.  
  930.   The system date time and number formats (as defined in the Country object
  931.   in the System Setup folder should be used everywhere in the operating
  932.   system.  Reading huge numbers like those returned by CHKDSK and DIR
  933.   which are currently not broken up by the 1000s separator and ambiguous
  934.   date formats are almost enough to drive the user insane.
  935.  
  936.   These formats should also be a lot less restricted.  The user should be
  937.   able to build the formats any way they like.  This means the user should
  938.   be allowed to do things like 'yyyy.mm.dd' (ISO date format), dd/mm-yy
  939.   (old Swedish style) and even things like dd-mmm-yy to get a 3 character
  940.   short form for the month.
  941.  
  942. 9.6  KEYBOARD DEFINITION UTILITY
  943.  
  944.   The user should be able to define their keyboard as they desire instead
  945.   of being restricted to the keyboard layouts defined by the Country
  946.   setting.
  947.  
  948. 9.7  SEPARATE TEXT FROM CODE
  949.  
  950.   As an example for other vendors, there should be no text imbedded in
  951.   executable code.  All text used in the operating system should be placed
  952.   in language files (*.msg).
  953.  
  954.   This would allow IBM to release a single OS/2 for use with the 8 bit
  955.   character sets (and a single OS/2 for everyone when Unicode support is
  956.   added).  IBM could ship OS/2 with all the language files for a particular
  957.   country, and the user would just select which language they want to use
  958.   during the installation.
  959.  
  960.   Optionally, all available languages (or just a selection, depending on
  961.   the user's desires) would be installed along with the rest of OS/2,
  962.   allowing the user to flip between languages.
  963.  
  964.   Other vendors should be encouraged separate the text from code in their
  965.   applications and to distribute all available languages in one package.
  966.  
  967. 9.8  MORE COUNTRIES
  968.  
  969.   IBM should support more countries in the country settings.  For example,
  970.   people from New Zealand shouldn't have to use Australia's country
  971.   settings - which can be a problem for programs that use the country
  972.   settings to make assumptions of other things, like country codes for
  973.   dialing internationally.
  974.  
  975. 9.9  COUNTRY SETTINGS DEFINABLE ON A PER-OBJECT BASIS
  976.  
  977.   OS/2 should allow the user to define country settings on a per-object
  978.   basis.  This would allow a user to use Canadian English for the entire
  979.   system except for the AmiPro for OS/2 French object which would run
  980.   in Canadian French.
  981.  
  982. 9.10  INTERNATIONAL API/REXX EXTENSIONS
  983.  
  984.   To implement standard number formats, the OS/2 and REXX APIs must be
  985.   expanded to handle the conversion of date, time, floating point
  986.   and integer numbers, currency, etc.  to and from string and number
  987.   formats.
  988. ----------------------------------------------------------------------------
  989. 10.0  PRESENTATION MANAGER
  990.  
  991. This section contains wishes for anything related to the Presentation
  992. Manager, including wishes for INI and icon files.
  993.  
  994. 10.1  MOVE OS2.INI IN TO THE FILE SYSTEM
  995.  
  996.   Program settings, path, window size/position and other information should
  997.   be moved from the INI files in to the file system in the form of extended
  998.   attributes.  This will allow users to retain application settings even
  999.   when replacing the operating system as all the necessary settings are kept
  1000.   along in the application's extended  attributes which can be backed up,
  1001.   and would ensure that deleted application settings do not live on forever
  1002.   in the INI files as all settings would disappear along with the
  1003.   application.
  1004.  
  1005.   APIs should be written to allow indirect access to system variables
  1006.   contained in the OS2.INI.  This will eventually allow the OS2.INI to be
  1007.   entirely removed.
  1008.  
  1009. 10.2  MULTIPLE MESSAGE QUEUES
  1010.  
  1011.   Having PM grind to a halt because of a process holding the message queue
  1012.   for too long just isn't acceptable.  Each window handle should be
  1013.   assigned its own, independent message queue to ensure that the user can
  1014.   always interact with the system, even if an application goes down.
  1015.  
  1016. 10.3  CHANGE GRAPHICS DRIVER ON-THE-FLY
  1017.  
  1018.   Being able to change the graphics driver on the fly would be a big plus.
  1019.   This means that the system should not have to be rebooted to handle the
  1020.   new driver, and all video changes should take effect immediately.
  1021.  
  1022. 10.4  MOVEMENT OF OS/2 LOGO TO AFTER PM GETS STARTED
  1023.  
  1024.   Moving the OS/2 Logo to just after PM gets started (as the first thing
  1025.   that is shown on the screen) just makes more sense - the graphical
  1026.   environment is up and running and all the routines are there for showing
  1027.   bitmaps.  In addition, it would allow more colourful OS/2 bitmaps to be
  1028.   shown on start-up without pain.
  1029.  
  1030. 10.5  DISABLE MENU DROP DOWN ON RIGHT ALT KEY
  1031.  
  1032.   On many international keyboards, the right ALT key is used to type
  1033.   special characters such as brackets.  An accidental slip on the keyboard
  1034.   while doing an ALT key combination can cause a menu to drop down, and
  1035.   thus is a real annoyance.  For people using international keyboards, an
  1036.   option either the Country object or Keyboard object should determine
  1037.   whether only the left ALT key or both ALT keys should bring down menus.
  1038.  
  1039. 10.6  FONTS USED LIKE DLLS
  1040.  
  1041.   A font should only be kept in memory as long as there is a program using
  1042.   the font; keeping fonts loaded forever is a waste of valuable system
  1043.   resources.  After the last process to use a font is terminated, the font
  1044.   should be unloaded.
  1045.  
  1046. 10.7  VECTOR ICONS
  1047.  
  1048.   Allow vector graphic files in addition to bitmaps and allow the icon to
  1049.   be scaled to a fixed size no matter what the resolution is.
  1050.  
  1051. 10.8  ENHANCED TASK LIST ENHANCEMENTS
  1052.  
  1053.   There should be a 'Details' view of the task list, showing more
  1054.   information about a program - ie:  priority, memory usage, idle time, CPU
  1055.   usage, process ID, parent ID, command line parameters, etc.  From here
  1056.   the user should also be able to change task priorities.
  1057.  
  1058. 10.9  X11-STYLE WINDOW CONTROL
  1059.  
  1060.   The user should be able to enable X11-style active window behaviour
  1061.   (active window follows the mouse pointer) in addition to controlling the
  1062.   Z-order of the windows (when a window is activated by moving the mouse
  1063.   over it, should it be brought to the surface or not).
  1064.  
  1065. 10.10  ANIMATED CURSORS
  1066.  
  1067.   OS/2 should support animated cursors.  This means for the alarm clock
  1068.   cursor, the dial could spin, etc.
  1069.  
  1070. 10.11  ROLL-UP WINDOWS
  1071.  
  1072.   OS/2 should support roll-up windows, like Corel Draw.  This would allow
  1073.   users to conserve valuable desktop real estate without having to keep
  1074.   running to the task list to bring up a minimized window.  This should be
  1075.   enabled by a special Roll-Up/Roll-Down button, along side the 'Minimize'
  1076.   and 'Maximize' buttons.
  1077.  
  1078. 10.12  FILE DIALOG
  1079.  
  1080.   The standard file dialog box should be enhanced as follows:
  1081.  
  1082.   - should be sizable, so the user can set how many files should be shown
  1083.     at a time
  1084.   - the user should be able to see a file's size and date stamp
  1085.   - file selection box should be wider for long file names
  1086.   - integrate the file and directory boxes in to one box, allowing
  1087.     lots of space to show long file names and file attributes.  A '+'
  1088.     button, as in the WPS Drive objects, would expand/shrink directory
  1089.     trees.
  1090.   - overall look should be like the Details view in the WPS
  1091.   - user should be able to sort the file list by name, type, size or date
  1092.   - user should be able to select files by their characteristics, such as
  1093.     file name, file type, date ranges, etc.
  1094.  
  1095. 10.13  STATE-REVEALING ICONS
  1096.  
  1097.   Icons should reveal the state of the program they belong to.  For
  1098.   example, the printer icon could change to indicate that there are jobs in
  1099.   the spooler, a minimized interactive program's icon could blink to
  1100.   indicate waiting on user input, and the minimized folder could 'glow'
  1101.   when occupied.
  1102.  
  1103. 10.14  DROP-DOWN LIST BEHAVIOUR
  1104.  
  1105.   Currently, the user must click on the button to the right of a drop-down
  1106.   list to make it drop down.  This should be changed so that the user could
  1107.   click anywhere in the entry field in addition to clicking on the button
  1108.   to bring down the list.
  1109.  
  1110. 10.15  ALT-TAB TO WORK LIKE WINDOWS
  1111.  
  1112.   The ALT-TAB key combination, which cycles through the running programs,
  1113.   should work like in Windows.  This means that rather than flipping through
  1114.   the programs, a little box showing the name of a running program should
  1115.   appear.  Each time the user hits ALT-TAB, the name of the next running
  1116.   program would appear, until there are no more programs and it restarts at
  1117.   the beginning again.  When the user finds the program they want, they let
  1118.   go of the ALT key to switch to that program.
  1119.  
  1120. 10.16  SEPARATE PM FROM THE REST OF OS/2
  1121.  
  1122.   PM should be more separated from the rest of OS/2, allowing a user to
  1123.   function without it when the overhead of a graphic interface is
  1124.   undesirable.  This might be a good use for the STARTUP.CMD - OS/2 would
  1125.   first start in a text mode and then try to execute STARTUP.CMD -
  1126.   STARTUP.CMD would then contain the commands to start PM.
  1127.  
  1128.   It should also be possible to quit PM without shutting down the machine.
  1129.   Doing so would return the user to the command line.  This would allow
  1130.   to do such things as replace locked DLLs, change display drivers etc.
  1131.   that would normally require the system to be reset.
  1132.  
  1133. 10.17  CUA-91 COMPLIANCE
  1134.  
  1135.   Quite a number of areas of PM/WPS are not fully CUA-91 compliant.  For
  1136.   example, the base edit control (not MLE:  WC_ENTRYFIELD) does not support
  1137.   CTRL-LEFT or CTRL-RIGHT accelerators to move to the next word.  It also
  1138.   does not support double clicking on a word to mark the word.  The MLE
  1139.   control supports both of these and it is inconsistent not to provide this
  1140.   support in dialogs.
  1141.  
  1142. 10.18  MULTIPLE PM SCREENS
  1143.  
  1144.   Take the virtual-desktop one step further by allowing multiple PM screens.
  1145.   There would be one screen for the WPS, and then the user could run
  1146.   applications on a different physical screen.  This would allow multiple
  1147.   resolutions while still using the Presentation Manager.  This would be
  1148.   very desirable for viewing pictures or other graphics in one screen at
  1149.   640x480x16.7 million colours while keeping the Desktop at 1280x1024x256
  1150.   colours.
  1151.  
  1152. 10.19  DO NOT CHANGE THE KEYBOARD FOCUS WHILE THE USER IS TYPING
  1153.  
  1154.   It is a huge annoyance to be typing in a window and suddenly find the
  1155.   keyboard focus has changed because a window popped up and took control.
  1156.   The keyboard focus should not be changed while the user is typing.  The
  1157.   window that is popping up should still be put on top of everything so the
  1158.   user knows that something needs to be taken care of, but it should not
  1159.   become the active window.
  1160.  
  1161. 10.20  REAL-TIME WINDOW UPDATES WHILE MOVING
  1162.  
  1163.   Optionally, windows should update in real-time even when being moved on
  1164.   the screen.  New video cards are fast enough to handle such a feat, and it
  1165.   is really quite impressive to see the windows still updating even when you
  1166.   move them.
  1167.  
  1168. 10.21  FILE DIALOG TO MAINTAIN DIRECTORY POSITION
  1169.  
  1170.   The first time a file dialog is opened, it should default to the current
  1171.   directory.  All successive invocations of the file dialog should start
  1172.   at the last directory and file opened by the user.
  1173.  
  1174. 10.22  PM APPLICATIONS TO START 'MINIMIZED'
  1175.  
  1176.   PM applications should be able to start minimized.
  1177.  
  1178. 10.23  COLOURFUL ICONS
  1179.  
  1180.   The default icon set in OS/2 is a bit bland and unappealing.  A splash of
  1181.   colour would really improve the looks of the WPS.
  1182.  
  1183. 10.24  DIRECT MODIFICATION OF INI FILES
  1184.  
  1185.   Currently, when an INI file is changed it must be re-copied.  This is
  1186.   terribly wasteful and should be corrected.
  1187.  
  1188. 10.25  SMALL/LARGE FONTS
  1189.  
  1190.   All high-resolution (800x600 and up) PM graphics drivers should come with
  1191.   a choice of large or small fonts.  This will especially free those users
  1192.   running at 1024x768 from the enormous fonts used at the moment, while
  1193.   still allowing those that require a bigger font to use one.
  1194.  
  1195. 10.26  MENU PLACEMENT
  1196.  
  1197.   Menus should open such that the pointer is either over the default menu
  1198.   item (if one exists), or over the item in the menu.  The current method of
  1199.   having the pointer over the bottom-left corner is quite annoying.
  1200.  
  1201. 10.27  SYSTEM MODAL DIALOGS
  1202.  
  1203.   The use of system modal dialogs should be dramatically reduced.  System
  1204.   modal dialogs are those that prevent the user from using their machine
  1205.   until the dialog is dealt with.  In most cases, they are a major
  1206.   annoyance.  System modal dialogs should only be used to warn the user of a
  1207.   major problem, for example, there is no swap space left.  Errors like
  1208.   "error accessing drive A:" are not major problems.
  1209.  
  1210. 10.28  MAXIMIZED WINDOWS
  1211.  
  1212.   OS/2 has a peculiar habit of sending maximized windows to the top left
  1213.   corner of the screen.  It is very poor behaviour, and drives the user
  1214.   crazy!  A window that is maximized should move only if necessary to make
  1215.   the whole window fit on the screen.  In that case, the window is moved
  1216.   only as far as it needs to move from its origin in order to fit properly.
  1217.  
  1218.   In addition, when a minimized maximized window is restored, it should
  1219.   reappear in its last known position -- not the top left corner of the
  1220.   screen.
  1221.  
  1222. 10.29  SAVE WINDOW SIZES ON CLOSE
  1223.  
  1224.   All PM applications should save their last window size upon closing.  It
  1225.   is unacceptable for programs like VIEW.EXE to constantly take over the
  1226.   entire screen when the user only wants it to take a small portion.
  1227. ----------------------------------------------------------------------------
  1228. 11.0  WORKPLACE SHELL
  1229.  
  1230. The WorkPlace Shell is something a user must interact with every day and so
  1231. it is important for the shell to meet the user's needs.  The following is a
  1232. list of wishes directly related to the WorkPlace shell.
  1233.  
  1234. 11.1  MASTER TEMPLATES
  1235.  
  1236.   'Master Templates' are default settings for any object, like a folder or a
  1237.   program.  By changing the settings in the Master Template, the settings in
  1238.   every object of that type would also be changed.  This will allow the user
  1239.   to accomplish something like 'make all folders look like this one'.  By
  1240.   default, an object would always inherit any changes to the master;
  1241.   however, by turning off a setting in the object's settings (named, for
  1242.   example, 'Inherit from Master') the user could disable such a feature to
  1243.   allow for customization for specific objects.
  1244.  
  1245.   Master templates could also be used as a replacement for the command
  1246.   association features of the WPS.  A Master Template for '*.ZIP' could
  1247.   execute UNZIP when a ZIP file is run.
  1248.  
  1249. 11.2  SHADOWS TO USE SYMBOLIC LINKS
  1250.  
  1251.   Shadows are one of the most complex parts of the WPS because often
  1252.   users don't understand that a shadow only exists in the desktop.
  1253.   Therefore, when symbolic link support is added to the file system, shadows
  1254.   should be changed to use symbolic links instead.
  1255.  
  1256. 11.3  SHADOWS TO STAND OUT BETTER
  1257.  
  1258.   It is often difficult to tell whether an object is a shadow or not as the
  1259.   only distinguishing characteristic is a different icon text colour.
  1260.   Shadows could have a slightly different icon (as templates do).  In
  1261.   addition, it should be possible to set the font for shadows independent
  1262.   from the font used for other icons.
  1263.  
  1264. 11.4  TRASH CAN INSTEAD OF A SHREDDER
  1265.  
  1266.   The Shredder needs to be turned in to a trash can, meaning that files put
  1267.   in it need to be recoverable.  This means tighter integration of the WPS
  1268.   object with the SET DELDIR= option.  Files should remain in the trash can
  1269.   until they are explicitly cleaned out (as an option in the object and a
  1270.   command line utility).  When there is not enough space to perform a
  1271.   function, the operating system should first see if there are files that
  1272.   could be cleaned up to make room.  If so, the user is asked if it is
  1273.   all right to remove files, and then proceeds to make space.  If the user
  1274.   says 'no', or there are no files to remove, the write fails normally.
  1275.   Files would be removed in chronological order, starting with the oldest
  1276.   files and proceeding until enough room is made or there are no more files
  1277.   to remove.
  1278.  
  1279. 11.5  OBJECT SETTING LIST VIEW
  1280.  
  1281.   There could be a list view for object settings - it would basically be a
  1282.   dump of all the possible settings there are for the given object, sorted
  1283.   alphabetically and not grouped together in notebook sections.  This would
  1284.   make it very easy to find a particular setting when you don't exactly know
  1285.   where to look (but you know what to look for).  As many as could fit on
  1286.   one notebook page would be shown at a time, and arrows at the bottom of
  1287.   the notebook would allow flipping between pages.
  1288.  
  1289. 11.6  DEFAULT VIEW OPTION IN OBJECT SETTINGS
  1290.  
  1291.   Any object for which the type of view can be variable (for example, a
  1292.   folder can be viewed in the 'Icon' view, 'Tree' view and 'Details View')
  1293.   should have a default view option.  This option would be very accessible,
  1294.   for example through a drop down list in the 'Window' page.
  1295.  
  1296. 11.7  GRIDDED DESKTOP
  1297.  
  1298.   The Icon view named 'Non-grid' should be renamed to 'Gridded'.  An option
  1299.   for defining the grid of user-defined size (or to turn off the grid, for
  1300.   functionality similar to the 'Non-Grid' mode) Arrange would move the icons
  1301.   to nearest point on a the grid.  In addition, there should be an option in
  1302.   the window settings for to always snap icons to the grid.
  1303.  
  1304. 11.8  EXPAND BRANCHES/EXPAND TREE
  1305.  
  1306.   The user should be able to expand branches of a tree or to expand the
  1307.   entire tree while in a Tree view.  The keystrokes used should be the same
  1308.   as in the help system (VIEW.EXE).
  1309.  
  1310. 11.9  DRIVE OBJECTS/DISK TREE VIEW TO GIVE MORE INFORMATION
  1311.  
  1312.   Below the name of the drive in a drive object (ie:  'Drive C') the
  1313.   amount of free disk space should be shown (note:  this should only be
  1314.   shown for disks that are writable; no matter how long you look at a
  1315.   CD-ROM, it will always say 0 bytes free).  In a Tree view, below each
  1316.   folder name, the number of files in the directory and the size of the
  1317.   contents should be displayed and all subdirectories of that directory
  1318.   should be shown.
  1319.  
  1320. 11.10  SAVE CHANGES MADE BY SYSTEM PALETTES
  1321.  
  1322.   ALL IBM software, including the help system and INF files, must support
  1323.   saving changes to fonts definitions, colour schemes etc.  made by
  1324.   performing a drag-and-drop from any of the various 'Palette' objects in
  1325.   the System Setup folder.  This includes the 'Font Palette', 'Colour
  1326.   Palette' and 'Colour Scheme' objects.  Third party vendors should be
  1327.   encouraged to follow IBM's example.
  1328.  
  1329. 11.11  OPEN PARENT FOLDER
  1330.  
  1331.   The ability to open a folder's parent should be available in the 'Open'
  1332.   section of the Desktop menu.
  1333.  
  1334. 11.12  CLOSE THE CURRENT FOLDER WHEN OPENING A CHILD FOLDER
  1335.  
  1336.   Both accessible through the 'Open' section in the Desktop menu
  1337.   and by an accelerator key should be the ability to close the current
  1338.   folder when opening a child folder.  Similarly, it should be able to
  1339.   open a folder's parent when closing a child folder.  These actions could
  1340.   also be enabled by default through the folder's settings.
  1341.  
  1342. 11.13  CASCADABLE MENUS
  1343.  
  1344.   The user can add items to the Desktop menu, even sub-menus, but the user
  1345.   can not add sub-sub menus.
  1346.  
  1347. 11.14  MOUSE SPEED, KEY REPEAT SCALING
  1348.  
  1349.   The current scale used for mouse speed, key repeat delay, etc.  is much to
  1350.   slow for most users.  As most users use the settings at their fastest
  1351.   rate, there is not much point in having the settings there in the first
  1352.   place.  To make them useful, the fastest speeds need to be many times
  1353.   faster than those available now.
  1354.  
  1355.   To solve this problem, flexible ballistics should be supported via a
  1356.   customizable acceleration curve.  The user would more or less 'pull' on
  1357.   the curve to create the acceleration they desire.  A few standard
  1358.   configurations would be given for users that do not want to play with the
  1359.   curve.
  1360.  
  1361.   In addition, the user should be able to disable ballistic tracking for the
  1362.   mouse for those who prefer linear mouse tracking.
  1363.  
  1364. 11.15  SHELL WINDOW CLOSING
  1365.  
  1366.   The WPS should optionally not ask for confirmation to close a shell that
  1367.   is not running any programs.
  1368.  
  1369. 11.16  COLOUR PALETTE CHANGES ICON TEXT COLOUR
  1370.  
  1371.   Dragging a colour from the Colour Palette should change the icon text
  1372.   colour for that particular icon (or group of icons if more than 1 is
  1373.   selected).
  1374.  
  1375. 11.17  FULL PATH IN DIRECTORY TITLEBAR
  1376.  
  1377.   When the user chooses a directory from the Drives object, the title bar of
  1378.   the directory window should contain the full path to the directory, and
  1379.   not just the directory's name.  For example, it should say 'D:\MYDIR'
  1380.   instead of 'MYDIR'.
  1381.  
  1382. 11.18  DISK LABELS DEFINABLE FROM DRIVE OBJECT
  1383.  
  1384.   The user should be able to change a disk label from the Drive object.
  1385.  
  1386. 11.19  TEAR-OFF MENUS
  1387.  
  1388.   Tear-off menus were a rather interesting part of the OS/2 2.0 betas, and
  1389.   unfortunately were left out of the final product to ensure compatibility
  1390.   with all existing applications.  It would be nice if IBM could resolve the
  1391.   compatibility problems and return the tear-off menus to OS/2.
  1392.  
  1393. 11.20  'FIND' FUNCTION
  1394.  
  1395.   The 'Find' option, found both in objects (for locating icons, etc.) and
  1396.   in the Desktop menu, is much too complicated. It should be replaced with
  1397.   a simple file dialog (modified to handle searching for objects as well as
  1398.   files).
  1399.  
  1400. 11.21  SCREEN SAVER ENHANCEMENTS
  1401.  
  1402.   The screen saver should be enhanced as follows:
  1403.  
  1404.   - should work for both full screen sessions and the Desktop
  1405.   - should not require a password to operate
  1406.  
  1407. 11.22  WPS SHUTDOWN FUNCTION
  1408.  
  1409.   The following enhancements are requested to the WPS shutdown function:
  1410.  
  1411.   - in the shutdown dialog box, add a check box to automatically reboot the
  1412.     machine after shutdown
  1413.   - in the shutdown dialog box, add a check box to unconditionally close all
  1414.     running programs
  1415.   - during shutdown, a list of all tasks should appear.  As each task is
  1416.     terminated, it is removed from the list.  This would allow the user to
  1417.     find out which tasks are hanging the shutdown process.
  1418.  
  1419. 11.23  'CLEAN DESKTOP' FUNCTION IN THE DESKTOP MENU
  1420.  
  1421.   A 'Clean Desktop' function should be added to the desktop menu (the one
  1422.   that appears with the right mouse button).  This function would minimize
  1423.   all open windows.
  1424.  
  1425. 11.24  'ACCESSING DISK' NOTICE
  1426.  
  1427.   The initial disk access in the WPS (especially for floppies) can take some
  1428.   time.  A message indicating that the system is, in fact, doing something
  1429.   should appear so the user is not left wondering what is happening.
  1430.  
  1431. 11.25  HOTKEYS
  1432.  
  1433.   It should be possible to create hotkeys to start applications from the
  1434.   WPS.  For example, the user could design the system such that ALT-1 starts
  1435.   a communications package, ALT-2 starts a word processor, etc.
  1436.  
  1437. 11.26  TREE VIEW TO SHOW MORE SUB-LEVELS
  1438.  
  1439.   When opening a sub-level in a window's Tree View, the parent of this
  1440.   branch should be moved to the top of the window to allow the user to see
  1441.   more of the sub-levels.  It is obvious that the user wants to see what is
  1442.   in the sub-levels and the WPS should reflect this.
  1443.  
  1444. 11.27  DEFAULT START SIZE, POSITION OF AN OBJECT
  1445.  
  1446.   It should be possible to set a default start size and position at the
  1447.   object level rather than at a program level.  This would allow the user to
  1448.   individually set the start size and position of one shell window object
  1449.   without affecting any other shell window object.
  1450.  
  1451. 11.28  TURN OFF OPTIONS IN DESKTOP MENU
  1452.  
  1453.   The user should be able to turn off any of the options in the Desktop menu
  1454.   in the WPS.  This would allow the user to turn off such functions as
  1455.   'Arrange', which can be hazardous to a carefully designed desktop.
  1456.  
  1457. 11.29  BACKGROUND COLOUR ON ICON TEXT
  1458.  
  1459.   Icon text should have the background colour underneath in order to be able
  1460.   to see the text with some bitmaps.
  1461.  
  1462. 11.30  ICON FILES AND OBJECTS
  1463.  
  1464.   When creating an object, the WPS should first check to see if the
  1465.   executable contains an imbedded icon.  It should then check to see if
  1466.   there is an ICON file with the same name as the executable.  If either of
  1467.   these cases are true, the WPS would use the icon available.  If not, the
  1468.   standard executable icons would be used.
  1469.  
  1470.   Note that this process should support Windows ICO-format files as well for
  1471.   use with DOS programs that come with Windows ICO files.
  1472.  
  1473. 11.31  ENVIRONMENT SETTINGS DEFINABLE THROUGH OBJECTS
  1474.  
  1475.   Program objects and folders should have a new settings page where the user
  1476.   could specify environment variable settings (like the PATH).  This
  1477.   function would work hierarchically - opening a program in a folder on
  1478.   the Desktop would set the program's default environment to that of the
  1479.   Desktop, then any settings defined in the program's folder would be added
  1480.   and then any settings defined in the program's object would be added.
  1481.   These settings would also override those specified in the PROFILE.CMD.
  1482.  
  1483. 11.32  SYSTEM SOUNDS
  1484.  
  1485.   The System Sounds should be an object attribute for every object,
  1486.   available through a 'Sound' page in it's notebook.  It should have at
  1487.   least two fields - open and close - in addition to any
  1488.   application-specific sounds.  For example, the Shredder has a sound that
  1489.   is played when something is dropped on to it.  If a datafile associated
  1490.   with the program has different sound attributes, they will be used instead
  1491.   of the application defaults.  Only sounds that are specific to the WPS
  1492.   should be defined in the System Sounds object, such as warning messages.
  1493.  
  1494. 11.34  DEFAULT WORKING DIRECTORY
  1495.  
  1496.   The default working directory for program objects should be the directory
  1497.   with the executable.  This will prevent things like KLONDIKE.INI appearing
  1498.   in the root directory.
  1499.  
  1500. 11.35  HIDE TITLE BARS
  1501.  
  1502.   For programs that run all the time, having a title bar takes up valuable
  1503.   screen real estate with little gain.  Therefore, there should be an option
  1504.   in the settings notebook to hide the title bars for the application.
  1505.  
  1506. 11.36  DRAG-AND-DROP FOLDERS TO THE DESKTOP MENU
  1507.  
  1508.   It is possible to add programs to the Desktop menu by dragging them to the
  1509.   Menu page of the Desktop settings notebook, but it is not possible to do
  1510.   so for folders.  This should be changed to allow users to, for example,
  1511.   put the Command Prompts folder in the Desktop menu.
  1512.  
  1513. 11.37  RETURN TO PARENT PROCESS FOR SPAWNED TASKS
  1514.  
  1515.   When returning from a spawned process (for example, the 'HELP' program,
  1516.   which starts up the system help in another task), control should return to
  1517.   the parent process (for example, a shell) and not to the WPS.
  1518.  
  1519. 11.38  SIMPLIFY THE NOTEBOOKS
  1520.  
  1521.   The current notebooks can sometimes be a pain to use because in some ways
  1522.   they are so complicated.  For example, it took me a while to figure out
  1523.   how to change the Default Setting for a menu - it should be an option
  1524.   in plain view on the page.
  1525.  
  1526. 11.39  CHANGING PAGES IN A NOTEBOOK
  1527.  
  1528.   <- and -> in the Notebook can be used to flip between pages - although
  1529.   most people just use the tabs at the side to change between sections.
  1530.   Because many people decide the arrows do the same thing as the tabs at the
  1531.   side, they don't even bother with the arrows.  This is a real problem when
  1532.   there are 3 or 4 pages to a section - the user only gets to see the very
  1533.   first one.  One suggestion is to remove the arrows unless there are
  1534.   multiple pages in the notebook - and print beside the arrows in the
  1535.   standard window text "Continued on Next Page" along with the page number.
  1536.  
  1537. 11.40  MULTIMEDIA CLOCK OBJECT
  1538.  
  1539.   The clock should be able to play a WAV file every hour and possibly each
  1540.   half an hour, in addition to user-defined times (alarms).  It should be
  1541.   possible to assign different WAVs for different occasions.
  1542.  
  1543. 11.41  OBJECT LOCKING
  1544.  
  1545.   WPS objects should include a lock field.  If set, the object could not
  1546.   be moved by the user, either through dragging or the 'Arrange' function.
  1547.   It should support ACL to allow an administer to arrange a user's desktop
  1548.   while preventing the user from customizing their setup.
  1549.  
  1550. 11.42  ARRANGE
  1551.  
  1552.   The arrange function should bring up a dialog with the following options:
  1553.  
  1554.   - abort!
  1555.   - visibility (make sure that icons only land in a certain rectangle so
  1556.     they do not hide behind programs that are always running, like a clock)
  1557.   - arrange method - left-to-right icon arrangement
  1558.                    - top-to-bottom icon arrangement
  1559.                    - Mac-look icon arrangement (where devices are ordered
  1560.                      separately from the other objects - starting in one
  1561.                      corner of the screen)
  1562.                    - user defined methods created by 'drawing' the order
  1563.  
  1564. 11.43  USER-EDITABLE ROOT MENUS
  1565.  
  1566.   The user should be able to edit the root of the Desktop menu - meaning
  1567.   the user should be able to change the properties of things like the
  1568.   'Lockup Now' (maybe have it run a different screen saver, etc.)
  1569.  
  1570. 11.44  PROGRAMMABLE SCREEN SAVER
  1571.  
  1572.   The screen saver should be programmable.  This means the user should be
  1573.   able to plug-and-play DLLs dictating what will be shown when the screen
  1574.   is blanked.  This would give easy access to third party vendors who could
  1575.   write screen saver extensions to do things like play a movie or do nifty
  1576.   animations, rather than the usual lock flying around the OS/2 rings.
  1577.  
  1578. 11.45  NOTEBOOKS GO SIDEWAYS
  1579.  
  1580.   Monitors are wider than they are high, which means that windows that are
  1581.   wider rather than higher make better use of screen real estate.  Notebooks
  1582.   should thus be changed to go sideways (wide rather than tall).
  1583.  
  1584. 11.46  MORE ROOM FOR NOTEBOOK ENTRY FIELDS
  1585.  
  1586.   The entry fields are too small -- you usually can't see the complete field
  1587.   contents without scrolling.  This can, in most cases, be accomplished by
  1588.   just making the entry fields bigger, or by scaling the entry field size
  1589.   by the notebook size, but may require the notebooks to go sideways in
  1590.   order to get enough room on a page.
  1591.  
  1592. 11.47  DECOUPLE SOUND AND ANIMATION
  1593.  
  1594.   Currently, when animation is turned off, an opening/closing folder does
  1595.   not activate the System Sounds.  This should be changed so that a user
  1596.   could choose to use the sounds even with animation off.
  1597.  
  1598. 11.48  ALT DISABLES WORK GROUP STARTING
  1599.  
  1600.   Holding down ALT when opening a work group folder should suppress restoring
  1601.   applications to the state they were in when they closed -- but not lose
  1602.   the application status, so that the next time the work group is opened the
  1603.   applications are restored.
  1604.  
  1605. 11.49  SCHEME PALETTE
  1606.  
  1607.   The Scheme Palette currently contains colour schemes, fonts, window
  1608.   border sizes, etc.  It should be divided up in to the Colour Scheme, Font
  1609.   Scheme and Window Scheme.  In addition, a new type of palette, the Bitmap
  1610.   Palette, would contain bitmaps that a user could drag-and-drop on a
  1611.   folder to change the background bitmap.
  1612.  
  1613.   The Font Scheme would define things like:
  1614.  
  1615.   - font used in standard dialog boxes
  1616.   - font used in the desktop menus
  1617.   - anywhere else where a standard font is used
  1618.  
  1619.   The Window Scheme would define things like:
  1620.  
  1621.   - location of scroll bars
  1622.   - location of scroll buttons (at the end of the scroll bars, or
  1623.     all 4 together in a corner)
  1624.   - window border size
  1625.   - standard window gadgets (ie:  maximize, minimize, hide, system menu)
  1626.   - 3-D or 2-D representation
  1627.   - ovals vs.  boxes to indicate the currently selected option in the
  1628.     Desktop menu and elsewhere
  1629.   - space between icons
  1630.   - turn on/off border around minimized icons (when using the Minimize to
  1631.     Desktop feature)
  1632.   - location when minimized icons will appear (when using the Minimize to
  1633.     Desktop feature): top, bottom, left, right, etc.
  1634.  
  1635. 11.50  'CHANGE' OPTION TO RIGHT MOUSE BUTTON MENU
  1636.  
  1637.   An option to 'Change' a view from one type to another (for example, from
  1638.   Tree to Icon view) should be added to the right mouse button menu.  This
  1639.   would allow the user to see a different view of a window without the old
  1640.   view staying on the desktop.
  1641.  
  1642. 11.51  SHUTDOWN FOLDER
  1643.  
  1644.   In addition to the Startup folder, there should be Shutdown folder that is
  1645.   processed when the 'Shutdown' command is activated from the Desktop menu.
  1646.   All programs would close down and then the Shutdown folder would be
  1647.   processed.
  1648.  
  1649. 11.52  STARTUP/SHUTDOWN FOLDER ENHANCEMENTS
  1650.  
  1651.   The Startup/Shutdown folders should be enhanced to:
  1652.  
  1653.   - allow the user to definie a startup/shutdown sequence; that is, instead
  1654.     of starting all the programs in random order, they should start by a
  1655.     pre-defined sequence.  This could be done via a 'priority' number in the
  1656.     object's settings.  When two programs with the same priority are to be
  1657.     started, alphabetical order is used.
  1658.   - optionally wait for the last program to complete before starting the
  1659.     next program.
  1660.  
  1661. 11.53  ICON DISPLAY
  1662.  
  1663.   Currently, an icon can be viewed at "Normal Size", "Small Size", or not at
  1664.   all ("Invisible").  An option should be included in the View page of the
  1665.   settings notebook for folders to show only the icon (with no text).
  1666.  
  1667. 11.54  POPUP MENUS
  1668.  
  1669.   Submenus inside popup menus are access by moving on to an arrow at the
  1670.   right side of the menu.  If the menu does not have enough room to draw
  1671.   the submenu on the right, it draws the menu on the left, but the user
  1672.   still has to go to the right of the menu to press the arrow, and then move
  1673.   to the left to access the menu.  The arrow should be moved such that it
  1674.   appears on the side that the submenu will appear on.
  1675. ----------------------------------------------------------------------------
  1676. 12.0  TEXT APPLICATIONS
  1677.  
  1678. This section is for wishes related to text applications.  While it is
  1679. desirable to have most applications as PM programs, reality states that some
  1680. programs work best in text mode and can not have the overhead associated
  1681. with a graphic interface and these wishes are designed to specifically
  1682. address those applications.
  1683.  
  1684. 12.1  TEXTUAL USER INTERFACE
  1685.  
  1686.   Provide a text user interface API, a type of textual Presentation Manager.
  1687.   This would allow PM-like constructs like windows, dialog boxes, scroll
  1688.   bars, etc. to be implemented simply and with standard methods.
  1689.  
  1690.   This interface should conform to the general PM specification as
  1691.   much as possible.  For example, Pressing ALT-SPACE in a full screen
  1692.   session should bring down a the equivalent of the toolbar menu for a
  1693.   windowed session, with functions to copy, paste, change settings, etc.
  1694.  
  1695.   Note that ALT rather than ALT-SPACE is currently used to bring down the
  1696.   toolbar menu for windowed sessions.  This is contrary to the ALT-SPACE
  1697.   used in PM, and should be changed to maintain conformity.
  1698.  
  1699. 12.2  SWITCHING FROM FULL SCREEN TO WINDOW MODE
  1700.  
  1701.   The same ALT-HOME functionality available to DOS software should be made
  1702.   available for OS/2 text applications.  There are features that a
  1703.   full screen shell can do that a windowed one can't - then again, with DOS
  1704.   shells, there are resolutions that can be handled in full screen mode
  1705.   that can't in windowed mode; OS/2 just says 'I can't do that' and pauses
  1706.   the window until it goes full screen again.  The same type of message
  1707.   could be given for text applications that try to do unsupportable actions
  1708.   while windowed.
  1709.  
  1710. 12.3  PM-STYLE COPY AND PASTE
  1711.  
  1712.   OS/2's current method for doing copy and paste's from a text session is
  1713.   very awkward.  A much simpler and more natural method should be used,
  1714.   namely the one implemented for PM applications.  The user simply selects
  1715.   the text they want to copy and then press the standard PM CTRL-INS to
  1716.   copy, and then SHIFT-INS to paste.  For windowed sessions, selecting the
  1717.   text could be done with a mouse.  For full screen sessions, the selection
  1718.   process could start from a "Mark" option in the title bar menu (invoked
  1719.   using ALT-SPACE); a mouse cursor could then be enabled for the user to
  1720.   select the text as with a windowed session.
  1721.  
  1722. 12.4  FULL ANSI X3.64 SUPPORT
  1723.  
  1724.   The complete ANSI X3.64 terminal specification should be available for
  1725.   text sessions.
  1726.  
  1727. 12.5  RESIZABLE SHELL WINDOWS
  1728.  
  1729.   Being limited to fixed resolutions (80x??) is an unnecessary limitation
  1730.   for shell windows.  They should be changed to be dynamically resizable -
  1731.   simply pull on the resizing borders to resize the screen.  During the
  1732.   process, the title bar could change to show the current resolution.
  1733.  
  1734. 12.6  RESIZABLE FONT
  1735.  
  1736.   Similar to having dynamically resizable shell window resolutions, there
  1737.   should be dynamically resizable font sizes.  The amount of text that could
  1738.   be shown a one time in the window remains constant, but the font size is
  1739.   changed (using the resize borders).  This should be an option in the
  1740.   titlebar menu and not default behaviour.
  1741.  
  1742. 12.7  ANY FONT USABLE
  1743.  
  1744.   Any font, be it bitmapped or an Adobe Type 1, should be available in shell
  1745.   windows.
  1746.  
  1747. 12.8  DRAG-AND-DROP FONTS CHANGES
  1748.  
  1749.   Instead of having to go in to the titlebar menu to change the font, the
  1750.   user should be able to drop any font from the Font Palette on to a shell
  1751.   window (be it DOS or OS/2).
  1752.  
  1753. 12.9  VIO FONT RESOLUTIONS
  1754.  
  1755.   There should be more VIO font resolutions, especially because more and
  1756.   more users are using higher resolution monitors and could benefit from
  1757.   bigger fonts.  A definite plus would be for the System VIO font to be
  1758.   turned in to a vector font so it could be scaled to the resolution the
  1759.   user desires.
  1760. ----------------------------------------------------------------------------
  1761. 13.0  COMMAND LINE SHELL
  1762.  
  1763. A huge number of users prefer using the command line over any other method
  1764. of controlling the system, and yet it has not significantly evolved over the
  1765. COMMAND.COM from DOS.  The following are wishes related to OS/2's shell
  1766. (CMD.EXE) designed to remedy this oversight.
  1767.  
  1768. 13.1  SCROLL-BACK BUFFER
  1769.  
  1770.   A scroll-back buffer of user-definable size should be available for all
  1771.   shells, be it full screen or windowed, DOS or OS/2.
  1772.  
  1773. 13.2  WILDCARD EXPANSION
  1774.  
  1775.   OS/2's current wildcard expansion scheme is not acceptable and needs
  1776.   to be changed.
  1777.  
  1778.   The command shell should, by default, provide limited wildcard expansion.
  1779.   Command names/executable names with wildcards would be fully expanded,
  1780.   but parameters would not be in order to preserve sanity with existing
  1781.   applications, ie:  'cop* \tmp\* .' would expand to 'copy \tmp\* .', or
  1782.   'my* hello' would expand to 'myexe hello'.
  1783.  
  1784.   As a option, the command shell should fully expand the entire command
  1785.   line.  Therefore, 'copy \tmp\* .' would expand to 'copy \tmp\1 \tmp\2
  1786.   \tmp\3 .'.  To permit this, the internal shell commands should be changed
  1787.   so as to take a list of files on the command line.  In the case of the
  1788.   copy command, the last file would be the target -- and to make sure the
  1789.   system has some degree of safety, the last file would have to be a
  1790.   directory if more than 2 files are listed on the command line.  Full
  1791.   wildcard expansion should be available as an environment variable, so
  1792.   that it can be enabled and disabled at will.  This will particularly
  1793.   benefit users using UNIX-style applications that work best with the
  1794.   UNIX shell-style command expansion.
  1795.  
  1796. 13.3  COMMAND ALIASES
  1797.  
  1798.   The OS/2 command shell (CMD.EXE) should support command aliases.  This
  1799.   allows users to alias a complex or cumbersome command with a short, simple
  1800.   name.  Aliases should be executed before any internal commands.
  1801.  
  1802. 13.4  JUMP-SCROLLING
  1803.  
  1804.   Windows currently scroll too slowly - jump-scrolling, whereby only what
  1805.   can be put to the screen in a reasonable amount of time is shown, would
  1806.   improve performance dramatically.
  1807.  
  1808. 13.5  NOTEBOOK SETTINGS
  1809.  
  1810.   The Notebook settings for a shell should include:
  1811.  
  1812.   - screen resolution
  1813.   - font and font size
  1814.   - CAPS LOCK and NUM LOCK settings
  1815.  
  1816.   This would allow shells to be individually customized depending on the
  1817.   needs of the user's applications.
  1818.  
  1819. 13.6  OVERWRITE WARNINGS
  1820.  
  1821.   When copying, moving or renaming files, OS/2 should give an overwrite
  1822.   warning if a file would be overwritten.  The user would have the option
  1823.   to allow the procedure to continue.  A command line switch ('/n', to
  1824.   retain compatibility with DEL's '/n' switch) would be used to turn off
  1825.   any warnings.
  1826.  
  1827. 13.7  DIR EXTENSIONS
  1828.  
  1829.   The DIR command should optionally:
  1830.     - show the .COMMENT extended attribute
  1831.     - show the number of HPFS extents used by a file
  1832.  
  1833. 13.8  VERBOSE COPY/MOVE/DEL
  1834.  
  1835.   The copy/move/del etc.  commands should, by default, show each file being
  1836.   processed.  An option to process quietly ('-q' perhaps) should be
  1837.   available for those not interested in seeing each file being processed.
  1838.  
  1839. 13.9  CDD TO CHANGE DRIVE WITH DIRECTORY
  1840.  
  1841.   In a shell, using 'CD' with a drive (ie:  'CD D:\MYDIR') changes the
  1842.   the current directory of the 'D:' drive to '\MYDIR', but does not move
  1843.   the user to 'D:'.  A new command to move the user to the new drive (for
  1844.   example, 'chddir' or 'cdd' for a short form) should be created to allow
  1845.   users to use the old method while allowing them to take advantage of the
  1846.   new one.
  1847.  
  1848. 13.10  COMMAND HISTORY
  1849.  
  1850.   Pressing 'PAGE UP' in a shell should print out the complete
  1851.   available command history.
  1852.  
  1853.   If the user uses the new 'PAGE UP' function or the 'UP' and 'DOWN'
  1854.   arrows when there is already a command partially entered on the command
  1855.   line, the shell should try to match the first part of the command with
  1856.   something in the history.  'PAGE UP' would show all items in the history
  1857.   that start with the partial command, and 'UP' and 'DOWN' would move to
  1858.   the next match.  Partially completed commands should be matched up to the
  1859.   current cursor position only.  If there are no matches, the system moves
  1860.   forward or backward as usual and 'PAGE UP' returns 'No Matches'.  In order
  1861.   to implement this feature, OS/2's shell will have to stop moving the
  1862.   cursor position to the end of the line after searching in the command
  1863.   history.
  1864.  
  1865. 13.11  ANSI KEY REMAPPING WITH COMMAND HISTORY ENABLED
  1866.  
  1867.   It is undesirable to have OS/2 only allow either ANSI key remapping or
  1868.   command history for shells.  This is an unnecessary limitation and should
  1869.   be removed -- however, it should only be available optionally, to protect
  1870.   the user from 'ANSI bombs'.
  1871.  
  1872. 13.12  FILE NAME COMPLETION
  1873.  
  1874.   Pressing 'TAB' while entering a path in a shell would try to perform
  1875.   'file name completion', that is, fully resolve the path.  The first 'TAB'
  1876.   would find the first match for the partial command; subsequent 'TAB's
  1877.   would cycle through the items that match, until it runs out of matches at
  1878.   which point it restarts at the beginning.  'SHIFT-TAB' would move
  1879.   backwards through the list of possible matches.
  1880.  
  1881. 13.13  FIX HANDLING OF '*' AND '.'
  1882.  
  1883.   The current handling of '*' and '.' in a shell are terribly outdated,
  1884.   being remnants of the old FAT file system.  The following is how they
  1885.   should be interpreted.
  1886.  
  1887.   '*' = select all files
  1888.   '*.' = select files ending in a '.'
  1889.   '.*' = select files starting with a '.'
  1890.   'myprog' = execute a program named 'myprog'
  1891.   'myprog.' = execute a program named 'myprog.'
  1892.  
  1893.   Not that it is not acceptable for '*' to equal '*.' and for a program
  1894.   named 'myprog' (no extension, as they are not required with free-form
  1895.   file names) to only run when it is started as 'myprog.'
  1896.  
  1897. 13.14  PLUG-AND-PLAY SHELL
  1898.  
  1899.   Implementing some of the proposed changes to the shell will no doubt cause
  1900.   third party vendors to worry (as they must provide the same level of
  1901.   functionality to make sales) and possibly users, who may be uncomfortable
  1902.   with the changes.  Thus, it is proposed that IBM turn CMD.EXE in to a
  1903.   bunch of DLLs, linked together through a single interface, CMD.EXE.  In
  1904.   effect, CMD.EXE would be just a dispatch system - sending out the work to
  1905.   DLLs.  This would allow users to make custom shells to suit their needs
  1906.   by plugging in different DLLs, and would allow shareware authors and
  1907.   commercial vendors to use IBM's technology as a stepping stone for their
  1908.   own products.
  1909.  
  1910. 13.15  SINGLE COMMAND LINE
  1911.  
  1912.   A single command line should be created to allow users to execute OS/2 and
  1913.   DOS software from the same command line.  A similar scheme as available
  1914.   right now for specifying DOS configuration could be used (as part of the
  1915.   shell options), and the extended attributes could hold specific
  1916.   configuration options for DOS applications.  This would also allow IBM to
  1917.   remove the entire set of DOS utilities as a DOS program could not tell
  1918.   whether an application was DOS or OS/2, allowing seamless integration of
  1919.   the two operating systems.
  1920.  
  1921. 13.16  MOVE ACROSS DEVICES
  1922.  
  1923.   The MOVE command should work across devices - this means it would have to
  1924.   do something like copy and then delete the files.  When MOVE is used on a
  1925.   directory, it should move the entire contents of the directory across to
  1926.   the destination drive.
  1927.  
  1928. 13.17  ENHANCE COPY
  1929.  
  1930.   The COPY command should be enhanced as follows:
  1931.  
  1932.   - there is no need to have both a COPY and XCOPY command when OS/2 can
  1933.     offer XCOPY functionality (copying huge chunks of files rather than many
  1934.     tiny parts).  If the shell commands are turned in to DLLs, a stub XCOPY
  1935.     could use the same code as the shell's COPY command.
  1936.   - multithread the copying process
  1937.   - optionally, the user should be prompted to change disks when there is
  1938.     not enough room to write a file on a disk
  1939.  
  1940. 13.18  SUBDIRECTORY RECURSION FOR FILE COMMANDS
  1941.  
  1942.   All file commands modification, such as 'DEL' and 'COPY' should
  1943.   have an option to recurse subdirectories.  The switch '-s'
  1944.   (subdirectories) is recommended for enabling the recursion option.
  1945.  
  1946. 13.19  DOS/WINDOWS SETTINGS
  1947.  
  1948.   The text shells should have the ability to set DOS and WinOS/2 settings
  1949.   without the need for the WPS.  This would allow a machine to be almost
  1950.   fully-functional without the need for Presentation Manager as the user
  1951.   could run full screen OS/2 applications in addition to full screen DOS and
  1952.   WinOS/2 sessions.
  1953.  
  1954. 13.20  WINDOW TITLE
  1955.  
  1956.   A shell's title should be more meaningful than the current 'OS/2 Window'.
  1957.   If no programs are running in the shell, the title should be the current
  1958.   current path.  If a program is running in the shell, the title would be
  1959.   name of the program.  This title would also be reflected in the Task List.
  1960.  
  1961. 13.21  START ENHANCEMENTS
  1962.  
  1963.   The following changes are requested to the START command:
  1964.  
  1965.   - all start types available via the API calls should be available; ie: add
  1966.     /VIEWER and /DESKTOP to minimize to either the Minimized Window Viewer
  1967.     or the Desktop
  1968. ----------------------------------------------------------------------------
  1969. 14.0  INSTALLATION
  1970.  
  1971. Installing OS/2 has been a horrible experience for many users; the following
  1972. suggestions are designed to simplify the install procedures and make sure
  1973. they work for everyone.
  1974.  
  1975. 14.1  SIMPLE, ROCK SOLID INSTALL PROCESS
  1976.  
  1977.   OS/2 has in the past had a reputation for a terrible install process.
  1978.   Whether many of the problems have been solved or not, the fact remains
  1979.   that many people still have problems, and even more people fear installing
  1980.   OS/2 in the first place because they have heard about the 'OS/2 Install
  1981.   Monster'.
  1982.  
  1983.   In addition to just installing the operating system, the install program
  1984.   should do some initial hardware testing and provide useful feedback to
  1985.   the user about what to do to correct any problems.  Things to be checked
  1986.   include:
  1987.  
  1988.     - cache memory (works or not)
  1989.     - change line in diskette drives
  1990.     - proper operation of the parallel port
  1991.  
  1992.   and anything else that could cause problems for OS/2 down the line.
  1993.  
  1994.   The text mode install program should contain stripped down versions
  1995.   of FDISK and FORMAT (perhaps in the form of DLLS) which would load and
  1996.   execute in the background while the user is reading installation notes.
  1997.  
  1998.   The PM part of the install should install the MMPM/2 and video drivers
  1999.   rather than forcing the user to install the MMPM/2 and extra video
  2000.   drivers after everything is installed.
  2001.  
  2002.   Even the dialogs used in the installation program must be simplified.
  2003.   Before doing anything, the user should be asked if they have ever
  2004.   installed OS/2.  If not, before anything else the user must be given a
  2005.   detailed description of how to use the system, what is going to happen,
  2006.   etc.
  2007.  
  2008.   Each of the prompts should have detailed descriptions of what is happening
  2009.   and how to respond to the prompt.
  2010.  
  2011. 14.2  RECOVERY FLOPPY/PARTITION
  2012.  
  2013.   OS/2 should allow the user to create a 'Recovery Disk', with only the code
  2014.   needed to get the particular installation of OS/2 up and running for
  2015.   correcting problems, replacing system files, etc.  This disk would
  2016.   include such utilities as CHKDSK and a text editor.  The user should be
  2017.   able to specify whether they want to make a recovery floppy or a recovery
  2018.   partition - the partition, in conjunction with Boot Manager, would allow
  2019.   a user to boot off hard drive to fix problems.  Either way, these options
  2020.   would allow the system to boot much quicker than using the 2 install
  2021.   disks.
  2022.  
  2023. 14.3  COMMON INSTALL/UNINSTALL PROGRAM
  2024.  
  2025.   A single, common install and uninstall program should come with OS/2 and
  2026.   IBM should insist that all 3rd party vendors make use of it.  This install
  2027.   program should even be used for the OS/2 installation.  This install
  2028.   program would use CID scripts to perform the installation and would allow
  2029.   administrators to create their own scripts.  The process for creating CID
  2030.   scripts would have to be documented to allow anyone to make their own
  2031.   scripts.  Installation scripts would be processed hierarchally and the
  2032.   granularity of packages should go down to individual programs, for
  2033.   example:
  2034.  
  2035.   - OS/2 Base System
  2036.      - Tools and Games
  2037.         - EPM
  2038.         - Chess
  2039.      - Multimedia
  2040.         - Software Motion Video
  2041.      - Video Drivers
  2042.  
  2043.   If, for example, the user chose to install the Software Motion Video
  2044.   drivers, the MMPM/2 would be installed if it was not already installed,
  2045.   while uninstalling Tools and Games would remove EPM, Chess and everything
  2046.   else in the package.
  2047.  
  2048.   The installation process should support SOM object registration and
  2049.   CONFIG.SYS updating.  Uninstalls should remove all traces of the program's
  2050.   existence, including entries in any system INI files (ie:  OS2.INI).
  2051.  
  2052. 14.4  PLUG AND PLAY ISA
  2053.  
  2054.   OS/2 should support the Plug and Play ISA specification by Microsoft and
  2055.   Intel to ensure simple installation and configuration of ISA bus cards.
  2056.  
  2057. 14.5  TEST IF USER IS VISUALLY IMPAIRED
  2058.  
  2059.   The OS/2 install program should ask the user if they are visually
  2060.   impaired, perhaps along with a simple colour test.  This would allow IBM
  2061.   to include one set of icons and schemes for the visually impaired and
  2062.   another set, a much more colourful one, for those who are not.
  2063.  
  2064. 14.6  NEAT TIPS, TRICKS AND OTHER INTERESTING INFORMATION
  2065.  
  2066.   During the installation process, little banners showing nifty tips, tricks
  2067.   and other interesting information should appear, giving the user not only
  2068.   something to watch during a lengthy installation, but practical knowledge
  2069.   about an often unfamiliar system.
  2070.  
  2071. 14.7  SEPARATE APPLICATIONS
  2072.  
  2073.   Putting every application/game that comes with OS/2 in the \OS2\APPS
  2074.   directory is not a great idea.  The programs should be put in their own
  2075.   directory, under the \OS2\APPS tree.
  2076.  
  2077. 14.8  CONFIGURE DURING THE INSTALL
  2078.  
  2079.   OS/2 is a multitasking operating system -- and so it should show off its
  2080.   multitasking abilities during the installation process.  When enough is
  2081.   installed, OS/2 should start asking about what colour scheme the user
  2082.   wants, etc.  Basically, run through the System Setup folder so that when
  2083.   the user reboots, the system is fully configured already.
  2084.  
  2085. 14.9  TEXT-BASED INSTALL
  2086.  
  2087.   The OS/2 install program doesn't need to be GUI based to be useful.  In
  2088.   fact, it would probably be much easier to install everything the user
  2089.   wants from a text install program and then boot OS/2 graphically.  This
  2090.   would allow, for example, OS/2 to be booted in high-res mode the first
  2091.   time, etc.
  2092. ----------------------------------------------------------------------------
  2093. 15.0  SYSTEM CONFIGURATION
  2094.  
  2095. The CONFIG.SYS can be a mortal enemy for some users.  It is difficult to
  2096. update and often a little frightening to the novice user.  The following are
  2097. recommendations designed to solve that.
  2098.  
  2099. 15.1  DISTRIBUTE THE CONFIG.SYS
  2100.  
  2101.   The CONFIG.SYS is a huge and enormously complex file, but it doesn't have
  2102.   to be.  The first step to simplifying the CONFIG.SYS is by splitting it up
  2103.   in to its main parts -- OS/2 drivers, OS/2 environment variables and DOS
  2104.   drivers and settings.
  2105.  
  2106.   To maintain compatibility with DOS, the DOS configuration file would be
  2107.   called CONFIG.SYS.  This is because many DOS packages attack OS/2's
  2108.   configuration file, which can cause problems for the user.  The CONFIG.SYS
  2109.   would only be accessed when a DOS session is started.
  2110.  
  2111.   OS/2's device driver file would be called CONFIG.OS2.  This file would be
  2112.   referenced during the boot process.
  2113.  
  2114.   A PROFILE.CMD would hold the environment variables.  It would be
  2115.   referenced each time a program is executed to provide the program's
  2116.   environment.  This would allow users to change items like the system path
  2117.   without needing to reboot; the user would simply have to close the window
  2118.   they are running in and open it again to get the updated environment.
  2119.  
  2120. 15.2  TURN OS/2 SETTINGS INTO ENVIRONMENT VARIABLES
  2121.  
  2122.   The LIBPATH, AUTOFAIL, etc.  should be turned in to environment variables
  2123.   so they can be changed on-the-fly by the user.  Any system variables that
  2124.   can not be turned in to environment variables should be evaluated for
  2125.   usefulness -- for example, the THREADS setting (which defines the
  2126.   maximum number of threads in the system) would not be a good candidate;
  2127.   however, should there be a maximum number of threads in the first place?
  2128.  
  2129. 15.3  MULTIPLE-LINE CONFIG.SYS ENTRIES
  2130.  
  2131.   CONFIG.SYS entries should be allowed to span multiple lines to enhance
  2132.   readability and ease of editing the CONFIG.SYS with editors that can not
  2133.   handle the long lines.  Entries that span multiple lines could, for
  2134.   example, be enclosed in double quotes ("") or the end of a line could be
  2135.   delimited with two pipes (||).
  2136.  
  2137. 15.4  DRIVER CONFIGURATION DATABASE
  2138.  
  2139.   A database-based tool for configuring device drivers could be created to
  2140.   simplify their management.  The database would contain information on what
  2141.   switches exist, what they do, which drivers must be loaded before this
  2142.   driver can be loaded, examples of use, etc.  A GUI utility would use this
  2143.   database to help the user edit the CONFIG.SYS.
  2144.  
  2145. 15.5  MULTIPLE CONFIGURATIONS
  2146.  
  2147.   Like DOS, OS/2 should support multiple configurations.  However, OS/2's
  2148.   multiple configuration support must be much simpler than DOS's.  One
  2149.   method of ensuring simplicity would be to look for files named CONFIG*.*
  2150.   in the root directory of the boot drive.  OS/2 would show a menu of all
  2151.   the CONFIG*.* files during boot up, with the default being CONFIG.SYS.
  2152.   The user can then select which configuration to start.
  2153.  
  2154. 15.6  LAST KNOWN GOOD CONFIGURATION
  2155.  
  2156.   During each boot, OS/2 should make a copy of the CONFIG.SYS.  If the
  2157.   configuration makes it through the shutdown procedure, it would become the
  2158.   'Last Known Good Configuration'.  During boot up, the user could hit a key
  2159.   combination to switch to the last known good configuration instead of the
  2160.   regular CONFIG.SYS.
  2161.  
  2162. 15.7  GET RID OF THE CONFIG.SYS
  2163.  
  2164.   Of course, the real solution is to replace the CONFIG.SYS all together.
  2165.  
  2166.   A folder called \STARTUP would be used to store the device drivers,
  2167.   installable file systems and programs that would normally be started from
  2168.   the CONFIG.SYS.  There would be various possible times the driver
  2169.   could be loaded - for example, base-level support for hard drive
  2170.   controllers etc.  would be loaded very early in the boot process while
  2171.   things like extra file systems would be started later on.  The extended
  2172.   attributes for each file would contain the setting for when the driver
  2173.   would be started.  The extended attributes would also contain any
  2174.   necessary command line options.
  2175.  
  2176.   This directory would be managed by a WPS configuration object that would
  2177.   allow users to do drag-and-drop configuration and set the boot order and
  2178.   command line options for each program to be started.
  2179.  
  2180.   The WPS configuration object would be supplemented by a text configuration
  2181.   program to allow the user to change their configuration when booted
  2182.   off floppy.
  2183.  
  2184. 15.8  EXE PATH SEARCHED BEFORE LIBPATH
  2185.  
  2186.   The path an executable is run from should be searched before the libpath
  2187.   for DLLS.  This would allow:
  2188.  
  2189.   - DLLS located in the same directory as their EXEs would not require their
  2190.     own statement in the LIBPATH
  2191.   - programs would often run immediately after installation because their
  2192.     installation would not necessarily require the LIBPATH to be changed
  2193.   - multiple versions of a program could be simultaneously installed without
  2194.     a LIBPATH conflict
  2195.  
  2196. 15.9  ENVIRONMENT VARIABLE SUBSTITUTION IN CONFIG.SYS
  2197.  
  2198.   It should be possible to use environment variable substitution in the
  2199.   CONFIG.SYS, to do things such as:
  2200.  
  2201.   SET PROGRAMDIR=D:\PROGRAM
  2202.   SET PROGRAMFILE=%PROGRAMDIR%\MYFILE
  2203.  
  2204.   After substitution, 'PROGRAMFILE' would contain 'D:\PROGRAM\MYFILE'.
  2205. ---------------------------------------------------------------------------
  2206. 16.0  MULTIMEDIA
  2207.  
  2208. One of OS/2's best features is the MMPM/2; the following are suggestions for
  2209. making it even better.
  2210.  
  2211. 16.1  LOOP FEATURE
  2212.  
  2213.   A feature to continuously loop a video clip or sound file (MIDI or Digital
  2214.   Audio) should be provided.
  2215.  
  2216. 16.2  VIDEOS TO BE UPDATED
  2217.  
  2218.   Each full release of OS/2 should come with a totally new set of videos.
  2219.   They should emphasize human interaction, wild technology and something
  2220.   that could be used as an in-store demo (an introduction to OS/2, perhaps)
  2221.   or something that uses the word 'OS/2' in a way that makes the user think
  2222.   about it.
  2223.  
  2224. 16.3  VIDEO FORMATS
  2225.  
  2226.   Support for the following additional formats should be provided by the
  2227.   Software Motion Video extension:
  2228.  
  2229.   - FLI
  2230.   - FLC
  2231.   - Indeo 3
  2232.   - MPEG-I
  2233.   - MPEG-II (when finalized)
  2234.   - QuickTime
  2235.   - Video for Windows 1.0 AVI
  2236.   - Video for Windows 2
  2237.  
  2238. 16.4  AUDIO FORMATS
  2239.  
  2240.   Support for the following additional formats should be provided by Digital
  2241.   Audio player:
  2242.  
  2243.   - AIFF
  2244.   - AU
  2245.   - IFF
  2246.   - RAW
  2247.   - SND
  2248.   - VOC
  2249.   - Compressed WAV
  2250.  
  2251. 16.5  GRAPHICS FORMATS
  2252.  
  2253.   BMP format is fine for OS/2, but in the outside world there are lots of
  2254.   formats to contend with.  Support for viewing and converting the following
  2255.   formats is requested:
  2256.  
  2257.   - GIF
  2258.   - IFF
  2259.   - ILBM
  2260.   - JPEG
  2261.   - PCX
  2262.   - TARGA
  2263.   - TIFF
  2264.  
  2265. 16.6  MUSIC FORMAT
  2266.  
  2267.   OS/2 should support some kind of standard music format, like a MOD.  The
  2268.   problem with supporting MOD format is that there are so many versions out
  2269.   there, and all of them are very obscure and are impossible to find
  2270.   information on.
  2271.  
  2272.   To get around this, IBM would design a standard music format.  The
  2273.   standard General MIDI format would be used as a base.  In fact, the first
  2274.   part of a file would be exactly the same as a General MIDI file.  At the
  2275.   end would be the samples, in WAV format.  This would allow a few things:
  2276.   IBM could create a music format using standard formats and the files could
  2277.   be created using MIDI authoring software with the samples attached
  2278.   afterwards using a separate program.  Conversion utilities could be
  2279.   written to convert between this format and the various MOD formats.
  2280.  
  2281. 16.7  DSP SUPPORT
  2282.  
  2283.   Support for DSP boards, such as the IBM MWave, should be added to the
  2284.   MMPM/2 to off-load the CPU from such tasks as graphics manipulation,
  2285.   voice recognition, text-to-speech, audio compression and video playback.
  2286.  
  2287. 16.8  MPU-401 SUPPORT
  2288.  
  2289.   The MPU-401 is the standard for MIDI interfaces, yet it is not supported
  2290.   by the MMPM/2.  MPU-401 support is essential for those who with to use
  2291.   OS/2 as a music creation platform and support must be provided for these
  2292.   users.
  2293.  
  2294. 16.9  FILE FORMAT SUPPORT VIA DLL
  2295.  
  2296.   Multimedia file format support should be implemented using DLLs.  This
  2297.   would allow programmers to easily support new formats by creating DLLs to
  2298.   handle them.
  2299. ----------------------------------------------------------------------------
  2300. 17.0  DOS
  2301.  
  2302. One of the benefits of OS/2 over any other operating system is its ability
  2303. to run both existing applications as well as the newer, faster and more
  2304. functional OS/2 ones.  The following are suggestions to keep OS/2's DOS
  2305. support on the cutting edge.
  2306.  
  2307. 17.1  UPDATE DOS CODE
  2308.  
  2309.   OS/2's DOS code should updated to IBM DOS 6.1 or higher and should include
  2310.   full DPMI 1.0 support.
  2311.  
  2312. 17.2  LONG FILE NAMES IN DOS (IBM DOS AND OS/2 DOS)
  2313.  
  2314.   The main problem is not that OS/2 does not support long file names in DOS,
  2315.   but that DOS does not support long file names at all!  All but the
  2316.   directory listing functions in DOS could use long file names, given a
  2317.   file system that could handle them.
  2318.  
  2319.   The FINDFIRST and FINDNEXT calls (INT 21, AH=4E and AH=4F) could take
  2320.   in CX an attribute bit for long file names.  A register, say BX, could
  2321.   tell how much room for the file name is in the DTA.
  2322.  
  2323.   COMMAND.COM should be changed to list these long file names with a special
  2324.   command-line switch, say /al (for attribute long).  Allowing long
  2325.   file names should not be a default option because many DOS programs refuse
  2326.   to handle them, and non-technical users would not understand why.  If the
  2327.   same support is put in to the next IBM DOS, DOS programmers are sure to
  2328.   start using it, and finally DOS will be more or less 'free' from 8.3
  2329.   file names.
  2330.  
  2331.   In the meantime, something has to be done about OS/2 only showing 8.3
  2332.   file names in DOS and WinOS/2 sessions.  This is an extreme problem for
  2333.   those with HPFS drives and a desire to use them to their full potential.
  2334.  
  2335. 17.3  SVGA IN DOS WINDOWS
  2336.  
  2337.   OS/2 needs better SVGA support for DOS window sessions.  All resolutions
  2338.   supported by a card should be available for windows.  As long as a window
  2339.   would not cover more area than available on the desktop it should be shown
  2340.   (or perhaps a method for 'squishing' the windows to make them fit on the
  2341.   desktop could be developed).
  2342.  
  2343. 17.4  DOS WILDCARD EXPANSION
  2344.  
  2345.   DOS wildcard expansion should be changed to act exactly as in IBM DOS 6.1.
  2346.  
  2347. 17.5  EXTENDED ATTRIBUTES TO STORE DOS CONFIG INFO
  2348.  
  2349.   The extended attributes would store a list of device drivers and
  2350.   environment settings (like EMS, XMS, priorities, etc.) for a DOS program,
  2351.   so that any time the program is run it's specific configuration is
  2352.   enabled.  This moves the dependance on configuration information from the
  2353.   shell to the application, where it belongs in the first place.
  2354.  
  2355. 17.6  DRAG-AND-DROP DOS SETTINGS
  2356.  
  2357.   It should be possible to drag the DOS settings from one program to
  2358.   another.  This would greatly simplify the configuration of DOS programs.
  2359.  
  2360. 17.7  DOS-RELATED FILES TOO INTRUSIVE
  2361.  
  2362.   Move all DOS-related files to the \OS2\MDOS directory, like AUTOEXEC.BAT,
  2363.   etc.  so that they do not clutter up the root directory.
  2364.  
  2365. 17.8  WRITE HPFS FOR DOS
  2366.  
  2367.   An HPFS device driver should be written to allow DOS users to migrate
  2368.   their systems to HPFS while still maintaining full DOS compatibility.
  2369.   While it is recognized that pretty well everyone should be using HPFS,
  2370.   a large amount of the OS/2 population does not because, should they
  2371.   move to HPFS, they would loose access to their DATA through DOS, an
  2372.   environment that they will probably have to continue using even after
  2373.   they install OS/2.  The OS/2 Install program should offer to install
  2374.   the driver in to an existing DOS CONFIG.SYS, when applicable.
  2375.  
  2376. 17.9  SIMPLER DOS SETTINGS
  2377.  
  2378.   For the uninitiated, the DOS settings are a beast.  The DOS settings
  2379.   window should be re-designed to the following specifications:
  2380.  
  2381.   The settings should be divided in to groups - memory , video, keyboard,
  2382.   DOS settings, multitasking, printer, etc.  to make it easy to find a
  2383.   particular setting even if you do not know the exact name.  The groups
  2384.   would be accessed by a pull-down menu at the top of the window.
  2385.  
  2386.   Next to the group pull-down menu would be a pull-down menu for the
  2387.   individual settings.  Instead of a cryptic setting name, all names should
  2388.   be in plain language (ie:  instead of 'KBD_CTRL_BYPASS', say 'Turn Off
  2389.   Control-Escape').
  2390.  
  2391.   Below would be a window saying why you should use this setting.  For
  2392.   example, for 'Turn Off Control-Escape' it would say 'If your application
  2393.   uses Control-Escape for something special, you should turn this setting
  2394.   ON.  Otherwise, leave it OFF.'.
  2395.  
  2396.   Below the description and to the left would be the actual setting.  This
  2397.   could either be done using radio buttons, a slider or an entry field.
  2398.   The user should never have to type in formatted data, as in the case of
  2399.   the current DOS_VERSION setting, where the user has to type in a cryptic
  2400.   statement in order to get the thing to work.
  2401.  
  2402.   Below the description and to the right would be instructions on how to
  2403.   set the setting.  For example, for 'Turn Off Control-Escape' it would
  2404.   say 'Click the radio button labeled 'ON' to turn on or the button labeled
  2405.   'OFF' to turn off'.
  2406.  
  2407. 17.10  BLOCK DEVICE DRIVERS
  2408.  
  2409.   OS/2's DOS should allow the user to load block device drivers.  This would
  2410.   allow the user to load such things as a CD-ROM driver for a unit not
  2411.   supported by OS/2 without having to use a specific DOS version.
  2412.  
  2413. 17.11  DIRECT ACCESS TO HARDWARE
  2414.  
  2415.   OS/2 currently gives DOS programs almost total access to hardware or
  2416.   no access at all (PROTECTONLY=YES).  There should be a middle ground -
  2417.   like OS/2 1.3 had.  DOS applications could run, but not touch the
  2418.   hardware.  NT has a similar scheme, where programs can only talk to the
  2419.   hardware if a virtual device driver for that device exists.  This would
  2420.   perhaps cause some overhead, but would bring much more stability to the
  2421.   operating system.
  2422.  
  2423.   To be a little better than the rest, this option should be definable on
  2424.   a per-DOS object basis.
  2425.  
  2426. 17.18  EXIT FROM SPECIFIC DOS SESSION
  2427.  
  2428.   A user should be able to type 'EXIT' to end a specific DOS version
  2429.   session, rather than having to close the window manually or run 'EXITVDM'
  2430.  
  2431. 17.19  DESQVIEW TIME SLICES
  2432.  
  2433.   OS/2 currently supports Windows-aware programs that can give up time
  2434.   slices, but does not support DesqView aware programs.  This support should
  2435.   be added.
  2436.  
  2437. 17.20  SLOW DOWN DOS SESSION
  2438.  
  2439.   There should be an option in the settings notebook to slow down DOS
  2440.   sessions. This would allow, for example, old games whose timing depends
  2441.   on processor speed to run on newer, faster processors.  A slider could
  2442.   determine what percentage of a normal time slice the DOS session would
  2443.   receive, for example a setting of 42% would mean the DOS session would
  2444.   only receive 42% of its normal share of time slices.
  2445. ----------------------------------------------------------------------------
  2446. 18.0  WINDOWS
  2447.  
  2448. Everyone said IBM could never get Windows to run under OS/2, and yet they
  2449. did and it runs amazingly well under most configurations.  To enhance IBM's
  2450. support for Windows, the following wishes were made.
  2451.  
  2452. 18.1  WIN32S SUPPORT
  2453.  
  2454.   Win32s support should be included as part of the base system to allow
  2455.   users to run such applications as MathCad 4.0.  This also means full VXD
  2456.   support should be available.
  2457.  
  2458. 18.2  FULL SCREEN DRIVER INSTALL
  2459.  
  2460.   Provide an easy way to change the Win-OS/2 FS device drivers to
  2461.   the manufacturers accelerated ones.  One of the biggest problems
  2462.   with Win-OS/2 is the slow FS performance.  This turns off many
  2463.   people moving from Windows.  Including the video card manufacturers
  2464.   accelerated drivers with an option to install them as the FS ones
  2465.   would help improve this perception.
  2466.  
  2467. 18.3  OS/2 FOR WINDOWS SUPPORT IN STANDARD OS/2
  2468.  
  2469.   The standard OS/2 distribution should be able to perform the same magic
  2470.   that OS/2 for Windows can when it comes to starting Windows.  This means
  2471.   that a user should be able to use the Windows already on their drive
  2472.   instead of having to install WinOS/2 - even if the user bought the
  2473.   standard OS/2.
  2474.  
  2475. 18.4  WINDOWS FOR WORKGROUPS 3.11
  2476.  
  2477.   IBM should support the enhancements brought by Windows for Workgroups
  2478.   3.11, such as the enhanced file system routines.  While it is debatable as
  2479.   to the need for full Windows for Workgroups support (meaning the
  2480.   networking functionality), the user should be able to run Windows for
  2481.   Workgroups using OS/2 for Windows' Windows technology.
  2482.  
  2483. 18.5  WABI-STYLE WINDOWS SUPPORT
  2484.  
  2485.   The future of Windows support is looking a bit grim as IBM will no longer
  2486.   get source code to any new additions to Windows.  Therefore, it should
  2487.   look to porting the Windows APIs to OS/2 APIs - in effect, giving OS/2 its
  2488.   own version of Wabi.  This would reduce the disk requirements as a full
  2489.   Windows install would not be required and would be faster and more
  2490.   efficient that loading up a full copy of Windows.
  2491.  
  2492. 18.6  SYSTEM RESOURCES
  2493.  
  2494.   OS/2 is fully capable of providing unlimited system resources; the same
  2495.   should go for OS/2's Windows support, as it was done in Windows NT.
  2496.  
  2497. 18.7  WINOS/2 FULL SCREEN
  2498.  
  2499.   Currently, when a full screen WinOS/2 session is started, OS/2 first
  2500.   starts a DOS session in text mode, then switches back to graphic mode
  2501.   again.  For people whose monitors have terrible syncing problems, it can
  2502.   be a real annoyance as the monitor will lose sync during the switch to
  2503.   text mode, and again from text mode to graphic mode.  If possible, there
  2504.   should be a way to skip the text mode altogether and only change the
  2505.   screen mode if required by the Windows drivers.
  2506. ----------------------------------------------------------------------------
  2507. 19.0  REXX
  2508.  
  2509. REXX is one of the greatest features of OS/2 because of its simple way of
  2510. allowing any user to write very powerful programs.  The following are
  2511. suggestions to make a good thing even better.
  2512.  
  2513. 19.1  INTEGRATION OF REXX QUEUES WITH API QUEUES
  2514.  
  2515.   Why must there be two separate queues in OS/2 - the system queues invoked
  2516.   using the API calls and the REXX queues?  Would it not make more sense to
  2517.   have both use the same queues?  The transmission between the API calls and
  2518.   REXX could be done using shared memory which is freed after the element is
  2519.   taken off the queue.  All that would be passed through the queue would be
  2520.   the address to the shared memory segment.  This would not only remove the
  2521.   confusion as to why there are two separate queues, but would allow the
  2522.   user to create very powerful yet simple software with REXX-based clients
  2523.   talking to a C-based server using queues.
  2524.  
  2525. 19.2  INTEGRATION OF THE WPS AND REXX
  2526.  
  2527.   The ability to query and control objects is greatly needed in REXX.  This
  2528.   means passing data to and from an object, as well as doing things like
  2529.   instantiating objects (for example, opening a WPS folder).  Being able to
  2530.   query objects would make it much easier to document and compare object
  2531.   settings.
  2532.  
  2533.   REXX also needs much better INI control - the current INI management
  2534.   routines are extremely slow.
  2535.  
  2536. 19.3  PROCESS CONTROL AND SHUTDOWN FUNCTIONS
  2537.  
  2538.   REXX should have commands to allow process control (starting new tasks,
  2539.   killing tasks, setting process priority) as well as a command to shutdown
  2540.   the system.
  2541. ----------------------------------------------------------------------------
  2542. 20.0  UTILITIES
  2543.  
  2544. The following are suggestions for changes to existing OS/2 utilities and
  2545. suggestions for new ones.
  2546.  
  2547. 20.1  WORKPLACE SHELL BACKUP/RESTORE
  2548.  
  2549.   There needs to be a way to backup and restore the Workplace Shell setup,
  2550.   including things like the desktop and object settings.  Possibly this
  2551.   could be achieved most easily through the movement of desktop information
  2552.   from the INI files to the file system where they can be easily backed up
  2553.   using any backup software.
  2554.  
  2555. 20.2  PROCESS PRIORITY CONTROL
  2556.  
  2557.   Command line utilities for setting process priority should be available.
  2558.  
  2559. 20.3  LIST/KILL PROCESS COMMANDS
  2560.  
  2561.   As part of the base operating system, a command to kill processes must be
  2562.   provided.  There must be some means to kill off a program that has gone
  2563.   awry quickly and simply.  In addition, to become useful to the average
  2564.   user, 'pstat' must be simplified.  It is recommended that, by default,
  2565.   'pstat' should show only the base amount of information (ie:  PID of the
  2566.   main thread and the program command line).
  2567.  
  2568. 20.4  SHUTDOWN UTILITY
  2569.  
  2570.   There must be a utility to shutdown from the command line.  By default,
  2571.   it should ask to confirm whether to shutdown the machine or not, but there
  2572.   should be a command line option to unconditionally shutdown.  In addition,
  2573.   it should have the ability to reboot the machine automatically at the end
  2574.   of a shutdown.  This could then be called by remote users (say, on a
  2575.   network) who could reboot a troubled machine without having to go down to
  2576.   the system.
  2577.  
  2578. 20.5  DEFRAGMENTATION UTILITY
  2579.  
  2580.   It is unacceptable to have to boot DOS in order to defragment a FAT
  2581.   partition - especially when many DOS defrag utilities mutilate extended
  2582.   attributes.  A defrag utility for HPFS would be good as well.
  2583.  
  2584. 20.6  SYNC UP DOS AND OS/2 FUNCTIONALITY
  2585.  
  2586.   All command-line utilities, such as DIR and FORMAT, should have the same
  2587.   functionality as those included with IBM DOS 6.1.  This means the same
  2588.   command line options and the same behaviour (for example, COPY should ask
  2589.   before overwriting an existing file, FORMAT should be able to QuickFormat,
  2590.   etc.) Whether OS/2's way of doing things or DOS's way of doing this is
  2591.   chosen, they should both be the same for compatibility and consistency
  2592.   across platforms.
  2593.  
  2594. 20.7  RESOURCE OWNERSHIP VIEWER
  2595.  
  2596.   There should be a utility to show the program and process ID of the owner
  2597.   of a particular system resource, be it a pipe, queue, device, file, drive
  2598.   or any other system resource.  For example, assuming the program was
  2599.   called 'OWNER.EXE', the user could type 'OWNER \PIPE\MYPIPE' and find out
  2600.   that it is owned by 'MYPROGRAM' running at PID 135, along with any other
  2601.   useful information.
  2602.  
  2603. 20.8  MIGRATION DATABASE MAINTENANCE
  2604.  
  2605.   Included in the Migrate program should be a method for updating the
  2606.   database to change settings as well as adding and deleting programs.
  2607.  
  2608. 20.9  'MORE' UTILITY
  2609.  
  2610.   The OS/2 'more' utility is showing its age and should be replaced with a
  2611.   faster and more feature-packed version.  It should be able to get a
  2612.   file name to read from the command line (ie:  you should be able to type
  2613.   'more myfile'), it should NEVER scroll when showing a full page (should
  2614.   clear the screen and show the full page), should have forward and backward
  2615.   movement using 'UP' and 'DOWN' arrows for moving single lines and 'PAGE
  2616.   UP' and 'PAGE DOWN' for moving entire pages.  'SPACE' would move forward 1
  2617.   page, 'RETURN' would move forward 1 line.  It must have some kind of
  2618.   search capabilities.
  2619.  
  2620. 20.10  TEXT-MODE EDITOR
  2621.  
  2622.   A text editor that can be used when booting from floppies must be included
  2623.   for emergency measures.  I recommend using the same editor that comes with
  2624.   IBM DOS 6.1 which is based on TinyEd, an IBM EWS product.
  2625.  
  2626. 20.11  PROGRAM SCHEDULER
  2627.  
  2628.   Include a program to schedule programs to start at different times during
  2629.   the day, allowing support for starting programs at any minute, hour, day
  2630.   of the week, day of the month and month.  While it is understood that the
  2631.   ALARM applet can do it, ALARM is not really designed as a task scheduler,
  2632.   and furthermore is probably overlooked by many users because it is quirky
  2633.   to use.
  2634.  
  2635. 20.12  MIGRATE DATABASE DISTRIBUTION
  2636.  
  2637.   Assuming IBM periodically updates the migration database (which it should
  2638.   if it does not right now), it should be posted to the IBM BBS as well as
  2639.   to the Internet regularly.
  2640.  
  2641. 20.13  FDISK ENHANCEMENTS
  2642.  
  2643.   The following enhancements are requested to FDISK:
  2644.  
  2645.   - changing drive tables should not require a reboot.  Any drive that is no
  2646.     longer available should simply disappear, leaving other drives available
  2647.     for use.
  2648.   - non-destructive partition management.  It should be possible to resize
  2649.     partitions without having to re-format.  The defragmentation utility
  2650.     could be used to move files closer to the beginning of a partition to
  2651.     allow for room for the expanded partition.  If enough room can not be
  2652.     made, the user would be asked to delete files to make room, or to
  2653.     destroy the contents of the partition.
  2654.  
  2655. 20.14  ATTRIB FOR DIRECTORIES
  2656.  
  2657.   ATTRIB should work on directories in addition to files.
  2658.  
  2659. 20.15  MIGRATE UTILITY TO REMEMBER WHAT HAS BEEN MIGRATED
  2660.  
  2661.   The Migrate utility should remember what it has migrated and by default
  2662.   not show any applications that have already been migrated in the lists of
  2663.   found applications.  An option to 'Show All' would allow the user to
  2664.   select programs that have been installed before.
  2665.  
  2666. 20.16  PM DISKCOPY
  2667.  
  2668.   There should be a PM version of DISKCOPY included with OS/2.  When
  2669.   introduced, it would replace the text DISKCOPY as the 'Copy Disk' command
  2670.   on in the Drives object in the WPS.
  2671.  
  2672. 20.17  CRC CALCULATOR
  2673.  
  2674.   OS/2 should ship with a CRC calculator program.  This would be used to
  2675.   compare the CRCs of system files (and possibly user-defined files) from
  2676.   a database it would contain to make sure they have not been damaged.  This
  2677.   program could be configured to run on bootup.
  2678.  
  2679. 20.18  FONT CONVERTER
  2680.  
  2681.   There are many different font formats, but as far as the OS/2 user is
  2682.   concerned, the "one true format" is Adobe Type 1.  Unfortunately, the rest
  2683.   of the world does not necessarily feel that way.  To help resolve this
  2684.   problem, a font converter, supporting atleast TrueType to Adobe Type 1
  2685.   and Windows Type 1 to OS/2 Type 1 conversions, should ship with OS/2.
  2686.  
  2687. 20.19  STANDARD ARCHIVER
  2688.  
  2689.   OS/2 should come with a standard compression/decompression suite, as is
  2690.   the case with UNIX. This suite would include a program to back up files
  2691.   (like 'tar') and a program to compress (like 'compress').  This suite
  2692.   would be available on all the platforms that IBM currently supports, and
  2693.   must support the special characteristics of the file systems of differing
  2694.   operating systems, such as OS/2's extended attributes.
  2695. ----------------------------------------------------------------------------
  2696. 21.0  APPLETS
  2697.  
  2698. OS/2's applets should be one of the highlights of the operating system, and
  2699. yet they are rarely used.  To remedy this problem, the following wishes
  2700. should be taken in to consideration.
  2701.  
  2702. 21.1  PRODUCTIVITY FOLDER
  2703.  
  2704.   The productivity folder should not only be made up of useful applications,
  2705.   but should also be a reflection of what OS/2 is capable of.  They should
  2706.   be technology statements.  This means that the applications should be
  2707.   usable, should be SOM-based, support standards like OpenDoc when
  2708.   applicable, etc.  They are often the first exposure a user has to OS/2
  2709.   applications, and IBM should do everything possible to make sure it is a
  2710.   positive first step.
  2711.  
  2712. 21.2  BASE WORD PROCESSING
  2713.  
  2714.   A small word processor should be included with the operating system.  It
  2715.   would have to support things like multiple fonts, bold, underline,
  2716.   page breaks, alignment, etc. This might be a good way to show off OpenDoc.
  2717.  
  2718. 21.3  REPLACE SOFTERM
  2719.  
  2720.   Softerm is an eyesore.  It is impossible to use and less than functional.
  2721.   It should be replaced.  Like the other productivity software, Softerm's
  2722.   replacement must show off the features of OS/2 -- meaning SOM support.  It
  2723.   must support all the popular file transfer protocols including Zmodem,
  2724.   and must have very accurate terminal emulations.
  2725.  
  2726. 21.4  E SHOULD NOT ASK FOR A FILE TYPE
  2727.  
  2728.   It is a major annoyance to be asked for every file you edit for the file
  2729.   type.
  2730.  
  2731. 21.5  ICON EDITOR
  2732.  
  2733.   The Icon Editor needs a real overhaul.  It is very difficult to use
  2734.   (especially for multi-mode colour icons) and is full of bugs.  For
  2735.   example:
  2736.  
  2737.   - it always defaults to version 1.2 icons instead of 2.0, even when you
  2738.     save the icon as version 2.0
  2739.   - you can have 256 colour icons stored as EGA type - impossible!
  2740.   - if you close without saving, it asks you if you want to save - even if
  2741.     say yes, the icon does not get saved
  2742.   - one user reports the icons keep going black and white on him
  2743.  
  2744.   In addition, the following changes should be made:
  2745.  
  2746.   - rearrange the menus so that it is easy to switch between different icon
  2747.     formats
  2748.   - a control should indicate which icon format is being edited and should
  2749.     allow quick switching between views
  2750.   - use a different term for 'device' - 'image' for example.  'Device' is
  2751.     much too obscure.
  2752.  
  2753. 21.6  PULSE METER
  2754.  
  2755.   The Pulse Meter is not terribly helpful.  It should be replaced with a
  2756.   true system performance meter, showing memory usage, CPU usage, I/O usage,
  2757.   etc.  all on a general system level as well as a per-application level.
  2758.  
  2759. 21.7  FILE MANAGER
  2760.  
  2761.   While the Workplace Shell already has perfectly acceptable file management
  2762.   capabilities, many users are uncomfortable working with the Drive objects,
  2763.   and as such IBM should bring back the OS/2 1.3 File Manager.  This would
  2764.   also allow the user to manage their drives with an easy to use PM program
  2765.   even if they are not running the WPS.
  2766.  
  2767. 21.8  MOUSE POINTER EDITOR
  2768.  
  2769.   OS/2 should have a mouse pointer editor.  The editor would allow the user
  2770.   to create their own pointers, or use one of a few samples, and assign that
  2771.   pointer as the standard pointer.  There should be an option to return back
  2772.   to the standard pointer.  This pointer editor should also be able to
  2773.   change the pointers for special system events, such as the alarm clock
  2774.   that appears when the system is busy.
  2775. ----------------------------------------------------------------------------
  2776. 22.0  HELP SYSTEM
  2777.  
  2778.   When in trouble, the on-line help system is usually the only place to
  2779.   turn, so it should be easy to use and intuitive to use and reasonably well
  2780.   featured.  Unfortunately this isn't necessarily the case.  The following
  2781.   are suggestions on how to correct this.
  2782.  
  2783. 22.1  ASSOCIATE VIEW.EXE WITH INF FILES
  2784.  
  2785.   Associating VIEW.EXE with INF files will make starting INF files from the
  2786.   WPS much easier for the user.
  2787.  
  2788. 22.2  SEARCH FEATURE SHOULD FIND PARTIAL MATCHES
  2789.  
  2790.   Searching for complete words can be a trial-and-error game if you don't
  2791.   know exactly what you are looking for.
  2792.  
  2793. 22.3  PM-STYLE COPY FROM VIEW.EXE
  2794.  
  2795.   It should be possible to just mark and copy from a INF file using the same
  2796.   PM-style methods as everywhere else, meaning the user should be able to
  2797.   drag to highlight an area and then use CTRL-INS to copy.
  2798.  
  2799. 22.4  INF FORMAT TO TEXT CONVERSION
  2800.  
  2801.   It should be possible to turn a partial or entire INF in to a text file.
  2802.  
  2803. 22.5  PRINTER SELECTION OPTION IN VIEW.EXE
  2804.  
  2805.   It should be possible to select alternate printers from within VIEW.EXE.
  2806.  
  2807. 22.6  TEXT MODE INF VIEWER
  2808.  
  2809.   Your machine is dead and you have to boot up off floppy to fix it and you
  2810.   forgot the command line switch for the utility that would make it all
  2811.   right again.  Not a good time to find out that the help system only runs
  2812.   with the Presentation Manager.  A text mode viewer is definitely needed.
  2813. ----------------------------------------------------------------------------
  2814. 23.0  DOCUMENTATION
  2815.  
  2816. Some parts of OS/2 have not been documented very well or not at all.  The
  2817. following are suggestions of which parts should be included as on-line
  2818. documentation or enhancements to existing documentation.
  2819.  
  2820. 23.1  ON-LINE USER GUIDE AND INSTALLATION GUIDE
  2821.  
  2822.   The provision of the 'User Guide' and 'Installation Guide' as INF files
  2823.   would be much appreciated.
  2824.  
  2825. 23.2  MAKE THE OS/2 TECHNICAL LIBRARY FREELY AVAILABLE
  2826.  
  2827.   Releasing the complete IBM OS/2 Technical Library would be greatly
  2828.   appreciated by all OS/2 users.  If this is not possible, at least the
  2829.   OS/2-specific parts should be released.  This includes such items as the
  2830.   Redbooks.  They are chocked full of useful information for any OS/2 user
  2831.   and would be put to good use by many people.
  2832.  
  2833. 23.3  AN ON-LINE, IN-DEPTH DESCRIPTION OF THE CONFIG.SYS
  2834.  
  2835.   There should be an on-line, in-depth description of the CONFIG.SYS
  2836.   consolidated in one INF file.  This file should have descriptions of each
  2837.   and every valid command in the CONFIG.SYS, along with useful tips and
  2838.   recommendations.
  2839.  
  2840. 23.4  DOCUMENT PRODUCTIVITY FOLDER
  2841.  
  2842.   There is no documentation for the software included in the Productivity
  2843.   folder beyond the on-line help for each package.  IBM should include some
  2844.   kind of user's guide for each program.
  2845.  
  2846. 23.5  THE BIG PICTURE
  2847.  
  2848.   OS/2's documentation tends to concentrate on the specifics, without giving
  2849.   a user the 'big picture' of what is happening to their machine.
  2850.   Documentation that explains more of why an option is there, why a user
  2851.   might want to use it, scenarios where different combinations of options
  2852.   would be desirable and how it relates to the rest of OS/2 would be very
  2853.   useful.
  2854. ----------------------------------------------------------------------------
  2855. 24.0  PRINTING
  2856.  
  2857. So, you've use the new-and-improved OS/2 productivity applications, or maybe
  2858. some nifty OS/2 applications you picked up at your favourite computer store,
  2859. and you've made the greatest presentation ever -- now you just have to print
  2860. it.  The following are wishes for getting what's on screen on to paper.
  2861.  
  2862. 24.1  FONT SUBSTITUTION
  2863.  
  2864.   Printers today come packed with built-in fonts.  There should be a
  2865.   substitution table for converting, for example, 'Times New Roman' to the
  2866.   printer's internal 'Times' font.
  2867.  
  2868. 24.2  ALL FONTS IN A DOCUMENT SENT IN DOCUMENT HEADER
  2869.  
  2870.   When using the PostScript printer driver, all fonts to be used in a
  2871.   document should be optionally sent with the document header.  This will
  2872.   decrease the size of print jobs astronomically as the fonts used in a
  2873.   document are sent once - not with every page.
  2874.  
  2875. 24.3  LAST PAGE FIRST
  2876.  
  2877.   Some printers stack printed paper with text up, the result being that
  2878.   the user must reverse sort the printed output.  Support for printing
  2879.   the last page first would stop this.  This option would be incompatible
  2880.   to print while spooling.
  2881.  
  2882. 24.4  HOLD PRINTER
  2883.  
  2884.   When a printer is put on 'Hold' the print should stop at the end of the
  2885.   next page or when the print buffer is empty.  Currently, the print
  2886.   job continues until the end of the current job.
  2887.  
  2888. 24.5  PRINT FROM SPECIFIC PAGE
  2889.  
  2890.   It would be very useful to be able to restart a print job from a
  2891.   particular page.
  2892.  
  2893. 24.6  SPOOLER GRAPH
  2894.  
  2895.   There should be a graph showing the percentage complete of a print job as
  2896.   well as the percentage complete of all the print jobs in the spooler.
  2897. ----------------------------------------------------------------------------
  2898. 98.0  OS/2 IN GENERAL
  2899.  
  2900. The following are items that do not fit in to any other category.
  2901.  
  2902. 98.1  PROGRESS INDICATORS
  2903.  
  2904.   Any task that will take longer than 5 seconds to accomplish should have a
  2905.   progress indicator to assure the user that the system is, in fact, still
  2906.   functioning.  These progress indicators should also be used during the
  2907.   boot process, showing loading device drivers etc.
  2908.  
  2909. 98.2  NUMLOCK STATE
  2910.  
  2911.   On boot-up, OS/2 should leave the NUMLOCK state alone, as it is defined in
  2912.   the BIOS.  To support machines without a BIOS option for NUMLOCK, the
  2913.   NUMLOCK state could be defined by an environment variable (for example,
  2914.   'SET NUMLOCKSTATE=[ON|OFF|DEFAULT]')
  2915.  
  2916. 98.3  CTRL-ALT-DEL MEANING
  2917.  
  2918.   The first CTRL-ALT-DEL should bring up a window asking the user whether
  2919.   they would like to kill the application that had the keyboard focus at the
  2920.   time of the CTRL-ALT-DEL, reboot the machine or cancel.  The second
  2921.   CTRL-ALT-DEL will unconditionally reboot the machine.
  2922.  
  2923. 98.4  LOCATE ALL OF OS/2 IN \OS2
  2924.  
  2925.   The entire operating system should be held within \OS2 - this includes the
  2926.   PSFONTS, SPOOL and DESKTOP directories, and possibly even the multimedia
  2927.   support.
  2928.  
  2929. 98.5  LOG BOOT PROCESS
  2930.  
  2931.   Often error messages fly off the screen during boot up.  To allow the user
  2932.   to diagnose problems, a log of the boot process showing everything sent to
  2933.   the screen should be created.
  2934.  
  2935. 98.6  DISCOURAGE USE OF OS/2 INI FILES
  2936.  
  2937.   Vendors should be discouraged from using the OS2.INI to store information.
  2938.   First, it increases the size of the file thereby slowing down the whole
  2939.   system, and second it means that any application-specific information is
  2940.   lost when OS/2 is reinstalled.
  2941.  
  2942. 98.7  MULTIPLE VIDEO CARD SUPPORT
  2943.  
  2944.   OS/2 should multiple video cards in a single machine.  It should combine
  2945.   all the cards that support high-res graphics together in to one virtual
  2946.   desktop, like the Mac does.
  2947.  
  2948.   Monochrome or low-res graphics cards would each get a full screen text
  2949.   screen that the user could type in, independant of any of the other
  2950.   cards.  That way a user could still access their machine if, for example,
  2951.   a program hung while holding the message queue.  This would be a great
  2952.   boost to PM developers, especially new ones, whose applications may
  2953.   routinely hang while holding the message queue.
  2954.  
  2955. 98.8  SERIAL PORT ARBITRATOR
  2956.  
  2957.   Many users have any combination of terminal programs, FAX software, UUCP
  2958.   software, Fido mailers and BBSs all fighting for time on the serial port.
  2959.   There needs to be a central serial port arbitrator - a program to manage
  2960.   the port.  It would answer the phone and pass control to a particular
  2961.   program based on a string received by the remote modem.  That program
  2962.   would use the file handle passed to it by the arbitrator to access the
  2963.   port.  Software could also ask it for temporary control of the port to do
  2964.   automated dialouts or for interactive sessions with a terminal program.
  2965.   If the port is already in use, there should be an option to wait for the
  2966.   port to be free and then give access to the port on a
  2967.   first-come-first-serve basis along with a time-out, or to fail immediately.
  2968.  
  2969. 98.9  INTERRUPT BOOT PROCESS
  2970.  
  2971.   It should be possible to interrupt the OS/2 boot process by holding down
  2972.   SHIFT, just like in DOS.  It would start up an OS/2 Full Screen and must
  2973.   not lock any of the system files.  This would allow a simple way to
  2974.   perform maintenance without having to resort to floppies.
  2975.  
  2976. 98.10  READ/WRITE TO A PROCESS'S STANDARD INPUT/OUTPUT
  2977.  
  2978.   It should be possible to read a process's standard output and write to its
  2979.   standard input.  This could be done by setting up special pipes.  Each
  2980.   process would have a bidirectional pipe in \PIPE\PROGRAM\ named its
  2981.   process ID.  A program's standard input and output would be sent through
  2982.   this pipe.  Other programs could open the pipe and read/write just as they
  2983.   would to any other pipe.
  2984.  
  2985.   This would have the added bonus of immensely simplifying remote-control
  2986.   software, as a program could connect itself to the standard input and
  2987.   output of a task and redirect it over a network or over serial ports.  In
  2988.   addition, it could be used to log the output of a program.
  2989.  
  2990.   REXX functions to access these pipes would be required, as would some way
  2991.   of reading and writing to the pipes from the command line.
  2992.  
  2993. 98.11  REMOVE HARDCODED PATHS IN INI FILES
  2994.  
  2995.   OS/2 currently hardcodes paths to system files in the INI files.  This is
  2996.   a real problem for people who want to move OS/2 from one drive to
  2997.   another, or if OS/2's drive letter is changed by adding or removing
  2998.   devices.
  2999.  
  3000.   The fact is that OS/2 should not be using the INI files to store hardcoded
  3001.   paths in the first place.  A much better place for this information is in
  3002.   the CONFIG.SYS in the form of environment variables, where the user can at
  3003.   least change the information.
  3004. ----------------------------------------------------------------------------
  3005. 99.0  CONTRIBUTORS
  3006.  
  3007. Without the many contributors from networks all over the world, this list
  3008. would not be possible.  I would like to thank each and every person who
  3009. helped me make this list what it is today.
  3010.  
  3011. I would especially like to thank Rodger Bagnall (rpb@ucsfvm.ucsf.edu) for
  3012. all the effort he put in to the voting program for the OS/2 Wish List.
  3013. Thanks very much, Rodger!
  3014.  
  3015. Also, many thanks to Jay Swackhamer for proof reading the list for me.
  3016.  
  3017.   Abbott, Darren (abbott@batman.dynetics.com)
  3018.   Aiyagari, Sanjay (sanjay@cs.columbia.edu)
  3019.   Babcock, Bob (peprbv@cfa0.harvard.edu)
  3020.   Behrens, Frank (frank@sax.sax.de)
  3021.   Behrens, Stacy John (sjb3@lehigh.edu)
  3022.   Benoit, Scott (sbenoit@phobos.astro.uwo.ca)
  3023.   Berkley, Rich (berkleyr@blitz.acad.lawrence.edu)
  3024.   Bonnaud, Laurent (bonnaud@inrs-telecom.uquebec.ca)
  3025.   Bononno, Robert (bononno@acf2.nyu.edu)
  3026.   Brown, Michael (zilch@aurora.equinox.gen.nz)
  3027.   Burdette, Davidd (davidb@nervm.nerdc.ufl.edu)
  3028.   Byrne, Peter (peterb@mclprism.co.uk)
  3029.   Cadiz, Bombim (cadizht@csgrad.cs.vt.edu)
  3030.   Caldwell, Larry (larryc@teleport.com)
  3031.   Caples, Jon (jcaples@netcom.com)
  3032.   Charlap, David (david@porsche.visix.com)
  3033.   Coen, Paul R. (pcoen@drunivac.drew.edu)
  3034.   Coker, Russell (3:633/363)
  3035.   Corrigan, John (1:3406/15)
  3036.   Cotner, Carl F. (cotner@crl.com)
  3037.   Cox, Sam (slc00@lvld.hp.com)
  3038.   Derbyshire, Drew (software@kew.com)
  3039.   Dhir, Al (adhir@betelgeuse.iagi.com)
  3040.   Duffy, Patrick (duffy@theory.chem.ubc.ca)
  3041.   Echeruo, Okechukwu Chima (oecheruo@gamera.syr.edu)
  3042.   Edwards, Paul (3:711/934)
  3043.   Eng-Keong, Lee (enlee@enuxsa.eas.asu.edu)
  3044.   Fahller, Bjorn (bjorn@ludd.luth.se)
  3045.   Freeborg, John (johnf@persoft.com)
  3046.   Fischer, Kevin (kfischer@hurricane.seas.ucla.edu)
  3047.   Freeman, Jerry (n6140299@henson.cc.wwu.edu)
  3048.   Green, Meir Israel (mig@columbia.edu)
  3049.   Gile, Michael R. (gilem@rpi.edu)
  3050.   Glaser, Rann (amir77@taunivm.tauc.ac.il)
  3051.   Gurganus, James (gurganus@ecn.purdue.edu)
  3052.   Harden, John (johnh@splat.com)
  3053.   Heiden, John (jheiden@uoft02.utoledo.edu)
  3054.   Henry, Andrew (bspahh@ss1.bath.ac.uk)
  3055.   Hernandez, Manolo (manolo@rcf.rsmas.miami.edu)
  3056.   Hicks, Adrian (adrian.hicks@adam.com.au)
  3057.   Huttunen, Ari (ari.huttunen@hut.fi)
  3058.   Janssen, Peter (p.janssen@research.ptt.nl)
  3059.   Jensen, Lew (lrj@helios.tn.cornell.edu)
  3060.   Kaaret, Philip (kaaret@cuphy3.phys.columbia.edu)
  3061.   Karasch, Bernt (bernt.karasch@ruba.rz.ruhr-uni-bochum.de)
  3062.   Kiehl, Horst (h.p.kiehl@kfa-juelich.de)
  3063.   Kimber, Richard (poa02@keele.ac.uk)
  3064.   Kint, Rene (kint@tudebg.et.tudelft.nl)
  3065.   Kohtala, Marko (Marko.Kohtala@hut.fi)
  3066.   Konrads, Thomas (2:2490/1517)
  3067.   Knotts, Brian (bknotts@mcimail.com)
  3068.   Kwilas, Kris (kris.kwilas@gco.com)
  3069.   Lassiter, Vincent (lassiter@pentagon-hqdadss.army.mil)
  3070.   Lempriere, Mike (mikel@networx.com)
  3071.   Leung, Tedman (tedman@sfu.ca)
  3072.   Lin, Tai-Shan (tlin@eecs.wsu.edu)
  3073.   Liskov, Nate (nate@miki.lcs.mit.edu)
  3074.   Longton, Andrew (1:109/347)
  3075.   Lonngren, Fredric (Fredric.Longren@eos.ericsson.se)
  3076.   Hamblen, Nathan (nathan@crl.com)
  3077.   Hammel, Kevin (stgpkdh@st.unocal.com)
  3078.   Hanser, Per M. (perhans@mmf.ruc.dk)
  3079.   Hicks, Adrian (adrian.hicks@adam.com.au)
  3080.   Horvath, Joshua (pari4038@nova.gmi.edu)
  3081.   Mack, Thomas (mack@ips.cs.tu-bs.de)
  3082.   Mackintosh, David (1:163/557)
  3083.   Martin, Steve (steve@dlomas.com)
  3084.   Masalehdan, Babak (tillman+@pitt.edu)
  3085.   Menard, Francois (1:257/445)
  3086.   Mueller, Stefan
  3087.    (stefan=mueller%mitarbeiter%hochtechnik@uqbar.hft.e-technik.tu-muenchen.de)
  3088.   Narramore, Mattison (jmn@gandalf.rutgers.edu)
  3089.   Neades, Daniel J. (djn@arac.demon.co.uk)
  3090.   Ngo, Jonathan Vincent (jngo@charon.engga.uwo.ca)
  3091.   Palmer, Ronald B. ($ww090@yj0030.remnet.ab.com)
  3092.   Patanen, Jani (japa@mits.mdata.fi)
  3093.   Petersen, Martin Kasper (u930730@daimi.aau.dk)
  3094.   Petrilli, Jack (jack.petrilli@rose.com)
  3095.   Raine, Michael John (michael-raine@uiowa.edu)
  3096.   Reaume, Daniel (reaume@server.uwindsor.ca)
  3097.   Regoli, Luca (mc0280@mclink.it)
  3098.   Roderick, Richard (richard@kira.csos.orst.edu)
  3099.   Rodgers, Robert Stephen (rsrodger@wam.umd.edu)
  3100.   Salo, Mike (1:282/108)
  3101.   Samuel, Joshua (josh@werple.aphana.org.au)
  3102.   Shiu, Venone (h9218919@hkuxa.hku.hk)
  3103.   Skinner, Joseph (joe@jsnode.equinox.gen.nz)
  3104.   Sobral, Daniel (4:806/18.0)
  3105.   Stephenson, Dan (dano@srl01.cacs.usl.edu)
  3106.   Stevens, Warren (wstephens@mcimail.com)
  3107.   Swackhamer, Jay (jhenry@proton.resudox.net)
  3108.   Swanson, Craig (1:202/354)
  3109.   Tan, Cheng-Yang (cytan@tristan.tn.cornell.edu)
  3110.   Teittinen, Marko (marko@cs.umd.edu)
  3111.   Timms, Ian (itimms@ariel.ucs.unimelb.edu.au)
  3112.   Utans, Joachim (utans@cse.ogi.edu)
  3113.   van Os, Adriaan (a.j.h.vanos@pobox.ruu.nl)
  3114.   Venkateswar, Ravikumar (rvenkate@uiuc.edu)
  3115.   Verburg, Bram (2:500/137.21376)
  3116.   Veronese, Luciano (veu@necsy.it)
  3117.   Vezeau, Danny (spice@bmerha2f.bnr.ca)
  3118.   Vulis, Dimitri (dlv@bwalk.dm.com)
  3119.   Wiencken, Marcus (wiencken@linac.ikp.physik.th-darmstadt.de)
  3120.   Wilcock, Oliver (a372wilc@cdf.toronto.edu)
  3121.   Wilcox, Duncan (mc2199@mclink.it)
  3122.   Wiley, George (magrw@levels.unisa.edu.au)
  3123.   Wood, Victor (rm4y@dlrvms.go.dlr.de)
  3124.