What is a Widget?

by Ed on July 10, 2006

An interesting topic came up in a meeting recently surrounding what a Widget is. What is it? Should they be small an extremely lightweight in functionality, or should you be able to write some moderately complex things with the technology? There is a continuum of possibility, but where should one draw the line? Should there be a line at all?

Certainly the current attitude has been that they should be small mini-applications, and not try to approach the complexity of a full-fledged desktop application, such as a word processor or mail program. But really, where do you draw the line? If you look at our current FIFA Widget, it’s actually quite complex. It’s merely a data display device though… lots of data in a compact form factor. However, Something like the Yahoo! Address Book Widget has much more functionality: not only can you view your address book, but you can add and remove entries right in the Widget. Have we gone too far, or not far enough?

Certainly the current engine we have isn’t going to be used to write anything as thorough as something like Photoshop. But given time and resources, we could add the necessary support. The question of course becomes “why”. That’s what’s not clear. One of our goals has always been to make it very simple to dabble with writing Widgets. The more complex you allow the platform to become, typically the greater the barrier to entry becomes. I do think we have an advantage in that we don’t need to shoehorn what we want to accomplish into any existing standards, for the most part (though as time passes, we are attempting to use more standard idioms and names for things). This does allow us to have a very low barrier to entry while still allowing more complicated things to be done. And we do in fact have plans to make some of these complicated things even easier in the future.

Another point about going the full toolkit route: we could certainly add all the functionality in the world, but then we’re almost doing the same thing as something like XULRunner. I think for Widgets, XUL is too much. The sheer number of things available to use can make the simple hobbyist who just wants a server monitor balk. Do we want our engine to be that large and complex? If there is a line, that seems way over it. And since XULRunner (mostly) exists, it’s not clear that we’d even want to go down that road for our engine anyway.

So I think the answer is that at least for the duration, Widgets should remain small, lightweight, and quick and easy to put together. I still don’t know where to put that line, but I think we’ll have an idea when we’re up against it. When that happens, I’ll let you know 🙂

{ 0 comments… add one now }

Leave a Comment

Previous post:

Next post: