Bento: the database for the rest of us

I recently had to set up a system to keep track of the chemicals used in the lab, to keep the inventory consistent with regulatory agencies. It started as a simple Excel workbook, but I soon felt the need for something a little more user-friendly. It seemed like the perfect occasion to finally wave goodbye to FileMaker Pro 5 (yes, it still runs on Leopard!) and instead give Bento a try. Bento is supposed to be the light version of FileMaker Pro (and is in fact sold by the same company), and my needs seemed to fit its promises quite well. Bento is also often referred to as the missing database app of the iWork suite, bringing the same simplicity and user interface that is normally expected from Apple's software (well, and of course, you may know that FileMaker is actually part of Apple). Here is the spoiler: I am glad to report that Bento did live up to these expectations. Read the whole review below...

First launch

The first launch is the most disappointing part, in my opininon. Bento takes a while to load all your calendar and address book information into its own database, without asking you first or explaining what it is doing. It is very possible that most Bento costumers will use that feature, but the software should at least tell you what is going on and give you the opportunity to cancel this process. Instead, you have to wait (~5-10 seconds on my G4 1.5 GHZ... OK, not the fastest beast).

After the app is available, you get a very nice Cocoa-ish 3-pane interface, with a source list on the left and an inspector panel on the right. In the midlle, your list of data. After the first launch, the source list is populated with 4 items: Address Book, iCal Events, iCal Tasks and Projects. There is also a sheet that opens and proposes to either let you start immediately or help you on various topics. This is a nice touch for a first experience, but I was annoyed by the time waiting to start, and then having all these things already loaded in Bento.

The first thing I did was to go into the preferences to exclude my contacts and calendar from Bento. Except, it was not in the preferences, which would be a very natural place for that. Instead, you have to go into the File menu and choose "Address Book and iCal Setup" (it then took another 5-10 seconds for the 'cleanup'). There was still the "Projects" library, which is an example library provided by Bento, showing how you could use the program as a todo/GTD app. I hit the delete key for this one. After this quick cleaning, everything was very straightforward and simple. And the interface was indeniably clean.

Import

My first step was to import the data I had from an Excel worksheet. This was very simple and effective. The only little annoyance is that I had to first generate a 'csv' file in Excel, because Bento would not recognize Excel files natively (probably Bento 1.5 will!). Before the actual export, Bento shows the data and the different field names it will provide, based on the header from your csv file. It gives you the opportunity to change the field types to something other than Text (I had a few fields of type date and number). I did not have any problems with the import, though of course your mileage may vary depending on what you start with. My advice would be: after import, and before you start changing your data and your database structure, make sure the import went fine and all your fields were properly populated. It is still easy at this stage to go back to your csv file and make a few tweaks.

This import will create a new 'Library', which is the name Bento gives to what really seems to be simply a 'database'. For example, I called my newly imported Library 'Chemicals'. Alternatively, you could merge this data into an existing library. The Library will show up as one item in the Source list. I can see myself having a 'Chemicals' library and then an 'Orders' library. It is at this stage I realized Bento is not a document-based application. Bento does not create documents. Just like iTunes or iPhoto, it stores all of your data in a single, central file on disk (in ~Library/Application Support/Bento, as expected). One window, with all your data. This is a good thing, in my opinion, and should satisfy most users.

Libraries, Records and Fields

The user interface is very simple and intuitive, and very well in tune with the application logic. A Library consists of a list of 'Fields', that describes your data structure, and then a list of Records, which are the actual items you are interested in storing (in my case, one Record = one chemical container). Librairies, Fields, Records. In the user interface, Libraries live in the left panel (the source list), Records live in the middle, and Fields live in the right panel. Dead simple. Each panel comes with 2-4 simple buttons in the bottom, that are going to do exactly what you would expect: add stuff, delete stuff, modify stuff. Librairies, Fields, Records. Very easy.

You can add and remove Fields. Bento supports all kind of field types, including text, numbers, dates, email address, phone numbers, calculated fields, checkboxes, choice lists, media, file lists, ... Be aware, you cannot change a field type, so make sure you get it right the first time (in particular when importing data from csv files). Changing a field type is another one of those more 'advanced' features that will likely make it into future versions, judging from Filemaker's forums, but that is not available now.

Of course, you can also add and remove Records. For instance, when I receive a new chemical, I add it to the database. Duh!

Tables and Forms

The content of your Library, aka your Records, can be displayed as a "Table" or as a "Form", both options being accessible in the View menu or as a button in the top of the middle panel. This way of doing is very similar to FileMaker Pro, and was thus very familiar to me. It might be more difficult for first-time users not familiar with the concept, but I think the Bento developers have made it very easy to navigate and understand. Bento provides a default Table and Details view that may be all you will ever need.

The 'Table View' displays all your Records as a list, one column per Field, and one line per Record. You can freely reorder the columns. You can also choose which fields are displayed using the checkboxes in the right panel. For instance, I do not display the 'Company' in the table view, since it is a field automatically populated with always the same name (this field is required when I need to output the chemical list for regulatory agencies). Your data is easily editable in the Table view. The only real limitation is that you can not change several rows at once, which is something I had to do when first setting up the database. For instance, I had a bunch of records for which I needed to input the same 'Date Received' value... I should have done it in Excel before importing, but by then, I had already changed many other things and I did not feel like going back. I simply entered the same value ~20 times, not the end of the world.

