For most teams, there’s a fine line between not having enough work and having way too much. DayBack Calendar helps us see the difference. Here’s a behind the scenes look at how SeedCode balances developers’ schedules using DayBack’s calendar analytics.

What’s working here

A couple of key ingredients need to be in place before this kind of scheduling works.

Blocking off time to work. That orange dotted line representing our goal only works if our developer has actually blocked out 5 hours a day to work on this stuff. And that means she’s blocked off other time for correspondence and meetings, and that she’s defending the time she’s blocked off to code. Blocking off uninterrupted time to work is critical.

Getting realistic about capacity. Some shops really overestimate how much you can get done in a day: I think 5 productive hours of coding is almost the most someone can average week after week. You may be able to get in the zone for longer days now and then, and it’s certainly easier if you’re just working on one project week after week. But if you work involves any amount of gear switching, that takes a considerable toll on the kind of focus good coding requires.

(Click for a larger version)

Timeboxing (estimating is too hard). A quick look at the calendar above and you’d be forgiven for thinking we’ve estimated all these jobs down to the hour and the spread those estimates across our calendar. Custom software is incredibly hard to estimate accurately. Instead, we’re timeboxing these deliveries: committing to deliver three, five, or ten hours of work, instead of committing to deliver a specific feature set.

Small chunks (estimate accuracy degrades with size). Planning a series of very small estimates and deliveries makes success much more likely. We spoke about this at DevCon in 2017, and it’s proved itself countless times since then: small chunks make a big difference.

These are calendar problems

The scheduling problems we’re grappling with above are not things you can solve on a spreadsheet or solely inside your project tracking system. Both your deliveries and the time you’ve blocked out to work are meaningless outside the context of your other commitments.

That’s why DayBack shows you multiple calendars at the same time, be that records from different tables and even different FileMaker files. Or you can use DayBack Online to show Google and Basecamp calendars alongside your FileMaker records. At SeedCode, the delivery dates you see in the movie above are FileMaker records, but we’re looking at them in a browser in DayBack Online so each developer can also see their personal Google calendars at the same time.

The key is to make delivery promises in the context of your other commitments; that’s the only way to make promises you can keep.

Here’s a beautiful calendar mod by Catherine Kirkland of Digital Fusion. She added new FileMaker layout elements to the right edge and bottom of the calendar. Looks great!

DayBack Calendar is a web viewer on the FileMaker layout, so by moving the web viewer around, you can create layout space around it. Folks often put their own navigation elements above or to the left of the calendar, but this is the first one we’ve seen with such an elegant set of controls below the calendar.

I love the white space around the “previous contact” entries: even though the display is very dense, leaving that space around the email icons makes it easy to read.

Huge thanks to Catherine, her client, and the team at Digital Fusion for letting us share this with you. Digital Fusion is doing great work: check it out!

More DayBack Sidebar Mods

Here are few more examples of what other folks have done by adding FileMaker layout elements outside the calendar frame: sidebar examples.

Here’s a mod I can’t live without. This tooltip will translate your appointments into three other time zones. Also, it’s easy to customize so you can add more cities if you need to. This is also a great example of how fun it can be to use JavaScript within FileMaker because JS makes these kinds of timezone transformations much easier.

Transforming Times with Moment.js

DayBack includes the wonderful momentjs and moment-timezone libraries for working with dates and times. That makes a tooltip like this a lot easier. For example, if you want to translate the event’s start time into London’s time zone, you do this:

1

event.start.clone().tz('Europe/London')

And if you want to turn that time into text like “in 34 minutes” you can just do this:

1

event.start.fromNow()

Having written tons of FileMaker functions for date and time parsing back in SeedCode Calendar’s early days, I’m in love with these momentjs functions.

Adding little JS tooltips to DayBack is also a great way to get your feet wet with JavaScript, and you’ll find some simple examples here to get you started.

