Earth Day

In honor of Earth Day (April 22nd), Days Since is going green. Now, when you add a new copy of Days Since Add to Google you’ll get a set of default reminders like days since I “rode my bike instead of driving” or days since I “took a quick shower” (and if you’re like me, quick shower means anything less than 30 minutes).

These are just defaults. You can continue to to use Days Since for all your other good or evil purposes by deleting the items that are just clutter to you, and adding your own. And, remember — it’s totally possible to have several copies of Days Since running on a single iGoogle page. So you can have environmental reminders, separate from household reminders, separate from “breaking habit” tracking (like how many days since i “chewed my fingernails” .. I have to shamefully admit mine hovers near zero).

Thanks to Robin over at Google Spain, who help concoct the list, provided Spanish strings, and who may include Days Since as part of a little upcoming treat …

And if anyone wants to comment with a short list of other earth-preserving “days since” reminders in any other languages, I’ll try to get them in.

Using gadgets outside of iGoogle

Alyce asked:

Bernie, I’m working on a Disaster Housing project in New Orleans/Gulf Coast. Is there some way for me to permanently code in Days Since Katrina Aug 29 2005 (928 days and counting!)I’d like to embed widget in communications to certain folks who refuse to move any quicker! In a very nice way, mind you!

Would love to say “yes” to this one. But unfortunately the answer is “possibly.” :)

So I’ll use this as an excuse to at least start the explanation, since Google doesn’t do a good job in their information for users (or their API) to be clear about what gadgets can/can’t do. I’ll talk about Days Since, but this applies to any Google Gadget.

The gadgets I’ve written all happened to be written first and primarily for iGoogle. But gadgets can be used in several different environments, with various limitations.

  1. iGoogle
  2. Google Desktop
  3. Google Sites
  4. Open Social sites, like Orkut
  5. Any Web Page. Well, on any web page that supports javascript objects (e.g. a WordPress blog like this one, although you have to edit from the “code” tab). Google Pages also works.
  6. And (kinda) via email with “Share this Gadget” within iGoogle

Add to Web Page

Here’s an example, created using Google’s Gadget for Webpage Directory and searching for Days Since.

Google gadgets on a webpage are quite noisy — Google adds all kinds of buttons and links, etc. that make them not very attractive.

What to modify this embedded gadget for your own page? Click on Google’s editor here to start where I left off, and edit the reminder and look of this gadget, and get the code to embed in your own page.

First thing you’ll notice is the settings that you normally see in “Edit Settings” have to be entered manually. Here’s where the design of Days Since isn’t really compatible with embedding in the web. You have to enter the “reminders” field by hand — but in raw json format! If you’re comfortable, go for it. Otherwise, you might add a copy of the gadget to your iGoogle page, get all the reminders looking the way you want them, and then go to “Edit Settings”, copy the reminders, and paste them into the “Add Gadget to Webpage” creator.

Share this gadget

If you’d like to set up some reminders and email them to a friend (or set of coworkers) who use iGoogle, that’s easy. Just get the gadget set up like you’d like to share it, and select “Share this Gadget” from the gadget’s standard drop-down menu.

Enter a few email addresses, and make sure to check “Send my settings for this gadget” (this is off by default). Now, your recipients will get the full, working gadget, with all the reminders or other settings you had set up.

Reminding people about Katrina

So for Alyce:

  • If you want to do this by having the gadget be embedded in your email/newsletter, it will only work if you have a web page with your newsletter/email on it, have the gadget embedded there, and the actual email is a link to that page. It won’t work to embed the gadget directly in the email, because mail programs rarely allow embedding javascript.
  • If you just want to send out a copy of Days Since to other iGoogle users with the “Days Since Katrina” reminder populated, just set that up in your iGoogle page, and “Share this Gadget” (and its settings).

But, for the case you seem to be talking about (reminding the reluctant), I don’t know if either of these methods will achieve the desired effect. I’m sure a little digging might find something better. But maybe the second (sharing the gadget with Days Since Katrina pre-populated) might be a soft enough touch, yet useful enough that the people you’re thinking about will play along.

In any case, best wishes and good luck,


Chartpart – Mashup of the Day

Chartpart is the Mashup of The Day on Programmable Web.

(Thank you to whoever over there is noticing the tools here on leancode!)

