I was just having a conversation with Ryan (through the medium of geek – aka twitter and blog comments) and we established a concept of “enterprise widgets”.

It’s not really a new concept rather than a different outlook on the “widget” concept. It is also something that Apollo is an ideal platform for developing.

In Ryan’s post he demonstrated use cases of when to focus on a browser app vs when to focus on a desktop app. One of the points about when to target the desktop was:

You’re building a “widget” application. Widgets are becoming bigger and bigger (in terms of capability) and you just can’t run a widget platform inside the browser. Widgets need to be accessible from the desktop, where they can take up a small space and be easily moved around. The browser restricts that too much.

He then asked for other ideas to which I responded:

Something that I’ve been harping on about a bit lately is the opportunity of a “desktop web service” (service in the desktop sense, not a web service). So that’s not too clear and a better term is needed, I think an example is in order:

Say you were a trader and wanted to be notified when certain things happened to rates/markets. With a desktop app you can have a form of service (or invisible app) that runs in the background watching the trading web services, when something pertinent happens you can fire into action informing the user.

This is a use case for a desktop app as you don’t want the user to rely on having a browser window open on a specific website.

Clear as mud? Wicked, I think i need to go away and create this application to aid my ill-eloquent thoughts-to-text abilities. 😛

Ryan alerted me to the fact that my suggestion IS a widget of sorts. However, for myself, the term widget conjurs up the image of a small funky looking app that runs on your desktop and is used for fun, interest or time-passing E.g. weather reports, RSS readers, traffic warnings etc. In light of this I hadn’t associated my example (a corporate or enterprise type application) with the term “widget”.

So an “enterprise widget” is essentially a widget with or without a UI which can run as a desktop service until some event or action happens that would require further interaction with it (or another desktop or web application).

Another idea that could be classed as an enterprise widget is
Grant Skinners gTimer – I don’t know the specifics of this (it looks very cool and a something I’ve been wanting for a long time) but it could potentially run as an invisible application on your desktop (or just an icon in the system tray) and only prompt for client/project details when you open/close files and applications. Therefore negating the need to conciously update your timesheets when you switch projects.

Basically any action you need to take that needs to be responsive to some event or information change you can setup an enterprise widget to monitor activity and prompt with the necessary action based on certain flags. E.g. you could have an RSS reader that spurs you into a blogging frenzy whenever anyone mentions a specific term or technology you’re interested in.

Apollo seems to be the ideal choice for developing such enterprise widgets because of it sits squarely on the line between desktop and web. Making use of web services, desktop presence and desktop chromelessness (a word I just invented) are all key elements of the enterprise widget.

I’m not sure “Enterprise Widget” is the best term because, as I mentioned earlier, I don’t associated “widget” with a business tool but maybe that’s just me or maybe there is an existing definition that might be a better fit. I initially referred to it as a “desktop web service” but that was just plain confusing. Ideas?