|Column Tag:||Editorial & Letters
Reflex Plus, a Mac-Friendly Database
By David Smith, Editor & Publisher
Tool Design the MultiFinder Way: An Editorial
Last month we began a series of editorials hi-lighting products in each category that conform to the new way of doing things on the Mac, required by MultiFinder, AppleShare, new menu types, and the Macintosh II.
We offered Write Now as an ideal word processor that meets our expectations for Mac software under the new rules of the game. Except for the fact that Write Now blasts its ruler on the desktop, instead of in a window, Write Now conforms very well to the MultiFinder friendly design rules that software should follow. Before we look at the database category of software, lets review why Write Now is a good example of the new way of doing things:
multiple windows work correctly
Write Now can open multiple documents in re-sizeable and moveable windows, one of the chief requirements for MultiFinder friendliness. Windows are very important in the new way of doing things, because the user must be able to make the window small and shove it out of the way or to another screen while his attention is temporarily diverted to another application. Fixed size or immovable windows are a no-no!
Write Now does one thing only, and does it well. It does word processing! It is simple, straight-forward in use, has no hidden feature functions that are not immediately obvious and does its job very reliably. It has two nice features, a built-in spelling checker that is very convenient to invoke, and an easy to use leading feature which is particularly important for Pagemaker, which can also import its files directly and respects the leading setting of Write Now paragraph by paragraph. There is no purpose clutter from a program that cant make up its mind whether its a word processor or a layout program.
Small size and cost
Since tools must now share the resources, it no longer is considered fair to be a big system hog and take all the memory (and the money!) with large, high-priced software. Write Now is inexpensive (under $100), fast and small (80K versus 357K for MS Word), so it can co-exist with other tools without requiring 5 megs of memory.
Easy to Learn
There is a growing trend toward tools that come with six inches of documentation and 300K help files! The Mac look and feel, if properly implemented, should result in an obvious and easy program to learn and use. The Write Now manual is reasonable in length and the program uncomplicated, but flexible and powerful for the task it was intended. This is good tool design, the Macintosh way.
Fig. 1 The Reflex Plus Database window shows our Church Membership or Geneology database example
FileMaker Plus: The Best Flat Database
In the application world of databases, Filemaker Plus has always been regarded as the best flat database product on the market for any computer. It too follows the new way of doing things. The very first version works on a Macintosh II; not many programs can make that claim. They have never had to revise the program to meet Apples changing system! I dont know of any other significant Mac program that can say that. It is interesting that when Microsoft bought PowerPoint from Forethought, they didnt buy FileMaker Plus! Is it because FileMaker Plus is far superior to Microsoft File? FileMaker Plus is inexpensive, fast and small in size (260K), uses windows properly and does a single minded job very well and with great flexibility. Nearly anything can be imported or exported from the program. FileMaker Plus typifies the new way of doing things for a flat database product. What we have said for years is that the world needs a relational FileMaker. We think we have found it. Read on.
Reflex Plus: The Ideal Relational Database
Goldylocks sat on the Hypercard chair and said This chair is too soft. Then she sat on the Fourth Dimension chair and said This chair is too hard. Finally, she sat down on the Reflex Plus chair and said This chair is just right, and she finished her database design and fell fast asleep.
Borlands new relational database, Reflex Plus, is the best Macintosh database that conforms to the new way of doing things on the Mac. It is simple to use and operate, very flexible in design, low cost (only $275 compared to $500 for dBase Mac), and small in size (250K versus 730K for Fourth Dimension). It completely solves the generalized relational problem between arbitrary files in a flexible way that makes the generation of complex database applications a snap. We converted an Omni 3 database that took two weeks to design into Reflex Plus in two days, and that includes time to unpack and glance at the manual! On the third day, we had added more reports, fields, and files to the design that we never did get around to figuring how to implement in Omni 3. All the information in our Omni 3 database was easily exported and imported into our Reflex Plus design. An outline of the design for a Church membership system or a genealogy system, where families and members of families must be tracked, is shown in figure 1. This type of application is particularly good for checking out database products because it is so obviously relational.
One of the best features of Reflex Plus is the ability to use the Macintosh way of doing things to design the database file, record and field relationships. Opening a new database file, results in a graphic box in the overview window. Each entry in the box represents a field in each record. Relations between the fields of different records in different files are established by drawing a line from one field to another! What could be more Macish or easier than this? The over-all visual effect of being able to always see the total database design is both stunning and effective. You immediately see new things to add or change in the design, so that very quickly you can create the most sophisticated relationships. Fourth Dimension also has this ability, but Reflex Plus is much easier to set up. In fact, Reflex Plus makes a great template designer for Fourth Dimension, but after quickly creating something in Reflex Plus, you may not want to bother porting the design to Fourth Dimension, unless you want to protect your design and sell it.
Export Function for Reports Needs Help
Reflex Plus has both an import and export facility, but the export function is slightly brain-damaged. It cant export a report to a text file arbitrarily. If the report is relational, that is it uses nested repeating collections, only one repeating collection at a time can be exported, in effect, flattening out the database. We think any database program worth its salt should be able to take anything it can create on paper and send it to a text file so that reports can be merged into other corporate communications electronically, with page layout programs. This is one of the strong features of Omni 3 and we would like to see it added to Reflex Plus. Other than this small problem, Reflex Plus wins our award as the best Macintosh relational database, exemplifying the new way of doing things in a Multifinder universe. There doesnt seem to be any kind of database application we cant create with it in just a few hours. I cant even figure out how to get Fourth Dimension booted up in much less time than that!
Printing in Columns Supported
One tricky task we wanted to do was to print a report in columns. Loree Flescher of Borland showed us how to easily add a few fields to our report to compute the number of lines used by the nested repeating collections, and to divide the records into left and right side so that the report correctly prints records up and down in two columns. Figure 2 shows how this is done, by making a calculation report, and then a second, honest-to-gosh report that copies the fields of the calculation report into double columns.
Make Any Database Print in Columns
A neat trick to make any database program print in columns is to modify the postscript code when the document prints. Press cmd-F just after clicking PRINT in the print dialog box and a postscript file image of your report will be created. Scan this file with a text editor and you should see two lines at every page break:
F T cp
%%Page: ? 2
By deleting these two lines on the even pages and inserting a translate command on the odd pages, after the cp command, your report will be automatically formatted into columns, when you dump the postscript to the LaserWriter:
Even pages: replace with
280 0 translate
Odd pages: use the following
F T cp
-280 0 translate
%%Page: ? 2
The cp command is LaserPrep shorthand for a macro which is defined in the LaserPrep file. Within that macro is a show page function, which ejects the page. The translate command moves the origin to the middle of the page, so by removing the show page, the next page gets printed on the same page, right side. On the odd pages, you move the origin back, so the next page comes out on the left side. Simple! You might also want to adjust the %%Page command with the corrected count of pages as well as the last %%Page command in the file which has the total page count, now half what it was. It is amazing what a little postscript knowledge can do for you. (We would really like to see a definition article that explains most of the postscript macros contained in the LaserPrep file. This file can be dumped out by pressing cmd-K instead of cmd-F at print time. This would greatly help in decoding cmd-F postscript dumps.)
Get a Big Screen, or Multiple Screens!
One point of advice, and this probably applies to any database product, you should have a large monitor or multiple monitors if possible. Working with two monitors on a Mac II was a real joy in setting up Reflex Plus applications because there was room for the many windows created for the files, entry forms, and report forms, all of which are very flexibly implemented. In preparing this editorial, I moved the program to a Mac SE and the small screen felt very uncomfortable.
Things We Would Like To See
A few improvements we would like to see, besides the repair of the export function for reports already mentioned, is some additional built-in functions, particulary one to convert a string into a number. This seems oddly missing, since the converse function of making a number into a string is included. The other area of concern, and again this might apply to other products as well, is that the Apple date routines are used. As a result, dates are limited to something like 1904 to 2039. Well, my Grandmother is still living and she was born in 1899 so I cant enter her birthdate into a birthday file! Also, I plan to be around after 2039 so what happens then? A few more formatting options for dates would be nice also. We used a LOOKUP function to read the string label, JAN for a month and use it in our reports, so it is possible, but it could also be built-in to the product as well.
There are two approaches to building a general database program. You can make it programmable so developers can create commercial templates and sell them to vertical market applications. Or you can make it user friendly so the end user can constantly adjust, change or modify the design in a Mac-like friendly way. This eliminates the need for database programmers in many applications. Borland has taken the latter approach with Reflex Plus, while programs like Fourth Dimension and dBase Mac have taken the former approach. (Some might argue that you can do both in one program.) We think Borland is right on target with their approach. A well-designed database program should not have to be programmable to be flexible. There is however, a legitimate need for database designs that are programmable and unchangeable. For some applications, the ease with which you can change a Reflex Plus design may be a problem (a protect object menu item is provided, but no password protection). And it is not clear how suitable Reflex Plus would be for a multi-user application over AppleShare, where more than one Mac user must work on a common database at a time. It appears the product is best suited for the single user category. In any case, the program best exemplifies good use of the Macintosh user interface, and conforms to the expected Mac behavior and ease of use most of us love about the Mac. After using it, I am convinced I can create any database application in a matter of hours with this product. And with my busy life, the speed with which I can figure it out and get the job done is very important. (Too bad MPW cant be like this product!)
Step 1: Define a report to print out all the family records, with the family member records for that family nested within the family. This is a nested 'repeating collection' on the records of the family file and the linked records of the member file.
To get the report to print in columns, we define extra fields. The first is a constant showing how many lines per column we want, placed outside the family repeating collection.
The second, shown selected here, is a count of the number of member records linked to this family. We add four to the numbe because our report has four printed lines per family for family information.
Step 2: The column number for the family record is computed modulo 2 from the total line count used so far in comparison to the lines per column.
Step 3: The total line count so far is computed by adding the lines of the current record (family + members) to the previous value and checking to see if we still fit on the page. If not, we keep the count the same, otherwise, we add these lines.
Step4: The 'real' report is made by duping the 'calculating report' and copying the fields on the left and right side of the page. Those families which have a 1 in their colmun number in the previous report will appear on the left; those families which have a 0 in their column number will appear on the right. The five 'calculating' fields on the dummy report are not printed.
Fig. 2 Making Reflex Plus Print Reports in Columns
Other New Products of Interest First MPW Book Arrives!
Joel West has released his new MPW book, published by Bantam Books, titled Programming with Macintosh Programmers Workshop. This book immediately puts Bantum Books at the head of the class in Macintosh development support. This is a fantastic work Joel has produced. Run, dont walk to the nearest bookstore and buy this book! After seeing this, I may become an MPW convert after all!
Mac Technical Mag Bites the Dust
Another Macintosh technical magazine has gone down in flames. Mac A.P.P.L.E., which was the Macintosh version of the old Call A.P.P.L.E., the finest technical Apple Journal ever published, has changed its name and identity. It is now called Macintosh Horizons, and plans on concentrating on office applications, and less on the technical Macintosh user. This change leaves only MacTutor and Nibble Mac currently attempting to address the technical Macintosh user community. Fluff wins again! Contact A.P.P.L.E. Co-op at (206) 251-5222 for more information.
Vertical Market Hypercard Stacks Arrive
The CAD/CAM Journal for the Macintosh Professional, a magazine covering only CAD/CAM applications on the Mac, has announced Hypercard stack libraries for CAD/CAM applications. This is probably the first of what will become a growing trend: re-packaging information into Hypercard stacks and selling them like books. Contact the CAD/CAM Journal, c/o Sunny Services, 950 Willopenn Drive, Southhampton, PA 18966.
The Women Break into the Market
Two cute products produced by women have made it to market. Kay Weiger has released The Grandmothers Guide to the Macintosh, self-produced and published on a Mac, for the benefit of those of us not blessed with the technical background to understand computers, but nevertheless, want to use them. This is a very easy and gentle introduction to the Mac that helps a person get going with MacWrite and MacPaint, who doesnt have any computer background. Ideal for children too. Contact Kay at Box 217, New Vernon, NJ 07967. Her little guide costs $9.50 plus $1.50 shipping.
For those wives who must compete with the Mac for their Husbands attention, Sarah Tenebaum and Pam Novy have created MacWidow, a comforting publication for wives and lovers of MacAddicts who would enjoy some humor waiting for their love ones to burn out. The publication includes an advice column titled Dear Macky, to advise those seeking to either reclaim their Husbands, house space or both from Mac encroachment. The first issue is $3.95 and can be obtained from MacWidow, 10 Rio Pinar Trail, Ormond Beach, FL 32074.
Borland Releases Eureka
Borland has formed a new Macintosh group to get serious about Macintosh product development. On the heels of their Reflex Plus product, comes Eureka, an equation solver in the same vein as the old TK! Solver! that was so popular, but has since disappeared from the market. Look for more information on this product in the future, as we loved TK! Solver! and am glad there is now a new product to fill the void. Contact Borland at 408-438-8400.
Borland has also announced the long-awaited upgrade to Turbo Pascal, version 1.1. Can it return a RECT from a function call? No, our Tear Off Menu article in Dec. won't compile!
MacTutor welcomes press release information to share with our technical readership. Are we on your Press List? Send info to MacTutor, PO Box 400, Placentia, CA 92670.