Blog Archives

Flash and Silverlight Coverflows

After reviewing a few different flash coverflows, stumbled across the following:

Flash gallery:
http://flash-gallery.com/?c=104&gclid=CPTvuPDCj6cCFUHt7QodfwQFbw

Weber Design Labs:
http://www.weberdesignlabs.com/blog/2007/09/flash-itunes-cover-flow-version-2/

Flash XML:
http://www.flashxml.net/cover-flow.html

Flash Components.Net:
http://www.flashcomponents.net/components/flash_galleries_and_slide_shows/flash_stack_and_coverflows.html

If you’re not opposed to silverlight however, I encourage you to check this one out by Telerik:
http://www.telerik.com/products/silverlight/coverflow.aspx

Advertisement

Change WPF Toolbar and Window Skin

Took me some Googling to come across some good links to help me find exactly what I was looking to do. Hopefully my post gets enough hits that you’ll come across my title sooner rather than later, and can benefit from my time and research. 🙂

If you’re new to WPF, or even if you’ve been using WPF for some quite some time, you may or may not have noticed that theming and skinning is not relatively straight forward, and there are many different ways to achieve the end result visually.

If you’re using WPF simply to learn the new technology, understand that there are pro’s and con’s to WPF vs standard Winforms, and although the latter is technically “legacy”, depending on third party controls you may or may not be using, implementation in Winforms can be very fast and may still be a better option for some projects.

Here’s a simple grid I’ve come up with to help you decide which to use:

  WinForms WPF
Supports Skins No Yes
Uses graphics resources to render No Yes
Easily bind controls with data No Yes
Easy to design a form with drag+drop Yes No
Some cross-platform compatibility with Mono Yes No
Easily customize look and feel of controls No Yes
Already comes with most controls/visuals needed for business app Yes No

As you can see from the table above, if you are trying to quickly knock out a business app that is not going to require heavy visual modification or too reliant on databinding, it’s probably faster in WinForms. Also, I have personally deployed WinForms cross-platform (Mac, Linux) using mono, which I could not get to work with WPF.

Overall though, for most environments, WPF is usually the way to go if not for visual flexibility then for databinding (why are you using windows client apps again?:P).

One ways listed above that WPF really comes out on top is in utilizing the computer’s graphics card and other graphics resources to render forms. The WPF objects on the screen are still contained in a form however, and many theming examples override the draw methods on the forms themselves which don’t properly utilize the effectiveness of WPF.

In general, I have found there are at least three different ways to change the look and feel of your application in WPF:

Using Silverlight Themes
Using Office Themes
Using your own Custom Themes

If you download and install the Silverlight toolkit (not to be confused with silverlight SDK or silverlight client), you will automatically get multiple dll references which contain XAML themes that can be re-used in WPF. This is a quick way to make your WPF app look good without too much work.

Office themes are pre-built in, and a common choice for many beginner WPF skinners. They share common visuals which you see in many office apps and give your application a more up-to date look and feel with some recognizability by your users also, similar to how Mac applications all share a common theme.

This is also always an option, but be prepared for a long and ardous task and a few lunch days with your favorite designer. Microsoft expressions studio comes with all the tools needed to make your controls as beautiful as you like, and implementing and inheriting from these visuals is actually relatively simple, but when you apply the time it takes to make one control by the amount of different controls you may have, there is alot of work involved. Also for re-usability, you’ll want to put all your custom controls/skins in their own assembly which increases the time even further. If you’re short on time (who isn’t :P), this is not a good option, but in the long-run this could be very beneficial and give your applications their own gleam.

See references for links on how to implement the above and other information regarding skinning and theming in WPF. (The reference links are in order of my google “stream of consciousness” :P)

