This Old Workbench Episode Five

Copyright © 1998,2000 Dave S. Matthews

Renovation from the ground up

Up till now, this series has covered sprucing up the Workbench and Amiga OS with available utilities, patches and hacks. But what about the future? In this article, I'd like to present a few of my ideas for the next generation Amigas. This is in no way connected with Viscorp, PIOS, Phase V or other parties, living or dead, and any resemblence thereof is purely coincindental. I've also included an updated idea for a tower case for the PowerAmiga.

All the Workbench "screenshots" were created using Personal Paint, Brilliance, and ADPro, using ideas from Workbench (along with 3rd party Workbench enhancment programs) as a base. The tower design was done in Aladdin4D.

Many of the ideas presented in this document have already been done, either on the Amiga or other platforms, so I make no great claim to originality. These ideas may be unpopular, unlikely, unworkable, unwise, illegal, immoral, fattening, or just flat out wrong, hey, I'm taking a shot in the dark on some of this! My goal here is more along the lines of stirring up discussion, rather than creating the perfect OS, though I would surely love for this to be MY next Amiga!

"Is this over the top? I can never tell..."

-The Riddler, Batman Forever

Figure 1: My view of Amiga OS4
Figure 1: My view of Amiga OS4

First of all, it should exist! I feel strongly that there should be a new generation of Amiga, new hardware and new OS. I also feel that "There can be only one!" (with apologies to The Highlander.) I'm all for Amiga clones, but without a single unifying vision, the power and elegance of the Amiga will end up scattered to the winds.

General

Fast, responsive, optimised, lean. Object oriented, retargetable, hardware independent where feasible, but able to use what ever hardware exists (processors, video cards, etc.) to full advantage.

