AppGen version 3 is an application generator, enabling users to easily generate their own custom tailored data-collection applications for Apple's Newton PDA. Data can be saved to internal memory or external PCMCIA memory cards; searched using Newton's standard "Find" facility, and sent to other computers for further processing via the Newton Connection Kit. AppGen allows users to generate scrollable data entry screens populated with any number & combination of the following field types: Popup, Numeric, FreeForm, Date, Phone, Currency, Time, Fraction, Stopwatch, External Lookup, Hierarchical-Popups, Sketches, a NotePad interface to allow printing, faxing, beaming, and External Application. Results are presented in an "expando" interface, allowing 15 fields to be visible at a time. Optional are the ability to store multiple applications and bar code wand reading. We are in the process of writing a program to be called Pinehill Mover to facilitate the exchange of data between your Newton and desktop. This data will include AppGen application definitions, which will allow you to define applications on the Newton and transfer them to other Newtons. AppGenÕs two packages are installed on the Newton like any other application, via the Connection Kit or other installation utility. After installation both packages will be visible in the Extras drawer. They are called AppGenDefs (? icon) and AppGen runtime (! icon). The first thing to do is open the AppGenDefs package and select an application to define or modify. This is done by tapping on the ÒSelect ApplicationÓ line and tap on the resulting box to cycle through existing application definitions. If you wish to define a new application, tap until you get an ÒundefinedÓ message. Then click on the NewtonÕs belly button to return to the two line screen and tap on "Define Application.Ó This will reveal the AppGen definition screen. Give your application a name (AppGenDefs will prompt you) and check the "Sweep Clean when app is removed" checkbox if you wish to remove all traces of AppGen from your Newton when you delete it via "Prefs:Memory:Remove Software" or "Card:Remove Software". Warning: or even simply remove the card on which AppGen is resident! If you only wish to delete AppGen temporarily for some reason, clear this check box & your application definition, any data you may have saved, & other assorted paraphernalia will be retained in memory for further use the next time AppGen is installed. In order to economize on screen space, writable areas in the application definition screen have been made as small as possible. When this proves inconvenient, use the "Scratch" area to write what you want, then move it to the target area. (In case you haven't discovered it yet, text is moved on the Newton by first selecting the text to be moved, then "dragging" the selected text with the stylus to the desired area. Selection is done by pressing the stylus on the first letter of the item to be copied until it highlights, then dragging the stylus to the last letter to be selected.) Next we have six columns of gadgets used to define fields & their attributes for your application. The first column is composed of "popup" buttons used to select the type of field you wish to appear at this position in your application. That is, the first button specifies the first field to appear in your application, the second button specifies the second field, etc. When one of these buttons is depressed with the stylus, a list of the field types currently available in AppGen appears: "Popup" is a field with an associated list of possible entries for that field. When a popup field is selected in the application a black diamond appears beside the field's label. Tapping the diamond brings up the list of possible entries. Tapping an item in the list enters that item in the field & closes the list. You can modify the items in the Popup during runtime, and AppGen will ask you whether you wish to make the change(s) permanent. "Numeric" is a field into which only numbers can be entered. A maximum of 15 digits is allowed, before or after the decimal point. "Freeform" is a field type into which up to 90 lines of text may be entered. "Date" is a field into which only dates may be entered. When a Date field is opened in the application, it comes up showing the first 3 or 4 letters of the day today (e.g. Mon, Tues, or whatever) illustrating that dates may be entered in a variety of ways. If today is Monday & you write "Tues", then tomorrow's date will be entered. The earliest date which can be entered on the Newton is 1/1/1904 (perhaps not so hot for historical research). "Phone" is a field into which phone numbers can be entered. Since there is no sure-fire algorithm for recognizing phone numbers, actually anything can be written into a Phone field, but Newton's handwriting recognition facilities have been biased in favor of interpreting what you write as a phone number, rather than something else, as far as possible. Version 2 introduces an Òauto-lookupÓ facility. Tap the ÒFindÓ button in the upper right corner of the field to see a list of all items in your Names file. Selecting an item will enter that persons name in the Scratch area, & phone number(s) in the Phone field. If you enter a name in the Phone field before tapping the Find button, only people with that name will appear in the list. Due to the biasing mentioned above, youÕll probably want to bring up an alpha keyboard (try double-tapping in the Scratch area) to enter the name. "Currency" is a field into which monetary values can be entered. Simply enter the relevant digits & the result will be parsed as a monetary value with currency symbol ($ in U.S.A., £ in Great Briton, etc.), commas, decimal points, etc. entered appropriately for whatever country you've told the Newton you're operating in. "Time" is a field into which only time values can be entered, to the nearest minute or, optionally, to the nearest second. Opening a Time field in the application reveals an oval with numerous arrows above & below. Whenever the oval is tapped, the current time is entered, in digital form. The value can be adjusted by tapping the arrows above or below any digit. "Fraction" is a field into which mathematical expressions can be entered for evaluation. For instance, entering 2+3*4/5 will evaluate to 4.4 (This because we've taken four-fifths of three & added it to two). We call it "Fraction" because we haven't had time to test it exhaustively for anything else, but if it really works it could obviously serve as a general purpose calculator. Expressions are evaluated whenever you enter an equal sign or close the field. The expression itself, rather than its evaluation, is stored in the Newton & transmitted to the PC.(in Release 3 it's just the opposite. Release 3 adds variable references ("Var" button) & provides a means of attaching the expression permanently to the field ("Peg" button). Note: the Var button will enter something into your expression other than what you selected; don't worry, it's simply translated your field name into AppGen language. ÒStopwatchÓ is a field used to record the duration of events. Opening the field starts the stopwatch, closing it records the duration in seconds. ÓXlookupÓ is a field which lets you retrieve data from any soup on the Newton. Tapping the diamond will bring up a list of available soups. Selecting a soup will bring up a list of that soupÕs fields. After selecting the fields you wish to display youÕll be asked to enter a search string. Tapping the ÒFindÓ button will now display a list of all records in the soup which contain that string. Selecting an item from the list will enter the fields you asked to display into the ÓXlookupÓ field. You can accumulate data in the ÓXlookupÓ field by making repeated selections from the ÒFindÓ list. Changing the search specification (other than the search string) however, will clear all data from the ÓXlookupÓ field, so if you wish to accumulate data across different searches you need to first copy what you have so far to the scratch area. ÓXApplicationÓ is a field which provides access to other applications. Tapping the ÓLinkÓ button will bring up a list of all applications available on the Newton. Selecting an item from the list will launch that application. When you quit that application youÕll be returned to AppGen. If you select something while running the external application (a conversion from the ÒFormulasÓ application, for instance), then open the intelligent ÒAssistÓant & tap the ÒPleaseÓ diamond, youÕll find a ÓCopyÓ command in the list. Selecting ÒCopyÓ & tapping the ÒDoÓ button will close the external application & copy the selected data into whatever field is open in AppGen. Multiple ÓCopyÓs will be accumulated. ÓXApplicationÓ also provides a mechanism for enhancing AppGenÕs functionality via ÒextensionsÒ or ÒPersonality modulesÓ. Personality modules enable VARÕs to develop canned applications based on an AppGen runtime, while extensions require a complete version of AppGen & can be developed by anybody with access to NTK. (We should note here that AppGen functionality can also be extended simply by adding new Expando-based field types. If you develop a nifty Expando-based gadget using NTK, Newt, NSBasic?, or whatever which you would like included in your copy of AppGen, just send it to us & we'll plug it in for you so you can generate applications which include fields based on your gadget. "HPopup" (not shown) is a hierarchical popup field type which provides 3 menu levels with up to 25 items per menu, for a total of approximately 15,000 items (25X25X25). Data for the popup is entered in a "HPopupItems" folder in the NotePad, each item as a separate note, levels within the item separated by colons (:), e.g. category : subcategory : detail. If you really want to enter 15,000 items (or even more than a couple dozen), you'll probably want to create the data on your PC & upload it to the Newton. In operation, after stepping thru the three menu levels the items from the last (lowest) level are retained for direct access by tapping the ÒAgainÓ button; each selection from that menu will be entered into the field at the insertion point. "Sketch" (not shown) is field type which allows capture of graphical data in the field (i.e. sketches). It rotates in the NOS 2.0 version. Finally, the last (blank) line in the field type list is used to delete fields which have already been defined. Currently, all fields following the deleted field will be deleted as well so, if there are any such, youÕll need to copy their definitions back by hand. (Note that itÕs not necessary to delete a field in order to redefine it. Any field can be redefined by simply making a different selection from its Type popup list. Deleting a field is only necessary when you wish to shorten the application.) In case you're not into party games, most field types automatically bring up an appropriate keyboard (e.g. a numeric keypad for "Numeric" fields, something that looks like a touch-tone telephone keypad for "Phone" fields, etc.) when opened in the defined application. However, we've attempted to tailor Newton's recognition facilities to each field type, so you might want to give handwriting recognition a try (once more?). We find, with a little practice, that it can be quite convenient at times. The second, "Title", column lets you enter a label for your field. Write in anything you like (up to 16 characters; here's where the "Scratch" area comes in handy), or "double-tap" to bring up an alphanumeric (typewriter-like) keyboard. Next we have three columns of check-boxes. The first, "Require" column, indicates that this field must be filled in the application before the record (screenful of data) can be saved to Newton's memory (by tapping the application's "Save" button). If any required fields are empty when the user tries to save data from the application, a dialog will appear complaining that the data can't be saved yet, & listing the required fields that still need to be filled. The second column, "Clear", means that the field on screen will be emptied after the record is saved. If this box is unchecked, the field will retain its value, saving the user the trouble of entering the same data over & over again. The third column, "Find", means that this field will be shown in the overview of found items when using Newton's "Find" facility for searching thru saved data. The field will also be indexed, for faster searching. The final column in the application definition user interface, under the heading "List/NLines...", contains various items depending on which type of field you've selected. If you've selected a "Freeform" field type, then a box appears letting you specify the number of lines (1-90) to allow for in the field. A similar box appears when defining a ÒStopwatchÓ field type, letting you specify the animation rate of the display of passing time. Entering Ò1Ó will update the display every second, Ò5Ó will update the display every 5 seconds, etc. Enter nothing if you donÕt wish an animated display. This is advisable if you are concerned about battery drain, as the animation consumes power. If you're defining a "Popup" field type, then this area is used to specify the items you wish to appear in the popup list. Tap the little circle which appears under the "List" heading & a list full of question-marks will appear. Tap one of the question marks & it will appear in a box to the right of the little circle. Overwrite the question mark in the box with your data & tap the circle again. Your data now replaces the question mark in the list, & will appear in the same position in the popup list in the generated application. Repeat this process for each item you wish to place in the list. Finally, the ÒTimeÓ field will bring up a checkbox under the heading ÒSecsÓ. Check this box if you wish to record time to the nearest second, rather than to the nearest minute. Each of these items appears under a ÒdescriptiveÓ heading, & when active that heading will be underlined. If you wish to define more than 9 fields for your application, tap the "More" button & continue defining fields as above. There is a parallel ÒMoreÓ button in the defined application, which enables scrolling of the application screen. When tapped, the button is replaced by up & down scroll arrows. The horizontal bar under each arrow allows scrolling directly to the last, or back to the first, field, a convenience for large applications. This release of AppGen has a Barcode input option ($20 extra). Scrolling the Preferences will reveal a Barcode definition screen, which will allow interfacing of a variety of Barcode input devices. So far only the TPS Mobile Wand 400 has been tested, & the parameters default to settings appropriate for that device. To enter data via Barcode reader (assuming youÕve purchased the option), check the ÒConnect Wand when app is launchedÓ checkbox, plug in the Wand, launch the application, wait for the Òbarcode Wand availableÓ message to appear near the bottom of the screen, select a field, & wave the Wand. If youÕre lucky (i.e. the interface parameters have been set properly) the scanned data will appear in the selected field. Not all field types accept Barcode input (currently Date, Time, Phone, & Fraction do not). If one of these field types is selected, the scanned data will appear in the ÒScratchÓ area at the top of the screen instead. You can then drag the data where you like. If the Òbarcode Wand availableÓ message doesn't appear, try tapping the small dot in the upper-right corner of the screen a few times (thrice is usually sufficient). Be sure to wait for the status message near the bottom of the screen to change (or, alternatively, for the mark you made on the screen when you tapped the little dot to disappear) between each tap, as the Newton communications subsystem doesnÕt like to be rushed. On older Newtons, check the ÒDonÕt sleepÓ box in the lower left-hand corner of the screen, or be prepared to tap the little dot thrice when the Newton wakes up, as sleeping will disconnect the Wand. Application generation happens automatically when you close the Definitions screen. Tapping the icon will now open your new application. If you decide it's not ready to go after all, simply close the application, open the Defs, & redefine whatever you like (or don't like). If youÕve purchased the multiple application option ($30 extra), you can cycle through your applications without returning to the Defs function by tapping on the letters under the exclaimation mark, AppGenÕs runtime icon. When your generated application is open, tapping the up arrow between the ÒExtrasÓ & ÒUndoÒ built in icons will step you back thru any data you may have stored on the Newton via your ÒAppGenÕdÒ application, while tapping the dot will bring up an overview of all your data (i.e. does an implicit ÒFind AllÓ), giving you direct access to any record. When scrolling thru saved data, a ÒDeleteÓ button will appear, and data can be modified at will (tap the ÒSaveÓ button to record any changes). A "Note" button will appear above the "Delete" button. This will make a copy of the record in the NotePad for printing, faxing, beaming, or whatever. Double-tapping this button will copy all AppGen data into the NotePad. This would be useful for downloading data directly to a PC, via a Newton data transmission utility such as Slurpee & a terminal emulator on the PC. So far, synching via the NotePad is the only way we know to get "Sketch" fields thru, intact, to the PC. Once youÕve defined your application(s), you can free space on your Newton by removing the AppGenDefs package. To later modify an application or define new ones, simply transfer the AppGenDefs package to your Newton via some package installer. If you can't figure out how to do what you want to do, give us a call. We are maintaining an automated "wish-list" for future development, & are very interested in your input. If you're done using an application, tap the "Start Over" button to delete it. This will delete all data saved via the definition, so be sure you have disposed of that data to your satisfaction (sent it to your PC, or whatever) first! AppGen is available for (add $5 S&H for all versions, all prices in $US): Single application version $49.95 Single application with bar code capability $69.95 Multiple application version $79.95 Multiple application with bar code capability $99.95 We accept checks on US funds, and COD (within US), but we encourage you to purchase AppGen from one of our resellers: MacMall (800-552-8883) or PDA Direct (800-279-4732, 219-882-5228). Pinehill Softworks Inc. 301 Main Street Falmouth MA 02540-2751 (508) 548-4470 (508) 548-8731 fax Current Wish List Hierarchical popups with data downloadable from PC (done, V3!) Graphic field type (done, V3!) Computational field type with variable substitution (done, V3!) Multiple simultaneous application definitions (done, V3!) Scrolling popups (sort of done, thanks to ScrollEx3.2 shareware PKG?) Infra-red cloning of generated applications Interface to Notepad, to allow printing & faxing of AppGen records (done, V3!) Checkboxes (on the list for V4, now in progress) Move application definition screen out of system preference area (done, V3!) As mentioned earlier, we're very interested in your input on this. Our priorities are set by the number of people requesting each feature. If you have any ideas for improving AppGen, please let us know. We can't make AppGen satisfy you needs if you don't tell us what they are!