References
WPF Skins (this blog), <a href="https://ronniediaz.wordpress.com/wp-admin/post.php?post=1250&action=edit
MSDN Blog, http://social.msdn.microsoft.com/forums/en-us/wpf/thread/c87d508b-9195-4a68-831f-315b64520fcf
Codeproject Article, http://www.codeproject.com/KB/WPF/WPFBusinessAppsPartOne.aspx
Stackoverflow Blog, http://stackoverflow.com/questions/260098/any-free-wpf-themes
Codeplex Article, http://wpfcontrib.codeplex.com/wikipage?title=Themes&referringTitle=Home&ProjectName=wpfcontrib
WPF Tutorial.Net, http://www.wpftutorial.net/Expander.html
Silverlight.Net Blog, http://blogs.silverlight.net/blogs/msnow/archive/2009/02/09/silverlight-tip-of-the-day-91-how-to-apply-themes-from-the-silverlight-toolkit.aspx
MSDN Social, http://social.msdn.microsoft.com/forums/en-US/wpf/thread/3c66adb7-fd26-40c7-8404-85f6fefbd392/
C-sharp Corner Article, http://www.c-sharpcorner.com/Resources/Detail.aspx?ResourceId=667
Browsoft Article, http://www.browsoft.com/tutorials/DefaultTheme.html
Jan-Cornelius Molnar (Blog), http://www.vb-magazin.de/forums/blogs/janm/archive/2006/06/19/4655.aspx
MSDN Official Blog, http://blogs.msdn.com/b/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

Best Video Players for Developers

This article covers some of the best video players on the web. Note that these are not standalone players, such as VLC, though some are offered on some of the sites below. These are mainly actual controls that can be embedded in a page for video playback, similar to YouTube, etc.

Personally, I think Microsoft Silverlight offers the best options in video playback (Netflix agrees), but unfortunately it does not (yet) support playback of flv/f4v files, which is the majority of content I have worked with.

The List (See references below for links):
Silverlight Native
SLVideo Player
Moyea
ESA Flash Player
JW Player
Open Video Player
Open Source Media Framework
FlowPlayer
JCPlayer
FLV Player

Price: $0
Complexity: Intermediate to Advanced
Review:
The Silverlight native and SLVideo player on Codeplex, as well as other Silverlight players available by other vendors such as Telerik are excellent choices in re-usability, functionality, performance and customization. If you have control over the source video format or only have a few videos you can easily convert over, I would recommend going with Silverlight.

Price: $100+
Complexity: Novice
Review:
Moyea offers a powerful suite of tools which can be used to customize the look and feel of the player right out of the box with alot of different skin options available for additional as well.

Price: $49 – $299
Complexity: Novice – Intermediate
Review:
ESA HD flash player is a surprisingly not well known player, that is pretty awesome in terms of functionality and skins. The fact that I rate it above JW Player should be a statement in itself if you’re familiar with the latter. Their customer support is also awesome. They can help you get started quickly, and make you feel like you paid for something high quality when you actually get to speak to someone who knows what actionscript is :). They also cost much less than other players when you consider multiple sites and even offer a new distributor license so you could resell the player itself with your own branding!

Price: $89 (1 site) – $200 (50 sites)
Complexity: Novice
Review:
JW Player is one of the most popular players out there. Though a free version is available, it is watermarked, and depending on how many sites you are going to be using it on, licensing can get pricy very quickly. This player does have a large following however, and community support, as well as skins and other resources are very easy to get and allow you to deploy something custom very quickly.

Price: $0
Complexity: Advanced
Review:
Open Video Player is a very powerful flash player which has all the features you could ever need, HD streaming, etc. Complexity is advanced however, and although a generic implementation is quick to whip up, you will likely need to do customization for your needs which means opening up CS5/Flash Studio and cracking open a red bull. Their documentation and “starter” tutorials are also not for novices, but if you are an intermediate flash developer or advanced video/media specialist this is the way to go.

