June 26, 2001 HANDYSHOPPER v2.0 for the Palm Computing Platform "Shopping Lists plus so much more!" BEFORE ASKING QUESTIONS: Read the "INSTRUCTIONS" section (below), and the "FAQ.txt" file. | NEW: Text that is new since build 3017 is marked with a vertical | bar in the left margin "|". CONTENTS: ----------------------------------------------------------------- 1. Postcard-Ware 2. Disclaimer 3. Installation 4. Instructions 5. Going Shopping 6. User Group 7. Ideas for Creative Use of HandyShopper 8. What's Not In 2.0 9. What's New 10. Feedback POSTCARD-WARE: ------------------------------------------------------------ HandyShopper is (and has always been) FREEWARE. BUT...if you like HandyShopper, please send me a postcard! My favorites are local or scenic cards. I've lost count, but you've sent over 1600 so far, from all over the world. "Thank you" to everyone who has sent a postcard! Please send postcards to: Chris Antos 9649 174th Place NE Redmond, WA 98052 USA Why I don't charge for HandyShopper: this is a hobby for me, and I enjoy it. I wrote HandyShopper because I wanted an app to manage lists for me, and I figured I'd share it in case anyone else was interested. I am flattered by offers to purchase or license the HandyShopper source code, but I will not accept money. DISCLAIMER: --------------------------------------------------------------- This is the "official" release of HandyShopper 2.0, but please keep in mind that this software is FREE and I cannot be responsible for lost data or any other problems. If this is not acceptable to you, do not use HS2! That said, myself and tens of thousands of people around the world have been using the Beta versions for over 16 months. INSTALLATION: ------------------------------------------------------------- If you are installing HandyShopper for the first time: Use the Palm Install Tool to install the "HandyShop2.Prc" file onto your Palm device, and then do a HotSync. The app "HS2.0" will show up in your Launcher's "Unfiled" category. If you have OS 3.5 or higher, "HS2.0" will show up in the "Main" category. The first time you run the app, it will check to see if you have HS1 on the device. If you do then it will ask if you want to import your HS1 data. (You can always do it later if you want, by using the menu). See "INSTRUCTIONS", below, for information on how to use HS2. If you are upgrading from a previous version of HandyShopper: Follow the same steps as if you are installing HandyShopper for the first time. Important: do *NOT* delete or uninstall previous versions of HandyShopper before installing the new one; if you delete it, you will erase all your data. If you were using 1.7 or earlier, then you can delete 1.7 AFTER you import your data. If you were using a previous build of 2.0, then the only thing you need to do is install the new build. HS2 does not overwrite HS1 or its data. You can safely have both of them on your device at the same time. HandyShopper 2 is "BackupBuddy Certified"! Visit http://www.backupbuddy.com for more information. INSTRUCTIONS: ------------------------------------------------------------- HandyShopper comes with very little documentation, but hopefully it doesn't need much documentation. Tap the "i" buttons for helpful Tips, and visit http://groups.yahoo.com/group/handyshopper to find other users and ask (or answer) questions. Some of the major improvements since HS1: o Multiple databases. HS1 only allowed one database, but HS2 allows as many as you wish. o Per-store prices (optional). HS2 allows you to track an item's price and aisle independently for each store. o The Total command really works now. o Attach Notes to items. o Automatic sorting. o Up to 100 stores. o Aisles can be 0-200, or A-Z. o Variable column widths. o Custom text field (for instance, works great for an Author field in a book list). This field is searchable via the system Find command, just like the Description and Note fields. o Optional separate sort orders for the All/Need views. o Copy an item to another list (even copies its stores, too). The 'Copy to...' command is found on the Item Tool. o Beaming databases via infrared. TIPS: o Tips -- tap the "i" button for helpful Tips. o Menu -- to pop up menus, tap the "Menu" circle in the graffiti area (in the lower left corner). o Context menu -- tap an item and hold the stylus down for half a second to pop up a context menu with some common actions. o HandyShopper is useful for almost any kind of list, not just for shopping lists. Try creating databases for "Gift Ideas", "Movies", "To Do", etc. Use your imagination! o Use the Preferences screen to control the visible columns, how items are sorted, and many other settings and options. o In most popup dialogs with a text field, you can also write the newline stroke instead of tapping the OK button. o Stores that have needed items, show up in bold in the Stores dropdown list. o Visit the HandyShopper user group at Groups.Yahoo.com, http://groups.yahoo.com/group/handyshopper No-Stylus mode, for one-handed operation while shopping: o Use the Menu and select "Options", then "No-Stylus mode". o or, on a PalmV or PalmVx press the Contrast button. o or, drag the stylus from the Graffiti area to the upper half of the screen. o The hard buttons work as follows, in the No-Stylus mode: o DateBook - page up o Address - page down o Up/Down - move hilight up/down one item o ToDo - check off item o Memo - Undo (eg, undo checking off an item) GOING SHOPPING: ----------------------------------------------------------- In general, working with HandyShopper follows a pattern like this: 1. Add items to database (or, go the 'All' view and find items from previous shopping trips, that you need this time). 2. Select the 'Need' view. 3. Go shopping at one store. 4. Check off items as you put them in your cart. 5. Pay for the items. 6. Use the Checkout command (on the menu) to reset the list for the next store (this tells HandyShopper you purchased the items you checked off, otherwise they'll still appear in the Total at the next store). Note, the Checkout command also deletes any completed items that are marked as Auto-delete. 7. Go shopping at another store, and go back to step 4. COUPONS: Check the 'Coupon' checkbox in the item's Details screen. Copy the item, using the 'Copy Item' command (under the 'Record' menu), and assign a negative price to the new copy. For instance if you have an item "Coke, 2ltr" and a coupon for 50 cents off, you could copy the item, and assign $-.50 as the price (this makes the Total command more accurate). USER GROUP: --------------------------------------------------------------- There is a user group for HandyShopper users, at Groups.Yahoo.com. Visit and post ideas, questions, or etc. Benefit from other users' ideas, and share your own ideas, too. Share lists with other users. http://groups.yahoo.com/group/handyshopper | Prerelease versions may appear here periodically, before they are | released publically on http://www.Palmgear.com. IDEAS FOR CREATIVE USE OF HANDYSHOPPER: ----------------------------------- ...Share your ideas at http://groups.yahoo.com/group/handyshopper Aromatherapy - (submitted by Claire Appleby) I use HandyShopper to record different blends of aromatherapy oils for different uses. My items are individual oils and I use the stores to represent different uses such as relaxation, alertness, fatigue, headache etc. I have the database set to record per-store prices and aisles, and I use the aisles to record the number of drops of each oil needed when making up a blend for a particular purpose. This means when I select a particular use from the stores list, HandyShopper shows which oils I need with the number of drops for each oil. Book List - (submitted by Craig Lawson) I mix together books that I want to buy with those I want to check out from a library. If I discover someone has checked out the book from the library, I make note of the call number so I can quickly locate it again either there or at another library. [editor's note: and the Custom Text field is great for storing the author's name, too!] Collections - (submitted by Gretchen Cawthon) HS2 is excellent for keeping track of collections. Use the quantity field to keep track of amounts, and the price field for current values. Also, the 'stores' and 'category' fields are great for easy sorting. Furniture Shopping - (submitted Janet Hilsmier) We loaded Rooms into the Categories. It was much easier to walk around the store, plug in each table, couch or chair that we liked, the dimensions and the price. When we finally decided which ones we "needed", it was easier to make sure the sales agent charged us correctly. Later, we added our downpayment and interim payments as negative numbers, so that we knew what was owed by final delivery. Gift Idea/Shopping List - (submitted by Gretchen Cawthon) Set up your categories as to the type of gift (Christmas, Birthday, Baby Shower). Use the person's name in the 'store' field. As your friends and family hint at what they want for their special occasion, add it to the list and then check it off as you purchase it. I also input the price so I can add up what I have spent for each person. It is also great to have that list handy when you can't find an item they ask for at Christmas. Then after Christmas you can use the list for potential birthday gifts, just change the category for the item. Home Chores List - (submitted by Janet Hilsmier) We loaded all of the mundane dusting, mopping, vacuuming tasks and rooms, plus the semi-annual and annual tasks like changing batteries. Home Improvement Projects Each month of the year is a store. Categories included "Indoor", "Outdoor" and "Painting". Then, each project was loaded. We assigned the projects to months to help us schedule everything we want to do, within reason. (It is impossible to paint, till, stain, mulch, build and plant in one weekend!) It also helps us to keep focused on getting to some of those "someday I'd like..." projects. Impulse Purchases - (submitted by Chris Antos) If you find yourself buying things you later realize you don't need, try this. Create a dated list called "Impulse", and make the Price and Date columns visible. Whenever you see something new you want to buy, add it to the Impulse list and mark down how much it costs and when you saw it. Then walk away and don't buy the item - wait about 3 weeks. Every few weeks, look through your Impulse list and see if you still really think you need the items. If you still think those $199 fold-up sunglasses will make a significant difference in your life, then by all means go back and buy them. This technique has saved me more than $1000 over the past year. Another great thing about the Impulse list is you can actually see how much money you've prevented yourself from wasting. Inventory - (submitted by Chris Antos) HandyShopper is NOT designed for inventory! Inventory and Shopping are opposite concepts. Extremely simple inventories can be done with HS2, but in general HS2 does not work well for inventory. Several inventory programs do exist for the Palm devices, so I recommend searching web sites to find them. Karate Training - (submitted by Philip Wright) After three years of training, I reached the higher ranks at my karate school. But I still didn't have a good way to keep track of all my combat techniques. HS2 solved that problem. I created a checklist, and assigned the karate session (Jan-Feb, Mar-Apr, etc.) to the Stores field, and the level (Beginning, Intermediate, Advanced) to the Categories field. Now all I have to do is put the title of each technique in the task list, and put the instructions for each technique in the Notes field of the tasks. Now it only takes me two seconds to find a technique, and one tap of the stylus to see the complete directions for the technique. And one of the coolest things is that when I'm preparing to test for my next belt, I can check off each technique as I master it, so that I know which ones I still need to practice. Movies - (submitted by Chris Antos) When you see a trailer for a movie you'd like to see, add it to your Movies database, along with the its upcoming release date. You can use the categories for "Theater", "Rent", "Buy VHS", "Buy DVD", etc. Attach a note to the item, with a description of the movie, in case you forget what the movie's about or who's playing in it. Orders - (submitted by Gilly Rosenthol) When I order something, I record the item and the date ordered. That way I can keep track of what packages I'm expecting and see how long it's been. Packing List - (submitted by Gretchen Cawthon) This one is obvious but can be fun to experiment with. I set mine up with categories first (clothing, toiletries, food, accessories, etc.) Then I put everyone in my family in the 'stores' field. As I added the items to pack, I assigned them to the proper person. For example, my husband & I both wear contacts, so I assigned 'contacts' to both of us. For items like socks and shoes, I assigned them to everyone. Now, if only my husband will be traveling, I change the store to his name and he then has a customized list of things he needs to pack. Project task lists - (submitted by Claire Appleby) As a freelance lecturer, a lot of my work involves going through a specific sequence of tasks in relation to a particular project. For example, if I'm planning a new course for a particular college I have certain tasks such as planning the overall content, then planning the individual sessions, delivering each session, marking assignments and so on. I use a store for each project. The items are the tasks. I use the aisle number to record the sequence that the tasks have to be carried out in, and I sort the database by aisle. I use price to record the number of hours that each task usually takes, and quantity to record the number of times it has to be repeated (for example, assignments might take half an hour each to mark, but I might have 60 of them). At the start of each project, I can go through and select the tasks I need (usually all of them, but not always). I can also enter the number of assignments etc where relevant. I can then use the Total command, and HandyShopper tells me the total hours needed to complete the project, and how many hours work I have done so far. Reading List with Calculated Priorities - (submitted by Claire Appleby) I read somewhere that if you have to get through an awful lot of reading, you can prioritise this as follows. You estimate the importance of the article or book by deciding how much you would be prepared to pay to read it. However, if you would pay the same to read a 20-page paper and a 200-page book, then your time is better spent reading the paper. So you calculate your priorities by dividing the price your willing to pay by the length of the book or paper. HandyShopper does this very nicely as follows. The items are the books or articles. I use quantity to record the number of pages and aisle to record how much I would pay (in GBP) to read the book. The built-in calculator is invaluable for calculating value (aisle) divided by length (quantity), and I use the price column to store this value. The list is sorted in descending order on price so that the highest priority item comes out on top. I use the categories to distinguish between reading for work and for pleasure, and I use the stores to record books I've finished reading and books I've started but not finished (because I tend to have several things on the go at the same time). Recipe Database - (submitted by Gretchen Cawthon) This is extremely easy to build. Use the 'stores' list to create categories, such as meat dishes, pastas, seafood, sauces, appetizers, etc. Then use the actual categories function to make a more detailed sort - like crockpot, holiday, favorites, etc. Add the title of the recipe in the description field and attach a note with the recipe instructions. This is quite handy for keeping track of recipes found on the net (copy/paste from memopad) and also helpful for jotting down recipes on the go. Remodelling a House - (submitted by Maria Popoli) I'm using it to remodel our house!! The categories are rooms, exterior elements, substructures. The stores are subcontractors, our own elbow grease, or particular stores for required purchases. We redecorated our son's room in a weekend because we had everything ready to go like a kit - no trips to the hardware store. I've got another database for the landscaping, categories are: nursery for purchases, existing design, gardening chores pending, failures,& growers. Stores are locations within my yard. No wasted money at the nursery and a beautiful garden. Restaurants - (submitted by David Jacobs) I have created a restaurant list using the "Stores" filed for "Style" of food (Asian, Vegetarian, Seafood, etc). This allows restaurants to be categorised by multiple "Styles". The categories field could be used to denote locations and the priority field for quality rating. The price field could be used to give an average cost for a meal. Shopping - (submitted by Gretchen Cawthon) Some tips on setting up shopping lists... Unit prices are important in getting the best value. Some items, like laundry detergent, come in various sizes. If you buy 100-oz laundry detergent at K-mart for $3.99 and 200-oz at the Dollar store for $4.99, the best price will show up as $3.99@K-Mart. That may be the low price, but not the best value. All you needed to know is that the best unit price was $.03/oz. Instead of having 10 different entries for the various sizes of laundry detergent, try one of these two methods. Create on entry for laundry detergent and make the unit field 'oz'. Then attach a note to the field and insert the unit price info there (I created a shortcut that will add the appropriate text and I just fill in the price). Another way is to create a 'store' called "Unit Price". For this store, insert the unit price for the item. Now when you tap details to see the best price, you will see what a good unit price is for comparison. Software List - (submitted by Rosemary Lewis) Under categories, I use Accessories - Software. Under Stores, I use Author, (Seller names I use), Demos, Freeware, In ROM, Not Purchased, Purchased, Removed Permanently and Shareware. Of course each product can appear in a number of "stores" but this gives me the ability to keep track of every program I have ever tried out. What happened to it, my comments on each in Notes, see cost as Demos move to Purchased and of course, the total amount of $$ spent on this project. I am VERY happy with this effort! Training - (submitted by Bruce Chappell) I thought you might be interested in how I use your HandyShopper program. I am a Emergency Medical Technician (EMT) (Part Time), and am responsible for training other EMTs in a hospital. Because of the dynamics of Emergency Medicine, I can't always start teaching a, then b, then c, etc. So I use Aisles to group things, such as Heart Monitors Aisle 5, then list the various things I have to cover, Alarm Volume, How to alter preset limits, etc. Before HandyShopper it was a miracle if I covered everything I was suppose to. I never could remember if I taught this shift to this person, or another shift to another person. Now I can guaranty that everything is covered before I sign somebody off as having completed their orientation. Thanks for a Great Program. Wine Database - (submitted by David Jacobs) Create different "classes" of wines (Red, White, Fortified, Sparkling, etc) using the "Stores" field and categories of wines (Shiraz, Chardonay, etc) and assigning "ratings" using the "Priority" field and using the "Notes" field for comments. ...And many more creative possibilites exist! WHAT'S NOT IN 2.0: -------------------------------------------------------- There are some things I said would be in 2.0, that unfortunately I just haven't had the time to finish. o Merging two lists via infrared beaming (this is still anticipated in a future version). o Faster or easier table scrolling. o Better documentation. Here are some things I always said would not be in 2.0, and still are not in 2.0: o Desktop program -- I'm not doing this. Someone else can write one, making use of the (upcoming) HandyShopper CSV/PDB converter program. o Recipe program -- would be useful, but this is FREEWARE as a hobby, and I don't have the time or the personal interest. Again, someone else can write one, using the HandyShopper CSV/PDB converter program to build the shopping list. Coming "soon": o CSV/PDB converter program to convert PDB databases to CSV files, and vice versa. This will enable users to edit databases in Excel, Perl scripts, or even to write complex tools such as a desktop companion program. It's likely the converter will also support XML, though probably not in the initial release. UPDATE: the CSV/PDB converter program is in progress at the moment, and is coming along nicely. I can't commit to specific dates, but I'm estimating it will be ready in about 2 months. WHATS NEW: ---------------------------------------------------------------- | New in build 3026 -- June 26, 2001 | | Fixes: | | o Build 3023 added Handera support, but this inadvertently | made the tabs in the Preferences screen get erased when | tapped, on OS 3.3 and lower. This is fixed. | | | New in build 3023 -- June 23, 2001 | | Features: | | o Limited support for Handera 330 devices. The jog dial | controls the No-Stylus mode. Also improved the drawing | so it looks better in the Scale-to-fit mode. There is | no support for the retractable silk screen area, etc. | | Fixes: | | o Argh! In build 3017 the Select Stores fix had a subtle | typo, which effectively made the device unstable after | closing the Select Stores form, and the device would need | to be reset (poke the reset hole) soon after. | o Tapping the Note button in the Details form neglected to | save the changes made in the Details form, before opening | the Note form. | o In a test database, where HS2 had crashed a few times | from the Select Stores problem, someone was able to | generate an item that was so badly corrupted that it | could not be used anymore. There is a new menu command | that can find and fix certain kinds of damage. It scans | the current database, and repairs any damaged items that | it can find. It reports how many (if any) damaged items | were found and repaired. The command successfully | repaired the test database. The new menu command is | located in the Preferences form -- go to the Preferences | form, tap the Menu graffiti circle, select Extra, then | select the Repair Items... command. New in build 3017 -- June 17, 2001 Fixes: o Popup lists didn't work on the Qualcomm or Kyocera smartphones. o The Copy button in the Edit Stores form didn't copy per-store prices or aisles correctly, and could crash or damage the per-store data (still). Unfortunately, if the per-store data in your database has become seriously damaged to the point that HandyShopper is crashing, then you may need to purge the per-store data by opening the Preferences screen, tapping the Menu graffiti button, and selecting the menu command Extra -> Purge Per-Store Info. Special thanks to Douglas Goudie for narrowing this down and providing superlative repro steps. o The Select Stores form sometimes did not show checkmarks next to all the stores the item is associated with. This was especially likely if the item had been copied from another database. Special thanks to Cheryl Wheeler for her detailed help tracking down yet another unusually troublesome bug (this is something like the 4th or 5th important bug she's helped with -- credit is past due). o Prices could be accidentally drawn in red if more than one store shared the lowest price. Note, I don't normally give props to people who have helped, but Douglas, Cheryl, and Phil (below) have gone above and beyond the call of duty, helping to finally track down some long-standing and particularly nasty bugs. Build 3009.2 -- June 9, 2001 Changes since build 2811. Color: o Added large and small color icons for the application launcher. o The exclamation mark for overdue dates is drawn in red. o The price field is drawn properly on color devices. o The selected item indicator is drawn properly on color devices (actually it wasn't drawn quite right on B&W devices previously, either). o The titlebar down arrow is drawn in the correct color. o The Notes form title is drawn in the correct color. o The selection color in No-Stylus mode is drawn in the correct color. o The price is drawn in red, when the current store does not have the lowest recorded price for the item. o The selected page tab in the Options form is drawn in the same color as the form's frame. Features: o The Details form can switch to the Next/Previous item. Choose the commands from the menu, or use the physical Up/Down buttons. o No-Stylus mode can be enabled with the Ronamatic stroke (up from Graffiti area to the top half of screen). However, when a field is being edited, the Ronamatic stroke respects the system preferences. o On devices with OS 3.5 or higher, HS2 is automatically installed into the "Main" category. o New database names are prefixed with "HS2_" to avoid conflicts with other apps. The "HS2_" prefix is used whenever creating new databases or renaming existing databases, but the prefix is hidden for display purposes. NOTE: Existing databases are *NOT* automatically updated with the prefix. You can manually rename each of your databases to use the new "HS2_" prefix -- for each database, use the Rename Database command and just tap OK. The hidden HS2_ prefix is applied when you tap OK. Fixes: o Checking off the last item would crash while using No-Stylus mode. o Using the newline stroke in the Best Buy screen crashed. o The first character in the Lookup field could be duplicated in a particular case. o Build 2811 broke private records, so that they were no longer hidden. This has been fixed. o The Copy button in the Edit Stores screen was broken, and usually ended up not actually doing anything. o Tapping where the calculator toggle button had last been on the screen, would erroneously treat it as a hotspot and activate the calculator. This has been fixed. o Build 2811 broke the progress meter on OS 3.0, making it crash. This is fixed in build 3009.2 (but not 3009). o Cutting text from an item's description could sometimes lock up or crash the device, requiring a reset. Special thanks to Phil Nunnally for a carefully constructed test database that reproduced the problem 100% of the time. Official 2.0 Release, build 2811 -- April 11, 2001 Highlights of changes since build 2029 (Aug. 29, 2000). Features: o Added 'Copy item to...' to the menus. o Launch'Em support for the sysAppLaunchCmdOpenDB command. o The Reset command has a new option to reset items to the checked-out state. o Tap and hold the stylus on the Description column for half a second to pop up the item context menu. o The date field has a new 'wide' option that shows the year. o Now you can copy items/prices/aisles from one store, to another store, by using the new Copy button in the Stores screen. o Tip screens give quick helpful tips. o ... and various other minor features. Fixes: o Fixed an obscure bug in the Details screen, that could overwrite the wrong item under unusual circumstances. o Deleting a store that had needed items did not update the bold stores properly. o Fixed bug about tap+drag not working in table fields where only part of the field's text is visible. o Fixed crash when the Q and $ columns are visible, trying to choose a number in the Quantity popup, and sorting by Quantity. o The 'Copy to' command used the Sort order of the From database. Now it properly uses the Sort order of the To database. o Fixed some drawing problems when the Description and Custom Text fields resized taller (especially on OS 3.0). o Fixed the Edit Stores button in the Stores screen, which could sometimes accidentally delete the item and then crash. o For most non-US locales, six-digits prices with decimal places didn't fit even with the "Wide" setting, because the width was computed assuming a period for the decimal separator, instead of a comma. Now the correct decimal separator is used. o Fixed an obscure problem where editing the Description, then changing the Category, then editing the Description some more so that the field grew or shrunk vertically, the next item could be overwritten. o Cancelling out of the Details screen would always force a re-sort if the database is sorted by category. o Imported items have the Auto-Delete and Taxable flags set per the preferences. o When the currently selected category was delete, the view became confused. o When a category with no items was displayed, new items disappeared from the view, until choosing a different category or store. o After choosing (and exiting) the Edit Stores button from the Select Stores screen, now you're (usually) returned back to the Select Stores screen. o ... and various other minor fixes. FEEDBACK: ----------------------------------------------------------------- E-mail me at chrisant@premier1.net with any feedback. Send me comments, criticism, praise, suggestions, bug reports, whatever. But please understand that I may choose not to implement your suggestion. Also, due to high volume of e-mail I receive about HandyShopper, I may not be able to reply to your mail.