I have an application that does some searching (of CRM as it happens), which results in a list of email addresses which in turn are made available to an email template preparation/customisation app, which passes the resulting email text to an email previewing application.
The reason I do this is because I want to treat the searching and the email previewing activities as 'reusable' components - because they will be used in multiple customisable email template instances.
I want them to be reusable because I only want to write the code once and maintain it...rather than to have to modify multiple applications each time there is a bug-fix or enhancement.
I have considered all of the various options for reusing applications or components of applications...and while they can be made to work, for example using HTML view and iframes, when you do this, for a large number of email templates, you can end up with a lot of extra apps (or application wrappings). Or you can do lots of hiding and showing (for an example of this...have a look at the APITite stuff)...you could even using ZC's POST Url data passing mechanism to some degree, or inserting records in forms for later reuse by another stateless app.
It might be better if you could aggregate some fields into a resuable component with a 'black box' type interface that lets you pass parameters in and/or receive parameters out.
A bit like 'functions'...but with GUI elements - what might be called a widget(s), or perhaps in this case a 'user-defined widget'.
The good thing about these might be that people who develop them could add them to the 'marketplace' and share them for free, or for some payment.
Either way, they would be a good addition to ZC.
Regards,
Liam