A while back, when the AJAX toolkit was in it’s initial form, I created a sample that used a then new technology called Konfabulator (now Yahoo Widgets) to create a couple of desktop widgets. At the time, it was a pretty cool and powerful way to bring salesforce.com and platform data to your desktop.
Since then, I have had the great pleasure of working with Ron Hess (Platform Evangelist for salesforce.com) and James Ward (Technical Evangelist for Flex at Adobe) from Adobe. Together, over a 7 day span, we ported the current AJAX toolkit to Flex and ActionScript. The result is the ability to create Rich Internet Applications (ala AJAX) that natively and easily use the salesforce.com platform as the data layer.
This also means that, since Adobe Apollo is based on Flex, you can create these RIAs outside of the browser. Thanks to a great demo application in the category of "Stupid Apollo Tricks" called Bounce that illustrates a full screen, transparent apollo application, I started thinking again about desktop widgets. That of course lead back to the original K-widget, the modified Day Planner widget, that shows events and tasks assigned to you in salesforce.com. This is the simplest thing that I thought I could make that might be useful.
I have published a wiki page here were you can learn about this widget app and examine, download, and leverage the sample code. This Apollo app is just a proof of concept and likely has some bugs, but with the rich component set and functionality of Flex/Apollo (not the least interesting of which is charting) it is my sincere hope that you will create very compelling and diverse widget type Apollo apps.
So, how is this different from Yahoo Widgets? Yahoo widgets are very powerful (I think you can do more with Yahoo Widgets, such as launch and control other desktop apps), but they are hard to build. I am definitely graphically challenged when it comes to manipulating and stitching together images and the other parts that make up a Yahoo Widget.
Using Flex, and in particular the Flex Builder IDE, makes this so easy that anyone can create amazing Apollo desktop widgets.
Don’t get me wrong, I love Yahoo Widgets, but it’s so hard to build good ones that I have not done it in over two years. With Flex Builder, the Flex Toolkit for Apex and ActionScript I am once again excited over the possibilities for desktop widgets.
What I haven’t figured out yet (remember, Apollo is in Alpha) is how to securely store credentials and other settings and preferences. Because of this, you will need to login every time the widget is launched.
Oh, by the way, to get the edit, detail and add new to work – you will need to make sure your Developer Edition account is using the Console and that you have mini page layouts for task and event or deselect the "Use Mini Layouts" display option in the settings.
I’m still learning how to animate layouts so it may be a bit jerky. I wonder if I could make this an offline Day Planner (hint, hint). Try it out, check out the source, enjoy!