There has been recent interest in Flex themes lately and a few sites stand out. Eylon’s Napkin Theme tutorial is an excellent presentation of what is possible by with Flex themes. Scalenine is compiling a list of available themes and also offers several to download. With the resent release of Flex 2.01 you can now use Runtime CSS and actually swap themes at runtime. Scalenine has an excellent example of a theme swapper. So what the heck is a theme? A theme can be as simple as changing the color scheme of your Flex application CSS. But for me, the real use of a theme is changing the entire look and feel of your application. You can actually change the appearance of all the built in components by updating a Flash file that contains all the built in skins for Flex. Here is a portion of a Flash skin that Flex uses:
As you can see, you can change each of the built in skin elements by editing the Flash file. This is an amazing ability to design your own unique look. Take a look at this Adobe skinning article for more information and the Flash skin file.
Flex applications are pretty easy to spot because they all basically look the same, with the same buttons and scrollbars. However, there are some sites that make the use of Flex difficult to spot. My favorite is Incito, a Flex-based blog application that looks like a regular HTML blog. It is nearly impossible to tell that it uses Flex. In my opinion, using a Flex application should leave the user wondering “how did they do that”. That was my impression when I first encountered Google Maps (and now MapQuest) and it was the same when I first saw Incito. The user expects an experience similar to the experience they find with a web page, but when you integrate Flex into this experience seamlessly, you have given your site a “surprise” and “wow” factor.
Another nice theme use is PicNik, a photo editing site. The site feels very much like a Web 2.0 (whatever those are suppose to fee like) application with chunky buttons and components and the default large fonts. It comes very close to the Google Maps experience but it also incorporates great feedback when the application is processing data or loading large images.
I am inspired by the resent interest in Flex skinning and look forward to sites that will offer users an incredible user experience without giving up the “how did they do that” factor. This inspire users to talk about and spread the word about your application.