Chartpart gets improved axis labels

Chartpart got a few new features today.

  1. Chartpart more correctly handles the automatic axis labeling for horizontal charts.  Previously, the label was slapped down on the bottom axis, regardless of the data orientation — which was just plain wrong.
  2. There is now an “Extra Axis Label” section of the form. Select which side of the chart to label, and enter a comma-separated list of labels with which to label that axis.  One interesting thing about the Google engine is it allows multiple labels per axis.  Future chartpart features may include auto-labeling of the data axis (based on the data ranges), and ability to add an arbitrary number of axis labels (now limited to 2+category axis).
  3. The layout was modified to be more fluid.  This lets additional form fields, etc. fit more easily on the page, and make full use of the window as it is resized. But it also has some ugly aspects. Suggestions welcome.
  4. Added an HTML preview for people who want to cut/paste an img tag directly into an HTML editor, with correct formatting (e.g. ampersands are escaped).
  5. Scatter plots and Venn Diagrams still don’t have any special help or data handling — you still have look at the Google API docs to see how to enter data for those chart types. But then, chartpart helps encode that data and lay out the chart.

Thanks, Jonathan, Jeffrey, and everyone for your suggestions.

The new charpart has received visits from over 1200 people in the last 10 days.  That’s more then the previous Rails-based, no-permalink-to-chart version received in over 12 months.  The time spent updating it has proved worth it.  And, again, there’s no complex server to maintain, so I’m happy.

Feedsparks – Mashup of the Day

Feedsparks is the Mashup of the Day today on ProgrammableWeb.

New Chartpart.Com uses Google Chart API

If the Internet is overwhelming us with a flood of data, then graphical summaries of that data are one way to manage the torrent.

Chartpart was created to make it easy to quickly summarize some data in a chart, and post the result as part of a blog post, wiki, or web page. Check it out to see what it can do.

Chartpart was originally created with Rails in the summer of 2007. It was created to scale well, which made for a bunch of work on the server side to be able to handle generating tens of thousands of chart images a day. Unfortunately, the site wasn’t that compelling — only a handful of users showed up daily. A great learning experience, but a waste otherwise.

One reason was Chartpart did not provide a permanent URL for the generated images (because I didn’t want to commit to keeping the server up forever). For users, it was a hassle to generate then save the images in a hosted location where you could link to them.

When Google launched their Chart API a few weeks ago, it was a great opportunity to take a fresh shot at doing Chartpart in a much simpler and better way.

Some of the benefits are

  • Every generated chart now has a permanent URL link provided by Google (formatted for you by Chartpart). Feel free to use it on any blog/web page. It’s subject to the same usage limits as other clients of the chart API — 50,000 hits/day/domain, which should do for any small/med traffic site.
  • Chartpart itself is now simply an HTML/CSS/Javascript app. There’s no server side logic, so the automagical updating of the chart image as you play with the settings is quite fast, and Chartpart itself will be much easier for me to maintain for the long term — relatively, Rails apps can be a lot of work to deploy and maintain.

The new chartpart is now up — try it out and let me know if it’s useful to you. It’s a simple 1-1 mapping of the old functionality to the new chart API. There are many additional capabilities of Google’s API that it can’t do today, but feedback on what you’d like to see is welcome.

YAGCG Gets Timezone, Permissions Features

A few small features added to YAGCG (Yet Another Google Calendar Gadget) this morning:

  1. The on-gadget menu now has (hopefully clearer) text
    Back to Today” simply re-loads the agenda — usually for when you get lost in the past or future of that scrolling agenda. “Refresh Permissions” does two things: it loads up Google Calendar in a fresh window/tab, which refreshes your login cookie, then 5 seconds later, it reloads your iGoogle page. If you’re getting the “Can’t display calendars …” message in red from Google, this is meant to refresh your permissions.
  2. Added ability to set timezone. This is a result of Google has adding some potentially confusing functionality to their embedded calendar (which this gadget uses). Now, it’s possible to view calendars in other timezones, and Google will modify the displayed times to reflect what the equivalent is in your time zone. If this isn’t what you want (and you rarely would), this can be terribly confusing. So YAGCG now has a setting added to explicitly set your time zone when you configure your calendars, which you’ll have to do if your timezone is off.
    Here is what the “Edit Settings” panel of the gadget looks like now.