OS should start with tightly written kernel (AmigaOS Lite, comfortable in a four MB system) which supports the basic features like multi-tasking and memory protection, while allowing the more advanced features, multi-processor, networking, etc. to be added in a professional upgrade. Lite version should be fully upgradable to pro version (assuming sufficient resources (memory, HD space etc) exist.

Support for extending ROMS beyond current size limits. Emulation for earlier 680x0 software.

Should be able to emulate 1.3-3.1 OCS/ECS/AGA at least tolerably well, particularly with well written applications. However, present and future performance should not be compromised to do this.

Pre-emptive threaded multitasking.

Should be no OS limit on amount of RAM accessible, OS should be able to use all or most every byte a CPU can address.

Memory protection, no application should be able to bring the system down, no application should be able to interfer with another application, it's resources (memory etc), or cause it to crash. Ability to remove errant programs, and free their resources, memory, screens, windows, file locks etc. System should be able to gracefully "defrag" memory, or avoid fragmented memory altogether. Memory pools? Resources should be extendable "on the fly." Unlike the Mac (or ADPro), a program should be able to request more memory and get it (if available).

Virtual memory. No OS limit, if terabyte hard drives become available, AmigaOS can use the entire terabyte for VM. Good place to talk about chip ram. It would be really good if any ram could be marked as chip ram, and any ram as fast ram. Normally, you would have (say) 4 MB of VRAM for video, and however many MB of fast ram. If you needed more chip ram, and had free fast ram, you could tell the OS to 'change' some of the fast ram into chip ram. This would happen on the fly (no rebooting.) The new chip ram would look to the system just like the real VRAM (only probably slower.) Likewise, if you weren't using all you VRAM, and you needed an extra meg or two for a huge program, you could hijack some of it.

Symmetric Multiprocessor Support. System should accept and use multiple processors (up to 64000 :) Ok, maybe the world is not ready for massively parallel Amigas, but certainly should not be hard wired for only two or four. Distributed processing. OS shares processor load over a network of machines, local or otherwise.

Integrated networking, peer to peer or client/server, tcp/ip. Amiga should be able to access network resources, hard drives, printers, even FTP and Web sites as naturally as local resources. Multi-user support including security.

Optional "Wintel" (any OS which will run on an Intel box- Windows 95, NT, OS/2 Warp, Linux), MacOS, Unix (XWindows, Motif, NextStep.) The AmigaOS will act as a a virtual machine and pseudo network, with cability to run multiple platforms simultaneously. All resources can be shared among the OSNet, including hardware: Multiple CPUS (if available and SMP supported) memory, hard drives, printers, modems, video and monitors, etc., and software, clipboards, filesystems (read/write Amiga/Mac/PC disks from any platform), handlers (for instance XPK/XFH style compression on any platform, datatypes (OS handles conversion to loadable file format for any applications) etc. Ability to lauch programs on any platform from the Workbench. If application is for the Mac, AmigaOS will Boot the MacOS (if not already running), then the program will be launched.

Visual ARexx, interprocess communications (including other OS if they support Rexx,) extensive Macro facilities, including on-the-fly macro recording and menu driven "visual" macro/rexx programming.

Use above in installer, so experts can plan out installation in advance, and control the process to their hearts content. Also, built in uninstall with ability to scan system for files which shouldn't be removed and orphan files, libraries, etc. Files to be uninstalled could either be deleted or archived.

Object Oriented, extended datatypes style document sharing, including Acrobat/Common Ground style bridging for font, stylesheet, graphic, sound animation, 3D format, text format etc. between all applications, and platforms. Full support for IFF32, PNG, JPG, ANIMS, MPEG, QuickTime, most sound formats, etc.

Better localization, easier to customize for different countries.

More powerful shell, better editing, menus, open on screen, scroll-through history buffers better cut and paste editing. Add cut and paste to all text requestors. Clipboard with history, visual browsing, datatypes. Postscript, Truetype, Compugraphic and Bitmap 32 bit color fonts.

System wide notification (when files, icons, screens etc are changed) HTML 3/4 etc supplants AmigaGuide. Full HTML Online, context sensitive multimedia help system. Three button mouse support. Provision for multiple boot configurations, including multiple WBStartups, preferences, etc. More complete Early Startup with more advanced system control (CPU, memory, video etc) Work with any monitor available.

File Systems

Figure 3: The new ASL filerequester Figure 4:Picture browsing

Figure 3:The new ASL filerequester

Figure 4:Picture browsing

Faster, no limit on partition size (or at least no less than a terabyte ceiling.) Full support for standard high density floppies, at full speed. (Probably more of a hardware thing.) Better error handling. Should be able to map out errors and format bad floppies. Faster handling of alien file systems, particular, less annoying gronking while system tries to figure out what kind of disk has been inserted. Also, less thrashing when operating on multiple floppies. When saving a file to a floppy, and an error occurs, should be able to completely cancel operation, not just current block. Integrated XPK/XFH style 'on-the-fly' file compression. Better backup program, with 'cron' features and XPK compression, support for all removable media, floppy, tape, zip, etc. Drive mirroring and RAID support, striping data on multiple drives. Support for all SCSI 2,3, fast, wide whatever, IDE, EIDE, IDE-2, HDs CDROMs, Zip, 120MB floppies etc. Should be easy to add new types of hard ware without ROM upgrades. Anti virus support.

Figure 5:Volume not found Requester

Figure 5:Volume not found Requester

Figure 6:Delete/Empty Trash Requesters

Figure 6:Delete/Empty Trash Requesters

GUI

First of all, there is a fine line between an interface that is beautiful inside and out, and one that is just pretty to look at, but horrible to use. While I think that a 100 MHz 603e or similar processor can handle all my ideas, without being bogged down, I think it's important to avoid the Mac 'do it our way or no way at all' paradigm (Agggh, I said the paradigm word, I hope Dilbert isn't reading this!) and let the user decide where that fine line is. Thus, the Amiga GUI should be customizable to fit each users needs, from shell-rich/minimal graphical maximum resource available to a full blown 32 bit color animated singing and dancing, vertigo inducing multimedia spectacle.

Should be able to do mostly everything in shell that you can do in GUI, and vice-versa. Of course, multiple screen support, including the famous Amiga ability to drag screens up and down! Multiple monitor support. Fully multitasking for all Workbench operations, including drag-n-drop copying etc. 32 bit color Workbench with real palette editor. (licence 32 Quickdraw? Or make something better. System should provide a wealth of very efficient standardized GUI resources for programmers.)

Figure 6:Icon Info Editor
Figure 7:Icon Info Editor

Icons completely redone. Should contain palette info, and can be remapped to look ok no matter what palette or how many colors. Might be nice to be able to add multiple images for different resolutions and colors. Add anim capabilites, instead of just two frames. Borders should be optional (or just eliminated.) Should be able to have transparent areas (color 0 perhaps.) Icon information should have a integrated text editor to edit tool types, and full featured icon editor. More extensive 'fake' icons, images, fonts, text etc, like DefIcons, only with prefs editor etc. Able to learn new file types. Use Icon Info on fake icon, save and voila, real icon. More view by options, including viewing of '.info' files. View dirs first in view by name windows. Customize colors (text version of fake icons file recognition,) dirs one color, text files another, picture files another etc. Have Mac/Window style dir trees, including connecting lines to clarify relations. Have 'small' icons to identify dirs, hard drives, assigns, projects, tools, pictures etc. Option 'striping' alternate lines with different shade to differentiate lines. Better icon 'clean up.' Add snap to grid, etc.

All window gadgets customizable, also borders, drag bars etc. Users could also control where gadgets were placed (add scroller arrows on both top and bottom, left and right for instance. Windows should feature animated opening and closing, "explode", :fadin/out", "Warp in/out" etc. Like icons, should be able to have transparent areas. Windows should be able to be iconified. Should be able to snapshot window in both min and max sizes. Also should be able to snapshot any window in any view mode no matter what mode the parent is in. Windows could be moved and sized using opaque, transparent or outline mode.

Figure 8:Peel off menus
Figure 8:Peel off menus

Customizable menus. MagicMenu style popup, plus peel off and pull down. Add graphics to menus, including Icons for menu items and image backdrops. Menu items and shortcut keys should be configurable. Also should be able to turn menu off if you want the extra screen real estate. Integrated docks, text, graphical, animated. Banks of docks stored in rotating 'lazy Susan' style, so access to multiple banks is easy. Able to save integrated prefs "suites", including screen modes, fonts, backdrops, docks, menus etc. Change completely with one mouse click. No rotten "Please close all Windows except Drawers" requestors when changing screen modes, thankyouverymuch. In a like vein, changing fonts should not cause all the icons to scrunch up in the corner. Animated pointer, both normal and wait/busy.

File requesters have all view by name features, both shift and rubber band select for multiple files, Preview option generates small preview of graphic. Browse lets you open a small window to look at graphics, text, fonts, sounds (right, you can't look at sound, but you could listen to a portion!) etc. All requestors can have more than one row of buttons, including those generated by requestchoice etc. GUI generator for shell tools. AmigaDOS and Arexx scripts, should be able to parse all the available args and create a nice GUI, including saving an icon.

Better speech synthesis, ability to "speak" requestors, read english and other language text. Speech should be customizable for language, accent, quality and tone as well as gender. Should be capable of very human sounding. Speech recognition, as soon as the technology gets real. Ability to read text, and learn how to pronounce words correctly.

Hardware issues

Figure 2: A new case for PowerAmiga
Figure 2: A new case for PowerAmiga

I'm not going to be overly specific about hardware, just some general notions. Very modular. CPUs, BUS, IO, etc should be plug in, and plug-n-play. Basic motherboard design should be very clean and uncomplicated. Memory should be placed on CPU card or ram card, not on Motherboard. Use surface mount when reasonable, but not on chips likely to be replaced upgraded, IO controllers, CPU, etc.

Three words: bandwidth, bandwidth, bandwidth! It doesn't matter how fast the processor is if the architecture can't handle high throughput. First of all, don't push EVERYTHING though the CPU. Use coprocessors when effective.

Support PCI, and be prepared to support faster, higher throughput enhancements. I/O should support standard off the shelf PC style floppy drives. Faster serial and bi-directional parallel ports. While support for PCI video cards is good, a custom 'chip set' (on a PCI card) would almost have to perform better. Almost all current PCI video boards are specifically tailored to the 'WIntel' architecture. I don't think you need to design the graphics/sound chips themselves (the PC market is rife with excellent video processors, but the Amiga's video subsystem should be put together with the Amiga in mind. This card should be full 24 bit, have resolution of up to 1280x1024 non-interlaced 24 bit or higher, have both multisync 31Khz and high quality SVideo/composite out. Of course, it should be very fast, support 3D rendering, and maybe MPEG video.

All this should be feasable (and relatively cheap) with mainly off the shelf chips. Every consumer Amiga should ship with this card. Vertical market boxes could be shipped with the basic video card and/or with some other video card suited to their need. This would give game and video developers a high performance video standard to write to, while still giving the Amiga all the benefits of retargetability and access to plentiful PCI peripherals.

Work toward continually reducing production costs. Constantly refine systems to make them cheaper to build, more reliable, easier to repair and upgrade. Note: Cost reduction is not an excuse to use inferior parts or assembly practices! Qualtiy has to come first. Basically, the core hardware should be nimble enough to keep up with improving technology (without a completely redesign every two years), flexible enough to use the cheap and plentiful PC peripherals, and powerful enough to outperform competing systems.

Also, a laptop or notebook would be nice.

Applications

The Amiga desperately needs big name applications, if you want to sell beyond the faithful. Toward this end, first, tout the fact that Amiga can run Mac and Windows apps, and sell lots of Amigas in those markets. Create powerful and easy to use cross development tools. Then (hopefully after the profits start trickling in) start a full scale campain to port and create new Amiga applications. Every Netscape, WordPerfect, Lotus, Photoshop, Snappy, etc. ported to the Amiga means access to another group of people who will now consider the Amiga, since they can run their favorite program. Mention the fact that Microsoft is NOT porting to the Amiga, so Netscape, Lotus etc will a headstart without having to compete with that 800 pound gorilla.

Marketing

Sigh. This topic is such a fairy tale, I'm not sure I even believe it exists. First, it's problably not possible to compete with clones pricewise. But, every effort should be made to market an affordable 'consumer' level Amiga system (MPC603e, 4 megs fast ram, 2 megs vram, AmigaOSLite, hard drive, CDROM, monitor, decent software bundle, under $2000) as well as high end workstation level machines, where the sky is the limit.

Secondly, advertise in the Amiga mags, and in related vertical mags like 3D, computer graphics, multimedia etc. Be specific, i.e. don't advertise gaming features in Video Toaster User. Advertise in Byte, PC Magazine, Mac World. Get the Amiga reviewed in PC and Mac mags. And keep it up, every month. In short, get the Amiga name out there.

Well, that's about it for now. Whether you agree with my thoughts here or not, I hope you found them interesting enough to spark a few ideas of your own.

Dave Matthews

July 8, 1996

 


This Old Workbench, Episode 05

Navigation  Bar
Contents First Previous Next Last Top
Table of Contents First Episode Previous Episode Next Episode Last Episode
Hosted by www.Geocities.ws

1