[Please note: this is a text only version of the on-line magazine, OS/2 e-Zine!.  OS/2 e-Zine! is a graphical, WWW OS/2 publication and, if possible, should be viewed in its HTML format available on-line at http://www.os2ezine.com/ or zipped for off-line reading.  Some graphically oriented articles have been removed from this document.]

OS/2 e-Zine!		October 16, 1998	volume 3, number 16
--------------------------------------------------------------------------
Copyright 1998		Falcon Networking	ISSN 1203-5696

	"Over Three Quarters of a Million Satisfied Visitors!"


OPINIONS:

  From The Editor 
  Chris Wenham 
  Chris Wright 

REVIEWS:

Java Special Report

  Java Special Report - Introduction - Chris Wenham
  Installing Java 1.1.6
  Java E-Mail Clients
  Simplicity For Java
  Moneydance for Java
  Utilities and Gadgets

  First Looks: StarOffice 5.0 - Nenad Milenkovic

ARTICLES:

  Using Priority Master II - Ted Waldron III
  Find out how Priority Master can tune your system for perfornance and let you do more with less

  Rexx Newbies, Part II - Chris Wenham
  The second installment in the series shows you how to use variables and retrieve information as the program runs


ADMINISTRIVIA:

* How to Subscribe to OS/2 e-Zine! for FREE.
* How YOU can Sponsor OS/2 e-Zine!
* The Sponsors that Make this Issue Possible


Copyright 1998   -   Falcon Networking
ISSN 1203-5696

***********************************

From The Editor		-Chris Wenham

The Great Ratings Controversy

Summary: Oops, after only a couple of issues with it in effect, we've already found a number of problems with the new software and hardware ratings system. Here's what the mistakes were, and how we'll correct them.

While the rest of the OS/2 e-Zine! staff go off and have fun in Chicago this weekend, I'm stuck back here in New York with the job of getting the new issue finished and online. It's a sacrifice, but we know that many of you aren't able to attend either and it wouldn't be fair to hold the 'zine up. But one side-benefit is that the publisher isn't around while I upload this, so I can at last tell you all how awful Falcon Networking's cafeteria food really is ;-)

But the real reason for this letter is to explain the current situation with the new ratings system that we tried out just over a month ago when the e-Zine! changed ownership from its founder, Trevor Smith, to Falcon Networking - the web company owned by Rexx Files columnist Dirk Terrell and which has been hosting OS/2 e-Zine!, the (http://www.os2ss.com/) OS/2 Supersite, (http://www.edm2.com/) EDM/2, the (http://www.os2ss.com/win32-os2/) Win32-OS/2 project homepage and the (http://www.warpstock.org/) Warpstock Homepage for nearly two years now. What we wanted was a way to sum up the crucial points of the programs we reviewed, such as suitability to task for applications and utilities, playability for games, OS/2 Leverage and others. The scores were then averaged and rounded up to give an Overall score.

Two problems occurred, one with the very first issue to use it, embarrassingly enough. We wanted the new ratings system ready for the games issue where we compared Drilling Billy, Galactic Civilizations Gold and Hopkins:FBI. But one problem with ratings categories that are largely subjective is that it takes time to get used to them. There's also the case where one reviewer might give a program a score different from what another writer would, and have different reasons for it. Right away this invited trouble, and we got it. A complaint came in shortly after publication that the OS/2 Leverage score for Hopkins:FBI was too high. In our ratings system, the OS/2 Leverage score gives you an idea of how much the game makes use of OS/2 technologies such as DART, DIVE, multithreading and so on. In the rush we had overlooked the fact that Hopkins used to be a DOS game, now ported to OS/2. A knee-jerk reaction later and I decided to drop Hopkins' OS/2 Leverage score, recalculating the Overall score to be 3.5 instead of 4. But just because a game used to be for DOS, it doesn't mean that it can't be redesigned to take advantage of an advanced platform. Naturally, this score-change did not bode well with PolyEx, who had already began advertising the score of 4 on their web site.

The second problem arose recently when we reviewed MIDI Station Sequencer and Nota Musica Sequencer. While the author of the reviews stated that MIDI Station Sequencer was the far better product, both still got the same Overall score! The reason was partly due to Nota Musica Sequencer's VoiceType features, which boosted its OS/2 Leverage score. That pushed up the Overall score - which is still just a plain average - to the point where it looked as if it was the same as MIDI Station Sequencer. While VoiceType is nifty, a musician would probably prioritize it lower than other features.

After reviewing the situation, I've decided to keep the ratings system, but drop the Overall score from all future reviews (we toyed with the idea of using weighted averages, but thought it would be too complex). I also wish to personally apologize to PolyEx software for my goof up. Hopkins:FBI deserves its full score of 4.0.

                         - * -


If you have some thoughts on the issue yourself, or think you have some ideas for improving the rating system or OS/2 e-Zine! as a whole, drop by our (http://www.os2ezine.com/forums/get/forums/feedback/Oct16-1998.html) interactive general feedback forum and let us know!

(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Chris' Rant

The Myth Of Coolness

Summary: Why all those people up in Chicago are annoying the heck out of Microsoft and every other upgrade-fueled company in the world.

When an industry columnist is stuck for something to write about, he or she will often decide to wax lyrical about how PCs are so unlike [insert common household appliance here], and inevitably point out that while you can still use your old TV from 1985, you definitely can't use your old PC from the same era. I remember quite fondly the day mine pointed out to me that it was now obsolete and was going to shut down. Then, making me feel like I was Mr. Phelps from Mission: Impossible, it self destructed shortly after popping out a coupon that'd let me take 10% off my next PC.

I'm still waiting for OS/2 to give me that coupon for 10% off Windows NT, but so far I think the mechanism must be jammed. It's to my benefit that the same jammed mechanism must also be the one that starts the operating system's uninstall process and wipes it all the way off my hard drive. I say benefit because I haven't been a good boy and installed Windows 98 on another partition yet, so I'd have nothing to boot to. This will be a problem when the Hip Patrol visits my house to make sure I'm "With It".

But I'm still getting ready. I've been practicing how to sneer and flick a lock of my hair whenever I say "You just don't get it" to anyone still using such a backward, arcane and hopelessly obsolete platform. I have a feeling that if I were in Chicago this weekend instead of stuck back here in New York, I'd be in epileptic spasms already as I oozed my righteousness to everyone present. I would be so up to date and current with the latest technology as I showed them that it only took 5 seconds between each key-press in Microsoft Word, as I formatted a floppy in the background, instead of the 6 they so untruthfully claim.

I too can be just as "in the loop" as that teenage punk on IRC, letting him crash my machine with a Denial-Of-Service attack that wrecks the Windows TCP/IP stack. He'll know that I'm no slacker, he'll know I have my WebTV and my Active Desktop. I too shall click on "Start" when I want to shut-down and it's my screen that's now blue instead of my operating system's vendor.

But I'm not going to be upgrading just yet, because after spending my disposable income on a RAM upgrade to handle the demands of the New Technology I didn't have enough to buy the New Technology (the 10%-off coupon wouldn't have helped either... hey where is that dang thing?) And besides the fact that OS/2 is now five times faster and can run every component of Lotus Smartsuite at once without any noticeable disk activity, that isn't going to stop me at all. Next paycheck, next paycheck I tell ya.

The other day I happened to notice a lawyer who was still using an old 286 with 640K of RAM and a copy of Wordperfect 4.2 hooked up to a dot matrix printer. Loaded onto its 20 megabyte hard drive were a bunch of stock legal documents that he just loaded up and ran a Search-And-Replace on to customize for whoever the plaintiff and defendant were in the case. I wept for him right there and then, because if only he had a $2,500 Pentium II he could also print in the background while talking to clients on the phone. Why didn't he get his coupon? That machine was supposed to have ceased functioning in 1989!

I must admit that OS/2 has been doing an unnaturally good job of keeping up. My new 4-button scrolling mouse works perfectly (all four buttons are functional under OS/2 too, not just two or three), my Voice modem has been going for a year, Zip drive for 3, and those bums at IBM just made drivers for the USB port on my new motherboard. This is annoying, how will I justify upgrading now? I want to (http://www.os2ezine.com/v3n12/od2ee.htm) type URLs into my desktop shell! I want to (http://www.os2ezine.com/v3n14/mp3.htm) load WinAMP skins! I want (http://www.os2ezine.com/v3n14/gadgets.htm) nifty GUI gadgets that pamper my vanity!

Every television commercial tells me that I must rush out and change toothpaste brands right now, that my coffee isn't good enough, that my vacuum cleaner doesn't have enough horsepower, and (http://camel.conncoll.edu/ccother/sf.folder/exile/lyrics/heads/satisfaction.html) how white my shirts can be if only I'd try the new and improved version with extra Whoosh (tm). I'm a mess, and the supermarket loves me, but I'm current and I'm With It and I'm respectable to people I don't know.

You see I'm a new age guy, I know that progress doesn't come from leaving working solutions alone, and I know that every company should set aside millions of dollars every year to make their computers better at doing things that they don't use them for. I know that I can't use the platform that I enjoy using, because if I do, I might not be able to run a program that I don't use!

And so I sit with smug self satisfaction that all those people attending Warpstock are not as cool as me, not as hip as me and not as cutting edge as me. Because while they can do everything I would ever do if I actually did own a copy of Windows 98 or NT, they can't make a web page part of their desktop background. And that's what it's all about.

If only I could get that flippin' coupon.

                         - * -

Are you as cool as me? I bet you're not. Talk about it in our (http://www.os2ezine.com/forums/get/forums/rant/Oct16-1998.html) interactive forum and chat with other poor sods who "just don't understand." I'll be embarrassing you all by posting some of the best responses right here on this page.
 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Corporate Sponsors

[(http://www.blueskyinnovations.com/) BlueSky Innovations]
[(http://www.bmtmicro.com/) BMT Micro]
[(http://www.ChipChat.com/os2ezine/) ChipChat]
[(http://www.indelible-blue.com/) Indelible Blue]
[(http://www.maccasoft.com/) MaccaSoft]
[(http://www.modulardreams.com/) Modular Dreams Inc.]
[(http://www.polyex.com/hopkins.html) PolyEx Software]
[(http://www.prominic.com/) Prominic Technologies]
[(http://www.prioritymaster.com/) ScheduPerformance]

(http://www.blueskyinnovations.com/) BlueSky Innovations
Whether you want to boot multiple Operating Systems or from an Iomega Zip disk, we have a solution for you.

(http://www.bmtmicro.com/) BMT Micro
Your complete source for over 175 of the best OS/2 shareware applications available.  Drop by today and check out our WWW catalog or download the .INF version.

(http://www.ChipChat.com/os2ezine/) ChipChat Technology Group
ChipChat produces excellent 32-bit OS/2 software for wireless text paging and state-of-the-art multimedia Sound Cards for Micro Channel PS/2 computers.

(http://www.indelible-blue.com/) Indelible Blue
Indelible Blue, a mail order company, provides OS/2 software and hardware solutions to customers worldwide.

(http://www.maccasoft.com/) MaccaSoft
Developers of the multiplatform Java e-mail client, Emerald Mail.

(http://www.modulardreams.com/) Modular Dreams Inc.
A growing selection of graphics utilities and applications for OS/2 Warp and Java.

(http://www.polyex.com/hopkins.html) PolyEx Software
Hopkins:FBI, a dazzling multimedia strategy game for OS/2

(http://www.prominic.com/) Prominic Technologies, Inc.
On-line sales & solutions for VisualAge, DB2, OS/2 Warp, Workspace on Demand, Notes/Domino, AIX Firewall, and Net.Commerce (design/hosting).  The best deals on IBM and Lotus software and hardware (PCs, Servers, and RS/6000s) -- with OS/2 preloads!

(http://www.rsj.de/) RSJ Software
The successful software CD-Writer for OS/2 by RSJ. CD-Writer is suitable for backup, data filing, creating Audio CDs etc. and is compatible with most CD-Recorders.

(http://www.prioritymaster.com/) ScheduPerformance, Inc.
Dramatically improve performance on your OS/2 system now with the patented priority scanning logic and visual priority identification of Priority Master II.
 
***********************************

Chris Wright		-Christopher B. Wright

Summary: Good news, bad news. The IBM "secret document" whipped up a lot of rhetoric, but why is it important to hear the bad news once in a while too?

The response to the internal IBM memo that was briefly posted on Loren Bandiera's site has been, well, interesting -- especially in certain Usenet groups that tend towards highly emotionally charged rhetoric.
For the most part, people seem to feel the IBM memo did nothing more than confirm what people already thought about IBM's position on OS/2. The fact that IBM seemed to react with embarrassment and dismay did little more than provoke a chuckle among most OS/2 users, as though IBM were finally getting some of their just desserts.

A few people, however, decided to go on the offensive -- against Loren! Apparently, Loren's post really, really bothered a few of our more vocal OS/2 citizens, and they felt it was completely inappropriate. One went so far as to tell Loren that he should hang his head in shame, claiming that by posting that memo, he'd done more to alienate OS/2 users around the world than anything IBM could have done on their own.

Of course, this person was also quick to publicize the infamous fallout between the Warpstock Steering Committee and the Chicago Organizing Committee -- apparently, that wasn't considered bad news. But the seeming hypocrisy of this persons statement isn't what bothered me, it was the idea behind that statement -- that as OS/2 users, we are obligated NOT to talk about any of the Bad News that might be coming our way.

Rubbish.

Bad news is not pleasant. It's not what we want to hear. It makes us angry, it makes us feel discouraged, it makes us wonder if its all worth it. But in the end, it also lets us know something important -- that we've got a rather large job ahead of us, and it's time to start working harder.

Some people think that if OS/2 users hear bad news we'll throw up our hands in dismay and move on somewhere else. To Windows, or the Mac, or Linux. This may be true for some people, but remember that OS/2 has a history of getting bad news, has a history of being proclaimed dead, and OS/2 users have a history of being ignored and being perceived as curiosities, remnants of a bygone age. So far, it doesn't seem to have diminished our enthusiasm.
We need to know the bad news, because we need to know ALL the news. We need to see the whole playing field. We also need to know the good news, because sometimes it's easy to forget that there is still good news for OS/2 users.

So, for the record:

In the bad news department: IBM has recognized that they're not really that good at marketing OS/2, and they seem to be giving up on trying to get better. To make matters worse, they're trying to do it in a very cowardly manner, making it look like that's not really what they're doing at all.

In the bad news department: The media continues to portray OS/2 as a product that has absolutely no value to anyone with no future.

In the bad news department: Microsoft Windows 95 is the dominant operating system on the market.

In the bad news department: It's pretty much impossible to get OS/2 pre-installed on a computer bought from a "big name" computer company, like Dell or Compaq or Gateway.

In the bad news department: OS/2 vendors aren't making a lot of money on OS/2, and are having to go cross-platform to survive.

In the GOOD news department: There's this great little thing going on in Chicago called Warpstock, and a lot of enthusiastic OS/2 users and vendors are going to be there to have a good time and buy and sell stuff.

In the GOOD news department: At Warpstock, we should see some interesting software. We'll see Object Desktop v2, which will be formally released by Stardock there. We'll see StarOffice 5.0 for OS/2, which should be released sometime this week or next week. We'll see Papyrus, a voice-enabled word processor with a lot of desktop publishing features built in, debuting in its English-translated version for the first time ever. We'll see Sundial Systems demonstrating a new version of Mesa, we'll see Hopkins:FBI in action, we'll even see software that can automate your entire house from your OS/2 desktop!

In the GOOD news department: IBM will be talking about Aurora, Lotus will be talking about Smartsuite.
The good news for OS/2 can be summed up simply: things are still happening. There's still life in our corner. We won't die off, Microsoft can't buy us out, IBM can't make us go away.

Stick that in your pipe and smoke it.

                         - * -


Got any good news of your own? Talk about it in our (http://www.os2ezine.com/forums/get/forums/wright/Oct16-1998.html) interactive forum and let other readers know about it too.
 
(wrightc@dtcweb.com) Christopher B. Wright is a technical writer in the Richmond, VA area, and has been using OS/2 Warp since January 95.  He is also a member of Team OS/2.

***********************************

Java Special Report - Introduction		-Chris Wenham

Summary: Just how practical is it to put Java applications into your daily work life? Can we really honestly believe that Java is the way to go for OS/2? In this Special Report we've tested a number of "Pure Java" applications and attempted to make them part of our normal everyday toolset, to get a practical idea on whether or not Java is truly ready for "prime time."

Java is considered to be one or both of two key things; a programming language, and a platform just like Windows, OS/2 and the Macintosh is. As a platform it purposefully acts like a Cuckoo Bird, laying its eggs in another bird's nest for that other bird to hatch, feed and raise. These eggs are called Java Virtual Machines and they act just like an operating system within an operating system. It's as if someone proposed that the world unite under a common language, then invented that language from scratch and gave each English, French, Spanish and Japanese speaking person a little headset mounted translator, then expected everything to be just groovy. Furthermore, the company that invented the language and the translator expects communities that speak other languages to buy the plans for the translator and build their own. It seems far fetched.

But, considering all the innumerable benefits that come, maybe a headset wouldn't be so bad after all. Java's plusses aren't limited entirely to cross-platform programs; its creators and coconspirators are using its popularity to carry a lot of other cool technologies that might have been worthy but never made it to the big time in their last incarnations. From the broken dreams of OpenDoc's component utopia come JavaBeans, the distributed computing ideas of DSOM can be found in Java's Remote Method Invocation (RMI), and IBM's old ideas of workplace "personalities" are revived again in Swing's pluggable look and feel. By all respects, Java is like what you get when you take Wile E. Coyote's philosophy and throw it in the trash - if it blew up, collapsed, or flopped the first time, that's no reason not to tweak it and try again. Even the idea of cross-platform programs itself is years older than Java.

So What's It Going To Cost?

Understand that Java adds several more hoops for one to jump through. Traditional compiled programs, or "binaries", are assembled to run on only one hardware platform. Windows programs are usually compiled to run on Intel's x86 family of chips (386 and upwards through the Pentiums), and use the Windows API only as a means of talking to Windows. Macintosh programs are compiled to run on the Motorola PowerPC, or 68000 family of chips from an earlier era. And in reality, Java programs are no different - they're just compiled to run on an imaginary chip. The Java Virtual Machine (JVM) emulates this imaginary chip. Also supplied with a typical JVM are a set of libraries that are also written in Java, but which make it easy to write Graphical User Interfaces (GUIs) - these take the place that OS/2's Presentation Manager, Windows, X-Windows and the MacOS usually supply, even though they still work through those systems.

All this support and emulation comes at some considerable expense. Your real processor, probably an Intel, AMD or Cyrix chip if you're running OS/2, is being made to pretend that it's an imaginary Java chip. And your operating system is being made to pretend that it's actually another too. It takes time to translate instructions for the imaginary CPU into ones that your real processor can understand, and it takes time for the API calls of an imaginary operating system to be translated into ones your real OS can handle. Two sets of time consuming translation means slower programs. And there's the expense; for it'll either cost you in performance if you don't want to upgrade your hardware, or money if you do.

How Much Useful Stuff Is Out There?

This was one of our objectives for our Special Report: To get an idea of how many usable and practical Java applications are actually available at this time. Could you realistically switch from native OS/2 applications to "Pure Java" ones? We didn't expect to find replacements for all of our daily programs, but we were looking to find a good mix, letting us plausibly make about 20% or more of our daily software Java based.

The real picture we found is that nearly all categories of software, from word processors to spreadsheets, are still very poorly represented by "Pure Java" applications. E-mail is the exception, here we found two excellent and very full featured clients that, feature-wise, would compete easily with even the best native programs.
What we've got to choose from so far isn't enough to run your business on, but it's a good start. Enough to reinforce the dream of Java taking the desktop.

How Easy Is It?

The other major objective of our report was to see how easy it would be to get running with Java. You might think that due to Java being bundled with every copy of Warp 4, it'd be easy to get started. Wrong. The Java support included in Warp 4 out-of-the-box is nearly useless. What comes on the CD is Java 1.0.2, which today is only good for running animation applets in a web browser. You'll need to download Java 1.1.6 from IBM if you want to run anything serious. That's sometimes an adventure in itself, because with Warp 4 out-of-the-box, you actually need to download and install 3 multi-megabyte items: Netscape Navigator 2.02 or above, Feature Install 1.2 or above, and then Java 1.1.6 or above too. A full guide to installing Java 1.1.6 can be found in this issue.

Next comes the installation of the Java programs themselves. Sometimes this is easy, sometimes this is hard. The easy ones usually install through InstallShield for Java. The makers of InstallShield for Windows have ported their installation utility to Java, and like on the Windows platform, the Java version is very cleanly self-contained, self-extracting and user friendly. You download a .class file instead of a .ZIP or .EXE file, and either run it in any directory from the command line (eg: "java install.class"), or by drag-n-dropping it onto the "Run Java PM Program" in the Programs->Java folder found on your desktop. Up pops an install program just like InstallShield for Windows - one that lets you step forwards or backwards through installation and choose the drive and directory to install to. It also detects what platform you're running and does a good, but not perfect job, of creating desktop icons and startup-scripts to launch the application from. In practice we found that often we had to create the desktop icons ourselves and tweak the generated .CMD file before the application would start. We did not find one that didn't need any "tweaking" or icon creation at all, although Emerald Mail from Maccasoft came very close.

The difficult ones, of course, force you to either edit a sample .CMD file to start the application with, or create your own from scratch. In either case, it's a good chance that you'll end up tweaking CLASSPATH statements before getting any Java application to run.

Adopting Java In The Workplace Today

The true test will come as thousands or millions of people start adopting Java programs here and there as part of their routine slog. Chances are that Java programs will live in a mixed environment for a very long time, and for that reason must compete with native programs both feature-wise and performance-wise. It's going to be a few more years until such things as Java embedded telephones and other appliances show us that a program doesn't have to be loaded with a 1001 features to be compelling and desirable. Your next e-mail client might not need extensive filtering, MIME and "persona" features to make it your most important application, but the fact that it runs on your wristwatch could.

In our Special Report we found and tested several Java applications that attempt to compete against other "traditional" applications and which we think are mature enough for you to introduce into your work day. I've personally made at least one of these part of my daily routine, with others enjoying occasional use from time to time -- a foot in the door for more to come.

                         - * -

If you've had experiences with Java too, or want to share your opinion of some of your favorite (or not so favorite) Java programs, then join our (http://www.os2ezine.com/forums/get/forums/reports/java.html) interactive forum and talk about it there.

(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Installing Java 1.1.6		-Chris Wenham

Summary: In order to use it, you gotta install it. Detailed instructions for installing the latest Java Virtual Machine on your OS/2 system.

To start using Java applications on your PC today you need to have a Java Virtual Machine installed. The only one we're aware of for OS/2 at this time is the one developed by IBM themselves. Fortunately for us, it's one of the best and the fastest for any platform. To install Java 1.1.6 you'll need two other items installed first:

o Netscape Navigator 2.02, or Communicator 4.04 for OS/2
o Feature Install 1.2 or higher

Both can be downloaded for free from (http://service.software.ibm.com/asd-bin/doc/index.htm) IBM's Software Choice web page.

Feature Install is actually a Netscape plugin for OS/2. Since Java for OS/2 uses a web-browser based install method, it needs a way to actually query your hard drives for available space, create the install directories, copy the files and modify the CONFIG.SYS - things that cannot be done in HTML alone. We don't know why IBM chose this method instead of the usual IBM Install program that Navigator/Communicator itself uses, but there you go.

To install Feature Install, simply unzip the archive into a temporary directory and run "FISETUP.EXE". Once it's done, you can delete the contents of the temporary directory and the downloaded archive. The plugin will have been installed to Navigator or Communicator's PLUGINS directory (the file is called "NPFI.DLL" if you're curious.)

Next you need to download Java itself (also available at (http://service.software.ibm.com/asd-bin/doc/index.htm) Software Choice.) At the time of writing we recommend Java 1.1.6, as the preview of 1.1.7 has been found to have a few bugs in it that affect at least one of the programs we tested in this review. It comes in two different configurations, one with the Unicode font and another without. The Unicode font, a version of Times New Roman, is about 12 megabytes in size (for one font!!) - but that's thanks to it containing most of the World (and especially Asian) alphabets in it. If you have no need of viewing documents or running programs that use more than the standard western alphabet, you won't need the Unicode version.

Once you've chosen and downloaded the version of Java that you want, just unzip it into a temporary directory and run the INSTALL.EXE program. It'll start up a session of Netscape or Communicator - loading the first page of the installation into it. From there it'll guide you through an easy or an advanced version of the process. After you've made your selections and its finished installing, shut down the computer and reboot. When you come back, Java will be fully installed and you can delete the contents of the temporary directory.


(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Java E-Mail Clients		-Chris Wenham

Summary: And then there were two. As an OS/2 user you may already be familiar with J Street Mailer from Innoval, but now there's another called Emerald Mail from Maccasoft. We'll take a brief look at the two programs side by side.

E-mail is one of the few categories so far that Java is represented by very well. J Street Mailer stepped out of the gate fully loaded, with little more to ask for. Now there's another called Emerald Mail, also emerging almost from nowhere with a pretty good array of features. Here we'll look at them both and compare their features briefly.

Installation: The Hard Way and The Easy Way

Each application takes a different approach to installation. While J Street Mailer leaves you to your own devices, Emerald Mail uses something called PackageWizard for Java* and was the first we tested that was able to setup a folder with icons on the OS/2 desktop automatically too (it still needed a little editing of the CLASSPATH, hovever, so it wasn't perfect). With J Street you need to create a script yourself that launches the program. This isn't hard if you've done it before, and the included Readme files tell you how. We would have appreciated more than this, however.

User Interfaces

Both programs look almost the same, each following pretty much the same conventions. There's three main "panes" in each program's window, one for the account(s) and its folders, one for the list of messages in the selected folder, and a third pane to display the contents of the message itself. Under Emerald Mail, a message is viewable in either the third frame (called the "preview") or a separate window. This is not so under J Street Mailer. You can also switch between two other typical layouts at the click of a button with Emerald.

Both also have toolbars in pretty much the same location with pretty much the same functions. Emerald Mail's button icons look very similar, and sometimes identical to those found in PMMail. In fact, a lot of Emerald's interface bears a striking resemblance to PMMail, so much so we wonder if there'll be a lawsuit in the making.

Documentation can be found in the help files for both programs, but not only is J Street's help more extensive, it's help viewer is better too. Both store their help in HTML format, but J Street lets you search and flip between an index or Table-Of-Contents view.

Features

Features is where J Street Mailer outclasses Emerald Mail by a significant amount. J Street is simply much more mature and rich with tools. It has everything from multiple personas, "Virtual Folders", newsgroup posting, sticky notes and the ability to check for new mail every couple of minutes - none of which we could find an equivalent of in Emerald. Both seem to match each other fairly well with address book support and mail filters, but J Street seems to have the better mail searching tool (part of its "Virtual Folders").

Emerald Mail handles multiple accounts a little better than J Street, though. Emerald Mail, copying its style from PMMail, displays all of your accounts and their folders as one grand tree and lets you easily move or copy a message to another account's folder. But with J Street Mailer, you must switch from account to account with the menu, you're unable to see the folders of the inactive account, and while you can copy messages to other accounts, the command to do so is buried two menu levels deep and doesn't let you select the destination folder*. It's a shame that neither program will automatically check for new mail in all accounts simultaneously, as PMMail can be set to do.

Wrap-Up

The comparison might seem a little unfair at the moment, since Emerald Mail was barely released a month ago, and J Street Mailer has been available for quite some time now. What's telling is how close to "prime time" they both are. Is e-mail just one of Java's "sweet spots"? Maybe.

>* - The Oct 16th version incorrectly stated that Emerald Mail used InstallShield for Java, and that J Street Mailer could not copy/move mail to other accounts.

                         - * -

J Street Mailer
by (http://www.innoval.com/) Innoval
MSRP: $49

Emerald Mail
by (http://www.maccasoft.com/) MaccaSoft
download from (http://www.maccasoft.com/emerald/emer102.zip) The MaccaSoft homepage (1.2M)
Registration: $45

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Simplicity For Java		-Chris Wenham

Summary: Tired of looking at all the best visual Java development environments on Windows-only? Try one written in Java itself. Simplicity is not only a "point-and-click" style development environment, it's also fast and has a very nifty way of testing the program you're currently writing.

Java has spawned a number of top-class development environments designed to get everyone form the professional programmer to the part-time tinkerer into making Java applications for the desktop, web and embedded devices. But so many of these are for Windows! Arg! It should drive you nuts that in order to develop for the premier cross-platform&nbsp;environment, you can only do it on one platform. Why can't there be tools written in Java itself? Ah... but there are. One of them is called Simplicity for Java, and it's got quite a few clever tricks up its sleeve.

Installation, Documentation And Support

Simplicity begins with "The Easy Way" of installation. You download a .class file, then drag-n-drop its icon onto the "Run Java PM Program" icon in Warp's Java 1.1.6 folder. Up comes InstallShield for Java and guides you though the process of selecting a directory and installing to it. You'll need to run the included .CMD program to create a desktop icon, and maybe also modify the CLASSPATH before it'll run, but it isn't too painful to get going.

Documentation is pretty good and comes in HTML format. What's really useful is the pair of tutorials which takes you step-by-step through the creation of a simple text editor and bank-account program. Support is available through e-mail, and in our experience a reply came by the next business day.

User Interface

Simplicity will start you off with a plain looking IDE (Integrated Development Environment) that manages your projects, their classes, associated resources such as images and sounds, imported JavaBeans and more. Where it gets more interesting is the Simplicity Composer, where your program is visually represented by its components and -- get this -- your program actually runs and changes as you work on it. That means that the running model of your program is what you drop buttons and entryfields and other visual elements onto - becoming active and functional the moment you do. If you were to add a few extra lines of code to the behavior of an element, it's functional instantly. No saving and compiling steps in-between. This is quite a leap in Rapid Application Development.

To the bottom is the Object Palette, a collection of visual elements that you can add to your program. You click on what you want, then click on where you want it in the program. The usual procedure is to select a layout first, which places a grid of some kind in the program, then move onto things like buttons, check boxes, text areas and so-forth, customizing their properties and behavior as you go.

Back in the IDE you have context sensitive menus available for all of the components listed. Compiling your program into a final product is as easy as right-clicking on the Java Source File and selecting "Compile".

Features

Simplicity is one of the few Java Development Environments where even non-programmers could actually put together some surprisingly sophisticated utilities. Not only does the visual environment let you "paint" your entire program's interface, but it's "Code Sourcerer" wizard will actually do some of the coding for the "guts" of the program too. By stepping through a few pages of common activities, such as file access (reading and writing), and changing the state of other controls (like graying out options that no longer apply etc). The "Code Sourcerer" will generate Java code according to the behavior you specify and automatically paste it into the program. For the basic text editor example, you literally did not have to know or type a single line of Java code in order to accomplish the basic tasks of reading from a file and saving to a new one.

In addition to this, Simplicity is also able to import JavaBeans, meaning you can easily extend your programs with modules written by other authors. Imported JavaBeans are not only listed in the IDE's main window, but also get added to the palette of visual components in the Simplicity Composer for click-and-point usage. Simplicity is able to query the JavaBean for its properties so that you can edit them visually. We were unable to successfully test this, however.

Wrapping Up

There's a lot to write home about in Simplicity for Java. Not only does it let you build the visual aspect of your program by "painting" it on the screen, but it can also automatically generate a lot of the hum-drum code within the guts of the program too. Its a very good example of how the power to build sophisticated programs is now falling into the hands of non-programmers, or those with limited programming experience.

Simplicity's authors tell us that a new version of the development environment is due soon, one that allows you to utilize Sun's Swing (or Java Foundation Classes) in your programs too.

                         - * -

Simplicity For Java
by (http://www.datarepresentations.com/) Data Representations, Inc.
download from (http://www.datarepresentations.com/tryout.htm) The Simplicity homepage (1.2M)
Registration: $89

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Moneydance for Java		-Chris Wenham

Summary: As a personal finance manager, Moneydance's current and early state is feature limited and slow even on a well equipped machine. It does make use of Swing, however, meaning that not only does it have a "pluggable" look and feel, but it's also possible that some of the performance issues may be addressed by Sun as a matter of course.

Moneydance is a sign that Java might just struggle to survive in the "Kitchentop" market. It's a personal finance manager, capable of recording all of your checking, savings and credit card account activity as well as breaking down your expenses and incomes into summed categories that you can read in a single glance. It'll do the basics, managing splits, the difference between cleared and uncleared checks, plus hold a memory of all past payees.

Installation and Documentation

Moneydance installation is an affair of unzipping the archive and briefly customizing the CMD file that it comes with. Moneydance is available with or without Swing included in the package (the difference in compressed file sizes is over a megabyte), but even though I had Swing 1.1 beta 3 installed from Sun's web site, the version of Moneydance without Swing included would not run.

Documentation at this point is severely limited. If you can't figure it out from a few minutes of exploring then you're out of luck, but fortunately the interface and feature set is simple and small enough to learn quickly.

User Interface

Moneydance was one of the first complete applications I'd tried that used Sun's new Swing libraries, also known as the Java Foundation Classes. The largest part of Swing appeals only to programmers, but what might get your motor running is the very end-user concept of the pluggable "look and feel". That is, with a click of the mouse you can change the whole appearance of the program's user interface elements (buttons, scrollbars, and if the Java VM you're using allows it; titlebar and window controls too) while the program is still running.

At the moment the only three appearances you can choose from in Moneydance are the Metal (Sun's proposed "Java look and feel"), Motif and Windows. But while the Windows look and feel is technically available, you must be running Moneydance under Windows itself to actually access it. Sun seems to be sensitive to delivering the look and feel of the Windows (and soon Macintosh) interface to other platforms, so even though they are implemented in the code itself, they are "locked out" for users of other operating systems.

Given that the Motif look and feel seems kind of homely these days, I chose to stick with Metal. There was no "OS/2" look and feel available to choose from.

Aside from Swing's contributions, the Moneydance interface is very plain and minimal. When you start, all you see is a menu bar, and it isn't until you load or create a new file that you see anything that resembles a finance program. Moneydance chooses to drop you right into a summary ledger view of your accounts and their sub categories. At a glance you can see how much you've spent on gasoline, for example, or groceries and music. But what you see from the main screen is only a sum of all activity in that category, opening it will show you the details. But to actually edit and add new transactions, you need to jump to the Checking Account ledger.

Editing and adding new transactions in these ledgers is an extremely simple affair. Click on an entry and its details are loaded into a frame at the bottom  of the screen. Like Communicator 4.04's URL completion feature which speculates what web page you want after typing only the first few letters, Moneydance will flip through possible payees as you begin typing their name. What it will also do is remember how much you paid them last, what expense (or income) category it was in, and what the memo was.

Features

But Moneydance 2 is a product in the early stages of its life. It's sophisticated enough to handle splits and reconciliation, but it couldn't even display a graph of your account activity until very recently - even then the program crashed when we tried that. At best, you would find it only slightly better than a regular paper ledger and pencil, since not even basic report generating tools are included yet (although the author has set aside a grayed-out button for it).

But maybe Moneydance has an eye to the future, because this very basic finance program still has the ability to import Quicken (.QIF) data files - not something an author would implement unless he were sure the program would evolve to the point where it could actually be an attractive alternative to Quicken users seeking to migrate away from Windows. Unfortunately, Moneydance does not have the ability to export to QIF format.

For those who live outside the United States, or who deal with foreign currency on a regular basis, Moneydance not only has the ability to work with any of the world's currencies, but also has a translator that will calculate the value of any sum of money from one currency to another. The program has several world currencies already predefined, but you can add more as you please. What's useful is as you switch between base currencies, Moneydance will re-calculate the exchange rates of the others relative to the new one.

Wrapping Up

Truth be told, Moneydance doesn't yet shape up very well at all. The use of Swing makes screen painting and especially scrolling a very sluggish deal, even on a 225 MHZ chip and PCI graphics card. Sun has claimed that it's solved these performance issues in its latest revisions of the programming library, but Moneydance doesn't make use of them yet. (Editor's Note: The author claims that a new beta of Moneydance will be available soon that uses the newer Swing libraries.)

Yet Moneydance could be worth a serious look in the future, if not just for the fact that balancing your checkbook on your Java compatible pocket organizer with the same program as you use on your desktop PC is an appealing idea.

                         - * -

Moneydance For Java version 2.0 beta2
by (http://seanreilly.com/java/moneydance.html) Sean Reilly
download from (http://seanreilly.com/java/download.html) The Moneydance homepage (1.6M / 194K)
Registration: $25

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Utilities and Gadgets		-Chris Wenham

Summary: Rounding up our look at Java applications for the desktop, we look at some of the smaller utilities and gadgets such as an IRC client and even a ZIP file manager.

iavaZIP 2.03

A pleasant surprise to find in the Java utilities bag is iavaZIP, a program that easily manages .ZIP archive files with features on par to WinZip and WarpZip. It installs quickly with the help of InstallShield for Java, has a clean yet visually rich user interface and even a set of built-in viewers for checking ReadMe files and images.

With iavaZIP it's easy to browse for the zip file you want, then navigate through a tree of available directories to pick where you want to extract to. iavaZIP will also present details of the files found within an archive and flip back and forth through available views.

IRC Client for Java

From IBM's AlphaWorks web site comes a fairly decent Internet Relay Chat (IRC) client for Java, one that not only supports joining multiple chat rooms, but also has a few interesting features not found in regular clients.

One of these is an optional scrolling ticker that runs along the top of the window. While it starts with a default message from IBM, channel hosts (operators) can post an advertisement or message to the channel that gets added to this ticker. Another feature is the ability to request the last 10 lines of conversation from another user, as long as he's also using IRC Client for Java -- usefull for if you just joined a channel and want to get up to speed with the conversation.

IRC Client for Java might take a few moments of getting used to if you're accustomed to traditional clients, but otherwise it can hold its own rather well. It has features for handling the responsibilities and powers of a channel operater (or "host"), plus contains rudimentary flood protection.

The "Buddy Lists": Java ICQ and AOL Instant Messenger for Java

The two most popular "buddy list" programs on the Internet, now both owned by the same company, are ICQ and AOL Instant Messenger (or AIM for short). Both will help you keep track of how many friends and colleagues are online, plus let you chat with them in realtime.

Java ICQ is the most feature rich of the two, but both Java versions lag way behind their Windows counterparts. Java ICQ allows for sending files to another person and entering into chat "rooms" where more than two people can be talking at once. The service also comes with such frills as a Web "Pager" with which someone without ICQ can send you a message through the web.

AIM has the nicer looking user interface, and uses "screen names" instead of numbers as ICQ does, but carries a perpetually rotating set of advertising graphics at the top of the window.

Both are only really useful if you plan to run them all the time, and for that it might be wise to avoid them unless you have plenty of RAM available, as neither seem to be that light on resources - strange since the programs are so simple.

MaxBase

MaxBase is unusual in that it's the first major application we've come across that was written in NetRexx - a dialect of Rexx that's translated into Java. Perhaps it's for this reason that its interface is rather simplistic and menu driven. Yet MaxBase lets you create database tables, fill them with data, then either generate reports with it's MERGe report generator, or share it on a network.

MaxBase also includes a number of JavaBeans which would make it attractive to a developer seeking to add database power to his or her Jawa application. While MaxBase deserves a longer review of its features, we didn't have time to complete it for this issue. Look for more coverage of MaxBase in a future issue of OS/2 e-Zine!

                         - * -

iavaZIP 2.03
by (http://www.sfs-software.com/) SFS Software
download from (http://www.sfs-software.com/iavazip/download_iavazip.html) The SFS homepage (430K)
Registration: $49

IRC Client for Java 1.38
by (http://www.alphaworks.ibm.com/) IBM AlphaWorks
download from (http://www.alphaWorks.ibm.com/stats/downstat.nsf/usercheck?createdocument&file=/forum/wwwdown.nsf/system/downloads/E29DFC60DF7851E58825669F00643C2F/$file/irc1_38.zip) AlphaWorks (328K)
Registration: Free

Java ICQ v0.981a Preview
by (http://www.mirabilis.com/) Mirabilis
download from (http://www.mirabilis.com/pub/java/ICQJava_Preview.zip) Mirabilis (605K)
Registration: Free

AOL Instant Messenger for Java
by (http://www.aol.com/) America Online
download from (http://www.aol.com/aim/promo/72975/aim_create.html) AIM sign-up page (917K)
Registration: Free

MaxBase
by (http://www.bmtmicro.com/catalog/mb-web) Max Marsiglietti
download from (ftp://ftp.bmtmicro.com/bmtmicro/mbase118.zip) BMT Micro (1.6M)
Registration: $29

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

First Looks: StarOffice 5.0		-Nenad Milenkovic

Summary: It's the "other" office suite for OS/2 next to Lotus SmartSuite, and in version 5.0 (which should make it to the international market early, unlike its earlier versions) it's grown bigger yet. We take a first-looks at it in this issue.

There's probably no software package that created so much controversy among OS/2 users as Star Division's StarOffice.

The German based company introduced itself to OS/2 five years ago by offering their StarWriter in both Windows and OS/2 versions. For international users it ended then. In the meantime we saw two Beta versions of both StarOffice v3 and StarOffice v4, but it wasn't until late after StarOffice 4.0's beta that a shrink-wrapped version actually went on sale outside of Germany. But within Germany the suite is quite popular, with some PC vendors even pre-loading StarOffice onto their computers. But as a growing (i.e. still small) company, Star Division decided to use their resources for solidifying it's product on the already reached German market, instead of extending themselves beyond their size by investing into the expensive realm of international distribution, marketing and support.

Most of the controversy surrounding StarOffice resulted mostly from their "teasing" of international market with solid beta versions that would expire and never result in product you can buy. Many "users-to-be" were disappointed, and many were assured that Star Division will never be able to release it's product to international customers.
Another controversial issue was the fact that StarOffice is modeled after Microsoft's Office suite. Some die-hard "anything but Microsoft" users protested, called it a MS Office clone, and refused to use such thing on their Microsoft-free systems. But although we agree that Microsoft's interface is not the best, it is the most widely used. With MS Office used by 90% of office-suite users, copying its user interface represents not only the safe choice, but a choice that can help MS Office users migrate to StarOffice with ease.

The final controversy is StarDesktop, the integrating component for StarOffice documents. It's modeled after Windows 95 interface (with addition of Explorer-like tree at the left side of Desktop). OS/2 users felt that an OS/2 office package should integrate with Workplace Shell and that documents should be organized in WPS folders instead of a need to access them via separate application (i.e. from the Office itself). They neglected the fact that StarOffice v4 was, actually, much more "OS/2 aware" than, for example, Lotus SmartSuite which was almost a straight Open32 based port. If you forgot about StarDesktop, turned off "task bar" and deactivated "Beamer", you'd end up with classical text processor or spreadsheet in a window, with only difference being inability to "tear-off" individual documents into separate windows: you'd use them as MDI children in a main application window. StarOffice used Warp4-style notebooks for all dialogs, menus were consistent in behavior with the rest of the system, and drag & drop between documents and WPS folders worked quite well.

The Waiting Is Over

Time has worked favorably for Star Division and it looks like that company can finally afford to include producing of international versions in development costs. A few months ago, Star Division offered to the international market version 4 of their package, with Service Pack 3 applied and with free license for upcoming version 5. Simultaneously, some rumors about new features have spread among OS/2 users which resulted in renewed interest for the product. This autumn we will finally get full-blown boxed version of StarOffice v5 International, and not only for Win32 and OS/2, but for Linux, Solaris and Macintosh, too. In addition, there will be Java and Windows 3.1 versions available, but those will require StarOffice Server for functioning.

Earlier this month, Star Division shipped "PreFinal" versions for Windows and OS/2. But for English-speaking users, only the Windows "PreFinal" version is available for now. Therefore, we examined German version for OS/2 for our First Looks.

Our first encounter was a surprise: a nifty looking and functional installation program, but with "hard-coded" Win95-like window controls, toolbars, etc. When installation was completed, we rebooted, only to find out that, except for the "StarOffice 5.0" folder and two program objects in it (one for main application, another for Install/Uninstall tool) no other WPS objects were created: no templates were available in "Templates" folder, not even associations were created for opening documents directly from OS/2 Desktop. Yet this was all offered by previous version.

A quick look at the "readme" file and StarDivision's Web site explained what was happening. In order to release the "PreFinal" version as soon as possible, Star Division omitted WPS integration totally and left it for the final release. Therefore, you cannot drag & drop WPS objects to and from StarOffice documents in PreFinal version, only dragging between two Desktops (OS/2 and Star's) works. So, there's no reason for panic, we can expect WPS integration at least at v4's level in GA version.

What else is not in this PreFinal? Most notably, performance and resource usage will be "significantly" improved (they'd better do that!), totally new MS Office documents import/export filters will be ready and an "OS/2 Look & Feel" will be finalized (more about "looks" and "feels" below). Finally, components that are new or completely revised for this version are still not stable enough.

Having all that in mind, we'll limit ourselves on showing what's good, bad and new in this package, and discuss performance and stability when final version is available. For those who saw Beta of version 4, we can only say that this version is much more stable and notably slower than that Beta was.

What's inside?

StarOffice is an application suite with an exceptionally long list of features and possibilities that it offers out-of-the box. The only problem is that you have no choice: either you get it all or don't get it at all. Tight integration between modules and code reuse account for that, but some users will find this concept inflexible. In order to write letter you will not have to bear with spreadsheet, presentation software and database in memory (dynamic memory allocation solved that issue years ago), but in order to use any component you'll still bear with the StarDesktop in memory, whether you're using it or not. It's not a big deal if you're utilizing StarOffice all the time for some heavy-duty work, but if you have to start it just to get mail from internet, it's definitely overkill. However, SO is obviously not indented for those needing only mail or news features, but for those in need for a full featured office suite package who will "live" in it nearly all the time. Inability to purchase components separately is, however, completely another issue. But most people buy complete office packages anyway and the fact that "what's good for most of people is good enough for you" is an ancient wisdom that's made at least one man the richest on the planet.

So, what will you get? First of all, there's <a href="SO-1.gif) StarDesktop (.GIF, 90K), with it's "Explorer" tree for navigation, "TaskBar" for task switching, a "Beamer" drop-down panel with context-sensitive content (database entries, clip arts from Gallery...), a <a href="SO-2.gif) main tool-bar (.GIF, 3K) which offers common functions (like entering URLs, browsing forward and backward, undoing and redoing actions, showing and hiding desktop components) and dynamic menu bar that adapts itself to the work that the user is currently doing in the program.
But do we need another Desktop on top of the one already provided by operating system? Well, most office suites offer some kind of integration tools, implemented as some sort of launch-pad interface or drawers with folders, such as SmartSuite's SmartCenter (missing from OS/2 version but present in the Windows version). If that "integrating component" is as good and has all features as the basic user interface of the whole operating system (Windows 95/NT) I see it as a plus, not drawback.

Yes, it could have achieved the same effect with Workplace Shell (WPS) extensions, but this way you can set up StarOffice on client machine without the WPS. Then StarDesktop looks and behaves the same on OS/2, Windows, Macintosh, Linux, Solaris and Java. StarOffice is not developed for one OS and then ported to others, it's developed for a "platform" called StarView, which is actually a big and complex programmer's library that is already ported and implemented on number of other operating systems (it started as a library for developing Windows and OS/2 programs from one source base, which explains the good OS/2 support). Being such, it must provide common features on all platforms, even if it includes adding support for some functions that an operating system does not support (like Object Linking and Embedding in the OS/2 version).

The Desktop And Explorer

Most important for end-users, Explorer's tree is task-centric, and in it's root you'll find "Workplace" (which lists all disk drives available on system), "Work" folder (for your own documents), "Bookmarks", "Samples", "Gallery", "Scheduler", "Address Book" and even the entire on-line documentation ("Help") for the suite. Contrary to version 4, there's no "Desktop" folder in it. The role of the "Desktop" folder was confusing (compared with "Work" or the user's own folders) in previous version, so Star Division removed it and offered one-click access to it from taskbar.

Whenever you want to open new window (document, web page or folder) from Explorer, you'll have to select "Desktop" or a new window will come up in place of currently opened one.

The Components

Other StarOffice components are not so original, and what follows is the list of included modules with short explanations:

StarWriter is a full-featured word processor with an integrated web/HTML browser and editor (both WYSIWYG and source-level), automation "wizards" (AutoPilots) for predefined templates, and many DTP-oriented enhancements. It's very similar to Microsoft's Word, both in features and user interface. However, it offers numerous enhancements over it, both in functionality and the way it interacts with user.

StarCalc is a spreadsheet module that also borrows a lot from Microsoft's offering.
StarImpress is there for business presentations, quite on par with PowerPoint.

StarBase is completely rewritten for this version and is stated to improve significantly the ways databases are created, managed and reported in StarOffice.

StarDraw is the module for drawing vector images (something like Corel Lite), but extended with OpenGL based 3D effects (with texture support), and few very useful templates -- including the one for a CD cover. StarImpress actually builds on it to provide the presentation package.

StarImage is used for working with bitmap images: photographs, scans, etc. Certainly far from a Photo Shop killer, but quite capable and applicable for most needs of average users, including color adjustment, special effects, various drawing tools and decent number of supported formats. It supports scanning of images -- but not in the OS/2 version (even though OS/2 supports both TWAIN and SANE which StarOffice uses on Windows and Unix platforms).

StarChart can help in producing graphs and charts, and is also used by the StarCalc module for those purposes.

StarMath is equation editor that will be welcomed by users of good old Ventura Publisher for DOS/GEM since it uses similar syntax. It has a "command line" interface and allows very fast input once you become familiar with it, but lacks flexibility since it's limited to built-in symbols. It's mostly used from other suite components.

StarSchedule is a Personal Information Manager (PIM) completely new in this package that should fill in the gap of missing Organizer-like functionality. It offers very good integration but slightly odd and un-intuitive user interface. Once you learn it, it's quite efficient, but lacks some advanced features.

StarMail and StarDiscussion will be mostly used for accessing Internet mail and news. The corporate user will be glad to hear that in addition to POP/SMTP and IMAP4 protocols, StarOffice also supports VIM (Vendor-Independent Messaging) protocol which is used by the Lotus Notes and cc:Mail messaging platforms.

All those components are tightly integrated and documents created with one can contain frames with others in OLE-style (Star Division actually implemented an OLE clone for it's OS/2 version). The integrating glue is the StarBasic <a href="SO-4.gif) macro/progamming language (.GIF, 43K) which is much like Microsoft's Visual Basic for Applications but with slightly different (and extended) structure of object classes. Advanced users of MS's Office will welcome the fact that similarities between two packages extend to such high degree. You can also use StarScript (a renamed JavaScript) or Java. For Java, StarOffice uses whatever Java Virtual Machine (JVM) you happen to have installed on your system, so it's not kept lagging when you want to upgrade to IBM's new versions.

What's new?

Users of version 4 (or those who have tried international Beta versions) will start counting new features as soon as they start the application. When you start it, you end up with full-screen "Integrated Desktop".

While in this mode (which is default), you'll interact only with the user interface offered by StarDesktop. There's no title bar or other standard window controls for application. Don't panic (as I did!), just press Ctrl-Shift-I (or select appropriate option from "View" menu) and you'll see the very same desktop, but "captured" within OS/2 window. Now that you are reassured that you control the situation, feel free to explore further.

StarDesktop borrows heavily from Macintosh and Windows 95. There's Mac-like menu bar at the top of the screen which changes contents based on active document type or document part, and at the bottom of the screen you'll find the "Task Bar" almost identical to the one offered by Windows 95. Between them is an application area which is, at startup, occupied with StarDesktop's "Desktop" folder and the "Explorer" tree on the left side of the screen. What's borrowed from OS/2? Well, not much. If we count out what was already "borrowed" by Windows 95, only the ability to set backgrounds individually for each folder remains.

A very attractive new feature is a customizable "look & feel". In previous versions, StarOffice used GUI controls that the operating system provided. Now it does all of its GUI stuff internally, which allows you to have, for example, Macintosh or X-Windows "look & feel" on OS/2, but also an OS/2 "look & feel" if you're forced to use another platform. Watching Mac-like title-bars and buttons in OS/2 is really cool, but this introduced some notable performance problems. Since the OS/2 "look & feel" is not yet ready, it raises concerns how it will be implemented. In the "PreFinal" version, selecting OS/2 brings you (close to) Warp4-style window controls and nothing else. Buttons, notebook tabs, menus, check-boxes and other controls are Windows-like, and I particularly hated the scroll-bars (which don't react when you press them!). We'll have to wait and see how Star Division will implement this, but even if they manage to mimic the look of OS/2, it's very unlikely that StarOffice's "internal" windows will benefit from OS/2 PM enhancers like X'it, DragText or CandyBarZ.

StarWriter will now import MS Word 97 and AmiPro documents (no Describe filter is available), it has some advanced "groupware" functions, and very nice feature called "Direct Cursor". Until now, piece of paper had one advantage over text-processors: you were able to lower your hand anywhere you wanted and start writing. With word-processor, you must press "Enter" and "Tab" several times, or even create frames to position your text at will. "Direct cursor" will do all that for you. After activation, you just click where you want to type and type.

DTP improvements include more precise positioning of characters, lining up of columns and ability to flow text from one frame to another (newspaper-style). Text can wrap around irregularly shaped images (actually, you draw boundaries for wrapping, using very similar tool you use when creating image-maps for web pages), etc. Unfortunately, StarWriter still uses an old fashioned way of formatting text (menu, dialog, set parameters with preview, OK button to see what you did, than all over again). Lotus Word Pro's InfoBox which integrates both direct-in-text and style editing with real-time changes is light years ahead. Also, I miss the ability from version 4 to dock the "Stylist" to screen edges, or to "undock" and rearrange toolbars, for that matter.

StarCalc is improved mostly in area of automation tasks, but advanced users will also like a new feature that lets you browse a graphical representation (map) of formula dependencies. Those who prepare reports will welcome some advanced formatting options, including ability to freely rotate text contained in a cell.

StarBase is completely rewritten and now can use SQL (DB2) and JDBC data sources in addition to dBase, ODBC and "text". Of course, those data sources integrate with other components via "Beamer", for drag & drop operation, creation of mailing lists, etc. And, no, StarBase is not modeled after MS Access. It focuses on integration with other Office components, not creating of custom applications (although that's possible).

Internet components are improved, too. With mail and news components rewritten, you can select from number of pre-formatted layouts for reading messages, apply filters for incoming ones, etc. The same principle goes for both Internet (POP/SMPT/IMAP4) and VIM messaging. StarOffice can search LDAP directories and provides users with pre-configured search tool for searching with various Internet search engines simultaneously. The integrated Web browser is not some ugly Web Explorer orphan, but quite nice application, somewhere between Netscape 3 and 4, capable of supporting JavaScript, Java applets and plug-ins. It will surely save you from loading Netscape while in StarOffice, but whether you use it for your general Web surfing will depend on your own preferences.

TaskBar now shows all active programs from "Window List", but that is, smartly enough, only when "Integrated Desktop" feature is enabled. StarSchedule, a completely new component, shows promise. It integrates well with the address book and other system components (you can be alarmed remotely via e-mail, for example), but still needs refinement. Scheduling Internet downloads would be nice too (it was possible with version 4, but something happened with DOWNLOAD.EXE in v5). Yet the coveted integration with a PalmPilot hand-held is available only in the Windows version.

Since StarOffice supports frames you can create web pages with them, but you're not limited to that. Frames in a frameset can contain any document SO is able to display, which allows you to set up and save customized multi-document layout for situations where you need to access more than one document at the time. This feature is not new to v5, but is easily overlooked.

OS/2 issues

StarOffice is an excellent application that will satisfy most users' needs. While the PreFinal version for OS/2 has some rough edges, it proved usable and so filled with features that just listing them would require another article like this one. I do hope that Star Division will comply with it's promises and improve performance for the GA version and finish the OS/2 look & feel. If they make it possible to separately select "look" and separately select "feel" that would be perfect. Everyone would use OS/2 "feel", but having Mac or X-Windows controls on the screen for wouldn't hurt.

I would also like to see some limitations that are specific for OS/2 version removed. For example, StarOffice doesn't use the new international (Unicode) support available in Warp 4, but instead the 10-year old, DOS-originated CODEPAGE system which limits users options if he needs to work in more than one non-US alphabet. Furthermore, it still has that odd behavior that originated back in StarOffice 3 days where you need to "re-select" a font at the beginning of typing for an "accented" national character to appear. You don't need to change it, just to select it from drop-down list again! Unicode support is, according to Star Division's officials, planned for future version.
Also, I see no reason why scanning of images is not supported under OS/2. There are at least two implementations of the TWAIN standard (which they use for Windows) and pretty current port of SANE (which they use for Unix versions). If they yet decide to add one of those, my vote goes for SANE since it's free, but we will not be picky if they implement TWAIN instead.

Another issue is availability of StarOffice Server for OS/2. Although it would represent the ideal supplement to IBM's WorkSpace On-Demand (practically removing the need for Win32 clients or Citrix application server for MS Office users - they could use either OS/2 native or even StarOffice for Java), there's no OS/2 version of SO Server planned! It was publicly announced almost year ago, but for some reason Star Division ended up with StarOffice Server for Solaris and Windows NT only. Maybe salability improvements in upcoming Aurora will motivate Star Division to reconsider it's decision, since it could easily bring them many of the WSOD seats IBM has sold this year.

Conclusion

It's obvious that from this version Star Division will join the "big-three" group of office suite application makers. Until now it was always a "follow-up" with "most features present" and "some advanced features lacking". On company's site there's a very long feature-by-feature comparison with MS Office 97, and although such lists can be misleading, it's completeness and size assures us that there's not much else to ask for, if anything.

Star Division has solidified it's product and if it manages to capitalize on it's unique features (especially platform independence) it can do even more than just joining the group, because other Microsoft's rivals show tire and lack of ambitions. However, multi-platform support is important only in multi-platform world, it makes no difference in Wintel-only environment. So giving Linux version away for free (for personal use) makes sense, but in my opinion it would make sense to do the same for all other non-Windows platforms (for personal use, off course). It would help OS/2, Macintosh and Linux users to "stay current" with latest in mainstream office suite applications, and they will be not forced to use Windows for those.

From OS/2 user's stand point, StarOffice is not only worth looking at, but it deserves very serious considerations. There's no doubt that StarOffice will become THE office suite for OS/2 in forthcoming years, considering Lotus' failure to deliver much more than clumsy Open32-based port and their lack of commitment for future revisions. If you're going to use some "up-to-date" office application suite two years from now, it's very unlikely that it will something other than StarOffice, so maybe it's right time to begin getting used to it? Warpstock attendees will be among the first ones who will see finalized version of StarOffice, so if you want to see more than we were able to present here, pack your bags and... see you in Chicago.

                         - * -

StarOffice 5.0, PreRelease
by (http://www.stardivision.com/) Star Division
MSRP: N/A
 
(nenad@fon.fon.bg.ac.yu) Nenad Milenkovic is an experienced OS/2 user, specialized in networking and communications, and the best known OS/2 advocate in Yugoslavia. He has published two books and now writes for mainstream print computer magazines, but welcomes the opportunity to contribute to a magazine read by people with similar views and preferences as his own.

***********************************

Results from our October 1st Survey		-Chris Wenham

What browser are you using? And what browser do you think you'll be using 6 months from now? The question arose in our minds soon after the release of Netscape Communicator 4.04 for OS/2. What we wanted to know was how fast do OS/2 users adopt new technology, and what other alternatives do they try out as well? While under ideal circumstances we would have simply asked you to name your browser rather than pick it from a drop-down list, trying to tabulate misspellings, typos, and the myriad of versions would be a nightmare.

The results show that OS/2 users are rapid adopters of new browsing technology, with a handful who shun the status quo and go with a non-Netscape browser. We had a total of 1350 valid votes for last issue's survey. A vote is considered valid if it contains both an e-mail address, answers all questions, and is not a duplicate.

What browser are you currently using?

Amazing though it may seem, already the majority vote (49%) was for Netscape Communicator 4.04. Keep in mind that this survey was run barely a week after the release, that's a pretty fast rate of adoption! Following that very closely indeed was Navigator 2.02 with 47.5% The rest was spread rockily over the remaining options. Seems as if barely anyone uses "good old" WebExprorer anymore, even though it's been bundled with OS/2 since Warp 3. Perhaps this might give consolation to Netscape in their fight against the bundled Internet Explorer.

A small number of readers (5 in all) voted for Lynx - the one text-only browser listed in the options.

What browser do you anticipate using in 6 months?

Again, the majority vote was for Communicator, but this time at a whopping 72.9%, 982 votes in all. What's interesting is that more readers (141) thought they'd be using Opera for OS/2 (if it's released in that time frame) than Navigator 2.02 (110 readers). But only 74 thought they'd be using Warpzilla - the currently developing port of the free-source browser from Netscape.

It also seems as if the same 5 die-hard Lynx users from before didn't plan on changing either. Must be something about that browser.

How important is it to have an XML capable browser available for OS/2?

This is the one question for which the responses caught us off guard. The majority of readers, 28.5% of them, had no idea what XML was, which possibly says more about how important (or unimportant) XML really is.
In brief terms, XML (short of eXtendable Markup Language) is designed to be a replacement for HTML that allows for custom tags and much greater flexibility for describing the contents of a page. You could invent a tag called <PRICE> and use it to denote the prices in your web catalog, for example. Yet the format is also supposed to be usable by other programs too, perhaps evolving into a universal file format capable of handling databases, address books, spreadsheets and whatever else.  The trouble is, it isn't in very widespread use yet, and there's the possibility that it may be fractured by the ongoing war between Netscape and Microsoft. In the meantime, HTML serves quite well.

Complete October 1st Survey Results

What is your current browser?

Category				Count		Percentage
Netscape Communicator 4.04 (Beta or GA)	661		49.0%
Netscape Navigator 2.02			641		47.5%
WebExplorer				6		0.4%
Warpzilla				2		0.1%
Lynx					5		0.4%
Other OS/2 browser			3		0.2%
Other Windows browser			21		1.6%
Opera for Windows			10		0.7%
TOTAL					1,350		99.9%


What browser do you anticipate using in 6 months?

Category			Count		Percentage
Netscape Communicator 4.04	984		72.9%
Netscape Navigator 2.02		110		8.1%
Opera for OS/2			141		10.4%
WebExplorer			7		0.5%
Warpzilla			74		5.5%
Lynx				5		0.4%
Other OS/2 browser		10		0.7%
Other Windows browser		18		1.3%
TOTAL				1,350		99.8%


How important is it for an XML capable browser to be made available for OS/2?

Category		Count		Percentage
Essential		198		14.7%
Very important		265		19.6%
Important		327		24.2%
Not important		127		9.4%
Who cares?		47		3.5%
What is XML?		385		28.5%
TOTAL			1,350		99.9%

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.
 
***********************************

Using Priority Master II		-Ted Waldron III

Summary: Ted Waldron III, author of Priority Master II for OS/2, writes a guest article for us on how to use his program to tune and improve the performance of your PC, all with a few changes to the way your applications are prioritized.

This article is intended for OS/2 users and developers, managers, MIS directors, and anyone else using OS/2. This will cover the basic elements of multitasking and using the Priority Master II Version 2.4 program to tune your system. More detailed information on OS/2's scheduling policies and technical information is available at: (http://www.prioritymaster.com/white.htm) White paper on Prioritization and in The Electronic Developer Magazine for OS/2 (http://www.edm2.com/0509/smp2.html) OS/2's Symmetrical Multiprocessing Demystified. The program itself is available <a href="https://secure.falcon-net.net/BMT/RIP/ScheduPerformance/PriorityMaster/) on the OS/2 Supersite and a half priced (http://www.prioritymaster.com/pm24demo.exe) Lite version (.EXE, 574K) is also available too.

Priority Master II, version 2.4 can be used to tune your system by solving classical problems in your computer's scheduling, resulting in superior performance and control of your system's resources and increasing overall user responsiveness for the applications that you prioritize. The user can assign and change the priority of  applications based on the dynamic conditions inherent in a business environment. Using the program, you should be able to reduce your computing needs by at least 1/2 hour per day per employee.

User response time 

The main point of prioritizing programs is to be able to run 2 or more programs at once and control the order in which programs will get access to the CPU. The program that is highest in priority will use all of the CPU time that it needs and relinquish control to the next higher program all the way down to the lowest priority program. When two programs are the same priority, they will be scheduled to run one after another in round-robin fashion. The main point of a priority preemptive design is to allow the system to react to user requests based on the actual priority of the programs running. The program that gets all of the CPU time that it needs will have the fastest user response time. When a program gets only a fraction of the CPU time that it needs, the response time gets longer.

So, in effect, the more programs that are running, the slower the average response time becomes using OS/2's regular scheduling policy. Currently, the foreground program generally gets the highest priority and everything in the background shares the CPU equally. Background programs, although lower in priority, can receive a system applied boost for I/O and starvation (based on MAXWAIT in CONFIG.SYS) that are higher than the foreground program. Users know this and will typically run fewer programs to maintain acceptable response times for the foreground application.

Priority Master overcomes these potential problems so the user can get the best possible response time and greater system performance, running many more programs simultaneously than they could do before.

Prioritization on OS/2 

OS/2 Warp out of the box supports user-level prioritization for DOS and Windows applications via the Settings or Properties. These are given 32 levels to execute in the Regular Class, which is the default. OS/2 programs in the background will suffer severe performance penalties when there are DOS or Windows programs executing in the foreground or background, even at the default priority. Even one level above default for a DOS or Window program and background OS/2 programs will get virtually no CPU time. What is really missing is the capability to prioritize OS/2 programs, and that is where Priority Master comes in to fill that void.

OS/2 supports 128 priority levels which are divided into 4 classes, each having 32 sub-levels. From highest to lowest the classes are: Time Critical, Server, Regular and Idle. However, over 95% of the time, less than 10 of the 128 levels are actually used. All OS/2 programs can be divided into two categories: those that set their own priority internally and those that do not set their own priority. All OS/2 programs that do not set their own priority internally can be prioritized by the user with the help of Priority Master. Programs that do set their own priority may or may not be prioritized. This depends on their internal settings.

The benefits of prioritization 

Prioritization allows to you work smarter instead of harder or longer. When assigning a priority to a program, you actually control the response time that you want to wait. A system running with a mix of priorities is far more efficient than without. Part of the reason is that if a low priority program is too low to get any CPU time, it also does not have the opportunity to consume your systems resources. Therefore, more system resources are available to higher priority programs. Prioritization manages memory and CPU time at the maximum efficiency possible, regardless of what CPU is being used or how much memory is available.

For example, consider 4 programs that need 8MB of memory each. If they are all at the same priority level, it can require 32MB (4 x 8) at any one time. If you assign them a unique priority level each, something completely different happens. The one with the highest priority will get the CPU and hold onto it for all of the time that it needs. When it reads from the disk, keyboard, or simply lets go of the CPU, the next higher program gets the CPU. When the original program needs the CPU again, it simply takes control from whatever program was executing at the time. Over time, the highest priority program would complete and some the lower priority programs would get a tiny fraction of the CPU time. As the second one was completing, most of the CPU time would go to the third program and so forth. The net effect is that you could complete the 4 jobs with less than 16MB and all four would complete much faster than their non-prioritized counterparts. The bottom line is that you can significantly overload your system and still maintain excellent response time when you use a program like Priority Master.

Dynamically modifying the priority greatly extends the usefulness of prioritization along with the visual representation of the priority on the main window's title bar. Blindly changing the priority of a program can be dangerous in that a system crash could occur or the program may produce incorrect results. Priority Master solves this problem by performing a detailed analysis of the program and reporting a passed or failed status. A failed status does not necessarily mean that changing the priority of the program will result in any kind of a problem, but it does mean that the potential for a problem exists.

Client Uses 

Some of the more obvious uses of prioritization include:

o Downloading/Uploading - Use the program to increase the priority of the session doing the upload/download to get the fastest transfer rate.
o Surf the Web - Use the program to increase the priority of your dialer. Injoy preforms better at higher priorities when the system is loaded. Netscape also performs better. You should be using your CPU to it's fullest extent by running background processes while you surf the web.
o Y2K Debugging - This type of work generally involves lots of compiling and testing as well as running tools and general text editing. Using the program to boost the priority of the compiles in the background can significantly reduce compile time while other activity is going on in the foreground.
o Tape Backup - There is a testimonial stating to the effect that the entire system runs better and tape backup throughput increases using the program at its default level. Alternatively, you could do disk copy backups at a low priority.
o Sending/Receiving a Fax - It's a good bet that 99% of computer users sit right there at the screen when they are sending or receiving a fax. Why? Because they know that if they switch away to another program it may interfere with the fax and the line could drop. Set the priority of the fax software to time critical and go do something else while the send or receive is in progress.
o Defragmenting Your Hard Drives - Set the priority of the defragment utility to IDLE and use one session per drive. Attempting to start a command line defragmentation tool using standard OS/2 windows for several drives results in a system that basically unusable. All keyboard and mouse inputs are so severely delayed that just about no other work can be done. That does not happen when the priority of several windows is set to IDLE priority at any level.
o When you need something done quickly - If the boss walks in and needs something done quickly, you start a new program at high priority without having to stop what you are doing at the moment. Further, any background CPU cycles will still be available. This could save you from stopping a large data base scan (like a web search engine) and restarting it later -- typical of the manner in which some people operate.

Server Uses 

Substantial performance benefits can be achieved immediately by using PRIORITY=ABSOLUTE in the CONFIG.SYS file for any file, application or web server. Enormous benefits are also derived for Symmetrical Multiprocessors (SMP) even with just two CPUs. Better still, the effect should be geometric for additional processors. Why? This is because the standard OS/2 defaults to dynamic priority variation which gives a boost for every I/O operation. This generally results in a preemption when the I/O completes, due to the increase in priority for the returning thread. With just a few dozen users or applications, the CPU is thrashing between the programs. The effect compounds with hundreds of users and at some point, only the programs that are doing I/O are running. New users or new requests cannot be honored because the starting priority is far less than the boosted priority of the already running programs. Hence, saturation at I/O priority levels occurs. If the boosts are removed via the PRIORITY=ABSOLUTE in the CONFIG.SYS then far more users and applications can be run simultaneously.

The problem now is that server maintenance is next to impossible at the server. Without the priority boost for the foreground application, you have to wait for a very long time before an application could even be started on a busy system. Priority Master directly addresses this situation with the Set Foreground Program Priority option. This replaces OS/2's complex priority boost matrix with a simple foreground priority boost. Just start any OS/2 program using the default priority of Regular level zero and set the Foreground priority to level 1 or higher. When the program is in the foreground, it will automatically be boosted to the level that you set and return to default priority when in the background. This has a tiny fraction of the overhead compared to that of the boost applied in the default system. You may also run programs at very low priority so as not to interfere with the normal server activity. A ballpark performance figure would be about a 50% improvement for a single loaded processor.

On an SMP, the sky is the limit. If you have any server on OS/2, then add the PRIORITY=ABSOLUTE to your CONFIG.SYS, reboot, and run any benchmarks that you have. The more loaded the system is, the more the increase in performance will be achieved. If you need to do any work at the server, use Priority Master to get the response time that you want.

Using Priority Master II, 2.4

Before you start prioritizing any programs, there are a few general items that need to be considered. First is the information and warning messages. Every reasonable effort has been made to prevent a novice user from shooting themselves in the proverbial foot. Prioritizing programs is enormously complex and that is why IBM and Microsoft do not even tread on those waters. The information and warning messages are made very simple and always help to clarify or inform you before the program does anything that you do not want it to do. These should be turned on for the first week or so of use and can be turned off globally or at any of the dialogs.

The Auto Close Launched Programs on Exit is one useful feature that behaves a little like OS/2's "Work area" folders: When set, any programs started with Priority Master will automatically close when you exit Priority Master. This can be a real time saver when starting several programs and then closing them all at once at shutdown time. This isn't so good if you have warnings switched off and you accidentally find programs closing that you didn't want to close. As an exercise, use the Generate Multiple Sessions option in Priority Master and start about 20 OS/2 Windows. Close Priority Master and all 20 OS/2 Windows will close in about 3 seconds. If either the information or warning messages are on and you attempt to close the Priority Master program, you will have a chance to cancel and view the programs that would be automatically closed.

The Auto Recovery Window is your parachute when you set programs too high in priority to allow the system to run normally. You should leave this on all of the time. Several users have noted that it keeps popping up a recovery window every 60 seconds, which is the default. You can simply turn this option off. However, it is better to use the Active Program Snapshot (F4) a few times to find whichever program is hogging the CPU. If there are any controls provided by the program, use them to decrease its priority. In some rare cases (ie. calculating the value of pi to the last digit) this is OK. In general, avoid programs that consume all of the processor bandwidth. These are referred to as "compute bound" programs. When a compute bound program is running, lower priority programs will get very little or no CPU time. The net effect is that you loose all of the lower levels to do any unimportant work.

Setting the priority 

Setting the priority of an OS/2 Window or Full screen is a relatively straight-foreword process. You just select the Prioritized OS/2 Window/Full Screen option and select a priority class and level. Note that any program that you start (even PM programs) will start with the original session's priority.

To store the settings for prioritized programs, use "Find Programs and Prioritize" to enter programs and their parameters into the program list. This is simply a standard open file dialog and another dialog for entering the parameters and working environment. A detailed description of how to enter the programs is at http://www.prioritymaster.com/tour.html which includes the graphic panels. It only takes about 10 to 20 seconds to enter a program.

Priority Master can simultaneously launch several frequently used programs faster than they can be using the desktop due to overlapping of the processing, which makes it probably one of the most used features. Note that there is a an option for Popup on Startup that can be set so that the list of prioritized programs dialog box is presented when starting the program. Also the priority, parameters and working environment can be edited at any time.

Command (.CMD) files can also be prioritized. Simply use the "Find Program and Prioritize" option and select the boot drive letter and the system directory, then select CMD.EXE and enter the name of the .CMD file in the optional parameters dialog.

You do not need to prioritize every program that you use. Just two or three prioritized programs can produce significant time savings. Programs that are launched by Priority Master can be controlled by dynamically changing their priority quickly and easily. The priority of the launched programs will also appear in the main window title bar and/or the CTRL+ESC Task List.

Examples of Priority Master at work 

Priority Master can be used to make the background program higher in priority than the foreground. Retrieving files from a network is a good example.

If a large transfer is needed, start a prioritized OS/2 Window and set the priority to time critical. Use something like xcopy or any program to do the transfer. Now do anything else that you would like to at the foreground and time how long it takes to transfer the files. Now try listing a large file ("TYPE FILE.TXT" at the command line) in a Regular level 0 (default) window. Try the same test and do not prioritize the network transfer. There should be a big difference in the time that it takes to transfer the file(s) in the background.

Now suppose that you want to CHKDSK all your hard drives at once. Use the Generate Multiple Session and start 4 prioritized windows starting at Idle class level zero with auto-increment on. This generates an Idle 0, Idle 1, Idle 2 and Idle 3 OS/2 windows at Idle priority. Set the Idle 3 to be the boot drive and the other sessions for the other drive letters. Type "CHKDSK" in each of the Idle class windows and do not hit Enter yet. Now start your timer and hit Enter for all for windows. Keep a record of when each one completed. If CHKDSK reports a lot of errors, correct them and repeat the test. Now try the same test using 4 standard (un prioritized) OS/2 windows. You will see a big difference in the time that it takes to complete the tests. This is because the Idle class does not get any system applied boosts for doing I/O and the unique priority level combine to give the best performance. This is also part of the reason that a server using PRIORITY=ABSOLUTE gets better performance.

Understanding how priority in the background effects performance can be easily visually demonstrated. Start two prioritized OS/2 windows using the "Generate Multiple Sessions" option, beginning with Regular level 0. In each window enter "type readme" (in a directory with a "readme" file) and do not hit Enter. Now that both are ready to run, hit Enter on both sessions as fast as you can and set the focus to the desktop so that both sessions are unhighlighted (not in the foreground). Note that the session that is Regular 1 is getting most of the CPU time and the Regular level 0 (system default) is getting very little in comparison. In fact, it is only getting the starvation boost based on the MAXWAIT in CONFIG.SYS. If MAXWAIT is set to 1, the Regular level 0 will get 1/30th of the CPU time per second. If it is set to 3, then the Regular level 0 will get 3/30th or 1/10th of the CPU per second.

The Priority Scanning Logic 

Most of your compute bound programs should go in the Idle class with the exception of PM programs. PM programs cannot be scheduled in the Idle class because the PM message queue needs the priority boost. To demonstrate the priority scanning logic, start a prioritized OS/2 window at Idle level 25. In the window, again enter "type readme" (or the name of some other large text file) and do not yet hit Enter. Now start another prioritized OS/2 window at level 0, typing in the same command but not yet hitting Enter. Go back to the Idle 25 window and hit Enter, then to the Idle level 0 and hit Enter too. The message "Current Idle Level is too low to execute. Would you like to engage the automatic level seek logic? The scan will be reflected in the Main Window Title Bar." will appear. Select Yes and the scan will start an OS/2 window at Idle Class Level 26.

This demonstrates that the new program can execute without delay, plus any CPU time that it does not need will be given to the Idle Level 25 compute bound program. On systems using the default value for the PRIORITY statement in the CONFIG.SYS (which it defaults to, so the statement and value is missing), the priority scanning logic will always allow programs to be started in the Regular and Server classes due the very high priority system applied boost at the time the program starts.

The Show Active Program Snapshot and Show All Priorities 

The priorities that are displayed represent the base program priority in default systems (dynamic priority variation). PM programs inherently have a very high priority which is not reflected in the either of these reports. When a REG 0 is displayed, it is really much higher than Server level 31 but less than Time Critical. The priority actually floats based on whatever system applied boost is in effect at any given moment in time. On systems using PRIORITY=ABSOLUTE this not true - what you see is what you get. You need to keep this in mind when assigning priorities to command files, windows, full screens, and VIO programs.

The Check CONFIG.SYS Utility 

This has two modes: client and server. In the client case, it is important to distinguish between systems running all OS/2 programs and systems running a mix of OS/2 programs and DOS or Windows 3.1 concurrently. The default is dynamic timeslicing which gives the best performance in most situations. However, it fails miserably when there are DOS or Windows programs at the same priority as OS/2 programs in the background. This is because there is the potential for DOS or Windows 3.1 CPU hogs to be "gluttons" in the extreme. Using "TIMESLICE=32,32" in the CONFIG.SYS will bail you out of the lost CPU time due to the extended timeslice of these programs. However, a better solution is make sure that all OS/2 programs are at least one level higher than any of the DOS or Windows 3.1 programs you run, also adjusting their Setting or Properties so that that they are not compute bound. Simply run the program and use the Static Idle Test in the Utilities menu of Priority Master, then make adjustments in the DOS/Windows program's properties until the test reports idle cycles are present.

This will make your entire system run better and keep the power of the dynamic timeslicing working for you instead of against you.

Priority Inversion and PRIORITY=ABSOLUTE 

Although it is recommended that this only be used for a server, it can also be used for a client. It gives the environment very tight control over the amount of CPU and resources that each program receives. This would also imply that you would have to actually set each program's priorities yourself, otherwise everything would default to Regular level zero and you would end up with nearly a traditional time-distribution system like of the mainframes of the past. Yet it would also flush out very badly written programs in terms of their internal priority assignments. This is very rare, but can happen. When a multithreaded program has two or more threads of different priorities, a priority inversion is possible. This occurs when a thread of low priority owns a process wide resource (such as a semaphore) and the higher priority thread spins waiting on the low priority thread to run and release the resource. In standard OS/2 systems, the scheduler will eventually give the low priority thread a starvation boost based on MAXWAIT in the CONFIG.SYS. So a value of 3 (default) would perform a hard spin for the higher priority thread, the boost to the low priority thread would be invoked after the 3 second limit and it would run and release the resource.

If the MAXWAIT value was 10 (10 seconds), then 10 seconds would be required to resolve the priority inversion. On a system with PRIORITY=ABSOLUTE, the conflict would never be resolved and the program would simply hang. This is CPU independent. An i486 33MHz would loose 3 seconds of CPU time, while a 450MHz Pentuim II would also loose 3 seconds. So, if you use the PRIORITY=ABSOLUTE option and the program hangs, you just a found a CPU killer! You can verify this easily using the Active Program Snapshot or just change the value of MAXWAIT in the standard system and see if the delay in the program matches the number of seconds that you set for the MAXWAIT variable. The question is that if a "bad" program is running on your system, don't you want to know about it? On the other hand, don't try this on a production system that cannot have any possibility for a hang.

Esoteric uses 

Many large corporations have policies regarding games or just surfing the web during normal business hours. However, there are some cases in which it is known that an activity will take several minutes or even a 1/2 hour to complete. For example, copying a large number of files from a network or doing a long database scan. In that event, if the "work" activity was set to time critical and the "play" activity was set to regular priority, you could be certain that work was proceeding at top speed. That may make the "play" activity have slower responses, but you would be using otherwise wasted CPU time if you were doing nothing else. If a manager witnessed you viewing a game or surfing the web, it would be a simple matter to do a CTRL+ESC and see that the priority of the real work was higher in priority that than the "play" activity.

Some people will be better at setting the priority to properly load balance their systems than others. It would be easy to see what priority the other people are running by just looking at the priority in the main window titles on their desktop or doing a CTRL+ESC and looking at the Task List. For various reasons, some people will not prioritize any programs even if they have the capability. After all, if you were a contractor being paid by the hour, would you like to be forced to run multiple programs and keep track of them when you can be paid the same amount for running just one program? Conversely, from a managerial point of view, wouldn't you like to see your employees making efficient use of their machines and time? After all, many employees have things like stock quotes updated constantly, news, weather, even listening to Real Audio on the net while they are "working". Do they impact performance?  You bet. Isn't it about time that we all get our "priorities" straight?

Conclusion 

It has been remarked that "Nobody really does multitasking", meaning that no matter how many programs are actually loaded, they are only working on the one in the foreground and any background programs are actually idle. Just looking at all of the performance problems that you can run into when running several programs simultaneously, it is little wonder. However, with the control and performance provided in Priority Master, the floodgates to true heavy-duty multitasking are now open for business.

 
(w004233@mail.airmail.net) Ted Waldron III has 10 years of application and operating systems development for real-time super minicomputers with strong emphasis on CPU scheduling. He is the sole owner of the OS/2 2.0, 2.1 and SMP 2.11 schedulers. Ted is the author or coauthor of 5 US software patents and internationally published articles. He is also the president of ScheduPerformace, Inc. which markets the Priority Master II OS/2 applications.

***********************************

Rexx Newbies, Part II		-Chris Wenham

Summary: Part II in our series that teaches Rexx to absolute newbies. In this installment: learn how to make Rexx remember stuff, make decisions, and accept information from the user. 

In part I of our series I covered what Rexx is good for, what its advantages are, and introduced you to your first few lines of code; a "hello world" program. As you could see, such a basic program wasn't too hard to figure out. You had a comment block at the top that not only named and described the program for your own reference, but also told OS/2 that it was dealing with a Rexx script as opposed to just another batch file. And then you had an instruction that told Rexx to SAY something. I could compare all this to falling off a log, but in reality it's somewhere between shooting fish in a barrel and finding a delicatessen in New York City. I mean it's not hard.

Before going too much further I think I should introduce the concept of variables - the means every programming language uses to store information. Or more precisely: information that can change. It's like a pigeon hole or a crack in the wall that you can stuff things into and retrieve later. Rexx will create these "pigeon holes" on the fly and as you need them. Here's an example of how to create a variable -- filling it with information at the same time -- and then using it a moment later:

/* Display how much our monthly salary is */
Salary = "Diddly squat"
Say "Your current monthly salary is:" Salary 

If you were to save this as "salary.cmd" and then run it from the command prompt, it'd produce output that looks a bit like this:

[C:\WORK]salary.cmd
Your current monthly salary is: Diddly squat 

You can see that in order to fill a variable with some stuff, we just had to say that it equals ("=") something. The variable's name was 'Salary', and it was created in your computer's memory the instant you made it equal something. Now wherever you use the word 'Salary' elsewhere in the program, Rexx will substitute it for whatever is stored there, in this case, how much your salary actually is. Notice that Rexx did not substitute the word "salary" that was between the quotes of the SAY command, this is because it was considered to be part of the string, and not the same as the variable. It didn't have anything to do with using a lower-case 's', since Rexx is case insensitive when it comes to variable names. If you want an example of how to use a variable in the middle of a SAY command, look at this:

/* Display how much our monthly salary is */
Salary = "Diddly squat"
Say "Your current monthly salary is:" Salary "(before taxes)" 

The output would look like this when you run the program:

[C:\WORK]salary.cmd
Your current monthly salary is: Diddly squat (before taxes)

See that we closed the quotation before using the variable, then opened the quotes again when we had more to say. Try taking out the two quotes in the middle to see how Rexx treats the name "Salary" then.

Okay, so what's the point of using a variable? It's got a lot to do with making a program flexible, able to cope with changes while it's still running. If your salary was to change then you'd have to open up your editor and change the source of the Rexx program again.

To illustrate how a variable's contents can change while the program is still running, we'll introduce you to our next Rexx command: Parse Pull. Parse Pull is like the functional opposite of Say -- instead of displaying a string of words to the user, it asks for them, and it stores what the user gives it in a variable. Here's an example of where we set the initial contents of a variable and then change it later within the program itself:

/* Assume user's name is Bruce, then allow him or her to correct it */
UserName = "Bruce"
Say "For our records, we're assuming your name is" UserName
Say "If it isn't, please type your real name now, otherwise just press Enter."
Parse Pull NewName
If NewName \= "" then UserName = NewName
Say "Thank you," UserName". Our records are now complete."

Now I know I threw you a curveball there by using a command I hadn't yet introduced ("if... then....") but I think it's obvious that it makes simple decisions by comparing one value to another. I'll go over it in more detail in a moment. But first let me show you what the output of the above program would be when run:

[C:\work]name
For our records, we're assuming your name is Bruce
If it isn't, please type your real name now, otherwise just press Enter.
Michael
Thank you, Michael. Our records are now complete.

There you can see that the contents of the variable 'UserName' was changed from "Bruce" to "Michael" (or whatever else the user typed). If you're wondering why it took two words ("Parse" and "Pull"), it's because "Parse" is the command used to break up a string of words and put them into separate variables. But it needs to know where that string is coming from, and by specifying "Pull" we're telling it to get what it wants from the user's keyboard. I'll be discussing the "Parse" command in more detail in the future, since it's one of the more powerful and useful commands in Rexx. Chances are you'll be using it a lot in your scripts and macros.

But to finish off, I'll go over the "If... Then..." instruction to be sure you're comfortable with it. It usually comes in at least 4 parts: The beginning (if), the condition (NewName \= ""), the middle (then) and the conclusion (UserName = NewName). What the instruction did in our program was to make sure the user hadn't just pressed Enter before it goes ahead and overwrites the contents of 'UserName'. In detail:

o 'NewName' is the variable filled with whatever the user typed with the keyboard as the program ran

o '\=' is Rexx-speak for "does not equal". The slash before the equals sign means "does not" in simple terms. In other languages the same expression is sometimes represented as "<>" or "!=" Having three different ways of saying the same thing, neither of which are interchangeable within the same language, is a pain in the butt. But I guess it's too late to complain now <g>. Just remember that in Rexx, "=" means equals and "\=" means does-not-equal. There are other comparisons you can make, but we'll get to those in a future article.

o "" is an empty string. A string fulla nuthin'. Two quotes seated together with nothing in-between. If the user had pressed Enter instead of typing a name, then it's an empty string that would have been put into the 'NewName' variable.

o The last part of the command, "then UserName = NewName" is where the contents of the variable UserName gets filled with the contents of the variable NewName only if the comparison made earlier -- the 'if NewName \= ""' part -- is true.

In the end, the function of the If-Then command in our program is simple. If the user typed a new name, then fill the variable 'UserName' with it. If he/she didn't type a name, then just leave 'UserName' as it is.

To summarize, you've learned not only how to create a variable and fill it with something, but also how to make simple decisions and ask the user for information within your programs. Something to keep in mind when you write your own scripts is that a variable's name must not contain any spaces or punctuation (there are some exceptions, but we'll deal with them later) and should always start with a letter instead of a number. That's why our variables were named "UserName" instead of "User Name" -- Rexx would have thought 'User' and 'Name' were separate entities.

In the next article we'll cover basic arithmetic and how to glue strings of words together.

 
(editor@os2ezine.com) Chris Wenham is the Editor-In-Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Subscribe for FREE

If you would like to receive notification when new issues of OS/2 e-Zine! are posted or remove yourself from our notification list, use our on-line subscription form at http://www.os2ezine.com/subscrib.htm -or- send an e-mail to subscribe-request@os2ezine.com with only the word:

     subscribe 

in the body of the message. 

Please make sure your software is properly configured with your e-mail address! 

If you have problems please (feedback@os2ezine.com) e-mail us or contact us at:

Falcon Networking
4302 NW 25th Terrace
Gainesville, FL 32605

800-595-1974 (US and Canada)
352-335-9693 (elsewhere)

***********************************

Sponsor OS/2 e-Zine!

Corporate Advertisers

OS/2 e-Zine! has space for a very limited number of corporate advertisers.  A variety of affordable high impact, inline graphical advertising options are available.  Arrangements are available for multiple issue insertions.

For more information please (sales@os2ezine.com) contact us via e-mail or phone 800-595-1974 in the US and Canada or 352-335-9693 elsewhere.

Readers Can Sponsor Too!

If you feel OS/2 e-Zine! is useful, entertaining or educational, please send whatever 12 issues are worth to you.  Even sponsorship of a few dollars is appreciated.  Individuals sponsoring US$ 15 (or CDN$ 20) or more will be listed in our Sponsors Page (with an optional link to their home page).

Please (feedback@os2ezine.com) send cash, cheque or money order (International or US, made payable to Falcon Networking) along with:

o A note stating that your contribution is for OS/2 e-Zine! sponsorship
o Your name
o Your address (city, state/province & country)
o Your e-mail address
o Your web URL if applicable.</ul>

Alternatively, you may choose to sponsor OS/2 e-Zine! by credit card through (http://www.bmtmicro.com/catalog/ezine/) BMT Micro, Inc.  BMT Micro accepts Visa, Mastercard, Discover, American Express, Diner's Club, and many other credit cards.  Just call:

(800) 414-4268 (Voice) 9:00am - 7:00pm EST
(910) 791-7052 (Voice) 9:00am - 7:00pm EST
(910) 350-2937 (Fax) 24 hours a day
(910) 350-8061 (Modem) 10 lines, all 14.4K, or
(910) 799-0923 (Modem) Direct 28.8K line

Or, use BMT's <a href="https://secure.falcon-net.net/BMT/order0261.html) Secure Order Form.  It's safe, fast and simple!</ul>

Remember, any amount is appreciated and whether you choose to sponsor or not, you will still be able to enjoy every issue of OS/2 e-Zine! on the WWW!

For more information or any other questions please (feedback@os2ezine.com) see our contact information.
 
***********************************

Corporate Sponsors

[(http://www.blueskyinnovations.com/) BlueSky Innovations]
[(http://www.bmtmicro.com/) BMT Micro]
[(http://www.ChipChat.com/os2ezine/) ChipChat]
[(http://www.indelible-blue.com/) Indelible Blue]
[(http://www.maccasoft.com/) MaccaSoft]
[(http://www.modulardreams.com/) Modular Dreams Inc.]
[(http://www.polyex.com/hopkins.html) PolyEx Software]
[(http://www.prominic.com/) Prominic Technologies]
[(http://www.prioritymaster.com/) ScheduPerformance]

(http://www.blueskyinnovations.com/) BlueSky Innovations
Whether you want to boot multiple Operating Systems or from an Iomega Zip disk, we have a solution for you.

(http://www.bmtmicro.com/) BMT Micro
Your complete source for over 175 of the best OS/2 shareware applications available.  Drop by today and check out our WWW catalog or download the .INF version.

(http://www.ChipChat.com/os2ezine/) ChipChat Technology Group
ChipChat produces excellent 32-bit OS/2 software for wireless text paging and state-of-the-art multimedia Sound Cards for Micro Channel PS/2 computers.

(http://www.indelible-blue.com/) Indelible Blue
Indelible Blue, a mail order company, provides OS/2 software and hardware solutions to customers worldwide.

(http://www.maccasoft.com/) MaccaSoft
Developers of the multiplatform Java e-mail client, Emerald Mail.

(http://www.modulardreams.com/) Modular Dreams Inc.
A growing selection of graphics utilities and applications for OS/2 Warp and Java.

(http://www.polyex.com/hopkins.html) PolyEx Software
Hopkins:FBI, a dazzling multimedia strategy game for OS/2

(http://www.prominic.com/) Prominic Technologies, Inc.
On-line sales & solutions for VisualAge, DB2, OS/2 Warp, Workspace on Demand, Notes/Domino, AIX Firewall, and Net.Commerce (design/hosting).  The best deals on IBM and Lotus software and hardware (PCs, Servers, and RS/6000s) -- with OS/2 preloads!

(http://www.rsj.de/) RSJ Software
The successful software CD-Writer for OS/2 by RSJ. CD-Writer is suitable for backup, data filing, creating Audio CDs etc. and is compatible with most CD-Recorders.

(http://www.prioritymaster.com/) ScheduPerformance, Inc.
Dramatically improve performance on your OS/2 system now with the patented priority scanning logic and visual priority identification of Priority Master II.

***********************************
Copyright 1998   -   Falcon Networking
ISSN 1203-5696
