January 28th, 2006 by Jim Spadaccini
From the New York Times...
The top climate scientist at NASA says the Bush administration has tried to stop him from speaking out since he gave a lecture last month calling for prompt reductions in emissions of greenhouse gases linked to global warming.
The scientist, James E. Hansen, longtime director of the agency’s Goddard Institute for Space Studies, said in an interview that officials at NASA headquarters had ordered the public affairs staff to review his coming lectures, papers, postings on the Goddard Web site and requests for interviews from journalists.
Dr. Hansen said he would ignore the restrictions.
We appreciate that Dr. Hansen will continue to speak out. Censorship isn’t healthy for science or democracy.
Update (1/29/06): An interesting article in the Washington Post, Debate on Climate Shifts to Issue of Irreparable Change quotes Dr. Hansen rather extensively and talks about efforts by the administration to silence him.
January 27th, 2006 by Jim Spadaccini
The Pew/Internet & American Life Project has just released a new report (1/25/06), the Strength of Internet Ties.
As they tell it…
“The internet helps maintain people’s social networks, and connects them to members of their social network when they need help. 60 million Americans have turned to the internet for help with major life decisions.”
January 24th, 2006 by Jim Spadaccini
The Walker Art Center has a post on the State of Museum Blogs focusing on science museum blogs. The Walker has been blogging longer than any museum (that I’m currently aware of). They have six blogs going on a variety of topics.
January 23rd, 2006 by Jim Spadaccini
The Solar Widget has now topped 31,000 downloads on the Yahoo! Widget Gallery. The widget has been available for a little over two weeks.
What’s surprising is that even though the widget itself is now buried a bit in the Yahoo! Widget site, we are still getting more than our fair share of downloads. This may be due to the fact that Yahoo! seems to be promoting their Widgets more heavily. I’ve noticed Yahoo! Widgets featured on the front page of Yahoo! last weekend. You can’t do better than that for promotion. After all Yahoo! is the most popular site on the Internet.
January 12th, 2006 by carlos
Developing the Solar-Viewer was fun. I was surprised at how native the widget environment seemed to be, though there were a few quirks. If you have some knowledge of XML and Javascript, youâll be able to build a widget as well. The widget engine is well documented and youâll want to take a look at the development tools and references that Yahoo provides. Definitely print out and read the Widget Creation Tutorial, we found it to be an excellent jumping off point into widget world.
How We Did It
- We built the Solar-Viewer widget using the Widget Creation Script for Photoshop CS. Our designer Kemper created the look for the widget in Photoshop. He then used the Widget Creation Script (a plugin for Photoshop) to convert the .PSD into a widget. Yep, it actually converts your photoshop file into a working widget. So we took this:
And we got this:
The really cool thing is that it scrapes your layers and converts them to PNGs and it also creates a .kon file with all of the elements defined. For those new to widgets a .kon contains the main code for the widget. It is an xml file that looks like this:
<?xml version="1.0" encoding="macintosh"?>
<widget version="1.0" minimumVersion="2.0">
<debug>off</debug>
<!--
Solar-Viewer
Written by: Ideum
Generated by Photoshop Widget Generator Script
Copyright (C) 2004 - 2005 Pixoria, Inc. All Rights Reserved.
Any modifications will be lost if the generation script is run again.
-->
<window title="Solar Viewer">
<name>mainWindow</name>
<width>616</width>
<height>404</height>
<visible>1</visible>
<shadow>1</shadow>
</window>
<image xsrc="Resources/aurora.png" mce_src="Resources/aurora.png">
<name>aurora</name>
<hOffset>3</hOffset>
<vOffset>3</vOffset>
<width>609</width>
<height>397</height>
<opacity>100%</opacity>
</image>
Note: A widget is simply a group of files saved as a package. You can easily look at the source code of widgets by either right clicking on them and selecting âShow Package Contentsâ? (OSX) or by changing the file extension to .zip and then opening the zip file (Windows).
After the conversion, each layer of the photoshop is referenced in the .kon file as an xml element. The script correctly placed and sized the layer in the widget using <hOffset>, <vOffset>, <width>, and <height> properties of the <image> element — again, too cool!
<image xsrc="resources/full_image.png" mce_src="resources/full_image.png">
<name>fullimage</name>
<hOffset>286</hOffset>
<vOffset>58</vOffset>
<width>314</width>
<height>315</height>
<opacity>100%</opacity>
</image>
The source of the image is also defined. The sources for the images were placed in a folder called resources. One thing we learned is to be careful with your naming conventions. The script will name the widget elements just as you have your layers named, so make sure you name your layers in a meaningful manner.
- In step one we created the widget from a Photoshop file, so now we need to make the widget dynamic. The images of the sun are loaded dynamically when the widget is launched from their source on the web. The widget was created with placeholders for the images. The placeholders were layers that got exported as image elements. You can reference element properties using JavaScript:
fullimage.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_171_512.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_171_512.jpg";
So all I did was set the source of the placeholder image to the url of the image. I used the âonloadâ? trigger of the element to trigger the load all of the images. To load the images I simply changed the source of their respected placeholder:
<action trigger="onload">
img01.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_171_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_171_65.jpg";
img02.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_195_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_195_65.jpg";
img03.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_284_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_284_65.jpg";
img04.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_304_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_eit_304_65.jpg";
img05.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_LASCOc2_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_LASCOc2_65.jpg";
img06.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_LASCOc3_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_LASCOc3_65.jpg";
img07.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_trace_171_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_trace_171_65.jpg";
img08.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_white_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_white_65.jpg";
img09.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_halpha_65.jpg" mce_src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_halpha_65.jpg";
</action>
- Next, we needed to allow the users to select a thumbnail image and have a larger version of the thumbnail be displayed. At the same time a description of the image needed to be displayed. We used the <onMouseUp> event for the image element to trigger a change in the source of the full size image.
<image xsrc="Resources/img09.png" mce_src="Resources/img09.png" >
<name>img09</name>
<hOffset>198</hOffset>
<vOffset>208</vOffset>
<width>66</width>
<height>66</height>
<opacity>100%</opacity>
<onMouseUp>
fullimage.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_halpha_512.jpg";
description.data = filesystem.readFile("Resources/
image09.txt");
</onMouseUp>
</image>
To display the text we created a <textarea> element and placed it over a graphical placeholder. The data property of the <textarea> element was changed on the same event that triggered the main image change. The data is pulled from text files located in the resources folder using the filesystem.readFile() function. We included the text files with in the widget because the original files had HTML in them and, unless you do some scripting a widget can not render HTML.
Along the same lines we used two other mouse events, <onMouseEnter> and <onMouseExit> to turn on and off an image that creates the rollover state:
<image xsrc="Resources/img09.png" mce_src="Resources/img09.png">
<name>img09</name>
<hOffset>198</hOffset>
<vOffset>208</vOffset>
<width>66</width>
<height>66</height>
<opacity>100%</opacity>
<onMouseEnter>
glow09.visible = true;
</onMouseEnter>
<onMouseUp>
fullimage.src="http://ds9.ssl.berkeley.edu/imageviewer/
images/images2/latest_bbso_halpha_512.jpg";
description.data = filesystem.readFile("Resources/image09.txt");
</onMouseUp>
<onMouseExit>
glow09.visible = false;
</onMouseExit>
</image>
- The last major piece of functionality was to have the widget update the images every hour and display when the last update was. We used another element called <timer> to accomplish this. The <timer> was set to run every 3600 seconds (60 minutes) and when it ran, it triggered the <onTimerFired> element nested with the <timer>. On that trigger all of the code was run within the <onTimerFired> element:
<timer name="mainTimer" interval="3600" ticking="true">
<onTimerFired>
theHour = String(theDate.getHours());
time.data = "Reloading images...";
img01.reload();
img02.reload();
img03.reload();
img04.reload();
img05.reload();
img06.reload();
img07.reload();
img08.reload();
img09.reload();
fullimage.reload();
time.data = "Updated today at: " + theHour + ":00";
</onTimerFired>
</timer>
The code reloads the images (you can not just change their source, they have to be reloaded) and setâs the data of an additional <text> element that displays our last update message.
I hope this gives you a good overview of how we built the Solar-Viewer widget. We will be making a Mac widget version of this soon and Iâll write up a description of how we built that as soon as weâre done.
January 9th, 2006 by Jim Spadaccini
The Solar Viewer is closing in on 10,000 downloads. Not a bad showing in less four days. While the Sun-Earth Viewer remains a popular Web site, the widget in four days has reached more people than the original Flash-based viewer does in a month.
We had a similiar experience when we made a video podcast of clips found in the Traditions of the Sun site. We had over 4,000 downloads in the first week. While much has been made of the Web 2.0, in the simplest terms these new technologies provide new opportunities for us and our clients to reach new audiences. By simply, repurposing some of our existing content we’ve reached whole new audiences and in larger numbers. (The quality of the user experience is another topic for another time.)
What is unclear is whether we will continue to find these large audiences through podcasting and widgets. Being an “early adopter” provides with an audience hungry for content. For example, it took only 19 days from the release of the video iPod for the iTunes Store to rack up one million downloads. Maximizing the keyword “video” in our video podcasts helped push our numbers along as well. After all, what would you search for if you just bought a video iPod?
January 7th, 2006 by Jim Spadaccini
This week we built our first widget. We decided to build a Yahoo! Widget as opposed to Mac OS X dashboard widget–which obviously wouldn’t work on the PC platform. (We may still port our version to Apple’s OS X dashboard format, we haven’t decided yet.) Yahoo! Widgets work on both.
A widget a small applcations built in Javascript and XML that appear on your desktop. The one we built shows today’s images of the Sun. You can find it in the Sight & Sound Category at Yahoo! Widgets.
It’s been nice to see such a great response. In the less than two days it has been on the Yahoo! Widget page, we’ve had nearly 5,000 downloads.

The Solar Viewer is based on the Flash-based, Sun-Earth Viewer, which we developed with NASA’s Sun-Earth Connection Education Forum back in 2004.
The images come from NAS/ESA SOHO Mission, NASA’s TRACE Mission, and from the Big Bear Observatory. The images are “grabbed” each hour and stored on a server at UC Berkeley–so that we have one source for these images (as opposed to making requests to multiple servers).
I’ve asked Kevin Silver here at Ideum to put together a post detailing more of the techincal points of widget building. More to come.
January 5th, 2006 by Jim Spadaccini
Why blog? It’s a good question, and one we talked about quite a bit around the studio. We’ve decided to blog for few reasons.
First, we’re deeply interested in the technologies surrounding the Web 2.0. We’ve been working with RSS feeds, podcasts, and we’ve even begun developing Widgets. In addition, personally I’ve been looking at Web 2.0 technologies including blogging for a workshop and paper (with Kevin Von Appen and Bryan Kennedy) for the Museums and Web Conference and for a course that I’ll be teaching at the Cultural Resource Management Program at the Unversity of Victoria.
Another reason is to share some of the things we find as we work here at Ideum. Whether we are developing Web sites or exhibits, taking photographs or shooting video–there are always small things that we learn that we’d like share.
Also we want to blog to learn more about this technology and its potential use. After all, we all learn best by doing.
Finally, there is a recognition that the “blogosphere” is its own space (and if you’re not in it you’re invisible). Search engines such as Technorati, Feedster, Blogdigger, and Ice Rocket search only blogs. The remarkable growth of the blogs doubling every 5 months makes the technology hard to ignore (although museums are doing their best, more on that in a future post). According to the Pew Internet & American Life a new blog is created every 5.8 seconds.
So, there you have it. This is our 5.8 seconds to shine. We’ve staked our claim in the blogosphere.

The ideum blog appears off the chart on the right. We would probably be something like the six-millionth Weblog.