Alpha Five, a database development tool from Alpha Software, provides a lot of functionality in a package that’s more fun to use than Microsoft Access, which is its biggest competitor. The latest version, Alpha Five version 5, has all the tools needed to become an Access-killer: a nice GUI (seen in Figure A), a robust ODBC-compliant database engine, an accessible scripting language, a decent reference library, and a cool sample application that showcases all the tool’s capabilities. In my short experience with Alpha Five, I’ve become a fan of it and its friendly user community.
|Alpha Five in action|
The great Alpha Five experiment
There are eight basic Alpha Five components: Tables, Forms, Browses, Reports, Letters, Labels, Operations, and Code. As with Access, virtually all of these components have wizards that guide their creation. All of the components and operations are logically arranged in the Alpha Five control panel—Alpha Software did a great job of laying out the control panel in an intuitive manner.
As an experiment, I built a moderately simple stand-alone Alpha Five application for tracking freelance writing works. My freelancer’s database housed around a dozen tables, each with its own data input screen and rudimentary validation checks on almost every field. Several fields were drop-down lists populated from other tables within my database. To test the report writer capability, I built a dozen reports that ranged from very simple to moderately complex. In the end, it took longer to download the relatively massive Alpha Five reference library over my 56-Kb modem line than it took to build my Alpha Five experiment.
My first step was to design and build the database. While Alpha Five provides wizards to help with this task, I found it faster to draw out the structures first and then create the tables manually. I did, however, use the wizard to define the relationships between my tables, and it made doing so nearly effortless. Then again, I didn’t have a very complex database design.
The Form and Report Wizards made building the forms and reports my application needed a breeze. Interestingly, the Form Wizard lets you pick from a plethora of background graphics, all of which look remarkably similar to those provided by Access—but don’t tell Microsoft. By default, each form comes with navigation buttons built into a toolbar at the top of each screen, allowing you to scroll through data sets or input new records.
After building the forms, I added field validation rules. Had I bothered to read the manual, I’d know that most of these should have been added while I was building the database and designing the tables. As I’m sure you know, there are two places where field validation rules can be handled: by the database at the table level or by the GUI at the screen level. Alpha Five supports both. It was nice to see the database seamlessly interacting with the GUI, handling field validation rules without having to code them in both places.
Finally, I built a menu to tie all the forms and reports together, which turned out to be the hardest part of the entire process. I found no wizard to guide me, and I groped around for a while before grabbing the main menu from one of the sample applications and changing the form calls to point to my forms. Even though this was the most challenging part of the process, it still wasn’t all that bad of an experience.
Mostly good impressions
I came away from my experiment impressed by Alpha Five’s built-in field functionality, which usually exceeds that of Access. For example, date fields automatically have the capability of popping up a calendar. Drop-down lists can be created without being tied to a database and can display one value on the screen while storing a correlated value in the database.
I was also amazed at how quickly I was able to code field validation rules and database lookups with a point-and-click wizard. A lot of the standard error checks, such as checking for duplicates and null values, can be assigned simply by selecting them. All in all, very little coding appears to be involved in building Alpha Five projects, even less—if you can believe it—than with Access. Apparently, that’s exactly as Alpha Software intended it.
As a security-conscious programmer, I was relieved to find that the Alpha Five environment includes some basic security mechanisms. The framework includes encryption, although I was unable to measure the encryption strength or algorithm for this review. Users can be assigned to groups, and groups can be granted permissions at the table level. While I was glad that Alpha Software includes these basic mechanisms, I was disappointed that Alpha Five doesn’t include auditing, a basic Trusted Computing Base requirement. However, it does seem that an auditing system could be coded with Alpha Five’s scripting language, Xbasic. While Alpha Five provides a security framework, it’s not a complete one—rather just a good start.
I was a little surprised and disappointed with the amount of information Alpha Five wants to store in the registry. Instead of creating index files, Alpha Five puts index information in my registry, for reasons that I don’t quite understand. I was surprised to see the 35 subkeys that Alpha Software packed under the HKEY_CURRENT_USER\Software\AlphaSoftware\Alpha5 key on my testing machine.
Maybe I’m a bit of a Luddite, but another aspect of Alpha Five that I didn’t like was the requirement for a proprietary runtime component. Alpha Five applications need either the language or the runtime components installed on the client before they’ll operate. Understandably, these runtime components aren't included with the free evaluation version, so I could only speculate how the system would work on a nondevelopment client. Running on my development box, my freelancer application seemed to run slowly, and I have a sneaking suspicion that performance will also be a bit on the slow side on a client equipped with the runtime module.
Alpha Five’s main advantage is the speed and ease with which functionality-rich prototypes can be built. The tradeoff for this development speed is performance. In the end, Alpha Five is a fun tool to use and compares favorably with Microsoft Access—especially in terms of functionality and the volume of code required to make a functioning application. While I’ve not been transformed overnight into a die-hard Alpha Five fan, I am convinced that is a valuable prototyping tool and a worthy rival for MS Access.