have now spent a considerable amount of time with Alphasoftware's Alpha
Five version 5 and found a lot to like about this program. I did
find fault with some things in the current release, but if you are
looking for a tool to help you develop database applications quickly and
easily, you owe it to yourself to visit http://www.alphasoftware.com.
(If you speed
read this article, slow down at the bottom of the review.
Alphasoftware has a special offer for readers of DeveloperReviewed.com )
I guess I should begin by
stating that for the past few years my database development tool of
choice has been Softvelocity's
Clarion and I still favor that program over Microsoft's Visual Basic
and Visual FoxPro, Borland's Delphi and other well known windows based
application development programs. That does not mean I feel
"locked in" to Clarion for ever. I continue to try to be
open minded about other tools. With that in mind, I found there
are a lot of things included in Alpha Five that I really like better
than what is included in Clarion or available from the many fine third
party vendors. Some examples come later in the review.
Although it should be easy to
develop a front end with Alpha Five for most common database formats, I
found that the program worked best with it's own variation of the .dbf
file format. The structure of the files is very similar/compatible
with Microsoft's Visual FoxPro, and provides for a variety of field
types. I started by creating tables and then created Forms for
displaying the data. (Click the thumbnail images to see the screen shots
in full size.)

Creating a table is a matter of
giving each field a name, choosing a field type, width (and decimal
place if a numeric field) and indicating whether or not the field is
indexed. Simple enough, but you will also want to set field rules
for the table. So after creating the table, right click on the
table name in the Alpha Five Control Panel and choose Edit Field Rules.
This is a simple but powerful part of the database design.

In my example database, I will
have People table and a related Contacts table. Using the field
rules I can specify the person name for a contact record should be
"looked up" from the People table using the "fullname"
field. Field rules also let me define a field as required, auto
numbering, and much more. In addition to creating tables, I can also
easily create "sets" to define tables that are related.
This is an easy process of first selecting the Primary Table and then
selecting a Child table with the related field. I can also set
Referential Integrity rules. It is very easy to create these sets
and once you have done that you can choose from individual tables or
sets when creating forms and reports. I used a set to create a
form that shows a couple of fields about a person and a grid (or browse)
with that person's contacts.

After you have created your
tables and set, the next part is to create data entry forms, and this is
also quick and easy.

You can choose to create forms
with either columns or tables if you have more fields than can be
accommodated without them.

A nice selection of style
sheets are also provided to let you choose an attractive look and feel
for your form designs and keep them all consistent looking.
I kind of like the Marble style
set and decided to use it for the demo application.

Although you can just include
navigation tool bars with your forms, in the example above I created
buttons to let the user navigate through the table, add and delete
records, and to close the form. Creating buttons is a simple
matter of dragging a button from the tool box on to the form and then
setting an action for the On Push event. The Alpha 5 Code Editor
makes it easy to select a pre-defined action for the event as in the
next screen.

The next screen show shows the
form I created to record details of contacts with people and the Person
name is using a drop down list taken from the People table. This was
handled automatically because I set it up at the contacts table level
When designing the form I set the contact date field to use a calendar
by right clicking on the field on the form, choosing Properties and then
choosing calendar from the field type drop down list.

(it would have been nice if the
choice of using a pop up calendar was set at the table or field rules
level) but that is a bit nit picky, I guess). Memo fields, such as
my Contact Details field, can be set in the table structure as either
plain old Memo fields, or as Rich Text Memo fields. This is great,
because unlike other tools, it makes it easy - automatic - to include
Rich Text Formatting in both forms and reports. When a memo field
is selected on your data entry form, clicking the pencil icon will open
a RTF field editor to make it even easier for your end user to apply
Rich Text Formatting. Another great feature included with no
effort from the developer, is spell checking.

Although Alpha Five does
provide for a wide variety of data types, it does not include a
"time" type of field, as does SoftVelocity's Clarion.
This could be overcome by using a numeric field and some appropriate
formatting. However, as the screen shot below shows, Alpha Five
does give you quite a rich variety of field types to choose in your
database design.
While Alpha 5 makes it easy to
design forms and reports - a good thing for the developer - it also
makes querying the database easy to - good for the end user. It is
the powerful Query Genie that can be included Automatically with your
application that really appeals to me. I was never fond of
Microsoft Access Query By Form features. Although Clarion includes
end user query capability as well, I almost always chose to use a third
party add-in with my Clarion developed application and found NiceTouch's
Query Wizard to be very good and easy for end users to use. However,
I think the Query Genie is terrific. Especially because it gives
the end user the ability to search using "live data" from the
table being queried.
This will let you select a
table to use for your labels and allow you to use a Genie to create your
label format.

