Before you can really learn how to create widgets, it's best to identify what kind of widget you're actually trying to create. The term "widget" covers a wide variety of applications, but the basic definition is an application that can be installed and operated on a web page, without any further compilation of code. An offshoot of the banner-ad technique of advertising, widgets became more popular because of both their interactive nature and the ease with which they can virally spread.
Widgets are found through many different major companies, such as Microsoft, Yahoo, and Apple. Independent producers also create widgets for various social networking platforms such as Wordpress, Myspace, and Facebook.
Learning How to Create Widgets
Developing Necessary Skills
Developing some background in graphics creation programs is also a good idea if you want to create interesting and useful graphic user interfaces. Industry standards such as Photoshop, Illustrator, and Fireworks are all useful. This may seem like a daunting level of skill to acquire, and it's true that the best widgets are created from scratch by teams, not individuals. There are companies that are exclusively working to create widgets, such as Sprout, MuseStorm, and Konfabulator (which was later bought by Yahoo).
Apple Computer and Widgets
Apple computer has integrated widgets into the entire operating system of Tiger and Leopard, and in order to encourage development it has released a software development kit (SDK) along with tutorials to create widgets. These widgets do require some coding knowledge, and have a limited market due to Apple's smaller market share, but many of the skills and techniques required to create one widget are useful in creating others. Experienced developers usually have very little difficulty porting code from one platform to another.
Apple also divides the widgets into three categories that describe the development of all widgets:
- Accessory Widgets - Totally self-contained, these do not require an Internet connection or any other application on the computer. A clock is an example of this type of widget.
- Application Widgets - These widgets use another application, such as an address book or calendar, for a source and usually provide information in a simple interface.
- Information Widgets - Designed to gather data from the Internet, these will show stock prices, top music lists, or other items from the web. These widgets will not work unless there is an active connection from the computer to the Internet.
Easier Ways to Make Widgets
Several of the larger companies, specifically Microsoft and Yahoo, have also created entire online development environments, making it easier to create widgets with no coding necessary at all. Instead, users are given graphic interfaces on the web with configurable tools, along with lessons on creating widgets.
Microsoft's "Popfly" environment is a good example of this, and in a way the environment set up to help teach how to create widgets is a big widget itself. The site not only provides the tools and tutorials to create the widget, but it also gives many examples of other widgets made by users. Some examples include games, business apps, and location-specific widgets such as "Seattle Traffic Widget."
Web 2.0 Widget Apps
Many of these widgets build on the web 2.0 applications that have become ubiquitous to many desktops, such as Google Maps or Twitter. For the Seattle traffic widget mentioned above, for example, a combination of Google Maps, Flickr, and the techniques of RSS syndication are combined within the Popfly environment to create the widget, which can be either mounted in a web page or used standalone within the Windows or Macintosh widget environment.
Creating a widget is fairly straightforward in terms of the code itself. Anyone can do it. Therefore, the most important part will be determining what your widget will do, and how to present it. That will help it stand out from the thousands available, and ensure your own widget success.