Defining the WWW (Widget Wild West)
Widget
It's a word that most of us use a lot to mean a lot of different things. Some popular classes of uses include
- A small web application that can be inserted into a webpage. Examples: Twitter widgets for your blog, etc.
- A small web application that is opened by a desktop container. Examples: Yahoo Widgets, OSX Dashboard Widgets, Vista Gadgets, Google Gadgets, etc.
There are lots of variations on these, but these are the general high level ones.
I think widget, though a common tool within the tech vernacular, is both stretched too thin and vague enough to be completely meaningless. The question is, do we need another set of words to throw into the current eddy of Web 2.0 terminology?? The answer to that question depends on your goals.
I think we need both a more accurate way of talking to each other as g33ks, and a more sticky way of talking to our non-pocket-protector'd counterparts. I think this is actually a pretty simple thing to do.
TinyApp
This word is familiar and abstract. It is evocative and potentially intriguing. It's also easy to remember TinyApps are just that: tiny applications. They don't have to be tiny in value (though they can be), but they have a small footprint. Note there is no qualifier as to technology here, they could be anything: a feature in your new car dashboard, a mobile tool, a statusbar applet ... whatever.
TinyApps come in lots of classes, and these all have decorators.
TinyApp Classes
This is not intended to be an exhaustive list, but these are the primary flavors.
- Desktop widget
These include but are not limited to Yahoo & Dashboard Widgets and Vista & GOOG Gadgets. - Web widget
An application built to be accessed through an website. These include iGOOG apps like the Slashdot app and My Yahoo! apps like the BoingBoing feed. - Componentized app
AKA, c11d apps. Applications that are purpose built for an external API. Examples include the Top Friends Facebook app and Plaxo Pulse OpenSocial app. - Mobile app
Small apps that plug into a mobile device, like iTweet or Orbitz TLC. - Browser extension
An application that extends the functionality of a web browser like the Compete Toolbar. - Desktop extension
This is a small feature that is integrated into the OS Desktop, like GOOG Desktop Search.
TinyApp Decorators
Once again, not exhaustive...
- Mashup
Takes features from one or more existing services and adds one or more additional features. - Offline/Online
Can perform functionality whether connected to the internet or not. - White-labeled
Can be branded and provisioned to external partners. - Cross-platform
Works on more than one operation system or web platform. - Extensible
Fodder for another mashup, or can have additional features added by a developer community. - Customizable
Allows the user to set configuration parameters. - Personalized
Looks at user profile data and adjusts features and content according to rules.
$0.02
If we start to call things something like TinyApp when we are writing and talking, people will start to see the connections between these different types of services, which will drive adoption and acceptance outside of the geekosphere. If we then use a one to many linking of class/decorator system we can start to speak more intelligibly to one another about what specifically we are trying to describe. A lot less activation baggage.