My Headlines

Wednesday, July 4, 2007

Deploying a ClickOnce Rich Internet Application

by Don Burnett

As some of you know I have been working to create a Rich Internet Application version of my website. The application is still a "work-in-progress", but I have been making a lot of progress at it. The application user interface was developed in Microsoft Expression Blend and Visual Studio 2005.

The application has four screens.. To minimize screen real-estate, I used the WPF Tab control for navigation.

The splash screen looks like this..

FolioRIA

The work screen implements the IdentityMine "Blendables" 3DCarousel Control, which is similar to Apple's "Coverflow", in that you get sorted content cards in a three dimensional space. The control is very cool and can let you databind to an XML datasource.It also uses the 3dTools.DLL from the WPF 3d team, to let you navigate in 3D. You can click on any card in 3D space and have it bring it to the front.

folioRIA2a

The contact page is almost the standard type of form you find on a website, nothing very exciting there. The media page implements streaming video over the Internet. It places a media element control, Blend was used to setup the play button, which in this case is just an image that triggers a mousedown event when the graphic is clicked on that triggers a timeline and video to be streamed or played through the media element.

FolioRIA4a

And finally the blog tabitem or screen. It embeds a winforms control element alongside the WPF elements, and in this case I instantiated an IE browser control from winforms and fed it my blog's URL. Very simple but effective, and you can embed a browser in about four lines of XAML.

FolioRIA3a

And that's the app at the moment. There are still some finishing touches, but it does most everything the website does and I can set it up to click install into the user's start menu using "clickonce" install or set it up to automatically start up from a DVD. Here is what the web based installer looks like.

clickonceinstaller

4 comments:

Anonymous said...

I thought you might be interested to know that you do not have to interop with WinForms to get a browser in your WPF app. You can simply use the Frame control and set its Source property. Check out my brief explanation here: http://devlicio.us/blogs/rob_eisenberg/archive/2007/06/19/introducing-ninja-browser.aspx

Don Burnett said...

I knew about frame tag but being an old web developer who hates anything with frames, iframes, etc., I decided not to use it.

I also want to show off that I know how to do interop, so, I felt this was a cool thing to show off, with the idea that people might see how easy it would be to actually start mixing winforms and WPF and might be inspired by it and for people to know I have no issues with it..

I had seen someone create a wpf blog editor using your frame methodology.

I love your blog by the way, I am gonna have to add you to my list of watched blogs..

Thanks for your response..

Unknown said...

Thanks, Despite the title of my original post, I think I agree with your post.I like it when we can use framecontril and set it source property.

Don Burnett said...

Can you guys think of reasons when you wouldn't use it? If you want tighter control of what they are navigating to and from. You can control just about all aspects of the information being presented with my approach. The other is just basically throwing IE in a window.