Welcome!

Java Authors: Elizabeth White, Michelle Drolet, Pat Romanski, Richard Moulds, Martin Etmajer

Related Topics: AJAX & REA

AJAX & REA: Article

Enterprise Widgets: The Story So Far

In the Future, the Desktop Will Become the Enterprise Front End

A desktop widget is a small application that provides very focused information from a predetermined data source. Desktop widgets generally have a small footprint, are of fixed dimensions, and provide information “at-a-glance.”

A widget sounds a bit like a dashboard, but unlike dashboards, widgets allow you to input data as well as view it. In addition, desktop widgets generally run on a widget engine, which is a runtime environment that may be ported to two or more operating systems and provide security, local-management, and access to system and network resources through platform agnostic APIs. Dashboards, on the other hand, tend to be stand-alone applications. Figure 1 shows the general architecture of a desktop widget engine.


Figure 1: Architecture of a desktop widget engine

Desktop widgets have been around for a very long time. The first set of desktop widgets were introduced by Apple back in 1983 with their release of Apple Desktop Accessories (see Figure 2).



Figure 2: Apple Desktop Accessories (1983)

Obviously Apple was way ahead of the curve, but these early widgets were not Internet enabled – the popular Internet, as we know it, didn’t exist – so their utility was pretty limited.

Although there were assorted forays into Internet connected widgets in the late 1990s, most notably in push technology provided by PointCast and Microsoft’s Active Desktop Update, it wasn’t until Konfabulator (see Figure 3) came along in 2003 that Internet widgets truly arrived. Today it’s hard to imagine a widget engine that doesn’t connect to the Internet – at least one that is useful.


Figure 3: Konfabulator (2005)

Konfabulator was eventually purchased by Yahoo! - becoming Yahoo! Widgets, which offers a fantastic assortment of consumers-oriented desktop widgets – things like clocks, weather dashboards, stock tickers, music streaming, etc.

Today there are many widget engines including Dashboard on Mac OS X, Google Gadgets, Microsoft Gadgets and about a dozen other widget engines from small vendors, freeware, and open source projects (see this list on Wikipedia).

What strikes me, however, is that all of these widget engines are designed for fairly trivial consumer-oriented tasks. There are very few widgets for the enterprise. I’m only aware of one vendor that offers enterprise widgets, Extensio, but they are not in the business of providing a widget engine; a platform on which other vendors can build widgets. Extensio’s widgets are tied to their own proprietary Information server and while interesting they hardly represent a platform on which an ecosystem of enterprise widgets can grow.

What is needed is an enterprise widget ecosystem. The ecosystem would have to be portable across the most common desktop operating systems and it would need to be backend agnostic. The Fit Client, the Grand Convergence of the web, RIA, widgets, and client/server applications, is the best kind of platform on which to build an enterprise widget engine. You could build an enterprise widget ecosystem on top of Fit Clients such as Yahoo! Widgets, Google Gadgets, Adobe AIR or the like, but the requirements for enterprise widgets are different from consumer widgets so perhaps a new platform is needed.

First and foremost, the enterprise widget platform needs to be secure so that widgets are restricted to a sandbox independent of other widgets. At the same time, however, the ability to link widgets together so that widgets can act as data feeds for other widgets (Extensio does this to some degree) is also important. Another important requirement is manageability. An enterprise widget engine needs to provide centralized management and provisioning so that the IT department can monitor who is using which widgets and deploy and remove widgets over the network from a central location.

The question that comes to most people's mind when I talk about enterprise widgets is, “why would the enterprise need widgets in the first place?” Good question. I think the answer lies in the narrow focus of widgets. Organizations that write their own software, or even those that use packaged ERP software, tend to provide mammoth client applications (desktop or web based) that provide much more functionality than any single employee needs. One employee uses one set of windows and menus while another uses something different, but they all use the same application. That in my mind is not very effective. It would be better if employees could have only those input forms or views on their desktop that they need and wanted. If you buy that argument, then you have an excellent use-case for widgets.

