Catalyst Conference 2008

Burton Group Podcast

Blog powered by TypePad


software

October 18, 2007

Ethics, Ideology, and Pragmatism

Blogger: Joe Niski

JoeniskiofficialThe week started with this stimulating interview with Grady Booch, in which he makes a case for examining the larger implications of what we do while deftly avoiding taking a stand on any of the issues the interviewer tossed his way. He also put in a good word for Computer Professionals for Social Responsibility. After reading the interview, several events of this week seemed to fall together under the broad theme of ethics, ideology, and pragmatism in the wide world of software.

First, Eric S. Maskin shared the Nobel Prize in Economics with Roger B. Myerson and Leonid Hurwicz for their work on mechanism design theory (started by Prof. Hurwicz). In 2000, Maskin co-wrote a compelling paper on why software patents are more likely to stifle than stimulate innovation. At the risk of oversimplifying, he shows that the software companies, users, and innovation in general all benefit from the free exchange of ideas and plenty of competition. It's a quantitative argument about an issue that typically flames the ideological passions of programmers and ISVs - how refreshing!

By mid-week, the US Patent Office rejected much of Amazon's patent claim for one-click shopping. While bloggers are alternately rejoicing and compulsively analyzing the legal fine points,  it's nice to see a little common sense coming from the USPTO - even if it's the result of a challenge.

And today, Canonical released version 7.10 of Ubuntu Linux. After trying numerous versions of numerous distributions on my aging no-name laptop, I've been having a lot of fun with 7.04 - it's the first Linux I've been able to get working with multiple monitors. While Ubuntu is known for its ease of installation and use, it's also looked down upon by some Linux and open source purists for some of the tradeoffs made in the distribution. One of these is an admirably pragmatic way of providing closed-source software - a "restricted" repository that integrates with Ubuntu's software-management system, but is separate from the primary distribution. It honors the the OSS ethos, without limiting users' freedom of choice in the software they install.


August 15, 2007

What are Widgets and Gadgets?

Blogger: Richard Monson-Haefel

Richardmonsonhaefel

In case you haven’t noticed, there have been a lot of new software start-ups and initiatives by major software vendors around the concept of widgets and gadgets. A widget is a small GUI application (both visually and computationally) that provides information on, or an interface to, a very restricted set of functionality or data.

In many ways a widget is analogous to a gage on the dashboard of your car. Just as automobile gages provides information about a single aspect of your automobile (tachometer, speedometer, oil level, gas level), software widgets provide information on a single aspect your personal, public, or enterprise data.

Here is the definition I use for software widgets and gadgets:

A small footprint application that provides relevant on-demand, personalized, encapsulated information from a predetermined data source.

Widgets and gadgets (which I’ll call collectively widgets) got their start in the computing industry back in 1984 when Apple Computer released Apple Desktop Accessories as shown in figure 1.

Appledesktopaccessories

Microsoft followed suite with their own calculator and clock widgets, but really Apple Desktop Accessories were the first set of software widgets available for mass consumers. These widgets were essentially applications you used to perform minor functions (i.e. calculator).

In 1996 PointCast introduced another pre-cursor to today’s widgets – a set of small applications that provide information from a specific data set in what was called “push technology” (see Figure 2). PointCast went away but the idea that widgets could provide information or an interface to applications whose data is accessed remotely was important.

Pointcast

Also in 1996 and about the time that Microsoft released its first real widget product, Active Desktop, Bill Gates said the following (which may have been somewhat self-serving at the time but is also prophetic).

“the future of computing will revolve around" these small, Internet-connected applications that would live on the desktop, "blurring the distinction" between individual PCs and network and Internet servers.”
Dow Jones International News, Quoting Bill Gates, 1996

Widgets as we know them today and as defined in the definition provided at the start of this article were fully manifested for the first time by a product called Konfabulator (figure 3) for Mac OS X in 2002. Konfabultor was acquired by Yahoo! and became the foundation for Yahoo! Widgets.

Konfab

Today there are several widget products to choose from all of which promise a dashboard like experience for mass consumers. You can divide widget products into three categories: Desktop Widgets, Web Widgets, and Mobile Widgets.

List 1: Widget Products
Desktop Widgets Engines
• Apple Desktop Widgets
• Yahoo! Widget Engine
• Microsoft Gadgets
• Google Desktop
• KlipFolio Klips
• Opera Widgets
• SpringWidgets

Web Widgets
• Google AdSense
• Flickr
• YouTube
• SnapShots
• LineBuzz
• ClustrMaps
• Microsoft Gadgets

Mobile Widgets
• Openwave Mobile Widgets
• Opera Platform
• S60 Web Run-Time

There are at least seven widget products (see List 1) for the desktop and more are being introduced every quarter. The objective for most of these widget products is to provide services to mass consumers but there is also a growing interest in widgets for enterprise consumers. This would make sense for both tacit workers and developers. For example, developers can use widgets to monitor CVS check-ins or transform binary to Hex. Tacit workers such as sales people might have a widget to monitor updates to client records (Salesforce.com widgets?) or merchandisers might use widgets monitor sales at brick and mortar stores.

Each widget product has its own “widget engine” which is essentially a runtime application that provides a framework for developing, storing, displaying, and updating widgets. Google Gadgets, Yahoo! Widgets, and Microsoft Gadgets are all widget engines. Desktop widget engines are in fact “fat clients” that you install on your desktop – making each widget a “little fat client”. Mobile widget engines are resident applications on the mobile phone. Web widgets also have an engine, but it’s remote. For most web widgets whether its Google Adsense or SnapShots – there is a server application that makes the data you are interested in available.

Ideally you should be able to develop a widget for one engine, say Google Gadgets, and have it work with all the other engines (Yahoo! Widgets, Apple Desktop Widgets, SpringWidgets, etc.), but that’s not the case and it probably will not be for a long time. The impetus beyond creating widget engines (beyond advertising revenue) in the first place is the potential for creating a widget market place where the widget engine vendor acts as the middle man between those creating widgets and those purchasing widgets. Making widgets portable across desktops removes the ability for widget engines to differentiate. Without differentiation there is no reason to choose one widget engine over another.

In the future it seems likely, IMO, that the open source community will develop a widget engine that will initially fail to capture people’s imagination but will eventually become THE platform for mass consumer widgets. The enterprise may also adopt the same open source engine, but that will take more time. For a while, vendors that provide enterprise, communication, collaboration, and content (e.g. Microsoft and Adobe) will dominate the enterprise landscape for widgets.

The fast growing widget industry is really a good thing for consumers. Widgets are lightweight and powerful providing you exactly the information you need and nothing more. Personally, I enjoy using widgets and find them most useful on my iPhone where built in widgets such as YouTube!, Weather, Stocks and Maps have become invaluable.

(Btw - I’m pretty sure that Apple has a plan for a widget engine for the iPhone that will enable third parities to create and sell widgets through iTunes – an idea that was proposed in a conversation among Burton Group analysts. Keep your eyes pealed for that – Ajax is not that last word on widgets for the iPhone.)