Mars Software Nuggets: Yahoo! Widget Engine
I admit I was skeptical when Yahoo took over Konfabulator last year. Apple had released Dashboard for Mac OS X 10.4 (”Tiger”), which had some clear advantages over the old Konfabulator widget model. The first time or two I tried the Yahoo widgets, I was singularly unimpressed not only with the performance of the widgets but also with their quality. They reminded me of why I had never been impressed with Konfabulator, although I’m sure Konfabulator’s wanting money for their product had something to do with that, too.
Also there was Yahoo! itself… a company that until the last 12 months or so had been growing more conservative, more commercial, more corporate, and less fun than the Yahoo I started loving 10 years ago. Not only that, but Yahoo appeared to be less and less friendly toward the world’s Mac-minded minority. I had grown so disenchanted with Yahoo mail that I finally gave up last summer and packed my bags for the terrific IMAP mail service called Fastmail. So it was a bit of a surprise when Yahoo wandered into territory that originally had been 100% populated by Mac-type aliens. Clearly, the visionaries had regained some influence at the company, as other recent smart moves testify (see all the cutting edge Yahoo goodies at the Yahoo Developer Network). Microsoft probably thinks Google is worried about its recent attempts to catch up in the web services arena… but I suspect that the real competition is between Google and Yahoo. Of course, being from Mars, my instinct is to say,
“Hey fellas, it’s OK, now. You can both be great without trying to run each other into the ground. Just ignore all the media banter about battles and winners, and who Microsoft is gonna wipe off the face of the earth next. Just concentrate on what you do best: Being innovative… Imagining the unimagined… in other words, pushing that f**king envelope and finding the next paradigm to shift!”
So, when I downloaded the Yahoo Widget Engine (YWE) 3.0 in December, I was pleasantly surprised to notice that things had changed quite a bit. Setting it aside until last month, YWE 3.1, the latest release as of this writing, confirmed my first impressions. YWE widgets are now very well behaved, for the most part, and take no more system resources than Dashboard widgets do. Plus there are actually some widgets that don’t have good Dashboard counterparts.
For example, a little gem that’s been around since Konfabulator called Picture Frame does what I keep hoping iPhoto Mini will–namely, let me run a slide show from my iPhoto library inside the widget. Seems like a pretty basic need, but somehow Apple’s developers have missed out on that opportunity. The closest they’ve come is a fairly recent widget simply called Photo, which does the basics, plus adds all the groovy Core Image transitions to the mix. However, you can’t resize the widget, so you’ll miss out on the beauty of seeing your favorite shots sized to their full glory. You also can’t pause the show, which is a bummer because I often have to keep my favorite picture of Jackie beaming out at me for more than the default number of seconds. iPhoto Mini is a great widget with a lot of cool tricks, but your basic slideshow isn’t one of them.Â
Another must-have from YWE is Minty, which is the best widget for monitoring your Mint usage stats.
And in a category so saturated with good apps and widgets that you’d think there couldn’t possibly be another great idea, a YWE widget called MemoPad has won a place on my desktop. It does three things well that beats out all other widgets:
- Provides a “file cabinet” where all your sticky notes can go when you want them off the desktop
- Provides a minimized tear-off pad for your stickies that’s so small as to be unobtrusive on even the most cramped desktop, and
- Looks so much like actual sticky notes adorning your monitor screen that you may be likely to try pulling one off in a fuzzy-headed moment.
I haven’t even begun to explore YWE widgets as I’ve done with Dashboard ones, so I’m sure there are many other splendid little goodies waiting in the Yahoo widget gallery.
But finding more great widgets isn’t the only thing that’s made YWE a standard part of my desktop. What I really admire is the YWE implementation of widgets, which has firmed up my longstanding view that Apple needs to modify the Dashboard concept to make it more flexible, if they want Mac users to truly embrace widget-dom. The particular traits I admire are nothing new… they were standard in Konfabulator, and there’s one application for Mac OS X called Amnesty that will emulate the concept. I have stubbornly refused to pay the $20 that Mesa Dynamics wants for Amnesty, especially now that I use YWE, which does most of Amnesty’s tricks for free. So what exactly are those tricks?
- Run widgets like normal applications outside of Dashboard
- Easily change a widget’s “window level”–meaning, where it resides starting from the desktop itself up to a window that floats persistently above all regular windows, with several layers in between.
- Ability to lock a widget in place
- Ability to set transparency for a widget.
- Ability to access widgets–and their preferences–from a handy menubar item.
- Ability to stop and start the widget layer as the need arises.
As you can probably tell, I’m completely sold on the utility of widgets… so many of these are at least as useful as some shareware desktop apps or menu extras. But if I were using a laptop or had a 17″ monitor (or smaller), I’d be less inclined to experiment with them. I didn’t fully embrace widgets until I began running them in “developer mode,” which lets you keep your favorite ones handy… right on the desktop. (If you want to try developer mode, check out this article from MacOSXHints, or you can also get this widget to help out.)
Using developer mode requires some compromises, however, since in this mode widgets live in the top layer of your desktop window hierarchy. Unlike YWE, you can’t adjust the window level, so Apple’s widgets always run on top of anything else you’re working on (except for a screen saver). For example, if you run Aperture in full screen mode, your widgets will get in the way of Aperture’s controls…. unless you move them somewhere else.
With a 23″ Cinema Display, I’ve learned to work around this problem by carving out a slice of screen real estate for my widgets. But most Mac users don’t have the luxury of a big monitor, and this, I’m convinced, explains all the grousing about and dissing of widgets that I hear constantly. People may really like this or that particular widget, but they’re never going to take the time to explore the rapidly expanding world of widgets if they don’t like having to switch to the Dashboard layer every time they want to use one. After all, if widgets are actually replacing desktop apps or docklets or menubar items, the Dashboard actually makes those functions a click or two farther away (unless you spend most of your time in the Dashboard layer, which I doubt). Not only that, but quite often starting Dashboard takes precious seconds while you wait for the widgets you have activated to “wake up” (unless you happen to know about and are using the handy, free Dashboard Kickstart utility).Â
Why would anyone use Dashboard for a calculator when they can summon Apple’s own desktop Calculator in one click of the Dock (or many other handy places one can store commonly used apps), or, like me, summon Quicksilver for a quick calculation? The answer is, “They won’t.” And since they won’t do that, they’re likely to dismiss the entire concept and the over 2,000 widgets that have been developed for Dashboard–many of which simply don’t have desktop equivalents, and nearly all of which are free!
No, YWE gets it right, and Apple needs to get it, too. After all, YWE runs on both Mac OS X and Windows, and we all know what percentage of the world’s desktops Windows holds, don’t we? At last count, Dashboard can claim a total of 2,088 widgets for its platform, but Yahoo! now has 2,891… having surpassed Apple and growing fast. Apple needs to keep its system competitive in features if it wants to maintain leadership in this technology. After all, you-know-who is planning to release its own widget system for Vista, and once that happens, who knows? One thing I see that Vista has right is letting users keep their widgets persistent on the desktop. As I understand it, the Microsoft way is inferior to the Yahoo! way, but it’s arguably better than the Dashboard layer alone.
Also expanding the “widget front” is Opera 9, whose users now have access to some very fine widgets thanks to Opera’s embrace of this technology. In Opera’s case, the widgets only work as long as you have Opera running, but that’s no problem if you’re an Opera user. Like YWE, Opera widgets can run on various window layers, and they share with all the other widget implementations the same open, standards-based underlying technologies. As of this writing, there are already over 400 Opera widgets! And if you think Opera developers are just trolling the same over-hunted territory where Apple and Yahoo widget developers have been, get a load of this little baby, which is one of several unique Opera widgets by Australian developer Benjamin Joffe.
In the end, I’m hoping all these widgets can coexist happily on my desktop (well, except for Microsoft’s widgets, which no doubt will only work on Windows). After all, one of the best things about widgets is that they’re just HTML, JavaScript, CSS, XML, and a few images. (Yes, they can have other things, too, some of which may be proprietary to a particular OS… but they don’t have to have anything but those basic open-standard components.) This means that if you can build a cool web page, you can build a cool widget… and there are a lot more people who can build web pages–for any platform–than can build Cocoa apps!
So a tool I’m hoping someone releases soon is a widget converter, which could convert Mac OS X widgets to run in YWE, for example, or Opera widgets to run in Dashboard. In the meantime, I’m perfectly happy to run Yahoo! Widget Engine alongside my desktop-handy Dashboard widgets. In fact, running YWE is likely to make me even more impatient to see Apple get on the ball and include a better widget system in Mac OS X 10.5, Leopard.