Yahoo! Widgets

Yahoo Widgets is a discontinued free application platform for Mac OS X and Microsoft Windows, specifically Windows XP, Vista and Windows 7. The software was previously called Konfabulator, but after being acquired by computer services company Yahoo on July 25, 2005, it was rebranded. The name Konfabulator was subsequently reinstated as the name of the underlying rendering engine. The engine uses a JavaScript runtime environment combined with an XML interpreter to run small applications referred to as widgets, and hence is part of a class of software applications called widget engines. On February 27, 2012, Yahoo updated the License agreement stating that as of April 3, 2012 Yahoo! Widgets will continue to be available for download but support and development would stop.

Features
Yahoo Widget Engine includes some default widgets to get users started, including a weather widget, a digital clock, and a calendar among other things. Some of the most downloaded ones include a world time zone clock, dedicated countdown timers,  simple RSS feed readers,  and webcam viewers.

Each widget runs in its own system process, separate from other types of widgets and the main Konfabulator system process itself, thus improving the stability of the software application as a whole. Should a problem occur with a Konfabulator widget requiring it to be shut down, that particular widget can be shut down without affecting other widgets or the main Konfabulator application. A disadvantage of doing this was the computer memory needed for each process to run, which was possibly a potential problem on the computers of the time that were typically equipped with only 512mb-2gb RAM. This was a minor issue compared to the RAM consumed by the graphical nature of the widgets which could make them more RAM intensive than traditional square shaped desktop apps.

