I had a look at a few new dashboard widgets this weekend and the experience led me to the question of ‘what makes a good widget?’
I’ll start with answering the flip side of that question, what makes a bad widget.
Bad widgets are really sort of banner ads in disguise; their purpose is not to provide you any useful information. Rather they are really just tar-pits that reward any click on them with a trip to either some flash-advert-incrusted web site (to drive their hit count) or to some site offering you a ‘premium service’ for a fee. The most egregious do both.
Good widgets on the other hand are well thought out single (mostly) taskers that provide you with a good deal of information in a concise manner. I would put the weather, local traffic, package tracker, and flight tracker widgets (among others) in this category. With each of these, they either tell you what you want to know at a quick glance, or after a simple interaction (say, typing in a tracking number for a package).
It seems to me that the same ‘chunks of functionality’ that would make good widgets would also make good porlets (and vice versa). In both cases the developer needs to be focused on providing some real utility in a concise display and not simply creating another loathsome form of banner ad.
I should note that good widgets aren’t confined to Apple’s Dashboard and Java Portlets. The same concept could be implemented in Yahoo Widgets, Netvibes or even WordPress widgets (which I use extensively on this site). Alas, each of these has a different means of implementing so it is a bit of work to make your ‘chunk of functionality’ available on more than one.