Tuesday, September 30, 2014

Keeping the family organized

At the moment, we need to keep straight the schedules of two working parents, two kids (at two different schools), and two grandparents just up the street, one of whom is only semi-retired and travels a lot as a consultant.  How do we keep it all straight? The short answer is "just barely". The longer answer is Google Calendars.  At the moment, I have five calendars synced to our various devices and computers.  Some, like my work calendar, are only on my devices, but several of the calendars are relevant enough to all of us that we needed a way to display them at home, since our lives are only going to get more complicated, not less.

I briefly considered using paper.  I recently started using a recipe box (with actual paper recipe cards) again, and find it superior to any electronic interface I've used.  Unfortunately, our schedules change frequently enough that I would have to add 'print off calendar page' as a daily to-do, and that wasn't an appealing option.

I have long wished someone would invent a device that would solve this problem.  I've had a couple of ideas over the years of what that might look like.  Maybe a digital photo frame that could also connect to Google Calendars?  How about a home phone with wifi and a touch screen? I can think of all kinds of uses for something like that!  Several companies came close to what I wanted (Chumby, for example) only to fold, get acquired, or otherwise fail to perfectly execute my dream device.

At some point, I started eyeing our iPad 1. Christie won it at a trade show back when it was the hot device of the moment, and it served us well for many years.  Now, however, it's running iOS 5.0.1 in an iOS 8.0.2 world. Even relatively simple apps like Netflix drag and crash enough to make it more frustrating than fun.I mounted it over our phone charging station with a few Command hooks, then started looking for an app that would display a calendar, a clock, and a weather forecast.

I never found one that ran under iOS 5 that I was happy with, but even the ones I didn't like were a step in the right direction.  I finally ended up just creating a web page that uses iframe tags to embed the data I wanted into a table that laid it out the way I wanted:
The clock is from http://free.timeanddate.com, the forecast is from http://forecast.io, and the calendars are coming via http://www.google.com/calendar.

I'm using Chrome for iOS to get the minimalist look I wanted, and the embed are all sized so that it fits just so.  Here's the code (with some redactions):

<html>
<table>
<tr>
<td>
<iframe frameborder="0" height="230" src="http://free.timeanddate.com/clock/i4ce2mc9/n109/fs88/ftb/ts1" width="350"></iframe>
</td>
<td>
<iframe frameborder="0" height="230" id="forecast_embed" src="https://forecast.io/embed/#lat=11.11&lon=-11.11&name=Columbia, MO" target="_blank" type="text/html" width="624"> </iframe>
</td>
</tr>
<tr>
<td colspan="2">
<iframe frameborder="0" height="480" scrolling="no" src="https://www.google.com/calendar/embed?title=My%20Calendars&showTitle=0&showPrint=0&showTabs=0&showTz=0&height=400&wkst=1&bgcolor=%23cccccc&src=youremail%40gmail.com&color=%232952A3&src=yourgroup.calendar.google.com&ctz=America%2FChicago" style="border: solid 1px #777;" width="100%"></iframe>
</td>
</tr>
</table>
<script id="jsbin-javascript">
if (/mobile/i.test(navigator.userAgent) && !window.location.hash) { window.onload = function () {
  window.scrollTo(0, 1);
}; }
</script>

</html>


You'll have to put in your own latitude and longitude for the forecast, and embed your own calendar (instructions here). The meta tag at the top reloads the page every ten minutes to keep the weather forecast fresh, and the javascript at the bottom is a bit of trickery to force Chrome to hide the navbar when that reload happens.

Set autolock on the iPad to "never", and you've got yourself a family calendar that always stays current.