Building a Better BayCard

Those of you who have been using BayCard have probably noticed that BayCard has not changed all that much in recent years. So what happened? Is BayCard still alive? Will there ever be another major version?

There were a bunch of things that I wanted to do in a so called BayCard 2.0. I wanted to smooth off some of BayCard’s rough edges. There were also a bunch of requested features that I wanted to add. In addition, BayCard needed to support the Mac Sandbox, which is now a requirement for all Mac App Store apps. Finally, I wanted to make the program easier to use for both novices and advanced users.

After attempts at solving the above goals, I came to the conclusion that BayCard needed a full rewrite. I then used the opportunity to rethink every aspect of how BayCard works. Throughout the process, I asked myself the following questions: What do most of you use BayCard for? How do you use it? What began as a mild retooling morphed into something very different.

Like HyperCard, BayCard was designed to be a sandbox without a predetermined purpose. Back in 2011, I wrote:

“Use it to organize your life. Or perhaps to design a presentation. You can even use it to design a simple point-and-click adventure. The best part about BayCard is that you can utilize the program in ways we never even envisioned.”

BayCard is good at doing a lot of things but not particularly great at any particular task. 

After years of email exchanges, it had become clear that most of you use BayCard as a database. With that in mind, I wanted to design a new database app that was not only easy to use, but still fun.

Below I have outlined the major changes that I have made in the new app, as well as my motivations for making such changes.

The Canvas

There were two problems with the canvas that I wanted to address.

  1. The stack size needs to be selected when the stack is created. While it is possible to change the size at a later time, the stack’s widgets do not resize themselves as the window size changes.
  2. While BayCard tries to insert widgets where it thinks you may want them, rearranging them has has always been rather inconvenient. This occasionally let to widget clutters. 

 

In order to fix these problems, it had become increasingly clear that the the canvas had to be eliminated in favor of something that would automatically resize with the window and, at the same time, make it easy to rearrange widgets.

Two Stacks, One Background

As of now, there is no way to share one background with two or more stacks. To be fair, we can get around this limitation by duplicating a stack in the Finder. These stacks will then have the “same” background. However, the two stacks have no connection to each other and changes to one of the stack’s background will have no effect on the other stack’s background. The original background was merely copied when the stack was copied.

I have received some requests over the years for “shared backgrounds”. Sadly, there was only so much that could be done because each BayCard stack is an independent document.

I felt that the only way to accomplish such a feat was clear: I needed to eliminate documents and place all stacks in one centralized database.

And while we are on the topic of a centralized database…

Related Stacks

BayCard is not relational. Lets say you have a classroom stack. Lets also say that you also have a student stack. It is not possible to list a collection of student cards from the student stack in a particular classroom card.

This is a feature that I wanted to add years ago. A centralized database makes such a feature possible.

Smart Stacks

Apple’s Mail has Smart Mailboxes. iTunes has Smart Playlists. Bento has Smart Collections. (More on Bento in a moment.) Placing everything in one database also makes rules-based smart stacks possible.

Like the related stacks feature, smart stacks is an overdue feature that that has been made possible by a centralized database.

Importing

Although it is possible to import a CSV document as a table, BayCard’s import abilities are otherwise lacking. It is still not possible to import CSV as a stack. In addition, differences between BayCard and the now-discontinued Bento made such an importer unfeasible.

When you consider that there are still some jilted Bento users out there, a Bento importer seemed very important. (Discontinued several years ago, Bento is a 32-bit app. Apple has already begun phasing out 32-bit support. Mojave is the last version of macOS that will support 32-bit apps and, as such, the last that will support Bento.)

With all of that in mind, it was clear that not only was improved import support very important, the new app had to be designed in such a way that it could import data from different types of apps.

Integration with Contacts, Calendar, Mail, and the Finder

Simply put, BayCard does not support linking to contacts, calendar events, email messages, or files.

In addition to being a useful on its own merit, such integration was needed for Bento import.

Welcome to DataOrganizer

The name of the new app is DataOrganizer. It addresses all of the above issues.

Here is a screenshot:

OverviewScreenshot

More information is available on bayhoff.com. You can also find some videos at http://www.bayhoff.com/videos.html.

Beta

DataOrganizer is not finished, although it is getting closer to beta-level status. Before the final Mac App Store release, I am thinking about releasing the app as a public beta. This will provide me with an opportunity to receive bug reports and feedback before DataOrganizer is finished. I will announce the beta release in a future post. 

Advertisements