Applicable release versions: AP
|Description||overview of Advanced Pick, The Update processor, and application prototyping considerations.
Contributed by Jim Jobson
(Original article was published in PickWorld under the title, "Why Direct Marketers Choose Advanced Pick: AP's Powerful Data Model, the Update processor and the Ability to Customize are Major Factors")
1. Catalog and Direct Marketing companies have to solve a significant database problem.
2. The Update processor has several qualities which make it more powerful than (Unix) utilities such as vi, including consistency.
3. Terms such as cruising, zooming, double clutching and hot keys are part of an intriguing Advanced Pick vernacular.
4. Advanced Pick is a database environment containing Fourth Generation tools.
5. Applications development in AP is fun because it can be accomplished quickly and easily.
6. Increased productivity will prove to be a selling point in the buying decisions of end-users.
7. Sophisticated users who learn the Update processor appreciate the power that they have over their database.
The Pick System is well known in many vertical markets but is especially popular in the direct marketing and catalog industries. This article is about why the Pick System, and especially Advanced Pick provides the ideal platform for direct marketing, telemarketing, mail order and similar applications. Pick is well suited for many applications outside these arenas; the concepts discussed here will apply to those situations as well.
Advanced Pick makes sense to direct marketers for many reasons, including the AP data model and the rapid applications development environment. Direct marketers have a need for Unix, as well, since direct marketers communicate with electronic devices such as automated credit card authorization services, shipping manifest scales and order taking centers that transmit orders via modem lines.
Most of Rigden's clients are on Unix/Pick platforms. This is an efficient way to go, since all of the applications available to Unix users are now available to Pick users. For example, users need to transmit and receive credit card authorizations from an outside service. The actual data transmissions and receptions are done more efficiently with Unix. Communications are initiated from Act I (in the Advanced Pick environment). The data is exported from AP to Unix. Once in Unix, an application called MLINK transmits and receives data through the modem line. Eventually the data is imported back to AP and the Act I database is updated. Having Advanced Pick work with Unix is valuable in that AP works with any hardware platform that Unix works on.
Companies such as SCO and AT&T have the resources to port their versions of Unix to all the newest hardware technology. This means that Advanced Pick can 'piggy back' to whatever platform makes sense at the time.
The end result is that AP works on the current and fastest machines. It has been estimated that approximately 30 percent of the third party software installations in the catalog industry are running on a Pick System.
One reason is that a major strength of Pick is the data management capabilities that are available. Many argue that in this particular aspect, Pick is superior to anything in the market. I feel that this is an accurate perception, but is even more true in Advanced Pick than with any of the other versions.
Catalog and Direct Marketing companies have to solve a significant data base problem. The direct marketer needs to manage customer, inventory, catalog, pricing, order, financial, list management, sales analysis and many other databases. The customer file alone can be substantial, containing customer inter action and order history, demographics, credit history, segmentation, etc.
Another major reason Pick makes sense for direct marketers is that these companies always need a great deal of development. Enhancements are needed for two reasons. First, direct marketing companies are often unique and creative. They need substantial enhancements in order to get started, because the application is expected to fit the users needs rather than the other way around.
Direct Marketing is an emerging industry and is becoming more of a force all the time. Ideas, rules, methodologies, laws and philosophies are evolving; software needs to be versatile and evolve with the times. Even smaller direct marketing comanies require initial enhancements and on going programming. These type of companies require a system that lends itself to rapid and cost effective customization.
I decided over 4 years ago to build a new direct marketing application (Act I). I chose Advanced Pick as the platform because I saw that two major reasons for Pick's popularity in direct marketing, the inherent database capabilities and built in tools for rapid applications development, are stronger with AP than with any other platform.
The Advanced Pick data model is more robust than any other version, including R83. A few subtle features provide new dimensions and make Advanced Pick a provocative database tool.
In this article I intend on to show that Advanced Pick makes sense to direct marketers because it addresses their needs in a complete and comprehensive manner. Advanced Pick makes sense in many other arenas and the principles described below can be applied to them.
Improvements to the Pick Data Model with Advanced Pick
As in all versions of Pick, Advanced Pick is comprised of files, which are populated by items. The data is described in a dictionary level of the file and natural languages (such as Access) allow the user to manipulate the data. This time proven technology still works wonders, however some additional features greatly enhance an already powerful system.
File-defining item extensions
There are two types of dictionary items in Pick, attribute-defining items and file-defining items. There is one file-defining item for each data file.
The file-defining item has been an integral part of the Pick Data Model from the beginning. On R83 the file-defining item or 'DL' id (for Data Level id) defines the base FID (start ing frame-id for the file), contains the modulo (number of contiguous frames the file was last created with) and allows for file resize definition. These features are still true in Advanced Pick, but the enhancements allow for data to be updated through the dictionaries (as opposed to Pick/BASIC programs).
Advanced Pick is a complete database environment. Much of the data updating in Advanced Pick comes as a result of additional features in the dictionaries and new processing codes. For the first time, updating with Pick comes from dictionary definition and doesn't necessarily require Pick/BASIC programming.
The file-defining item has several attributes which come into play. The correlative (attribute 8) allows the developer to add processing codes, which will be evoked as the item is filed. While some processing codes are only relevant in the context of the Update processor, others will be evoked regardless of how the item was updated. A Pick/BASIC program call can be placed in the correlative. The program will be called when the item is filed and can be used for editing, update historical or other related files, print documents, etc.
The macro (attribute 15) contains a default dictionary list consisting of attribute-defining items. This dictionary list will be evoked when the program is updated (from the 'u' or 'update' verb). Sophistication involves the ability to add a multi-valued list of macros which will be evoked in different situations (based on definition from a Pick/BASIC program from the input conversion).
These 'multiple views' allow the user to see data displayed in different ways for the same data file. The output macro (attribute 16) displays the default dictionary listing when access (sort or list) commands are used. If there is no definition for the output macro, the system will use the macro defining item (attribute 15) to display default access listings.
The input-conversion (attribute 14) can call a Pick/BASIC program from the Update processor. The program will be called before the item is entered (but after it has be accessed). The description (attribute 17) can be used for online documentation of any file or attribute in Advanced Pick.
The file-defining item is used as a centralized description for the default screen parameters and rules for updating a file. This makes it easy for the developer to program and maintain data files for use in sophisticated applications.
Input-conversion : New correlatives are an important part of attribute-defining items and a new dictionary attribute called 'input-conversion' (attribute 14) has been added to the dictionary. The input-conversion is only meaningful in the context of the Update processor, and is used for edit patterns, display only fields, input rules (such as required fields) and to call Pick/BASIC programs. A Pick/BASIC program call from the input conversion attribute will be evoked as soon as data is entered (into that attribute).
New Processing Codes
New processing codes and the ability to call Pick/BASIC programs (custom processing codes) from dictionaries (both file-defining and attribute-defining items) allow for more functionality with less code than before. A good example is that the bridge correlative (which updates a related file defined by the 'bridge') is evoked any time an item is updated. The bridges and B-trees are maintained by the system regardless of how an item is updated (from Pick/BASIC, editor, Update processor, copy, t-load, etc.). Other processing codes that involve updating include time, date, user and seconds stamps and the item-id correlative. Input conversion processing codes include edit pattern (alpha, numeric, hard coded, etc), numeric range, must-input, character update and many others.
The B-trees (secondary indexed sort files), can be evoked from the Update processor or Pick/BASIC. They allow the user rapid access to the database and are extremely useful in large databases. Even files with several million records can be 'sorted' in a matter of seconds through B-trees. A new feature called 'hot keys' allows the user to call any desired Pick/BASIC program from any data element using only a few simple keystrokes.
The Update processor : Innovation with Advanced Pick
All of the functionality described is connected with proper use by the Update processor. Critics of the Update processor point out that it is not 'pretty' and the scrolling bothers users not yet familiar with this tool. They point out that they can't compete with products built with 'PC Quality' screens, etc. I would like to point out several facts about the Update processor.
The Update processor is a new tool to Pick and is the primary user interface for experienced users on AP. It is not, however a panacea, and other techniques, such as the 'ed' (old editor) and Pick/BASIC programs still work.
The Update processor is not necessarily an end user environment, but consider the functionality of the Update processor and compare it with 'ed'. There is so much more that can be done with the Update processor than with ed, that there is no contest. All of the screen techniques that work with R83 or other versions work with Advanced Pick, as does all R83 functionality, including procs.
Use with 'Traditional' Screens
At Rigden we use an attractive state-of-the-art fixed format screen environment called Symbion. This application was created by Colorado developer Gary Huffer (president of Symbion Corporation) and features PC Quality windows (panels), with on line help, popup panels, pull down menus and action bars, full screen editing with function keys, arrow keys and many other user friendly features.
Symbion does not generate source code, but paints the panels and runs the application through a set of sophisticated parameter tables. Symbion was developed using Pick/BASIC and is portable to all versions of Pick, including Advanced Pick. Mr Huffer agrees with me, that the B-trees, file-defining item extensions and other features make the Advanced Pick data model complete.
At Rigden, we develop the Act I application with the Update processor and 'convert' to Symbion only after the database has been established and proven. Symbion works on all versions of Pick, but because of B-trees and new processing codes, it works best with Advanced Pick. The developer can choose which environment to put end users on, the Update processor or a fancy screen environment such as Symbion. The good news is that both environments work quite well with Advanced Pick.
Update processor as Full Screen Editor
The Update processor is a full screen editor with many word processing type functions. Of course there are many full screen editing products and utilities on every operating system. Unix has for example a full screen editor (referred to as 'vi' or Visual Editor'). The vi editor is unique in terms of functionality as is the Advanced Pick Update processor. Both tools allow for full screen editing of data, including recall and maintenance of the data.
If you think that the Update processor is difficult to learn, then try your hand at vi for comparison purposes. The Update processor has several qualities which make it more powerful than utilities such as vi, including consistency. Most of the functionality of the Update processor works at TCL, document entry, software development (building programs and dictionary items), and data entry with similar functionality.
Consistency between environments means that the Update processor has discovered a sense of economy not often achieved by a product of this magnitude.
Update processor Full screen editor functionality includes :
Exiting and filing items
Cut and paste
Search and replace
Using the Update processor, you can move the cursor to any position on the screen; insert, delete, or replace text; cut and paste; search for and replace text; and undo mistakes. A spelling checker is available to check text as you enter it.
The Update processor as a Database Tool
The Update processor also operates as a database tool. This is achieved by using the Advanced Pick data dictionary structure. Virtually all of the full screen and document entry functions of the Update processor are available when using the Update processor in the database environment arena.
The combination of full screen editor and database tool is very powerful as we will see. The ability to define ad hoc data entry routines and to then elegantly peruse the database (with few keystrokes) makes for an extremely useful and provocative applications development and end user environment. Even the terms that have organically arisen from early Advanced Pick users suggest a lively system. Terms such as cruising, zooming, double clutching and hot keys are part of an intriquing Advanced Pick vernacular.
One of the greatest features of Advanced Pick and the Update processor is that applications can be prototyped and built much quicker than in other envi ronments. I will attempt to detail the reasons why this is true. The most efficient way to build applications in Advanced Pick is by using the Update processor as a prototyping tool.
Through skillful use of the Update processor, it is possible to model an application simply by defining the database (creating files and dictionaries). Processing codes and Pick/BASIC programs are added to provide extensions to the application. The application is tested (data is entered) by using the Update processor. Since the Update processor is a system utility and one of the many Pick "natural languages," testing can begin immediately upon defining the data base structure.
Please note that final polish such as "user friendly" screen environments (such as Symbion) are added on top of the data model, but not until the data relationships have been established and proven. The only way to prove a datastruc ture is by using it (entering data).
In Advanced Pick, applications can be built rapidly, with few keystrokes and with very little actual program (Pick/BASIC) source code. It is very simple to build systems in this environment once you have the knowledge. The best way to understand how applications are put together is to build one yourself from scratch. Software development is time consuming and expensive. Generally, developers begin to prototype after needs analysis and system design phases are 'complete'. The system can be developed 'from scratch' (using new code) or by using a Fourth Generation Language, or a combination of coding and 4GL.
Advanced Pick is a database environment containing Fourth Generation tools. In application development scenarios, the initial prototype (complete with data entry screens and reports) is based on the original system design. Once the prototype phase has been achieved, it is often clear that the design (file structure) was flawed and more programming must be done to correct the faults to meet the original specifications. In most instances, users change their minds and come up with new ideas about the application after considerable programming has occurred.
It often takes many attempts at programming and reprogramming before the file structure is stabilized and further stages of development begins. Many companies go broke during this process.
Advanced Pick contains many advantages for the software developer, especially increased productivity. For the end-user, this fact translates to cost effective development.
Let us examine how this works. With Advanced Pick, the developer can reach the prototype phase in a fraction of the time compared to other techniques. This is achieved by skillfully utilizing the Update processor, processing codes such as the bridge correlative, B-trees, Pick/BASIC calls from dictionaries and other functions.
Prototyping may be defined as the development of a database as the first step towards building a complete application. The developer can 'finish' the application with additional sophistication and end-user interfaces (such as screens, windows, menus etc.). The reason that prototyping is so rapid in Advanced Pick is that it only takes a few minutes to create files and dictionaries. Once that is done, it is possible to immediately enter data and test the design. If the file structure is faulty or the developer wishes to experiment with alternative structures, it is possible to reconfigure the database by changing or adding to the dictionaries.
Many alternative database configurations can be tested in a short amount of time. In Advanced Pick there is less need for programs and program code, resulting in less source code than other environments. The cost of maintenance increases in direct relationship to the amount of source code generated.
Much of the 'programming' in the Pick environment has been replaced or simplified with powerful processing codes, invoking operations at the dictionary level, which enables the Pick/BASIC routines to be smaller and more powerful.
The main point is that the developer can quickly build database and update environments without coding. This means that testing can occur almost immediately. Once the database is firmly established, the developer can focus on finishing the application by putting in user-specific functionality.
Applications development in Advanced Pick is fun because it can be accomplished quickly and easily. Productivity is an extremely important factor in direct marketing, but also in any other business arenas. Since software develop ment has always been a costly proposition, increased productivity will prove to be a selling point in the buying decisions of end-users.
End Userablity of the Update processor
As I have pointed out, fancy screen environments are available on Ad vanced Pick and the end user doesn't necessarily have to use the Update Proces sor. Beginning users are often intimidated by the wealth of functionality and control key sequences of UP.
Let's look further at this issue, however. The Update processor is functionally very powerful and should definitely be considered as an end user environment with some, though not necessarily all situations.
At Rigden, we have successfully installed many companies who use the Update processor as the only screen environment and end user interface. We have proven that data entry screens (such as order entry) take only a few hours of training and practice before the user has mastered all that is needed. Sophisticated users who learn the Update processor appreciate the power that they have over their database. I know many users who prefer the Update processor as a screen environment. Admittedly, it took a little getting used to, but once done they have no interest in going back to fixed format screens or whatever they used previous ly.
The Advanced Pick data model, Update processor and ability to develop applications quickly, are certainly highlights of AP. The complete environment needs to be considered in order to fully appreciate this system.
The following features are all significant factors in terms of increased productivity, and also a fun and easy environment to develop in. There are several features of Advanced Pick that once one understands how to benefit from the features, it is difficult to go back (to whatever else was used before). These features are important to developers because the environment lends itself to higher productivity. It is meaningful to end users because faster programming results in cost effective customization.
One of the most important features is that Advanced Pick works with Unix. This means that AP can work on any environment that Unix works with. The end result is that Advanced Pick, partly due to hardware environments, is much faster than anything previously available.
To log onto Advanced Pick, first logon as a 'user' and then to an 'account'. This is a beneficial feature, known as the double logon. The user logon features the ability to evoke any verb, macro or Pick/BASIC program. This means that it is relatively easy to impose sophisticated security software, since the system access by a user can be controlled by a Pick/BASIC program. The user logon has other implications, most notably, that each file can be stamped with the users logon id. This is valuable in security and other functions such as operator productivity reports. The best thing here is that the developer can define 'user stamps' on any file(s) with a processing code (correlative).
Once logged on to the system, there are other prominent features. The first thing to notice is that Advanced Pick is case insensitive. This means that the user can type in lower or upper case and the system will recognize the commands. This is definitely a big deal. In every other version of Pick or Pick-like products that I have encountered, upper case is dominent throughout the system.
If you don't think this is a big deal, try Advanced Pick for several days, typing only in lower case. You will be surprised how easy it is to convert and then how difficult it is to go back to UPPER CASE ONLY. What a drag.
If you insist on upper case only, no problem. Advanced Pick has a verb 'case-on' that will allow the system to be case sensitive. There is a database for the users (see 'users' file on account 'dm').
This points to another great feature of Advanced Pick, which is that most of the system functions are easily accessed in a database. For example, each user has their own unique 'TCL stack' item stored in the 'tcl-stack' file which brings us to the next valuable function, TCL. Advanced Pick TCL contains the ability to easily recall the last TCL command.
Using the AP fullscreen editor (Update processor), it is easy to search for, recall, modify and execute any TCL command. The TCL item can be deleted or cleared out at any time, at the discretion of the user. I find that an ongoing record of TCL commands is a valuable and time saving development tool. Since the TCL stack is an item in a file, it is easy for the developer to utilize any desired functionality (such as the '.' versions of TCL stack).
Advanced Pick contains many time saving productivity tools. These features include limitless item size, direct pathing (replacing need for Q-pointers), level pushing, shorter and easier syntax ('save-list' and 'get-list' are also 'gl' and 'sl'), and an easy-to-use phantom processor.
There are many other features of Advanced Pick, which make it useful such as the Output processor. New extensions to Pick/BASIC make it a more useful language. I appreciate the 'file' statement which opens and dimensions the file based on dictionary definition. Now even Pick/BASIC uses the dictionaries to the fullest, making Advanced Pick a complete database tool.
The root and key statements allow easy access to B-trees from within Pick/BASIC. As with the rest of Advanced Pick, a much easier syntax is available in Pick/BASIC than in other versions of Pick. Examples are the 'file' command, 'exit' command and simpler 'if' sentence syntax.
In this article, I have attempted to show why Advanced Pick makes sense for direct marketers and other business applications as well. Advanced Pick has powerful database and applications generator features, both of which are impor tant to direct marketers.
The speed of the newest hardware platforms functioning with Unix provides AP users with all the functionality from Pick, Unix and DOS applications (DOS can be run under Unix). All of these features make sense for many vertical and horizontal markets in addition to direct marketing. Rigden developed Act I using the latest tools contained in Advanced Pick.