As an alternative to the 'Table View' you can use a 'Form', which displays your Records one by one, with the fields organized the way you want. By default, Bento will provide a 'Details' Form, with all the fields listed in 2 columns. To costumize the appearance of the Form, click on the Tools button (with a hammer and wrench) at the top of the middle panel. You will then enter an editing mode, in which you can move the different fields around, or remove them from the Form. The layout is constrained in a very simple way: you can have any number of columns (2 or 3 is ususally best), and each column can then be populated vertically with your different fields, and/or a few extra elements like text or separators. There are then a few options that will apply to all the fields at once: label positioning, shading,text size. Overall, it worked very well, though resizing of columns was somewhat buggy.

I really like the fact that the layout editor offers enough flexibility, and yet does most of the work for you: no need to align things and move all the fields just to insert one in a different location. In addition, no playing with various fonts and text formats. All the content is in one size, one font. Which also means I can paste values that are not formatted, which might appear to be a limitation but which I think is a feature. For instance, when I copy and paste a CAS number or a Part number from the web, I don't want the formatting to come with it and my record to have some unerline blue text in Comic 7 pt, I just want the same text formatting as the rest of the form... Thank you, Bento!

You may create as many Forms as you want. However, as of version 1.0, you can only define one Table layout. It turns out I would have prefered the opposite... oh, well... However, since each Smart collection can have a different table layout, it is relatively easy to define different types of lists (read more about Smart Collection below).

Smart Collections

When dealing with chemicals, the lab has to do several things after ordering: (1) print the MSDS for that chemical, which should be kept in a folder in the lab, (2) add it to a central repository for the building, (3) add the sticker then provided by the building management, (4) when disposing of a chemical, remove the sticker and put it on a different form used by the building management. This is not rocket science, but it has to be done properly to avoid fines, or even worse, having the lab closed down... This is where a simple Excel table falls short. Bento, on the contrary, made this process a piece of pie.

I simply added 4 fields of type "Checkbox": MSDS, submitted, labeled, disposed. These checkboxes are unselected by default when creating a new entry. Then, I created Smart Collections to keep track of which chemicals had not yet been processed. New Smart Collection are created via the File menu, and are set up using a dialog very similar to iTunes smart playlist, Finder's Smart Searches of Papers' Smart Collection (see screenshot). Each Smart Collection can have its own Table View layout, which makes it very convenient to have just the needed info. For instance, I created a Smart Collection called "MSDS to print", in which I filter out the Chemicals for which the MSDS field is 'unchecked'. Then in the Table View, I only show the "MSDS" checkbox, the name of the chemical and the location. Once the MSDS is printed, I click the MSDS checkbox, and the chemical disappears from the list. Done!

Export

Similarly, I setup a Smart Collection with the Chemicals that have not yet been submitted to the central inventory. The collection is aptly named 'to submit'. Every 2 weeks, the added chemicals need to be sent by email. It is then very easy to select that Smart Collection, and do an Export that will only export these Records, and not all your Library. The new chemicals are now in a csv file that I can email.

There are however 2 limitations to be aware of before you setup such an export workflow. First, you can only export to csv format. There is a popu menu for the export format, but it has only one choice, csv! Thus, I suppose more options will be available in a future update, but csv seems like a safe bet for now. The other issue is that the csv file will contain all of the fields, and the order of the fields (columns) will be the same as the order in which the fields were created. There are no options to reorder the fields. Thus, it is important to have that properly setup at import and when creating more fields. In my case, that means I have to tweak the exported file a little bit. I really hope Bento will offer more options in the future for exports. One very easy thing to do would be to use the Table View layout as the basis for the export, so you could both choose which fields to include, and in which order.

Conclusion

In conclusion, Bento is really a stripped-down version of FileMaker Pro, in a good way. The application model is very simple and straightforward, and so is the user interface. I have not hit any hard wall for what I needed, even though, judging from the manual, I am using almost all of Bento's functionality (apart from iCal and Address Book integration). This shows that at least for me, they got it just right. Of course, it is not going to be enough for more advanced needs or if you have very special requirements, such as custom exports, scriptable interface, complicated calculations, etc... (in particular, no scripting language available, and no Applescript). I expect that a number of important omissions will make their way back in future updates, and that Bento will only get better. On the other hand, as long as FileMaker keeps selling FileMaker Pro for those looking for the kitchen sink, I am pretty optimitic that Bento won't suffer from feature bloat. Great!

Comments

Scripting Support

The lack of scripting support is a shame, is it possible to save a search? so if you have a search you want to do every week you could assign a button to it? Since it is a Mac only application from FileMaker the lack of Applescript support is a real shame but I guess it makes it easier to differentiate from FileMaker Pro.

What would be really cool is if they had this running on an iPhone...

saved search = smart collection

You can save a search, it becomes a smart collection, like in the Finder.

Bento is not the only Apple application without Applescript support, unfortunately...

Relational?

Thanks for the review. It seems to be an elegant way of storing 'flat' data. Is there any relational capacity to link between tables? e.g. in your example, is there a way to link orders and chemicals, and vice versa?

saved search

Sounds like you save the results of a search rather than the search?

If I had a search I needed to run regularly, can I save the search criterion and then run the same search later?

Sharing

Hi Charles,

Nice review. Can Bento databases be shared or do you need the full filemaker pro? What do you do in the case of multiple users needing to make changes to the database? I'd imagine you can install it on a shared computer, but if you could share over bonjour that would be great.

Thanks,

Dave

Tables as a data-type?

I'm trying out Bento. I really like it but I haven't been able to figure one thIng out - is it possible to make your own tables as a data-type? e.g. something like the files data-type but you define your own fields