This is the third and final post in a series on using the Gmail API from FileMaker. Please review the previous articles, if you haven’t already, particularly the first one which covers setting your app up with Google and authentication. There’s also a great article by Brendan McBride from dbservices that covers importing emails from an inbox into FileMaker. This article can be seen as the first in the series as it leads directly to the ones we’ve done here.

As with the first article, all of these examples use the native Insert From URL script step so there won’t be any plug-ins required, and since the Insert From URL is supported in all aspects of the FileMaker platform, these techniques can be adapted to workon the Server, Go, FileMaker Cloud, and WebDirect. These techniques require FileMaker 16 or higher as they use the advanced cURL options introduced in that version.

Working With Threads

This article will be looking at working with email threads. It will cover querying for responses to a specific thread of emails and maintaining the thread correctly when responding to an email from FileMaker. Here’s a video overview along with a new free example file below:

FileMaker Gmail Integration: Example File

Please download the example file FM2Gmail v1.3 for a working demo. This new version adds the ability to receive incoming messages for existing threads and reply to them. This file replaces v1.2 from the previous article.

Latest FM2Gmail Example File

Managing Replies

At the end of our last example, we had successfully sent an HTML email with multiple attachments, but what if the correspondent responds to the message? If we want our outgoing message to be associated with a specific FileMaker record, then it’s likely we’ll want all the responses to this email, and all subsequent responses, to be associated with this record as well. Let’s look at this in action. I’ve sent a message from our example file to myself, and now I’m going to respond and add a new inline attachment to my response.Read Full Article →

The latest in-app update to DayBack introduces custom tooltips. These tooltips are completely scriptable. You can customize the content and can style the tooltips (and their content) using your own CSS.

How It Works

Tooltips are triggered by a new calendar action: On Event Hover. This new action can call FileMaker scripts or execute JavaScript. It’s JavaScript you’ll use for the tooltips, and you can call a simple function to show any content you’d like. Here’s the Javascript for the example above:

dbk.tooltip(event.title);

That’s passing the event’s title into the tooltip function. You can also pass in more fields and use HTML to make it more readable. Here’s another field (resource), separated by a line break:

dbk.tooltip(event.title + ‘<br />’ + event.resource);

The tooltip documentation covers all this and provides a more thorough description of this JavaScript, lots of examples, and notes on styling this with CSS.

Going Further

There are a lot of possibilities here when you combine the On Event Hover actions running JavaScript inline with tooltips that will show any HTML you put in there. By adding some logic to your JavaScript you can have different tooltips for different kind of events, or show different tooltips on different views. Tooltips have access to any of the JS libraries in DayBack, including momentjs for formatting dates.

Writing tooltips like this is probably the easiest way to get started with JavaScript in FileMaker. You can show meaningful, user-facing results with just a single line of JS, and we can help. Let us know what you’re working on and we can point you in the right direction.

And if you have interesting use cases for running a FileMaker script on hover, we’d love to hear about that too. Don’t forget, you can also add buttons to DayBack to run your own scripts (FileMaker scripts or JavaScript) and buttons may make more sense for some actions. More here: custom button actions in DayBack.

Get It Now

If you’re already using DayBack, tooltips and the new On Event Hover action are free in-app updates. Just click “Check for Updates” from the upper right corner. If you’re new to in-app updates, you can see them in action here: how in-app updates add new features and preserve your customizations.

If you’re not yet using DayBack, download an unlocked trial, link it to your files, and see if it can make a difference for your team’s schedule…

This is the second in a series of articles on using the Gmail API from FileMaker. The first article has some background on this approach as well as instructions for authenticating to the Gmail API and sending HTML emails. Please review that article here if you haven’t already. Additionally, there’s a great post by dbservices on integrating Gmail with FileMaker that lead to these articles and should be checked out as well.

As with the first article, all of these examples use the native Insert From URL script step so there won’t be any plug-ins required, and since the Insert From URL is supported in all aspects of the FileMaker platform, these techniques can be adapted to workon the Server, Go, FileMaker Cloud, and WebDirect. These techniques require FileMaker 16 or higher as they use the advanced cURL options introduced in that version.

