Designing a Schedule Grid System

When designing a schedule grid that works across divergent calendars, with minute-specific accuracy, flexibility and automation are a must.

An illustrated hand holding the program guide schedule grid from the 2023 Atlanta Jewish Film Festival.

The Atlanta Jewish Film Festival program guide, every year, included a schedule of in-theater screenings. Designing a schedule grid for that purpose was challenging to say the least.

When I started ahead of the 2008 festival, the grid spanned a 12-day festival and just three venues. The whole thing fit on one spread. At the peak of my time there, the whole thing had expanded to six spreads, spanning 23 days and more than double the number of venues.

The schedule grid had to be flexible enough to accommodate those wildly varying calendars each year. Plus there was another edict that had to be observed. It had to be accurate to five minute increments. All of this on a page that was only 6.5×9″. I did the math, and a five minute increment, within the space available, was approximately 0.025 inches.

Designing a System

No designer wants to do what I just described manually. It would take forever, and keeping it accurate would be challenging, to put it politely. Designing a schedule grid system is what was required, so that is what I did.

First, I designed a four quadrant layout with columnar grids in multiples of two or three. This allowed me to flex each page to the exact calendar.

It was more than just the specific days, but how many venues (and screens within those venues) were scheduled on each day. That meant a single day could be a single column or as many as five or six.

In order to ensure I could neatly align each day on a single row required a level of flexibility that only modular column grids could provide.

An outline of the four quadrant modular column grid system used for a schedule grid.

Automating the Grid Helps

To keep everything accurate, I built an automator that spit out exact coordinates and block heights for each individual screening. You try to manually place a couple hundred screening blocks to within 0.025 inches.

A closeup of the schedule grid, showing the subtle shift in 5 minute increments from one screening to the next.

Excel came to the rescue here. I simply built a spreadsheet where you could copy-paste the confirmed schedule. Each row had a specific date, time, and program length, as well as the title of the film, the venue, etc.

From there, I calculated the original Y-coordinate for each day based on whether that date was in the top or bottom row of a page.

In order to determine the exact length of a five-minute increment, I simply took the total height of the columns, and divided it by the number of hours and then again by twelve (the number of five-minute blocks in an hour).

I plugged both Y-coordinate and increment heights into the spreadsheet, then wrote a formula to auto-calculate the specific Y-coordinate and height for each screening. From there it was a fairly simple copy-paste job. I’d built object styles in the InDesign layout, depending on the width of each column, and handled X-coordinate placement manually.

All told, the automation took a job that required 12-14 hours and reduced it down to just a couple of hours.