Intro

    Our apps don't offer enough in-your-face annoying help that pops up seemingly randomly and offers "useful" advice. Noticing this, we decided to take a leaf from Microsoft's book and create Atlassian Clippy (tm), modelled on Microsoft's Office Assistant.

    Who?

    Eric Dalgliesh and Jason Taylor

    Aim

    Clippy aimed to provide helpful hints to users of JIRA:

    Implementation

    Jason created a nice series of animated GIFs for Clippy, the first of which is shown here:

    We placed Clippy into a gadget and used an iframe inside the gadget to display a JIRA instance.

    Clippy as a gadget turned out not to be all that useful. The Javascript security model prevents http requests to all but the originating server and blocks access to iFrames which come from an external URL. This meant that it couldn't, for example, determine which page the user was looking at and provide relevant information. A real Clippy would probably have to be part of the application, maybe as a plugin. The alternative would be to enable gadgets on all pages this is my first suggestion for improving the gadgets API. My second suggestion is to allow gadgets to proxy arbitrary calls through the original server in order to retrieve necessary information. It would be good if gadgets could easily get the current url (rather than the url of the iframe they are in).

    Suggestions for the Gadgets API

    Allow users to put gadgets everywhere, not just on the dashboard.
    Allow gadgets to proxy arbitrary calls through the server in order to get around the Javascript security system.
    Allow gadgets a way to get the url of the current page (rather than of the gadget's iframe).