Price: $0
Complexity: Advanced
Review:
Open Source Media Framework is also utilized in Open Video Player, but if you’d like to try your hand at creating your own player, I would recommend reading the documentation on OSMF and plugging it in directly, and using Open Video Player only for side by side comparison. If you’re trying to get something out quickly, this is probably not the way to go.

Price:$95 (1 site) – $395 (100 sites)
Complexity: Novice
Review:
FlowPlayer is actually pretty awesome, easy to use and probably underrated by many. It is free to use with watermark, but one of the major downsides is commercial licensing is very expensive (similar to JW Player). JW Player’s community size and skin archive are probably the only reason I would rate it above Flow Player.

Price: $89
Complexity: Novice
Review:
JCPlayer is a nice little no fuss easy to deploy solution, similar to JW Player or FlowPlayer, for about the same cost. Their licensing is a little confusing however, and overall turned me away. Another downside is the player is developed in CS3/CS4, so any customization would have to be done in legacy Adobe systems (current version as of this article is CS5).

Price: $0
Complexity: Novice – Intermediate
Review:
FLV Player can get the job done, and best of all – it’s free. Unfortunately, it doesn’t compare as much visually to some of the other players above. If you don’t mind the watermark or paying a bit of cash, I would recommend one of the paid alternatives above, however, if your wallet is thin and you don’t mind getting dirty customizing the looks a bit, this might be a good solution for you.

References
VLC, http://www.videolan.org/vlc/
Silverlight, http://www.silverlight.net/
SLVideo Player (Silverlight), http://slvideoplayer.codeplex.com/
Netflix, http://www.netflix.com/
Moyea, http://www.flvsoft.com/products/
JW Player (LongTailVideo), http://www.longtailvideo.com/players/jw-flv-player/
Open Video Player, http://openvideoplayer.sourceforge.net/, http://openvideoplayer.sourceforge.net/ovpfl/akamai_multi_player/Konfigurator.html
Open Source Media Framework, http://osmf.org/
FlowPlayer, http://flowplayer.org/
JCPlayer, http://www.jcplayer.com/
FLV Player, http://flv-player.net/
ESA Flash Player, http://components.earthscienceagency.com/flash_media_player/
Telerik, http://www.telerik.com/products/silverlight.aspx

OAuth Specs and Protocol

The OAuth protocol defines a common data structure for communicating between websites.

This relatively new format is increasing in popularity and used in many different sites including Facebook and Google. Microsoft has even added support for it in its latest WCF RIA services. (See my article with silverlight links below).

Read the full spec at IETF or try out some sample code.

References:
IETF, http://tools.ietf.org/html/rfc5849
OAuth.net, http://oauth.net
Quick Silverlight References, https://ronniediaz.com/2011/01/17/quick-silverlight-references/

Quick Silverlight References

Most of the links below are relatively introductory, but they do serve as a quick refresher if it has been awhile since you have worked with Silverlight.

Though not all of the links are specific to SL4, I would recommend a path of RIA services in conjunction with ADO .Net Entity framework for your business apps as these new process flows simplify the project structure and are improvements upon their predecessors.

For quick “agile” development, Linq to SQL is still the way to go IMO, but ADO .Net is also great nonetheless.

Walkthrough creating a silverlight business application (4.0 or later) and retrieve data using WCF service.
http://www.silverlight.net/learn/tutorials/silverlight-4/aspnet-and-silverlight/

Using ADO .Net Entity Model / Framework with Silverlight (4.0 or later)
http://msdn.microsoft.com/en-us/library/ee796239%28v=vs.91%29.aspx

Silverlight custom data forms (3.0 or later)
http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Customization.aspx

Basic Animation in Silverlight
http://www.silverlight.net/learn/videos/silverlight-videos/basic-animation-silverlight-3/

General Reference (all versions)
http://www.silverlight.net/learn/

Run Silverlight on Desktop (Out of Browser Application)
http://www.silverlightshow.net/items/Silverlight-3-as-a-Desktop-Application-Out-of-Browser-Applications.aspx