iCal Alerts You Can't Miss
Did you miss that tiny little iCal alert dialog? Use a more prominent Open File alarm.
First save an image, text file, sound, or movie that will really fill your screen and grab your attention.
Select an iCal event and choose Open File as the alert type. Choose your unmissable file as the one to open.
Set more alerts with more files to open for the same event if you like. You won't miss an appointment with one of these alerts!
Visit MacTips.com
Submitted by
Miraz Jordan
Recent TidBITS Talk Discussions
- Alternatives to MobileMe for syncing calendars between iPad/Mac (1 message)
- Free anti-virus for the Mac (20 messages)
- iTunes 10 syncing iPod Touch 4.1 (2 messages)
- Thoughts about Ping (16 messages)
Published in TidBITS 942.
Subscribe to our weekly email edition.
- iPhone Now Available in 43 Countries
- Jobs Personally Acknowledges iPhone Bug and Upcoming Fix
- MobileMe Web Interface Insecure, But Other Apps Get It Right
- Comparing Apple's MobileMe Contrition with Google and Netflix
- TidBITS Watchlist: Notable Software Updates for 25-Aug-08
- Hot Topics in TidBITS Talk/25-Aug-08
Wine with Bento
I enjoy wine. I might easily become a wine snob but for three impediments: I have too little money, too poor a memory for names and tastes, and - well, it's difficult to hold my nose in the air while a sommelier is giggling at my French.
I cannot figure out anything to do about my French, but 20 years ago I did learn how to make my want of memory compensate partially for my want of money: I buy inexpensive wines and forget where I put them. After 5 or 10 years I bump into them again and find that they have become something nice.
However, they do need to be the right sort of inexpensive wine. If you ferment good grape juice and know what you are doing, then you can make a quaffable wine. This wine is cheap to produce but nothing about it will improve with age. Alternatively, instead of bottling the wine immediately, you can store it for a year or two in small oak barrels. This adds a bit to the cost and when you finally bottle it, the wine will taste foul. That is the kind of wine to put away. The foul taste comes from tannins that have leached from the wood. Over the years those tannins will gradually oxidize. Combined with the grape juice, the products of that oxidation can become complex and enjoyable.
Over the years my wife and I have built a cellar using this strategy. We buy cases of modestly priced wines that have been aged in oak, and set them behind other cases, so that we forget that they are there. A number of years later, we happen upon them. This lets us drink nicer wines than our budget would normally allow. However, we have no clue what wines we own. We don't even know how many bottles are in the cellar.
This summer we decided that the time had come to sort out the mess - or rather, as such things tend to happen, my wife decided that the time had come for me to sort out the mess. Since organization is not my forte, I hoped to find some software that would help me.
Commercial Varietals -- To be really helpful, a computer would do more than just keep a list of our bottles, it would generate the list of bottles itself. A $199 combination of hardware and software is designed to do exactly this: IntelliScanner Wine Collector 250. A hand-held scanner reads the bar code that is imprinted on nearly every bottle nowadays, then an application reaches out over the Internet to look up the wine in a database. This sounded wonderful to me, so I wrote for one and tried it the minute that it came. I scanned 10 bottles from an assortment of countries. Alas, Wine Collector filled in some information for only two wines and found
either no information or incorrect information for the rest. Paul Scandariato of IntelliScanner explained, "Although our database includes 67,000 wines, that's just a fraction of the number of wines available in the world."
If my Mac cannot generate a list of bottles, it can certainly serve as a sheet of ruled paper holding a list: a spreadsheet. However, that list must include a lot of text, and text in a spreadsheet is awkward to enter and awkward to read. For this reason, the Mac would usefully provide data-entry forms as well.
This is what specialized wine-cellar applications do. Unfortunately, their forms provide space for many details that I do not care about and they always lack a field or two that I want. I get no joy from filling in a complicated form reflecting the way somebody else thinks about things, so I decided not to use a specialized application but to set up a simpler form using a general-purpose product. I might once have done this with the now-defunct AppleWorks, but I found an alternative in Bento, a $50 product from Apple's subsidiary FileMaker.
Bottling My Own -- Bento provides a point-and-click dialog box that enabled me rapidly to define the kinds of information I want to keep track of - the columns in the spreadsheet or, in database jargon, the fields. After I defined my fields, I dragged them into a data-entry form and was ready to enter records. To create a list of wines I clicked a button labelled "Table" and then ticked off some checkboxes beside a list of fields. Each tick brought up that field as a column. I arranged the columns as I wanted, and then set up an equivalent of Spotlight to maintain "smart collections" like the Finder's smart folders. For some of these smart collections I customized the columns. Now I can enter information
about wines in the way that I find the most sensible, and clicking on an icon shows me a convenient list of our two-star whites or three-star reds.
Bento is advertised as a personal database but unlike FileMaker Pro, Bento is not designed to manage complex databases used in complex ways. Instead, Bento is designed to manage lists. The difference between database management and list management is subtle but profound. To store and manipulate complex information efficiently, a database manager needs to have that information broken down into the smallest possible elements, with uniform formatting and any redundancies excised. In contrast, a list manager does nothing but find and sort, so its information can be held in a natural form. What most people think of as database managers are actually list managers - Apple's Address Book, for example. That's why Address Book lets you enter a telephone number in any format you like. In contrast, a database managing phone numbers for a large corporation would require splitting a number into four separate fields: country code, area code, the number itself, and a PBX extension. (I ought to point out that under the hood, both Bento and Address Book actually use engines that are built to manage complex databases, but those engines are loafing along on only one cylinder.)
Setting up a database manager requires a great deal of expertise and planning but setting up a list manager does not. All you need do is figure out how you want to be able to sort your list - by whether a wine is red or white, by price, etc. - and set out this information in separate fields. The remaining information you can divide into whatever chunks you find convenient.
In theory, the process of setting up a list manager is this: you sit down with a paper and pencil, think about how you want to sort your list, decide upon the fields that you need, design a data-entry form, and then sit down at a computer and create it. In reality you think about the problem, work out what you need in front of the computer while making some tentative entries, and then discover that you forgot about some categories, while others turn out to be impractical. At that point you modify the fields and the form, enter some more data tentatively, and find that you allocated too much space here and too little there. After you change that, you notice other ways to make improvements. After a few more iterations you get everything right, but a week or a month later you decide to modify something else.
Bento simplifies this process by providing a simple graphical interface that allows the user few choices. From the perspective of a database programmer, the choices are so limited as to be outrageous. (This accounts for Jeff Porten's opinions of the pre-release version of Bento; see "FileMaker's Bento: Undercooked and Slightly Fishy," 2007-11-14.) For example, you cannot require a field to be filled in. However, Bento manages simple lists for individuals, not complex data for companies. If I neglect to enter a vintage, when the list is displayed I will notice the omission and fill it in. I can quibble with some aspects of Bento - I particularly dislike being unable to delete a record while I am seeing it in a smart collection - but overall I find its limitations to be more helpful than restrictive, and the package to be well thought-out. In hardly any time it allowed me to make a wine-cellar application that looks and feels like a purpose-built product and that I prefer to any of the purpose-built products I have seen.
If the day should ever come (don't hold your breath) that I decide to catalogue our books, I would use Bento for it. I would also use it for classical CDs, an inventory of hardware, or just about any other kind of collection whose descriptions cannot reliably be accessed programmatically over the Internet. (For movies on DVD, which are well described in Internet databases, I use Bruji's DVDpedia.) Since Bento can export files as comma-delimited text, it can also be used as a convenient adjunct to a spreadsheet for entering research data.
I have noticed some minor bugs in Bento's user interface but the current release seems to be reasonably well polished and takes good advantage of the tools built into Mac OS X 10.5 Leopard. (It will not run under Tiger.) I could wish that it had a few more features, and I am sure that it would be easy for FileMaker to add them, but it would be even easier for FileMaker to kill Bento with feature-itis, so I shall not wish for them very hard. As it stands, Bento is not so simple that your grandmother will be able to start using it without help, but setting up and using a data-entry form in Bento is hardly more difficult than customizing and using Address Book and iCal. Since Address Book and iCal are purpose-built list managers, this is an impressive feat of design.
Try My Wine Cellar File -- If you happen to be looking for wine-cellar software, you are welcome to download an empty version of my Bento file, to see if it can serve you as a starting point. But note that this file is not a template - Bento will not import templates - it is an empty version of Bento's actual data file, the file "bento.bentodb" that Bento maintains in ~/Library/Application Support/Bento/. If you are already using Bento, you will need to be careful to protect your current data file and you will not be able to copy the forms from my file into yours; you will need to recreate them instead. Bento itself is available for a
30-day free trial.
If you are unfamiliar with Bento and are trying it with my file, you might want to change two of Bento's settings. Bento will work with your address book and calendar, and it displays these by default, but displaying them adds some clutter and confusion. To hide them, go to the File menu, choose Address Book and iCal Setup, and then uncheck both boxes in the dialog that appears.
Below are screenshots of my entry form and a listing form, plus explanations for some of the fields.
- ID#: For convenient reference each record is assigned a unique number.
- Variety/name: The variety is either the grape (Chardonnay, Merlot) or the region (Burgundy, Bordeaux), whichever makes more sense to me for the bottle at hand. The names and marketing labels I punctuate as shown, to keep things clear.
- Alcohol content: If dinner guests are coming from any distance, we choose wines with less alcohol.
- Notes: My own comments and/or some reviews picked off the Web from knowledgeable sources. However, I must admit to finding most wine reviews to be incomprehensible and numerical ratings to be ludicrous. People do not describe odours with a common vocabulary - each person uses his own idiosyncratic set of terms - and imagine numerical descriptions applied to other genres: "Hamlet" is a 95, "Macbeth" a 93, "Oliver Twist" is a 91, "David Copperfield" an 89.
- Quality: My wife and I feel able to distinguish only five levels of quality. The lowest and highest levels we do not buy, the one because it is too low - the jug wines served at student parties - and the other because we cannot afford them. That leaves three categories for the wines that we cellar: dull wines that are (or ought to be) cheap enough to serve at large parties, simple but flavourful wines to enjoy while eating, and complex wines to savour while dining. If the wine was a gift, so that we have only one bottle, or if we have not yet cracked the case, then I take a guess based on whatever information I can find over the Web.
- Special: Some wines I flag as special because they cost a lot, or because they come with an exceptional recommendation from a reliable source, or because they come from an unusual grape or place. These we keep for knowledgeable guests.
- Award: If a sticker says "Silver Medal, XYZ Wine World" - well, no competition will see more than a paltry proportion of the world's wines, and often many if not most of the entries will receive some kind of award. This wine's competitors may have been only a dozen within a sharply delimited class (e.g., Merlots from $11-$15), and 20 percent of the entries may have received silver medals. We attribute little to awards but if we take a bottle as a gift to someone who does not know wines, a bottle labelled as winning an award will seem more special than a bottle that has not.
[If you found Charles's article to be useful, he asks that you donate an amount equal to the cost of your average bottle of wine to Save the Children. See the bottom of the page for links to the organization in different countries.]
![](/file/11593/db.tidbits.com.tar/db.tidbits.com/images/badges/mark-space.gif)
address book, music, photos and much more between your phone
and Mac. Supports ANDROID, BLACKBERRY, PALM PRE and many
other phones. <http://www.markspace.com/bits>