Billable Hours 1.03 Docs ------------------------------------------------------------- Revision history of documentation 03/16/94 Recorded small changes in Revision history of the program section. 03/14/94 Removed portion of Plans for the future section about adding "kilometers" option since that's done. Changed text throughout docs to avoid implying that distances always are labeled "miles" since they're not any longer. 03/05/94 Added section Revision history of program. 02/27/94 Price and ordering section: mentioned ability to "upgrade" from binary-only to binary plus source. 02/24/94 Initial documentation for version 1.0 ------------------------------------------------------------- Contents Legal stuff Introduction What's missing in the demo version? Price and ordering Support Using BillableHours Known problems and limitations Plans for the future Deleting BillableHours Revision history of the program Acknowledgments ------------------------------------------------------------- Legal stuff BillableHours (the software that this documentation describes), the related software that is included with BillableHours, and this documentation are all Copyright 1994 Matthew Dixon Cowles and his licensors. All rights reserved. Apple and Newton are trademarks of Apple Computer, Inc., registered in the United States and other countries. NewtonMail and MessagePad are trademarks of Apple Computer, Inc. Here is the software license that Apple Computer, Inc. requires that Newton software written with the Newton Toolkit carry. It isn't exciting reading and it exhibits lawyers' curious use of capitalization, but I advise you to read it since it does apply to all users of BillableHours and the related software that accompanies it. 1. License. The application, demonstration, system and other software accompanying this License, whether on disk, in read only memory, or by any other media (the "Software"), the related documentation and fonts are licensed to you by Matthew Dixon Cowles. You own the media on which the Software and forts are recorded but Matthew Dixon Cowles and/or Matthew Dixon Cowles's Licensor(s) retain title to the Software, related documentation and fonts. This License allows you to use the Software and fonts on a single Newton Product (which, for the purposes of this License, shall mean a product bearing Apple's Newton logo), and make one copy of the Software and fonts in machine-readable form for backup purposes only. You must reproduce on such copy Matthew Dixon Cowles's copyright notice and any other proprietary legends that were on the original copy of the Software and fonts. You may also transfer all your license rights in the Software and fonts, the backup copy of the Software and fonts, the related documentation and a copy of this License to another party, provided the other party reads and agrees to accept the terms and conditions of this License. 2. Restrictions. The Software contains copyrighted material, trade secrets and other proprietary material and in order to protect them you may not decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form (does not apply to users with source code licenses for BillableHours and does not apply to Delete BH Data). Except for Delete BH Data and the demo version of BillableHours, you may not modify, network, rent, lease, loan, distribute or create derivative works based upon the Software in whole or in part. You may distribute for a nominal download or duplication charge at most the demo version of BillableHours as long as it is accompanied by this documentation. You may distribute for a nominal download or duplication charge at most Delete BH Data and derivitave works based on Delete BH Data. Except for Delete BH Data and the demo version of BillableHours, you may not electronically transmit the Software from one device to another or over a network. 3. Termination. This License is effective until terminated. You may terminate this License at any time by destroying the Software and related documentation and fonts. This License will terminate immediately without notice from Matthew Dixon Cowles if you fail to comply with any provision of this License. Upon termination you must destroy the Software, related documentation and fonts. 4. Export Law Assurances. You agree and certify that neither the Software nor any other technical data received from Matthew Dixon Cowles, nor the direct product thereof, will be exported outside the United States except as authorized and as permitted by the laws and regulations of the United States. If the software has been rightfully obtained by you outside of the United States, you agree that you will not re-export the Software nor any other technical data received from Matthew Dixon Cowles, nor the direct product thereof, except as permitted by the laws and regulations of the United States and the laws and regulations of the jurisdiction in which you obtained the Software. 5. Government End Users. If you are acquiring the Software and fonts on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees: (i) if the Software and fonts are supplied to the Department of Defense (DoD), the Software and fonts are classified as "Commercial Computer Software" and the Government is acquiring only "restricted rights" in the Software, its documentation and fonts as that term is defined in Clause 252.227-7013(c)(1) of the DFARS; and (ii) if the software and fonts are supplied to any unit or agency of the United States Government other than the DoD, the Government's rights in the Software, its documentation and fonts will be as defined in Clause 52.227-19(c)(2) of the FAR or, in the case of NASA, in Clause 18-52.227-86(d) of the NASA Supplement to the FAR. 6. Disclaimer of Warranty on Software. You expressly acknowledge and agree that use of the Software and fonts is at your sole risk. The Software, related documentation and fonts are provided "AS IS" and without warranty of any kind and Matthew Dixon Cowles and Matthew Dixon Cowles's Licensor(s) (for the purposes of provisions 6 and 7, Matthew Dixon Cowles and Matthew Dixon Cowles's Licensor(s) shall be collectively referred to as "Matthew Dixon Cowles") EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. MATTHEW DIXON COWLES DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE AND THE FONTS WILL BE CORRECTED. FURTHERMORE, MATTHEW DIXON COWLES DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE SOFTWARE AND FONTS OR RELATED DOCUMENTATION IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY MATTHEW DIXON COWLES OR AN AUTHORIZED REPRESENTATIVE OF MATTHEW DIXON COWLES SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT MATTHEW DIXON COWLES OR AN AUTHORIZED REPRESENTATIVE OF MATTHEW DIXON COWLES) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION IF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. 7. Limitation of liability. UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL MATTHEW DIXON COWLES BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES THAT RESULT FROM THE USE OR INABILITY TO USE THE SOFTWARE OR RELATED DOCUMENTATION, EVEN IF MATTHEW DIXON COWLES OR AN AUTHORIZED REPRESENTATIVE OF MATTHEW DIXON COWLES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. In no event shall Matthew Dixon Cowles's total liability to you for all damages, losses, and causes of action (whether in contract, tort (including negligence) or otherwise) exceed the amount paid by you for the Software and fonts. 8. Controlling Law and Severability. This License shall be governed by and construed in accordance with the laws of the United States and the State of California, as applied to agreements entered into and to be performed entirely within California between California residents. If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License shall be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this License shall continue in full force and effect. 9. Complete Agreement. This License constitutes the entire agreement between the parties with respect to the use of the Software, related documentation and fonts, and supersedes all prior or conterporaneous understandings or agreements, written or oral, regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by a duly authorized representative of Matthew Dixon Cowles. ------------------------------------------------------------- Introduction BillableHours is a personal time tracking application from Mondo Info, by Matthew Dixon Cowles for the Apple Newton MessagePad. (Whew.) It allows the user to enter the number of hours worked on a given day for a particular client (or project or whatever), the number of miles (or kilometers) driven, the amount of any expenses, and so forth. These entries can be viewed individually or in a scrolling list. A totals display shows totals of hours worked and expenses incurred by month broken down by client and distance driven by month broken down by vehicle. I'm a consultant and always disliked the alternatives I had regarding recording the hours I spend working for my clients. When I got my Newton, it appeared to me that an app to record and total my hours was a natural for the little feller. So I sat down and wrote one. About a zillion revisions later, it's in a state in which other folks might even find it useful. Since I wrote it originally for myself, it does things the way I want them done. Other folks may find some aspects quirky or idiosyncratic. I'd be delighted to know what users and potential users think (see the Support section below), but at least you can be confident that the features list wasn't drawn up by a marketing department. BillableHours allows users to display and edit its data in the Newton Connection Kit and it supports Undo in most important places (such as in deleting entries). It does not currently print, fax, or mail anything. It doesn't support the system find button and it doesn't allow you to categorize items in the "Unfiled", "Business", "Personal", etc. categories. There is no on-line help, and the Intelligent Assistant has never heard of BillableHours. At the moment, those features seem to me to be of relatively little use to this particular application. If I get enough requests for them, I will consider adding them. The documentation for the complete version is the same as the documentation for the demo version. (But the copy you receive if you order BillableHours may have been revised since this copy was written.) You should bear in mind in reading this documentation that it is really a description of how I intend that BillableHours should work. As the license agreement above indicates, I don't promise that it does work as I've described. I encourage people to distribute the demo version of BillableHours as long as no more than a nominal duplication or download fee is charged and as long as this documentation and Delete BH Data are included with the program. (Delete BH Data is discussed below in the section Deleting BillableHours.) I encourage programmers to modify Delete BH Data and distribute the modified version for their own uses. ------------------------------------------------------------- What's missing in the demo version? The totals feature is crippled in the demo version. Instead of displaying numbers for the totals, the demo version displays Xes. All other features do work (or they do work as well as they do in the complete version). It should be possible to get a good feel for the program before deciding whether or not to spend your money on it. On the other hand, the totals function is the only reason that anyone would use an app like this one, so the demo version will be of limited use. Unless I have had occasion to change the soup (permanent data storage) structure that the app uses, the complete version should be able to use data stored in your Newton by the demo version. Nevertheless, I DO NOT promise that the complete version will be able to. If you are using an obsolete demo version and I have changed the soup structure and you include the version number of the demo version you have used and I have a soup updater utility available, I will include it with your order. (That's a pretty big "if".) ------------------------------------------------------------- Price and ordering The price for the complete version of BillableHours is 30 US dollars, which includes standard (ground) delivery within the US and any taxes. Payment must be made in US funds drawn on a US bank (sorry, but my bank charges extortionate sums for handling other kinds of checks). Please contact me at one of the addresses below (in the ordering section and the support section) regarding other kinds of shipping. If, for any reason, you are reading an obsolete version of this documentation and I have found it necessary to raise the price of BillableHours, I will destroy your check and get in touch with you regarding the current price. For your 30 USD you will receive a disk containing the most current version of BillableHours and the most current version of the documentation. I do not anticipate producing a printed manual in the near future since doing that would add to the price. If you wish to have a source code license, for an additional 15 USD, I will send along the Newton Toolkit source code for the application. (Of course, it won't do you much good unless you have the Newton Toolkit development environment.) That way you can amuse yourself by finding out just how bad a programmer I am. Please note that with a source code license you are (naturally) free to change the behavior of your copy of BillableHours and you may consult the code for your own inspiration. Nevertheless, the code remains copyrighted by Matthew Dixon Cowles and (as the license above indicates) you may not distribute derivative works. Anyone who has a binary-only license and wishes to have a binary-and-source license can have the source code for the current price differece between the two. Please send the following information when ordering: -Your name -Your shipping address -Whether you would like a Mac or Windows format disk -Your mailing address (if different from your shipping address) -Your telephone number (if you would like me to get in touch with you by telephone if there should be any problem with your order) -Your e-mail address (if you would like me to get in touch with you that way if there should be any problem with your order) -The name of the product you are ordering (i.e. BillableHours binary only or BillableHours binary plus source) -The version number of the demo version you have used (if you want any soup updater app that is available and may be necessary to allow the complete version to use data stored by the demo version you have used -- check the about box for the version number) Please make your check payable to Matthew Dixon Cowles and send it and the information requested to: Matthew Dixon Cowles 4501 Park Glen Road, no. 345 St Louis Park, MN 55416 ------------------------------------------------------------- Support I am extremely interested in getting feedback from users. I would be delighted to hear comments, thoughts and suggestions about the documentation, feature requests, bug reports, expressions of praise, and lucrative job offers. If you are reporting a bug, please try to be as specific as possible about the actions that lead up to it. If you are expressing praise or making a job offer, please try to be as generous as possible. Support for BillableHours is currently only available through e-mail (hey, it's only a 30 dollar program). My e-mail addresses are: NewtonMail: MattC (@online.apple.com) AppleLink: MONDO (@applelink.apple.com) CompuServe: 73134,2536 (73134.2536@compuserve.com) If you don't have an e-mail account, please send a note by the postal service to the address above. ------------------------------------------------------------- Using BillableHours -- Installation -- Getting started and entering data -- Scrolling -- Totals -- Installation At the moment, I haven't had occasion to change the soup structure and therefore it should not be necessary to delete the demo version's data before installing the complete version. If, for any reason you do wish to do that, see the section "Deleting BillableHours" near the end of this documentation. Install BillableHours just as you would any Newton package. Use Newton Connection Kit or any of the other programs that will send packages to your Newton. (Check the documentation that came with the program you use for details.) If you are using Newton Connection to install the complete version of BillableHours, you will need to delete the demo version of the application if it is still installed (which is different from deleting the demo version's data). Once you have installed the app, you will see a new icon, a time clock, in your extras drawer. Tap it to open BillableHours. -- Getting started and entering data When you first open BillableHours, it opens to an overview, showing the most recent entries (which are at the bottom of the scrolling overview list). The very first time you open the app, you will see a message that there are no entries to display (makes sense). You will also see some buttons along the bottom of the screen. The "pg up", "pg down", and "about" buttons we'll get to in a moment. As usual, the button on the right with the X in it closes the application. The button on the right with the little picture of the envelope in it will open a small menu when tapped. When the overview is showing, the items in that menu are "New entry", "Totals", "Move all to card" or "Move all from card" (if a card is installed), and "Delete old entries". The only item that makes much sense to begin with is "New entry". Choosing "New Entry" will take you to the entry view. The entry view has fields in which you can enter client name, the date for the entry, the duration for the entry, a vehicle, a number of miles or kilometers, an expense, and notes. In addition, there is a checkbox with which you can indicate whether this entry has been billed. You will notice that the Client and Vehicle fields have diamonds before them. Tapping on the diamond will pop up a list of clients and vehicles (respectively) that have been used in the previous 30 entries. Choosing an item from the pop up list will put it in the field. The pop-up lists save time and writing, but they also simplify matters in the totals view. Since totals are calculated by client name (for hours and expenses) and vehicle (for distance) it is to your benefit if the same client and vehicle are consistently spelled the same way. If you enter a client name that is in one of the last 30 entries, you will notice that the field labeled miles or kilometers defaults to be the same value as the last entry for that client that wasn't blank. The vehicle defaults to the last vehicle entered (not necessarily for the same client). The date for the entry defaults to the current date according your Newton's clock. You can enter the date of the entry either by writing the date in the date field or by tapping on the proper date on the little monthly calendar that's shown. Tapping the arrows beside the month name change the month that's being displayed. The duration field expects a number in hours and tenths, not hours and minutes. That is 2.5 is fine, but 2:30 isn't. The miles or kilometers field is pretty straightforward as is the expense field. The dots to the right of the fields will clean up an entry in those fields to the standard format. The billed checkbox is equally straightforward, not to say boring. What use it really is will become clear in the description of the totals function. In the entry view, the menu that's displayed when you tap on the button with the little envelope in it changes; the items become "New slip", "Undo changes", "Delete me", and "Move from card" or "Move to card" (as appropriate if you have a card installed). New slip does just what you'd expect. Undo changes sets the contents of the fields of the entry view back to what they were when the entry view was first displayed (the undo button below the screen will undo individual changes). Tapping Delete me will delete the entry that's showing. Tapping Undo will restore the entry, but Newton only remembers how to undo the last two things you did, so don't do a bunch of things before tapping Undo and expect it to restore your entry. "Move from card" and "Move to card" do what they say -- they move the entry from the permanent storage on your card to the permanent storage inside your New and vice-versa. Tapping the overview button (below the screen, between the up-pointing and the down-pointing arrows) will return you to the overview. If you have made at least one entry, that entry will be shown in the overview and the "there are no entries" message will have disappeared. When you return to the overview, which entries are shown is changed if necessary to keep the one you just viewed in the entry view in sight. The overview shows the entries you have, but not all of their data. In the leftmost column is the client name, then there's the date of the entry, followed by any expense recorded and the number of hours entered. If there are any items to see in the overview, the overview opens when the app starts up with the most recent item at the bottom. Tapping on a line in the overview will take you to the entry view and show you the entry that you tapped on. Tapping on the overview button while in the overview will take you to the entry view and show you the entry that's at the top of the overview. The menu items "Move all to card" and "Move all from card" appear only if a card is installed. If a card is installed, which one appears depends on the state of the "Store new items on card" checkbox. Choosing the menu item will move all entries to the selected store. The menu item "Delete old entries" displays a floater in which you can enter a date. If you tap the floater's Delete button, all entries older than that date are deleted. Undo is supported here but, as before, be careful since Newton will only remember the last two things you did in the application. The about button opens (and closes) the about box, which gives the version number of the copy of BillableHours that you're using and some credits. -- Scrolling The overview can be scrolled one line up or down with the system scroll arrows (below the screen) and by one line less than a screenful with the pg up and pg down buttons. The arrows and buttons work that way also when scrolling the totals view (about which more below). There is no difference between using the arrows and the buttons when scrolling entries in the entry view. They scroll one entry regardless. One caution about scrolling in the entry view. As you will notice when looking at the overview, entries are kept in order by date and within a given date they're in alphabetical order by client name. If you change either the date or the client name in the entry view, you may change the spot that the entry occupies in the sort order. For that reason if you change either or both of those items and then scroll the entries in the entry view, you may not go to the entry you expected to go to. Going back to the overview is a good way to get re-oriented. The totals view scrolls as well (more about it below). It can be scrolled by one line with the system scroll arrows and by one line less than a screenful with the pg up and pg down buttons. -- Totals Choosing the "Totals" menu item causes BillableHours to compute totals for all the entries and display them. Hours and expenses are totaled by client for each month and distances are totaled by vehicle for each month. (There is currently no way to find out how far you drove for any particular client.) The totals view opens showing the oldest totals at the top of the view and the data in the view can be scrolled as described above. Each totals line consists of a month, a description, a number (unless you're using the demo version in which case you get Xes), and often a checkbox. This is all pretty straightforward, but let me give an example. If you have two entries for Blammo, Inc. in the month of February 1994, one of which is for 2 hours and 10.50 in expenses and the other of which is for 3.5 hours, and you rode your llama the six miles that's the distance there and back both times, you will (should) get three totals lines: 02/94 Blammo, Inc. 5.5 02/94 Blammo, Inc. expenses 10.50 02/94 Llama miles 12 Note that if you had ridden your llama to other clients during the month of February, the Llama miles line would indicate a higher number -- miles are not totaled by client. Note also that if the locale that you have specified in your Newt's Preferences indicates that distances should be measured in kilometers, the "miles" above will appear as "kilometers". The checkboxes at the right of an hours line indicate whether the line is made up of entries that are marked as billed or not. If you change the checkbox of a line in the totals view, BillableHours will change the billed checkboxes in all of the entries that made up that line. So if you checked the checkbox to the right of the first line in the example, when you close the totals view, BillableHours will turn on the Billed checkboxes in each of the two entries that went to make up that totals line. If there are some entries that are marked as billed and some that aren't for a particular client in a particular month, the billed entries and the un-billed entries will get separate sets of totals lines. In order to distinguish expenses that are on entries that have been billed from ones that are on entries that haven't been billed, BillableHours puts a checkmark after the description of expenses that have been billed. Distances are merely totaled; BillableHours doesn't concern itself with the status of the Billed checkbox on the entry they're from. Since there's only one Billed checkbox on an entry, it isn't possible to indicate that the hours on an entry have been billed while the expense hasn't (or vice versa). In addition, though it is possible to record expenses and distances for clients for whom no hours have been recorded, it is not possible to set those expenses to billed from the totals view (it must be done in the entry view) since neither expense lines nor distance lines have checkboxes and there won't be an hours line if there were no hours recorded for the client. If an entry has only a distance and a client name on it, the status of the Billed checkbox is cheerfully ignored. I've been mentioning clients and expenses incurred for those clients since I expect that that's the way that most people will use BillableHours, but there's no reason that one couldn't enter project names into the clients field if one's needed to keep track of projects rather than clients. In addition, there's no reason that expenses couldn't be entered with a category in the client name field, and so on. ------------------------------------------------------------- Known problems and limitations BillableHours does not handle matters gracefully if you fill up the permanent storage on your Newt or your Newt's card. In fact, it is possible for BillableHours to fail to start up on a Newt that has a full or very nearly full internal store. Until and unless I find a way to clean up this behavior, it would be smart to make sure that there was at least a few K (at the moment a good number appears to be 10K or so) of permanent storage available both in your Newt's internal store (the amount free is shown in the Memory section of the Prefs app) and on any card you use (the amount free is shown in the floater that opens when you tap the Card icon). Note that it would be very easy to fill up an entire store using the "Move all to card" or (easier still) "Move all from card" menu items even if a fair amount of space were still left on the destination store. If you should run into a problem on account of filling up a store, the best thing to do is to close the app (if it has successfully started up), restart it, and delete some old entries. If the app won't start, the only thing to is to delete some data from the full store -- either some of BillableHours's data or some other app's. Of course it would be wise to make backups at each step along the way so that if things don't go well, you can at least go back to a previous state. Note that simply re-synchronizing your Newt isn't sufficient since Newton Connection doesn't keep very many backups around. In order to keep your backups, you will need to move the files that Newton Connection creates so that it can't change them. Mind you, all this is by way of general advice about getting out of trouble. It may or may not be applicable to the particular situation you find yourself in. It is NOT guaranteed to work. ------------------------------------------------------------- Plans for the future Well -- in five years, I'd like to be retired and living on a tropical.... Only kidding. I would like to clean up the data deletion issue (see below in Deleting BillableHours) and handle the situation in which a user fills up his or her card or internal store better. At the moment, I don't anticipate adding a great many features to BillableHours. It does what I need it to do and (as far as I can tell) it does it reasonably well. It is my theory about Newton applications that they should be small, slick, simple, and (if possible) elegant. It is not my desire to turn BillableHours by degrees into an accounting package. For permanent record-keeping and reports, for example, I recommend that users copy their data from Newton Connection's table view and paste it into a spreadsheet. It is not my desire or intention to get into a features war with other personal time and billing apps that will no doubt be released for Newton since it is my opinion that such feature wars are not in users' long-term interests. I am, for example, aware that Great Plains has an app that probably does some of the same things in development (it would be hard not to know that) though I haven't seen it or even heard or seen it described. I'm sure that it will be a fine program, but BillableHours does what I want a personal time and billing app to do. On the other hand, I am interested in knowing what other people would like BillableHours to be able to do. I can't promise that I'll add every feature that's requested, but I do promise to take feature requests into consideration (see the Support section above). ------------------------------------------------------------- Deleting BillableHours Of course, I hope that no one will ever want to delete his or her copy of BillableHours. On the off chance that some poor benighted soul will want to, here's what one has to do in order to delete the application and the data it stores in your Newt. Of course, deleting the program is easy enough -- just tap Prefs then Memory or else Card, and then tap Remove Software and pick BillableHours:MONDO from the list of packages to delete. Deleting the data that BillableHours has stored on your Newt and making it stay deleted is just a little more complex. At the moment, there is no good way for a Newton application to delete the data it has stored on a Newton automatically when it is being deleted. For that matter, a user might possibly not want to have his or her data deleted when a the application that created the data is deleted. I understand that Apple is working on a way of handling this situation. Since BillableHours can't delete its data automatically, included with all versions of BillableHours is another application called DeleteBHData. DeleteBHData does not actually delete the BillableHours program. It deletes the permanent data that BillableHours stores in a user's Newton. There is no need to install DeleteBHData until and unless you want to delete the data that BillableHours has installed. (DeleteBHData is intended as in interim solution until there is a good way to have an app delete its own data, if the user wishes, when the application is being deleted or at some other time. The source code for DeleteBHData is distributed along with the package that you install in your Newton to delete the data. The source code for DeleteBHData is freeware and may be modified and redistributed freely as long as only a nominal download or duplication charge is made, though it remains copyrighted by Matthew Dixon Cowles. Other than the right to modify and redistribute DeleteBHData, all aspects of the licence agreement above apply to DeleteBHData.) In order to actually delete that data that BillableHours has stored on your Newt, first back up the data in your Newt. Then install the DeleteBHData package. Tap the icon labeled "Del BH Data" and read the cautions that appear on the screen. Note that undo is NOT supported. To do the delete, tap the button at the bottom and tap the "OK" buttons on the confirm slips that open. If, for some reason, you have stored data from BillableHours on more than one PCMCIA card, you will need to run DelBHData and tap the delete button once with each card that has data from BillableHours installed. At this point, you can delete DelBHData in the usual fashion. At this point, you're not quite done. If you have synchronized your Newton with Newton Connection, the next time you synchronize it, Newton Connection will notice that it knows about some data (BillableHours's) that your Newton doesn't have. Connection will, then, copy that data back to your Newton. In order to prevent its doing that, move the folder (or directory) that Newton Connection creates for your Newton out of the folder (or directory) that contains Newton Connection (or you can rename it). Then synchronize again. The new files will not contain any data from BillableHours. Be sure that everything is fine on your Newton before deleting the old files that you moved or renamed. What does Delete BH Data remove? BillableHours creates a soup (permanent storage "file") on your Newton's internal store and on any PCMCIA card that is installed and writable when it is run. It also creates an entry in the Directory soup on the internal store for the meta data that tells Newton Connection how to display the data. Delete BH Data removes these three items. ------------------------------------------------------------- Revision history of the program 03/16/94 1.03 Shortened totals view to allow access to page up and page down buttons. Used decimal point from locale in demo version's totals. Fixed some scrolling animations that animated (didn't actually scroll) in the wrong direction. 03/14/94 1.02 Changed hard-coded strings "miles" in label in entry view and totals view to use distance label from locale user has specified in Newt's Prefs. 03/05/94 1.01 Changed the way way that BillableHours decides how big to appear on the screen. Moved some fields in the entry view so that Notes field won't be cut off on a 110. (I confess, I confess, I missed one.) Fixed a mildly obscure bug that would cause a problem if the user started the program with no entries, created one, then immediately deleted it. 02/24/94 Initial release 1.0 (And there was much rejoycing.) ------------------------------------------------------------- Acknowledgments My thanks go to: Scott Owen, my intrepid beta-tester Theo Hesselmens, of Vers a Versa, Belgium whose fine app Souped-Up enabled me to find out what BillableHours was really storing in its soup, and who has always been encouraging and has generously shared his apps and source code with other folks working on Newton programs Kent Sandvik, Mike Engber, Bob Ebert, Maurice Sharp, and the rest of the PIE DTS team, who have shown saint-like patience and have even told me which parts of the manual I hadn't read Stephen Rose, of Summit Software, Whitehorse, Canada, whose fine app Souper allowed me to clean up some of the messes I made in my Newton Jason Harper, whose fine app ViewFrame allowed me to find any number of sneaky bugs and everyone at Apple who has worked on Newton Those folks made BillableHours better than it would otherwise have been (though few of them knew that that's what they were doing so you shouldn't blame them).