Skinning in Beverly Hills

On a Flex 2 project in Beverly Hills, California for the week with 3 others from my team at Universal Mind. It’s apparently a long term project (as most Flex ones are compared to most Flash ones). I’ve fallen into the role of skinning; basically what I didn’t seem to effectively convey at MAX.

I take a Phothoshop comp, flatten the effect layers and render the text ones. I then import it into Fireworks, and rip out the good assets, and save as individual PNGs. Those that are better as vector, I rebuild (yes, RE-build) in Flash, and export out as SWFs. I then either embed them in Flex’ CSS to button skins, embed the images in the MXML, or extend one of the Programatic skins.

Nahuel Foronda, my co-worker and one of the winnners of the Flex Derby for his Real-estate App, found a way to get bitmaps into Programmatic skin classes. I always thought you couldn’t because they all extend Shape, and thus only allow dynamically drawn vector content, but flash.display.Graphics DOES have the beginBitmapFill method, so you CAN blit bitmap content very nicely. It’s very cool for some of the bitmap designs that cannot be scale 9’d, but can be tiled. He also found a better way to scale some our dynamically created content. While a Repeater thrown in a VBox could work, it didn’t in Flex 1.5, and the drag and drop capabilities of the List are easier to code. Basically, a Canvas in a Canvas. The inner canvas holds your content. Eloquent!

I’m constantly put on projects where the designers have no idea the capability of the platform they are designing for, mainly Flash & Flex projects. The bigger the scope, the less communication there is beteween the 2 teams. A lot of these projects on the Flex side are your cliche “database driven” project, but more and more are incorporating a lot of design, so much so one could argue they ARE design driven. The problem is, I’m still not seeing information architects in any official capicity, and on the Flash side, the Creative Directors seem to not participate.

In short, we have a long way to go to improve these processes, ecspecially in Flex & Flash projects.

For example, not every skin I’ve implemented was 1 line of CSS. Some required a significant amount of programming effort. Thus, we’ll have multiple “programmers” on the project, some even guys n’ gals doing both back-end and front end development at the same time. Me? Yeah, I’m coding, but I’m merely incorporating design elements. The other co-worker here did a really good job at putting the interface together, so I already have all the plumbing there; I can basically paint my way to making the app look good. It’s an interesting role. Even more interesting is that I STILL cannot get away from using Flash on these projects. There is always some need on a Flex project for it I’m finding. It’s not a bad thing, or a good thing, just an observation. Unfortunately, “Flash” the IDE in any capacity makes the traditional developers nervous for maintainability reasons, but I usually pawn it off to designers to maintain the FLA. Doesn’t always work, hehe!

I think one thing that would help designers is to open up the Aeon FLA that comes with the Flex 2 framework, and see what’s capable. For example, I’m constantly getting designs with no over or down states. Those I do are still only 3 states. Most designers I’ve worked with don’t know a Flex Button has 6 states with a total of 9 different skins. On the Flash projects, they get free reign since the timeline obeys the designers whims, and I’m expected to code it. Regardless, I think it’d be easier for the entire project and cheaper for the client if the designers would design the Flex interface in Flash in the first place. This would make it easier for a production artist like me to put their design into Flex without ruining their original design in the process. A lot, though, have no idea what platform they are desining for, nor it’s capabilities. This is fine, but it’s pretty easily solved; get a Flex developer in the meeting where they are making design decisions.

In the end, it’s all about communication. So, if ya got silo’s, well, that never is conducive. If you emailed me in the past week, sorry I haven’t responeded, really busy here. Mail & Gmail are filled with unread emails.

5 Replies to “Skinning in Beverly Hills”

  1. hey man, I am right by beverly hills. Would be cool to meet up for a quick hello, maybe a few beers? give me a shout if/when you can, i’m good for whenever.

  2. Hey Jesse,
    Maybe at some point when you have some free time you can do a little example of taking a design from photoshop and incorporating it into Flex?

    Still being a Flex newbie I would love to see the process in action from someone who has done it.

    Thanks,
    Ben

  3. Hey Jesse, great article. What is your thoughts on creating a skinning architecture where you use something like FZip to zip up all the images and then load it into flex at runtime and then skin these ontop of the flex buttons.

    Just a thought — im trying to get away from the flash ide to just have everything as little jpegs that get zipped as a package. I dont know if its worth it though.

  4. Jessie, great observations and they match my most recent experience in designing a flex app using skins. I really wanted my skins to be all graphics, all Flash assets (or at least contained in one Flash movie, either as a bitmap or vector or both) or all done programatically. Unfortunately that was not possible. Flex is very well designed framework but the skinning portions of it seemed to have been tacked on at the end or at the very least given short shrift compared to the many other areas. I would love to see more work done on skinning in Flex and make it more consistent across different component types in the future versions of Flex.

    For a view of the skin and application, take a look at http://www.sesivolvo.com/inv.cn?crt=pagekey=84%26startpage=1%26locationid=200012%26make=Volvo,%26type=N as you can see it is heavily skinned and I had to use alot of disparate resources to do it all. This way of skinning goes against my better judgement because of maintainence issues over time and a lack of good documentation due to the usual “no time for it” excuse. But even if I did have time for it, it rubs me wrong the fact that I need to document “how” I skinned something. As a web developer and designer I have never needed to go that far in documentation before. All of a sudden with Flex, skinning has become part science and part art and very difficult to convey.

    John Shuell

  5. Jesse,

    I hear you on the delights of skinning. I make all my skins in one swf (whether they’re vector or bitmap) from flash and call them out in a css file. Seems to work okay. It seems that’s what you do too.

    I love the level of customization you can achieve with Flex.

    John – That skin for the Volvo site is really nice.

    You can see some themes that I made at http://www.scalenine.com. Let me know what you think.

    Juan

Comments are closed.