Heads-up display/Konsposé
Yahoo Widgets provides a feature that can quickly bring all open widgets to the top of the desktop. It can be activated by pressing a hotkey (set by the user). This causes all widgets to be brought to the foreground, and all other applications to be dimmed. Widgets can also be set to be Konsposé-only, meaning that they will only appear when Konsposé is activated. Initially called Konsposé (alluding to Mac OS X's Exposé), it was renamed to "Heads-Up Display" with the release of Yahoo Widget Engine.

(The) Dock
With the introduction of Yahoo Widget Engine 4.0, the engine has included a feature called the dock. The dock shows all widgets with representative icons. Widgets that do not specify images are either provided with their screen-shot from the official widget gallery or the default widget icon, both shown on the right. When rolled over with the mouse, the dock helps users manage their widgets with buttons to close a widget, show a widget's preferences, and reveal a widget from the head-up display. For users who prefer not to have a dock visible all the time, the dock has options to auto-hide when not active, or even close entirely.

Developer/API features
The Yahoo Widget Engine (Konfabulator) has a very flexible application programming interface (API) based on JavaScript with many features useful to developers. A few basic features include items such as text-areas, images, and timers. Other features include the ability to download webpages from the Internet, as well as file input/output, and animator objects to aid in visual effects. A built in interface allows widget developers to run OS specific code such as shell scripts and COM applications on Windows, and AppleScript on Mac.

As of Yahoo Widget Engine 4.0, SQLite has been included in the engine, allowing developers to create and modify databases. Also included with 4.0 is the Canvas class, which allows vector drawing. Canvas "images" can be saved to either a JPG or PNG image file. With the introduction of the dock, widgets can set their own dock icons. Dock icons support a small subset of the engine's features, so they have the ability to display multiple images and text. This is useful to widgets designed to be such things as a clock, or a weather forecaster. Also added to text objects is support for simple CSS styles for formatting. Another new feature included in version 4.0 is the ability to automatically check gallery downloaded widgets for updates. Previously only available to official Yahoo Widgets, this feature was enabled for all third-party widget authors on August 17, 2007.

Yahoo Widgets 4.5, released on November 29, 2007, introduced support for both WebKit and Adobe Flash, allowing development of widgets using XML, HTML and JavaScript as well as the capabilities of Flash. The WebKit support does not include plugins, so Flash is supported through the use of a separate native object.

Initial development
Yahoo Widgets was originally developed as Konfabulator, by a core development team at software firm Pixoria consisting of Arlo Rose, Perry Clarke, and Ed Voas. Originally released on February 10, 2003, as a Mac OS X only application which cost $24.95 (and later, with the release of version 2.0, US$19.95), its Windows version was released on November 8, 2004, with the release of version Konfabulator 1.8, and made freeware with the release of Konfabulator 2.1 on July 25, 2005, when Pixoria was sold to Yahoo. Shortly prior to this, Apple released a similar widget engine, Dashboard, as part of its Mac OS X Tiger operating system. Konfabulator's main commercial competitor on the Windows platform is DesktopX, developed by Stardock. Other programs offering similar functionality include Kapsules and AveDesk (for Windows), gDesklets (for GNOME), and SuperKaramba (for KDE).

The JavaScript engine used by Konfabulator uses the Mozilla SpiderMonkey implementation, and conforms to the Mozilla JavaScript version 1.5 standards (equivalent to ECMAScript 262 edition 3, with Mozilla extensions).

The idea of Konfabulator originated in 1998, when Arlo Rose saw how he could skin the MP3 media player running on his computer. His idea was to "skin any information you wanted to see on your desktop."

Prior to this, he had experience with Kaleidoscope, a skinning program for the Apple Macintosh operating systems, akin to WindowBlinds. He coined the term "Konfabulator" to describe his idea, and then tried pitching his idea to other software programmers. He was unsuccessful until the year 2002, when Perry Clarke (who would later become one of the core developers of Konfabulator) heard about his idea and agreed to work with him on the project.

On February 10, 2003, Rose and Clarke launched version 1.0 of Konfabulator. Before the launch, Rose created a teaser web site asking visitors what Konfabulator is, while it was still in development. When it was finally released, users of Konfabulator were highly impressed with the idea of widgets, and its popularity soared as a result, something which surprised the developers of Konfabulator. Due to its popularity, Rose and Clarke had to quit their jobs to work on Konfabulator full-time.

In July 2003, Rose and Clarke started working on a Windows version with another software programmer, but internal differences broke them up and they were forced to scrap the work already done. Later, Rose persuaded Ed Voas (who was then a friend of Rose and had 10 years of software programming experience at Apple Computer, and would later become the third member of Konfabulator's core development team) to develop a Windows version for them. Initially he declined, but later he created a working prototype and presented it to the Konfabulator development team within two days.

In November 2004, Konfabulator 1.8, the first cross-platform version of Konfabulator, was released. The Windows version was capable of seamlessly running most Konfabulator widgets written for the Mac OS X operating system on Windows machines, and vice versa. Some widgets developed later were, however, platform-specific.

A few months later, on May 18, 2005, the first major release of Konfabulator since version 1.0, Konfabulator 2.0 (sometimes shortened to K:2), was released, along with a visual overhaul of widgets, improved functionality, and a marked down price of US$19.95 from the previous US$24.95 (this was after many users, especially Windows users used to the idea of freeware and other cheaper widget engines, complained about the high price). The popularity of Konfabulator accelerated soon after that, and companies were seeking to use Konfabulator in their projects. In response to the demand for Konfabulator, and to provide a proper information source for widget developers (some of whom were scraping web sites for information for their widgets), the Konfabulator development team decided to sell Konfabulator to Yahoo.

Acquisition of Konfabulator
On July 25, 2005, Konfabulator was acquired by Yahoo, and Yahoo released Konfabulator for free. While the Konfabulator framework was renamed Yahoo Widgets, the underlying engine continued to be branded as Konfabulator until December 2005.

Yahoo said the reason they purchased Konfabulator was that they wanted an easy way to open up its APIs to the widget developer community and allow them easy access to the information on the Yahoo Web site. In doing this, widgets could be built without having to scrape or search web sites in order to get information regarding the APIs for widgets and the Konfabulator framework.

On May 23, 2006, the Universal binary of the Yahoo Widget Engine, version 3.1.4, was made available to users of Intel-based Macintosh computers.

In August 2006, Perry Clarke, the original engineer of the Mac version of the widget engine, left the Yahoo Widgets team, followed later by Arlo Rose himself. In August 2008, Ed Voas, who developed the first Windows version of Konfabulator, also left the team.

Closure
On March 2, 2012, it was announced that Yahoo would be closing down support for the Yahoo Widget Engine and closing the Yahoo Widget Gallery altogether. The announcement was made on the front page of the Yahoo gallery and on the Konfabulator forum. Yahoo claimed that the reason for closure was twofold - the cost of replacing the older servers that supported the gallery and the refocussing of human resources on the development of the Yahoo! Connected TV widget platform.

Current technical status
Windows – The Yahoo Widget engine operates on Windows XP, Vista, Windows 7, 8 and 10. On XP the widget has full functionality. On NT6 systems (Vista +) the sound control functionality is limited as Windows UAC does not give widget apps the right to modify the system sound control without administrator access, all other functions operate as designed.

Mac OSX – As of 10.11 El Capitan, the Yahoo widget dock no longer functions correctly. However, the dock can be disabled by editing the relevant .plist configuration file and the widgets then become accessible via the menu. Despite this relatively minor limitation, the widgets still operate as expected in previous versions of OSX.

Linux – The Yahoo widget engine was ported to Ubuntu Linux 10.10 and modified to become the Yahoo! Connected TV engine. The linux version is not designed as a standalone widget engine for running widgets on desktop Linux but instead uses Ubuntu as the host for an embedded o/s in television sets. However, it is possible to run Ubuntu linux 10.10 on a normal PC and run the Yahoo! Connected TV engine locally for development/testing purposes.

On March 30, 2018 - fifteen years after Konfabulator debuted, Yahoo (now under Verizon ownership) stopped allowing "Kon" apps to be published to the Yahoo! Connected TV engine, encouraging developers instead to offer HTML5 connector apps. This marks the final discontinuation of the last continuing branch of Konfabulator.

Disruption of the weather widget feed
As of May 2016 the popular Yahoo weather widget has stopped functioning. The weather widget was one of Yahoo's most popular widgets as it provided free access to Yahoo's weather feed. Yahoo has modified the manner in which the weather feed is accessed breaking not only the weather widget but all others programs and sites that attempt to use it. Yahoo's updated documentation stated: "To increase the security measure and better serving our YDN customers, weather data source will enforce OAuth 1 starting March 15, 2016. Please update your API calls with OAuth 1 enabled (via the OAuth /v1/yql end point if using YQL) using your Yahoo App key and secret."

As the weather widget is no longer supported, changes to fix the widget will not be carried out by Yahoo employees. However, as all widgets can be decompiled to their original JavaScript source code, the widget could be modified by developers to correspond to Yahoo's modified authorisation requirements or to obtain the data from an alternate weather source. Other widgets have been modified in this manner and already obtain the source data from such alternative feeds as https://aviationweather.gov/adds/dataserver.