Compact Calendar Gadget for Windows 7 by Bob Webb

Posted on October 18, 2011 in Productivity(last updated on April 29, 2014)

I received an unexpected delight in my email this afternoon from reader Bob Webb, who’s created a Windows 7 Widget that implements the Compact Calendar design on your desktop. Bob writes (emphasis mine):

Hi David. I am little more than a tinkerer in app development. A long time ago I wrote a calendar app in PHP to learn some programming skills. Recently, I have been brushing up my Javascript skills, and I decided to use your Compact Calendar as the basis for a Javascript calendar which I then wrapped around a Windows 7 gadget.

Cool! I love it when people share code! Bob continues with a tale of woe regarding the status of Gadget development on upcoming Windows 8:

The calendar itself is complete, and I was working on a Settings page (to set color preference and the like), but Microsoft announced on Oct 4th that they are discontinuing the Gadget facilities in Windows 8 and they took down the gadget gallery where developers post new gadgets. This has left me with no where to share it with the world. So I have decided to not develop a settings page and just go with what I have. Further coding is just a waste of time since the facility is going away. Folks will just have to hack the css file if they don’t like the black background!

THE NUTS AND BOLTS:

The gadget file is nothing more that a zip file renamed with a .gadget extension. The zip contains the javascript, css, and html files. Win 7 has built in facilities for this file ext, and the OS simply unzips and drops the files into c:usersAppDataLocalMicrosoftWindows SidebarGadgets. AppData is a hidden directory so you have to set your view preferences if you want to see it.
Win 7 also has facilities to run the gadget. If you right click you will see a menu option for Gadgets, and when you select that, a window appears listing the available gadgets and after installing the file, Compact Calendar will appear as an option.
I spend a good month on it and I am very proud with how it turned out. I love the candy bar style of calendar design. I built the script to show a monthly view to start where you can traverse months, but if you hover over the gadget an arrow will appear and if you click the arrow the monthly view will expand into the full Compact Calendar, and then you can traverse years. I also added the ISO week numbers, and US holidays that if you hover over the date, it will display the holiday name at the bottom. I also highlight today’s date. One other thing to mention is that if you click on the title “Compact Calendar” at the top of the gadget, it will return to the current month or year depending on the docked or undocked view.

I looked through the contents of the .gadget file and examined the javascript inside, so I think it is OK to install. Here’s the URL:

To install, double-click on the file. If you want to uninstall it, just go to the Windows 7 Desktop Gadget Gallery to right-click the item for the uninstall option.

If you rename the .gadget extension to .zip as Bob suggests, you can open the contents of the gadget like a regular zip archive to edit the CSS inside. Just zip it back up and rename it back to .gadget.

As the technology used to build it (Javascript, HTML, and CSS) are similar to MacOS Dashboard Widgets, I wonder if it would be easy to port over?

1 Comment

I think if you put Bob’s code in a directory on your website, you could then view that source code in Safari, then choose “Open in Dashboard” to get a webclip. This would be the quick & dirty way. Deeper would be to build a full-on widget, which I have not yet tried.