- A sender, a Receiver, a Subject, a Message, a File to upload and a checkbox to accept terms (see www.velodoc.net/login.aspx);
- A progress bar to monitor upload progress;
- A professional look & feel;
- To be developed in 3 to 5 days max.
- http://windowssdk.msdn.microsoft.com
/en-us/library/ms722795.aspx - http://msdn.microsoft.com/library/default.asp?
url=/library/en-us/sidebar/sidebar/overviews/gdo.asp - http://microsoftgadgets.com/Sidebar/
DevelopmentOverview.aspx - http://www.microsoft.com/technet/scriptcenter/
topics/vista/gadgets-pt1.mspx
A windows sidebar gadget is a piece of DHTML hosted in the sidebar. Generally what you can do with DHTML can be done in a gadget.
There are limitations though, most of which are related to the browser security sandbox. Effectively a gadget is hosted locally, which has impacts on how it can communicate with remote web sites.
In particular, developing a file upload gadget with a progress bar in DHTML requires a cross-domain iFrame and scripting the iFrame in this case is forbidden. I have tried two nested iFrames which gives you scripting but the deepest iFrame opens in a new browser window instead of within the gadget. The only workaround I have found in half a day is to display the progress bar in a new browser window, but this does not look good and I was not prepared to lose more time.
So, I have considered XBAP WPF browser applications and although there is no File Upload control, I seem to have found the foundations for a file upload gadget here:
- http://blogs.msdn.com/mszcool/archive/2006/04/25/
583317.aspx - http://blogs.msdn.com/karstenj/archive/2006/10/04/
WPF-Vista-Gadgets-_2D00_-Part-1_3A00_-Using-XBAP-and-IFRAME.aspx - http://laurenlavoie.com/avalon/154
- http://www.codeproject.com/csharp/uploadfileex.asp
But WPF development is really early stage, development environment is primitive, documentation is lacking and I got worried about some warnings related to the sandbox that are mentioned in the literature quoted above.
In these circumstances, the only alternative was Macromedia Flash. I have even found a couple of examples running on the web. I have hosted them within an iFrame of a bespoke gadget and there I was: at the end of day one, I had my design and a fully functional (but ugly) prototype. Further documentation is available at: