Alpha Software
 
Alpha Software
 

New To Alpha

 

2008-Jan-26

Why Businesses Want to Create Their Own Applications part 2

Complete Transcript of
Richard Rabins – Alpha Five Version 8 on Let’s Talk Computers
Host Alan Ashendorf January 26 2008




Alan: When it comes to creating reliable business applications, it’s so important to start with the right tools. Our guest today, is Richard Rabins, Co-Chairman of Alpha Software. Welcome back to let’s Talk Computers, Richard.

Richard: It’s great to be back with you, Alan.

Alan: The last time we talked about why businesses are now turning to tools where they can create their own applications and how the new features introduced in Alpha Version 8 now make it all possible. Every application must start with the right building blocks. One item that’s common to all applications is that they have to have tables – lots of tables to hold lots of data.

And this is one of the main reasons that so many businesses turn to commercial packages. They think that tables are complicated or time consuming to set up. First, I’m going to have to set up my tables and then I’m going to have to set up my fields; then I’m going to have to set up my forms. How quickly can we set up an application in Alpha Version 8?

Richard: Well, there are two sorts of aspects to the question that you’ve asked. One is setting up the tables or the data and that can be done in one of two ways. One is we have a ton of tools, now for defining the tables from scratch or using tables by example. We give some examples and therefore, automatically figure out what the fields are if we give it a text file.

But, in addition, often the data might be sitting in other sources like an Excel file, an Access file, and a SQL file. And so, we can in effect, suck that data into Alpha very easily.

And finally, especially in a client-server world, you may choose not to even move the data itself into Alpha, but leave it in the SQL format or Oracle format and use Alpha, simply as a front end against pre-existing tables of databases that someone else in the company might have already set up. Setting up the actual structure and data, itself has become a lot easier.

And then the second aspect is building a specific application around that data, relates to things like forms, reports, data operations and logic flow. And those are all the kinds of things that we’ve touched on here – action scripting; good form design; good field rules; powerful reporting. Those are all the things that we have focused on in Alpha Five.

Alan: One of the hardest thing to get right on a form is to have like a pick box that once you pick a selection from that pick box, the next pick box is using the results from the first one. That takes a lot of programming for a programmer to get it right. You don’t even have to write any code in order for you to do that, now.

Richard: We have so many of these so-called field rules. What you’re referring to there, Alan is a recently new feature in Alpha Five, called Cascading Lookups – where the lookup that is presented is a function of what the previous lookup was.

A simple example might be shipping information. You have given a trace of Federal Express, UPS and US Postal Service and if you choose, FedEx. The next lookups are just appropriate for the kind of shipping that FedEx does vs. if you choose US Postal Service, they have a different range of services. So, it just gives you the choices that are relevant to the US Postal Service and that means the operator who’s running the system isn’t given a huge box to choose from, which would increase the chance of error and therefore, the likelihood of the data being entered correctly and rapidly goes up.

Alan: That is very complex to code, because there are so many different variables and this just takes all the coding and all the mistakes out of it, because you can do it right the first time and have the user look at it and say, “Yes, that’s exactly what I want.”

Richard: So, that’s a perfect example of being practical building systems that really work. You are a skilled programmer, using VB or ‘C’, or some tool like that. Could you program that? Yes, but would you have to figure out the logic? Would you have to write the code? Would you have to debug it? Yes. Would that take a day or two or three? Yes. In Alpha, it would take about 3 minutes! When we talk about the speed of development and productivity and cost savings, that’s what it’s all about.

Alan: Well, what about things like input mask ? If you’re going to be in business, you’re going to international in scope. And you have zip codes. Well, now zip codes here in the State, are like 5-4, but if you’re doing Canadian, it’s completely different, because here in the United States everything is numbers and in Canada it’s letter-number-letter number-letter-number.

Richard: Exactly. The UK has their own format; Germany has a format, etc. Those kinds of things – sure, you could program them. However, throughout our Field Rules we have this whole concept of Conditional Field Rules. For example, if the country is the United States, then the mask is the following. If the country is Canada, we have a different mask. Setting that up would be very simple in Alpha Five.

Alan: What kind of feedback does the end user or the “actual user” of the computer get when they put something in wrong? In so many programming languages, you get this error message that if they found a mistake, it could possibly just dump you out of the application or it gives you this real cryptic error message and you’re going, “Now, what do I do?” I need something that’s going to logically and very clearly get me to the next point so I, as an end user, can fix my own mistake.

Richard: This is I think, where experience comes in. We’ve been doing this so long, responding and reacting to users, so that the error message we give is logical and meaningful and equally importantly, it takes you back to a logical step to correct it, as opposed to either dumping you out into a part of the Program that makes no sense.

At the end of the day, it all comes down to building a tool that lets people define their specific, unique requirements as easily as possible to create a system that the ultimate end user or operator is going to find easy. People find things that easy when things are clear and logical.

Alan: It has to be easy to use and it also has to be reliable. Let’s take Excel, for instance. You have everything in a grid and a user can type anything, anywhere at any point and as soon as they leave that record, it’s basically been saved, whether it’s right or not.

I want to be able to validate, not only field by field, but I want to be able to validate form by form, to make sure that the user has filled in all the blanks and filled them in such a way that it’s not going to give me any kind of bad data.

Richard: I think a lot of people have shied away from using database applications because of the perception that they are more difficult than spreadsheets. And to some extent, we understand that, given that a spreadsheet is a very simple concept of a grid of cells. Because of that simplicity, as you say, it’s a fairly dumb system; whatever you type into the cells, largely, it’s going to accept.

So, you end up with obviously a potential for a huge amount of problems with your data. And if your data is bad, the whole system’s going to be bad. And notwithstanding a ton of other reasons why spreadsheets are great for doing things like financial analysis and keeping very simple lists. But, if you’re trying to do database work – (A) You’re going to run out of space pretty quickly; (B) You have no reporting capabilities to speak up and (C) Just manipulating data is such a time-consuming thing.

I’ll give you great example of that: In most companies, as you say, a core part of their database is their customer list. And in today’s world, email has become a legitimate way of communicating with customers who have opted in. Under the law and also just good business practices, a customer decides they want to opt out of your list, it’s important to get them out of the list.

So, if you take the following scenario: If you have a list of 100,000 customers and every time you do a mailing, you get 300 or 400 people opting out. If you’re trying to keep this information in a spreadsheet, you have to have an operator, a human being, spending the time, going through each of these records, looking for it in the Excel spreadsheet to remove it, as opposed to if the system was all done in a database, you’d have the list of removes; the list your master file; and in one operation you could just subtract file A from file B and you’d be done. So, there are tons of examples like that. These are the kinds of things you can do in Alpha Five, extremely quickly and easily.

Alan: You mentioned “examples”. Examples to me are very important. When I’m starting to do any kind of programming, the last thing I want to do is look at a blank screen. I want to look at somebody else’s example code to get me started. You do that in two ways. (1) You have samples on the Website and (2) Everything that we do in Alpha is actually writing code behind the scenes that I can actually sneak a peak at.

Richard: We have something in Alpha that is pretty unique. A lot of programs have macros or scripting. But, we have something in Alpha that’s very extensive, called Action Scripting. It’s a collection of probably about 150 different series of Actions, which would allow you to program a ton of logic into your application.

For example, a button a form that when you press it, might send an email that pulls data from the person’s account to a person; then it may print a report; then it may export some data, etc. You define these actions through a series of what we call, Genies or Wizards. It’s very visual; it’s very easy. But, at any point in time, you can right-click and actually see the code that is being generated. That’s a great way to learn about coding, because it’s very well documented and you can then extend the code even further.

We’ve actually seen that by number of our more sophisticated users that, people who are not programmers, have taught themselves quite a lot of coding. And that gives them that added level of control and power.

Alan: You talk about control and power – you have functions built into Alpha that will return, “If this date that I just put in is in this quarter,” or you have functions that say, “I can return the status of this FedEx package from with inside of my program.” That’s a lot of coding that somebody would have to code in and you already have a Function for it.

Richard: I’ve lost count of how many Functions we have. And a lot of these Functions are all responding to real customers solving real problems with Alpha. I know in one of the earlier releases, we put in all these Functions for tracking UPS shipments and Postal service shipments. In your application you can immediately see the status of a shipment by just using one of these Functions that calls up the FedEx Website. We have Functions that if you want to do a report to find the sales a month ago; a quarter ago; a year ago. And we’ve written all the Functions with all the data arithmetic built in.

The programming language XBasic is also viewed as a very high-level language and by that, “high-level” means that with one function you can do a ton of work, because built- into that function, we’ve actually got a ton of code, pre-built by us for you.

Alan: If I want to do something like, make sure that my data like credit card information is encrypted in the database, you actually have a Function that will encrypt and decrypt, just by calling this Function. I don’t have to write anything.

Richard: Behind the scenes, there are some sophisticated encryption algorhythms, so we have actually written one Function that in fact takes the place of what could be a few thousands of lines of code. That gets back to efficiency and productivity.

Alan: It also brings up security, because so many applications I have seen written where there will be a set of screens or forms for the end user and almost an identical set of screens for an Administrator and then there will be another set of screens and forms for someone who is just doing auditing. That is a waste of talent, coding, and time, isn’t it?

Richard: Right. The ideal thing is you have one system that based on the login rule shows or not shows different aspects of the data and also provide or not provides the ability to either view data or edit data.

Alan: And security is even more important when it comes to developing web applications. Richard, we’re out of time and we need to continue this conversation, talking about “How Alpha Five Version 8 Built-In Security Framework Makes Setting up Security on a Web Application a Breeze!”

Richard: Alan, I have really enjoyed being with you again. Thank you for the opportunity. Be well.

 

Alpha Software

Alpha Software, Inc. 70 Blanchard Road Burlington, MA 01803 781.229.4500
Affiliate Program Powered by TrafficSynergy Affiliate Network
© Copyright 2000-2009 Alpha Software, Inc. All Rights Reserved.
Intranet Solution