Archive for the ‘Calendar Publishing’ Category

Publish a gig list from iPhone to a website, Facebook or anywhere that takes html

November 21, 2011

It’s amazing that this is even possible, let alone relatively simple now, thanks to web applications like Google Calendar and FeedBurner. I’m an Apple iPhone/iCloud/iCal user, which adds another layer of needed coordination of the elements required for this all to work – but, having researched the necessary steps, here’s how to do it.

First, create a Google calendar to host the events you’d like to list.

I don’t want everything on my personal calendar showing up in my gig feed. Both Google Calendars and iCal (5.01, and Lion OS) support multiple calendars from different accounts and origins, and it’s easy to get confused as to which calendar is which, and which one hosts your events. It’s important to establish an intentional chain. I had a double-booking mistake recently after failing to instruct my iPhone to “default” to my main calendar; I took a date via iPhone that didn’t show up where I needed it to, because I had too many calendars and incorrect settings… lesson learned the hard way.

Establish a “home base” calendar on your PC, in your desktop/laptop iCal app. Give it a memorable name, and in the preferences on both your PC and phone, designate it as the “default” calendar. Routine entries will reside here. Make additional calendars for business, personal, family etc if you think you need to; but recognize that you’ll need to assign the event to whichever calendar you intend it to reside on… every time. This is particularly true of the Gig calendar we’re creating.

Why Google for the gig calendar?

Google will be the source for the published gig stream.

It’s easy to add a Google account to iCal 5. Dates entered in either place will show up on both. After adding your Google account in iCal preferences/accounts, it shows up on iCal calendar lists, its dates show up in your iCal calendar window (or not, if unchecked in the iCal list), with the entries that it contains color-coded.

It’s not so easy to subscribe to an iCal/iCloud calendar from Google, and having tried this first, I can tell you it didn’t work for me (maybe it’s possible, but I couldn’t figure it out).

With this setup, gigs (or events) entered on any iCloud-configured device and assigned to the Google gig calendar will show up on all devices and the Google calendar. In this configuration, iCal 5 is the front-end application interface for your Google calendar. As mentioned above, once this is set up, it works in both directions… that is, if you make entries in your Google calendar, they’ll show up everywhere using your iCal/iCloud account.

OK, so how do I publish?

Calendar widget?

Google’s overall advantage in this process is clear. From the settings in Google Calendar, it’s possible to get code for a Calendar widget that can be placed anywhere that hosts html. The disadvantage of this particular portal, from a gigging musician’s point of view, is that the end user would need to page through your entire calendar to find your gigs. It would be much more user-friendly to publish a widget containing only a list of the gigs on the calendar.

No! Use an RSS feed!

This is possible from Google via RSS – all Google Calendars have an RSS feed. (Apple’s iCloud offers no resizable embeds, widgets, or RSS – at least, not yet.)

This requires a number of simple steps using Feedburner as an intermediary to help configure your feed to get the dates in the right order, and a widget generator tool such as Widgetbox (flash only – won’t work on iOS devices like the iPhone or iPad), Google’s BuzzBoost (part of FeedBurner, requires some CSS coding to make it look nice) or Webrss (which ignores your Feedburner formatting, not good).

Step 1

In the left sidebar of Google Calendars, click the arrow next to your calendar’s name and select “settings.” On that page, look for Calendar Address in the left sidebar and the XML button to the right of it. Click it and a popup gives your RSS feed address – almost! You’ll need to modify this to use it in the next step, so copy and paste it somewhere you can find it – a text editor, Word, whatever.

It will look like this:

https://www.google.com/calendar/feeds/YOURGOOGLEID%40gmail.com/public/basic

You might notice between /feeds/__________/public is something that looks like your Gmail address, with %40 instead of the “@”. So far so good.

Step 2

Remove the “s” from “https” (do this or it will fail in Feedburner, which Google also owns, but never mind – this was a couple hours of frustration before finding the answer! Take the “s” out.):

http://www.google.com/calendar/feeds/jonburrbass%40gmail.com/public/basic

Step 3

Next – one more modification of the link is needed to get dates to display in chronological order (rather than the default: order of entry)

To the end of the link, paste:

?orderby=starttime&sortorder=d&max-results=15

This adds a “query” to the URL, leading to the correct display of records.

Note: the “=d” in the string means “descending order;” change it to “=a” if you need ascending order, that is, earliest date at the top. The number at the end allows you to specify how many entries will be displayed.

So now you have:

http://www.google.com/calendar/feeds/YOURGOOGLEID%40gmail.com/public/basic/?orderby=starttime&sortorder=a&max-results=15

Step 4

Copy this link now, and paste it into the “Burn a feed right this instant” field in Feedburner.  Bang! You’ll have your feed, displaying in the order you specified, ready to import into the widgetmaker of your choice. Make your widget, grab the code, and put it on your website or wherever you can paste html. On that score, it’s useful to investigate the “static html for pages” app in Facebook; a Facebook tab in your band page becomes an editable html hosting interface where you can put your gig calendar, music players, videos, email grabber, or whatever.

Example (of both) Facebook/jonburrmusic

my calendar on my website

If you’d like help with any of this, or putting it on Facebook or wherever, shoot an email and we’ll see if we can set up a support session, for which I bill a modest rate.

Thanks for reading!


%d bloggers like this: