January 19th, 2007
Hey all! Fancy that - this is my first post on this newfangled Internet-type journal!
I should probably introduce myself. I’m the guy that basically runs the Widget Gallery - I manually go through each and every Widget submission to make sure that the Widgets are safe to run, and I take screenshots and post Widgets for download. I have other much more interesting responsibilities here on the Widgets team as well, but for the sake of being concise, I won’t go into them here.
I have an important change that pertains to you Widget developers out there, so listen up!
One of our top goals for our upcoming (dare I say imminent?!) Widget Engine release is to enable our authors to distribute their Widgets as easily as possible. That’s going to mean a lot of cool things, including a much lighter-weight installer. In order to do that, we’re removing the set of UNIX utilities that comes bundled with the Windows version of the product.
These UNIX utilities come from a long while back, when there weren’t as many commands available in our API. However, over the last several versions, we have added more and more native replacements for these utilities… and we will have replaced nearly all of them in the next version (and no, I unfortunately can’t tell you when it’s coming). So, in exchange for shaving several megabytes off the installer and adding some cool new features to make your Widget easier to distribute, we’re asking those of you who are currently using these UNIX utilities in your Widgets to make some minor changes.
As mentioned, there are a number of replacements already available in the API, which I’ve listed below. If your Widget is currently using any of the UNIX utilities that have a replacement listed below, you have two options: 1) use the native replacement; or 2) bundle the required UNIX utilities with your Widget. Effective immediately, anyone submitting a new or updated Widget to the Gallery that uses one of the below listed UNIX utilities will get an email back reminding them of these impending changes. Then, starting the Monday after next (January 29) (February 5), any Windows or cross-platform Widgets using UNIX utilities (from the current Widget Engine installation) in lieu of a native API solution will not be accepted for public download in the Widget Gallery.
If you are using one of the UNIX utilities that does not yet have a native replacement, keep in mind that a similar process will take place when we ship the next release. Of course, if you’ve got a Widget already in the Gallery that uses the UNIX utilities, it’s not going to break. We are committed to making sure that all of our upgrades are backwards compatible (within reason), and the existing features and functionality for these Widgets will continue as is. However, we strongly encourage you to update these older Widgets to take advantage of all the cool new things that will be available soon.
Here’s the list as it exists with the current version of the APIs. Check out the Yahoo! Widgets Reference Manual for more information on these different items.
- cat = filesystem.readFile( );
- cp = filesystem.copy( );
- curl = URL or XMLHttpRequest objects
- date = Date object (see the Mozilla Core JavaScript documentation)
- find = filesystem.getDirectoryContents( );
- ls = filesystem.getDirectoryContents( );
- mv = filesystem.move( ); (Note - Cannot yet be used to rename files)
- open = filesystem.open( );
- sleep = sleep( );
If you throw in a system.platform check to make sure you’re on Windows, you can use a couple of Windows shell commands in place of the UNIX utilities:
- rm = rmdir for folders, erase for files
- mkdir = …mkdir
Thanks for your time, and thanks in advance for your help in ensuring a smooth transition away from our UNIX utilities. Oh, and for you non-techie types: I apologize for the dry content of this post.
Ricky (aka “Widget Boy”)

Hey, I have a random question and I may be annoying for asking.
I have been reading up on Konfabulous Yahoo Web Widgets and I am dead huffed. Very impressive. I don’t need anything nearly as impressive for my project.
I have already built a Universal Google Gadget which is, minus the CDATA, is about eight lines long, I kid you not:
Anyway, it is supposed to render some HTML inline in the little content block, that HTML emulates the content in an ATOM feed just like it, updated nightly. The ATOM feed only ever supports one entry and has no permalink, so it looks unforgivably ugly when it is just in a list format. Of course, in a reader like Google Reader or Bloglines, it looks fine, but on My Yahoo! it looks like crap.
How does one make a very simple, very web-centric “gadget” or “widget?” I can’t find any information anywhere. Actually programming a Kinfabulator Yahoo Widget is out of scope.
Thanks in advance!
Sounds good. Will filesystem.move() support renaming the files in the next release?
Yes. It should behave like the unix mv command. There will also be replacements for rm and mkdir coming, though as mentioned above there are solutions for that now.
what about unzip?
I think it sounds goood!!!!!!!
This is a welcomed change, thanks!
Leave a Reply