The idea of each employee having a few to a dozen small enterprise widgets on their desktop may seem like a maintenance nightmare, but actually it would be much easier than maintaining a mammoth interface. For one thing each widget could evolve separately so that you could update functionality without having to do a huge application release. The narrow focus of widgets also makes testing, maintenance, and development a lot easier. In addition, if the backend data sources are accessed as micro-services (very granular web services) or REST resources, then creating new enterprise widgets would be much easier than adding new features to a large desktop client.

Enterprise widgets provide a win-win for everyone. Tacit workers can have a more focused desktop – just the views and input forms they want and need – while IT has an easier time updating and adding functionality.

The enterprise widget platform is very different in many ways from the traditional mammoth front ends we are used to. They allow an organization to be more nimble and its workforce to be more effective. In my opinion, the days of large enterprise application front ends are coming to a close. In the future, the desktop will become the enterprise front end and every employee will have exactly the enterprise functionality they want and need.

This column appears exclusively at SYS-CON.com. Copyright © 2008 Richard Monson-Haefel.
(This copyright notice supersedes the one auto-generated at the foot of this page.)

More Stories By Richard Monson-Haefel

Richard Monson-Haefel, an award-winning author and technical analyst, owns Richard Monson-Haefel Consulting. Formerly he was VP of Developer Relations at Curl Inc. and before that a Senior Analyst at The Burton Group. He was the lead architect of OpenEJB, an open source EJB container used in Apache Geronimo, a member of the JCP Executive Committee, member of JCP EJB expert groups, and an industry analyst for Burton Group researching enterprise computing, open source, and Rich Internet Application (RIA) development.

Comments (4) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
G Lamptey 04/06/08 03:16:18 PM EDT

Interesting article. I was involved with enterprise portals with Yahoo! with relative success in the enterprise space. With the growth of widgets will there be the same pattern where the likes of the big players like SAP, Oracle and Microsoft provide enterprise widget platforms. Of course Google and Yahoo! will also be in this mix and probably leading it. Is there any traction in this offering? I am currently involved in an initiative with a large enterprise that requires a 'widget platform' to serve 30,000 customers. What would be the starting point now to source a platform that is secure and could be bought and hosted by the enterprise?
thanks

Gregory Patnude 03/31/08 06:03:47 PM EDT

Interesting concept: Essentially -- deploy desktop applets to the point of use vis. a vis. SOA / Web Services.

Harness a group of related applets into a Window / Frame or another widget container and you have an MDI-style application.

In fact -- I would even argue that an application is nothing more than a collection of widgets anyway...

Not to be a naysayer but I think that the Desktop has always been the front end to the enterprise and I dont see that changing anytime soon.

Tomato... Tomatoe... Is Notepad an application or a Widget ? What about Calculator ? Both.

I think we can find a new buzzword here: Appliwidget.

Bill 03/30/08 12:52:19 PM EDT

Enterprise Desktop Widgets are not at all new, SAP introduced them beginning of 2007. You can access CRM functionality, Enterprise Search and more via these widgets.

Sangeeta Patni 03/24/08 07:45:34 AM EDT

Quite right!

The needs for enterprise widgets are very different from consumer widgets. Not only do enterprise widgets require centralised management and provisioning, they also need to connect to different enterprise applications, such as ERP and CRM. The way we look at it, it requires another piece, a thin server - call it the Widget server, if you will, that handles data sourcing from diverse sources, in addition to taking care of user provisioning and security.

Further, enterprises would also need an on-premise-installation option for the Widget Server, for many enterprises have not moved to on-the-web installation for most enterprise apps, and indeed, may never do so, for reasons known to all to us.

We, at Extensio, also have a few ideas, that are this time being baked in, to provide a platform that vendors can build widgets for. So, keep a watch out for us!

In the meanwhile, thanks for the mention!

-Sangeeta,
Co-Founder, Extensio Software,
www.extensio.com