The first step is to select a
label type and you can choose from the common Avery formats.

Then, just select the fields
you want to use in the label.
.
If you want, even include a
delivery bar code on your labels.

After you have designed the
label, you can even specify which records to print.

It doesn't get much easier.
I also liked the built in
Letter genie to let you create a mail merge type of report in just a few
clicks.
However, most applications will
include more standard reports and the Report Writer included in Alpha
Five is easy yet powerful. You can either create a report
"from scratch" or use a "Quick Report" to get
started. In the next screen shot, I used a Quick Report based on
my set of People and Contacts. The only field I included from the people
table was the "fullname" field and I grouped the report on
that field. Then, I just selected the fields I wanted from the
child - contacts table. In design mode, right clicking an
item on the report will let you quickly and easily change any property
of the item you want to modify.


One of the things I like most
about the report writer is I can easily choose to let the end user
select what records to include in the report. This is optional to
the end user, but there are many cases when you want to allow the user
flexibility in selecting records to include or exclude. The next
screen shot gives an idea of just how easy it is to allow end users to
both sort and filter their reports at run-time.

Now, I mentioned early on that
I have some "dislikes" about Alpha 5 but it is important to
note that what matters to me may not be an issue for you. That
said:
The current version will allow
you to import data from ODBC data source like a Microsoft Access .mdb
file, however, if you want to use that .mdb file as the backend and just
use the SQL Attach option you may be disappointed. Alpha Five will
consider date/time fields as character fields and will not allow you to
apply any date (or time) formatting to those fields. If you SQL
Attach a table in this manner you won't be able to apply "field
rules" - this is what I consider one of the real strengths of Alpha
Five. If you are happy to use the .dbf file format that is Native
to Alpha Five then you will likely really like this program.
However, if you want to use ODBC or ADO back ends you may want to wait
on version 6 which I understand will have much better support for
"Non Alpha Five" tables. Version
6 release is probably 3 to 6 months away
I also found ActiveX support to
be limited, but again the next
release may address this as well. More about Alpha and ActiveX
can be found here.
Finally, if I included an Image
in a report, I found that the .html output option did not work
correctly. Either my image did not display in the generated .html
file at all, or my internet browsing software locked up while creating
the file.
Back to the plus side of this
program, during the course of my review I had occasion to seek technical
support. I used Alphasoftware's online support forum and was
pleased with the quick response to my questions. I also
corresponded with some users of Alphasoftware and have a sense that they
are very fond of the software and the company. It does seem to be
that Alphasoftware's Alpha 5 is very popular among "power
users" who may develop applications for their own use, and a small
but devoted group of developers who have discovered this gem of a
program and are very happy with how productive they can be using it.
I believe that there is a very large and growing market of developers
who for one reason or another, are looking for an alternative
application development tool. I think I will be glad if this
review helps some of them to find a program they may have overlooked.

The bottom line:
Alphasoftware's Alpha 5 is an easy to use tool for rapidly developing
powerful, yet intuitive, database applications. Reasonably priced,
especially when you consider the functionality that is included with
Alpha 5 but might cost hundreds of dollars in "add on"
programs for other software. The next version promises a lot, but
judging from correspondence with some long time users, this company has
a history of keeping their promises.

NOTES:
I have provided a simple
demonstration application I created that you can download and get a
look at an Alpha Five application created by a very "novice"
user of the program. Imagine what could be done with more time and
experience!! Better yet, download a fully functional 30 day
evaluation copy and try it for yourself. You can download a free
trial at: http://www.alphasoftware.com/promo/trial/default.asp
After trying the program, if
you decide to purchase a license, mention you saw this review and you
may even get a discount on your purchase.
A full version of the
program is currently priced at $349 and an unlimited 3 user runtime
add-on (like I used for the demo download) is $399 or $599 when ordered
as a bundle. Additionally, special pricing is available if you
mention this review and email brett@alphasoftware.com
A single user license at $229, and the above bundled package for $429.
This is a substantial savings but will only be available to the first
100 developers to contact Brett. He will also include their NetMailer
product.