In this article, we’re looking at sending large, multiple attachments via Gmail. Here’s a video overview along with a new free example file below.

FileMaker Gmail Integration: Example File

Please download the example file FM2Gmail v1.2 for a working demo. This new version adds the ability to send attachments and replaces v1.1 from the previous article.

FM2Gmail Example File v1.2

Sending an Email with Attachments from FileMaker

Before we can send anything, we do need to authenticate our app with Google. Please refer to our previous article’s section on Getting Started / Authentication if you need to review these steps. Once we’re all authenticated, we can compose a new e-mail with attachments. You’ll notice in the new example file that the compose window has a new paper clip button for adding attachments. This button brings up a Card window which we can use to drag attachments in, add individual attachments and import entire folders of images or text files. Read Full Article →

This is the first in a series of articles on using the Gmail API from FileMaker. We’ll provide free example files for each post and these examples will all use the native Insert From URL script step so there won’t be any plug-ins required.

In this article, we’re going to look at sending HTML emails. In future articles, I’ll examine sending large emails (35MB) with multiple attachments, resumable uploading, and managing threads. This approach provides a first-rate email experience that is not available using the native Send Mail script step. And, since the Insert From URL script step is supported natively across the whole FileMaker platform, the techniques shown here work on the Server, Go, FileMaker Cloud and WebDirect. This technique requires FileMaker 16 or higher since we’ll be using the advanced cURL options introduced in FileMaker 16.

Background and Choosing the Gmail API

I recently had the opportunity to build a comprehensive Gmail integration into a client’s system. The main reason the client wanted to go the Gmail route was to have seamless integration with their native Gmail experience; at first they weren’t that interested in threads or large attachments, but those features soon became important once they started emailing from within FileMaker.

Before we started, the client and I discussed which route we wanted to take, like using a plug-in or rolling our own. Fortunately, right about this time, dbservices published a great blog post and example file on integrating with the Gmail API. This article provided great techniques for authenticating to Google as well as creating an inbox in FileMaker that would import Gmails with their attachments. Basically, they had already done a lot of the work we needed. I implemented their authentication and inbox routine and then added the techniques I’m going to share here.

Track estimated vs. actual time right in your FileMaker Calendar

We recently customized DayBack for a team tracking the manufacturing and assembly trade show displays. Folks on the manufacturing floor use DayBack to see what they’re scheduled to work on AND to log their time. They can then compare estimated to actual time with Calendar Analytics.

DayBack is designed to be customized and provides several hooks where you can add your own time tracking scripts and layouts. This post illustrates five different approaches and includes instructions/examples below.

If you’re using DayBack to see what you need to work on, it makes sense to log time right there as well. Here’s what we did for this customer:

Edit the script “Export Theme ({Preview})” and in the Else branch, replace the single ExportFieldContents line with lines 22 through 31 in the screenshot below. You’ll see just a single branch here for the user “Bob”, but change that to “=” and you can create a separate branch for each user who needs special CSS. (Click on the image for a larger version.)

Line 25, which you can’t really read in the screenshot, is where you actually add new CSS. Here is the second part of the SetField dialog and the example here just turns off the green plus button:

1

2

3

4

5

6

7

8

9

10

11

// Hide the plus button for new events

".add-event-container {

display: none !important;

}"

&¶&

// Hide the "new event" popover button

"div[content=newEvent]{

display: none !important;

}"

&¶&

CalendarInterface::ExportGlob

Don’t forget to include the regular CSS at the end, in the last two lines which reference the CalendarInterface::ExportGlob. You’ll find examples of some common CSS changes here: customizing DayBack’s CSS.

Note that the script above only runs at startup, so if you are having users log in and out of your solution after startup, you’ll want to run DayBack’s “Upon Opening” script after each login change.

Need Help?

Download

DayBack's 30-day trial is unlocked so you can customize it and integrate it with your files.
Download DayBack and we'll send you a couple short emails with tips on how to modify it and use some of the coolest features.