December 14th, 2007
As you may or may not have seen by now, we’ve released the new Yahoo! Widgets/Konfabulator 4.5. This version was a major undertaking, and there are four particularly cool and important features in it for developers.
- Full W3C DOM
- Fine-grained Security
HTM… something or other
Yes, you can now embed HTML into your Widget, thanks to the magic of WebKit. If you wanted, you could pretty much write all of your Widget in HTML. You can also just grab some AJAX code off the web and with a few modifications get it running inside Konfabulator. Your HTML code has access to all the features of the Konfabulator engine if it’s all contained in your Widget bundle. If you are accessing remote sites or scripts, you are restricted to the typical web sandbox. Just add a attribute to your Widget and point it at an HTML file and you’re off! Not only can the HTML view see Konfabulator, but Konfabulator has access to the innards of the web view itself via the ‘base’ attribute of the web object.
After HTML, there’s Flash. Like HTML, you can deploy a Flash Widget in Konfabulator. If Flash is your favorite language, have at it. Unlike HTML though, Flash cannot access Konfabulator itself, but Flash does provide a number of its own useful functions to get things done. In theory you could write yourself a video-based-community-type Widget now
Both HTML and Flash run just as any other view inside your Widget. You can inter-mix them with other Konfabulator objects and control their opacity and rotation, as you’d expect.
Wait? What are you saying?
I’m sure many of you might be asking whether this means we are favoring HTML or Flash for writing Widgets. It does not. We are merely offering them as alternatives. Many developers want to deploy something in HTML to allow them to run a Widget on the Web. Now they can also get a desktop presence in Konfabulator without having to rewrite the code. The same thing applies to Flash. Would I recommend this way of writing Widgets for someone just starting to use HTML? Probably not. It’s way too heavy for most Widget needs - it will consume more resources for not a lot more bang on average. If you don’t require features specific to HTML, or you aren’t porting AJAX code, I still recommend you stick to the native language.
DOM, da-DOM DOM!
Another big change is the introduction of the full DOM. This means the entire structure of a Widget is now accessible via DOM APIs. You can even run an XPath expression across your Widget. Rob does this to find all elements with tooltips in one of his Widgets, for example. You can locate all your Windows simply by saying document.evaluate( “/widget/window” ). Simple. As you are developing, you can also look at your DOM by merely executing document.toXML() in the debug window to see if things are as you expect them to be.
The new release has an expanded Security Block. It’s enforced if your Widget has a minimum version of 4.5 or later. It lets you specify the things your Widget might want to have access to, such as the file system, http, etc. This information is shown to the user in the new security dialogs. The dialog can now be expanded to display the information in (hopefully) human-readable form.
If your Widget ventures beyond the contract of your security block, an alert is presented and your Widget is terminated with extreme prejudice.
Under The Hood
The DOM really caused us to change our entire infrastructure. This might cause some compatibility issues with some Widgets. For example, one of our own Widgets had a property of an object called tagName. This is unfortunately an official property of a DOMElement these days, and so there was a conflict and the Widget had to be fixed. So as you try your Widgets out on the new engine, be on the lookout for issues like that.
We also have a new JS engine in this release. It’s the first time we’ve upgraded SpiderMonkey since the original Konfabulator release, as far as I know. Like the DOM, this might also cause some subtle issues for your Widgets. One example we ran into with two Widgets in particular is that there’s a class called Block in the new JS, and these two Widgets tried to create their own variables called Block.
We ran about 1000 of the most popular and recently-added Widgets when we tested this version of the product. We fixed everything we found, and when we found something we couldn’t fix (like the issues mentioned above) we reached out to the developer of the Widget to tell them what needed to be changed so they could resubmit their Widget with the fix so that users could hopefully get uninterrupted service.
The good thing about this infrastructure change is that we now have an excellent, solid foundation on which to build. We can add features faster now than ever before. For example, our new Display object took me literally 20 minutes to add. Granted, it was a simple feature, but it would have taken hours previously. This is going to make a huge difference for us. It also means we can start to implement things we never could before.
With our infrastructure out of the way, the next releases are going to focus on features to allow developers to build some amazing Widgets faster and easier than you could in the past.
One other thing: there’s a rudimentary debugger accessible from the debug window now. It’s not 100%, but it’s a start. Eventually there’ll be a UI for it. /help should let you know what the commands are… it’s somewhat akin to gdb. I’ll likely post another entry explaining how to use it.
Until then, enjoy the new features!
November 29th, 2007
First of all, a hearty thank you to all our friends running Leopard for your patience over the last few weeks. We’re very happy to announce the latest version of Yahoo! Widgets has arrived, and we hope you agree it was worth the wait. It’s officially called Yahoo! Widgets 4.5, and there are a lot of major changes under the hood.
Putting the .5 in Yahoo! Widgets 4.5
So, what exactly is it that we’ve been cooking up here in Widgetland these last few months? In this version, we’ve got more detailed security disclosures to give users a better sense of what a Widget can do before it runs, a rearchitected core along with a full W3C-compliant Document Object Model (DOM), as well as support for Flash and HTML. What does all this mean? Basically, we’re extending the platform to enable Widget authors to create richer and more powerful desktop Widgets (like ones that run video, w00t!). And at the same time, we’re also making it even easier for people to use their existing skills (and maybe even some code) to create a desktop Widget on Yahoo!.
New Widgets to Love
We’ve also got a few cool new and improved Widgets, like our very own Yahoo! Finance Widget and Widgets from our friends at the NBA and RockYou!. You will find these Widgets in our Widget Spotlight on the front page of the new Yahoo! Widget Gallery over the next few weeks. These partners share our vision of delivering compelling experiences to their audiences on the desktop, and we’re very happy they’ve chosen our platform to do so.
Sharing the Widget Platform Love
We’re also very pleased to announce integration with several leading Widget creation and distribution platforms. As announced at the Widget Summit a few weeks ago, the thousands of Widgets built using the Netvibes UWA will now be available on your desktop as Yahoo! Widgets from the Netvibes Ecosystem. Additionally, Clearspring is now including the option to add the many web Widgets they power, from partners like NBC Universal and Time, to your desktop as Yahoo! Widgets. And by the end of this year, MuseStorm will be supporting output to Yahoo! Widgets for their partners, like CBS and Universal Music Group, as part of their forthcoming platform release.
Giving You More of What You Love
All of this is part of our mission to deliver users of Yahoo! Widgets more of the content and services they love, right on their desktops. To achieve that, we are focused on three things:
- Making our platform as powerful and secure as possible. We firmly believe that the best desktop Widgets combine the power of the desktop – including things like access to local resources, more powerful processing, and offline access – with the fun of the Internet in ways that are unique from what can be done in a browser. That’s why we added features like canvas and a SQLite database in Yahoo! Widgets 4 and why we added the new security model, video support, and full DOM in 4.5.
- Making the most Widgets available to our users. While we strongly encourage authors to build Widgets that take the fullest possible advantage of our platform (see above), we also want to make it as easy as possible for authors to create and deliver the Widgets *they* want. Whether that means using the languages they already know – like HTML and Flash, the code they’ve already written, or the partners they’ve already chosen – like Clearspring, MuseStorm, and Netvibes, we want to be as open and accessible a platform as possible. Some people have feared that making the platform too easy to develop on will dilute the quality of Widgets in our Widget Gallery. We believe that quality control is something that should be handled by the community, which brings us to our third objective.
- Creating the best Widget discovery and management experiences. Sorting through over 4,300 Widgets is a nice problem to have, but we still want to solve it. And the new Yahoo! Widget Gallery site and its underlying infrastructure are the solution. You’ll find a bunch of new features in the site today, like improved search, ratings, reviews, tags, and our Beautiful/Useful/Fun meter (more details here). All of this and the exciting things to come are designed to connect the right audiences with the Widgets they’ll love. You’ve also seen the beginnings of our efforts to improve the Widget management experience in the Widget Dock that was released with Yahoo! Widgets 4. While we’ve focused the 4.5 release on extending and opening up the underlying platform and have thus made limited changes to the Dock, we will be making improvements there as well in forthcoming versions.
So, there you have it: a not-so-brief overview of what’s in Yahoo! Widgets 4.5, and some context on how this release fits into our overall direction. What are you waiting for? Go check out Yahoo! Widgets 4.5! We hope you like it.
- the Yahoo! Widgets team
P.S. Ed will be posting a more in depth technical overview of Konfabulator™ 4.5 (the developer platform update) shortly. And you can always check out our version history for the full details on this release.
November 16th, 2007
A lot’s happened in Widgetland since we first launched the widgets.yahoo.com site more than 2 years ago. Of course we’ve shipped a couple major versions of Yahoo! Widgets, and we’ve improved the site with additions like our Widget badges and the in-page installer. But in that same time, the catalog of Widgets in the Yahoo! Widget Gallery has more than doubled. And to be totally frank, our tools for finding Widgets haven’t quite kept up.
Today, we’re very proud to reveal the fruits of months of hard work and kick-off a new era for Yahoo! Widgets with the brand-spanking-new widgets.yahoo.com. Much of the work in this release went into rebuilding (almost) the entire site from the ground up on top of Yahoo!’s powerful search, community, and personalization platforms. What that means to you is this is just the beginning — we have laid a solid foundation on which we can more rapidly innovate and deliver new features to improve your Yahoo! Widgets experience. But, that doesn’t mean there aren’t plenty of cool things for you to start enjoying today. Far from it, we think the new site is packed with quite a bit of awesome. So, here’s a little primer to get you started.
That covers some of the highlights for the initial release, and there’s more info on our What’s New page. There are also a couple of other notable changes:
That should be more than enough to get you started, so what are you waiting for? Hop over to the new widgets.yahoo.com and start checking out the new hotness. We really put a lot into this, and sincerely hope you’re as excited about it as we are. And as I mentioned, this is only the beginning — keep checking back for more improvements in the weeks and months to come. We’re also very eager to hear what you think (the good *and* the bad) to help us make the new site even better, so please do make use of the Suggestions link at the bottom of every page.
Thanks, and enjoy!
- the entire Yahoo! Widgets team
P.S. The launch required some DNS changes, so it may take a few days for everyone to see the new site. We apologize for any funky behavior between now and then.
October 26th, 2007
If you think we’re talking about jungle cats, you can stop reading now.
For the rest of you, I don’t need to tell you that today is the day Mac OS X 10.5 (Leopard) is getting released. I also probably don’t need to tell you that Leopard doesn’t play so nicely with the current version of Yahoo! Widgets. Rest assured, we have a fix coming. In the meantime, we ask patience of our Mac faithful. We promise, it’ll be worth the wait.
September 18th, 2007
Desktop software is messy. Install, update, and uninstall are hard problems for both developers and consumers. I can’t imagine anyone’s happy with the status quo, and it’s even more challenging if you’re delivering software via the Internet (and who isn’t nowadays?). But now, we’ve taken a big step in improving things for Yahoo! Widgets authors and users with our brand-new Widget Badges, which enable users to download a Widget and all the required components directly from a snippet of code embedded on any web page.
You may have already noticed some improvements in the Yahoo! Widget Gallery with the release of Yahoo! Widgets 4. Instead of those plain old download links, each Widget now has what we call an in-page installer. There’s a button for each Widget that just works, no matter what components a given user requires – it opens the Widget if the user’s already got it, installs the Widget and even the Yahoo! Widgets application if needed, or updates the Widget if the user has an old version.
This new functionality has gotten rave reviews from both users and authors since it launched back in March. And the number one request we’ve had from authors is to be able to offer this kind of “it just works” experience directly from their own sites. Now we’re answering that call by empowering you to seamlessly deliver Widgets right from your own page. Your users can install, update, and open your Widget without ever leaving your site – whether or not they already have the Yahoo! Widgets application installed.
We’re very proud to have worked with GirlSense, one of our leading Widget authors, to deploy the first implementation of the new Widget badges. As you can see from the GirlSense site, the new Widget badges let anyone show off their own (or just their favorite) Yahoo! Widgets on their own page. And of course, the badges can be customized to match your site using our handy badge-o-matic. So, go check it out!
My team works on desktop software distribution across Yahoo!, and we’ve delivered hundreds of millions of copies of hundreds of versions of different apps over the years. We’re excited to be partnering with the Yahoo! Widgets team to put that experience to good use in improving the author and end-user distribution experiences for the thousands of Widgets in the Yahoo! Widget Gallery. The goal for all this in-page installer magic is to reduce the barriers that Widgets face as desktop software and increase your reach to a wider audience. Konfabulator™ is the leading platform for delivering web services to the desktop, and the distribution team is excited about finding new ways to make the Widgets you develop as easy for your users to get as possible.
- Derrick Whittle
Yahoo! Distribution Platform