The Silverlight Code – Design Gap

.NET developers tend to love Silverlight because it gives them the ability to write cool applications using programming idioms they are familiar with.  Everything about it screams out cool.  Furthermore, .NET developers do not need to learn Flash to get Flash-like effects.  They can drop into the XAML (good ol’ XML) in Visual Studio and start typing away with Intellisense standing by to help.

Expression Blend is a little trickier.  It is a different idiom and .NET coders have a hard time using it.  All the same, it is not completely alien.  A .NET developer can still drop into the XAML if he wants to, and it is possible to mentally translate between the drag-and-drop designer and the XAML that is produced to the objects one assumes are being generated at runtime.  The bits that are foreign are assumed to be there for designers.

Yet designers have not embraced Expression Blend and finding out why is essential to building an effective Silverlight development story.

Allison Richter recently joined the Silverlight Atlanta User Group.  In her introduction to the group she mentioned that she is a designer who is mastering Silverlight but finding the experience frustrating.  When I asked her about this she did more than simply offer a quick reply.  She wrote an enlightening essay on her website 2foldesign explaining the gap between designers and Silverlight coders.  You can read the entire essay here (the speaker she refers to near the bottom is Roger Peters, a lead Silverlight developer for IQ Interactive):

Reasons why designers may not be seeking a change to Silverlight could be that code is not necessarily their passion. Code is what allows them to place their design into a workable format. Kind of like when I paint, I may need to know how to stretch a canvas onto a frame so I can paint, but I do not love doing so. So code is a necessity, but not a passion. Most developers I know love to code. They love new code, new solutions. They would just as easily go home and work on the computer all night after coding all day for enjoyment. Designers want to pursue what they enjoy: design. Painting, drawing, logos, ID, branding. I know personally I’ll lay out $20 per mag for things like a new Image FX without a second thought to see what other people are doing. Yet I may not go out and research a new code language with as much zeal.

On the question of frustration, there are many many areas so I will name a few.

Blend/Silverlight creates a dependency. True, most applications will need a developer to work in concert with the designer to create a dynamic amazing product. I also recognize that Flash does not have the capabilities that Silverlight has. However first off when using Blend and Silverlight I had to be set up. This is off-putting to many designers. We want something we can do ourselves. Adobe has it’s products packaged up nicely and all we have to do is load. My developer had to help sift through the right files, work with dlls, set up my environment etc. I have all of my Expression software loaded, my Visual Studio hooked up, the toolkit downloaded etc. If I had started out on my own as a designer I would have already been lost. When I create with Flash, it’s one product in which I already know how to create everything I need to create, then drop what is published into my HTML and CSS …

My expectations before I started with Blend and XAML was that Silverlight would be like Flash. The Blend software itself is very unlike Flash in many ways. I would relate it more to ASP.NET than I would to Flash. The toolkit, the way you code in the XAML, the types of containers that you apply. These seem to be very much like ASP.NET …

The toolkit controls are difficult to edit. I will go and watch as many videos as I can before trying to create what I want. For example, I need to create an accordion. Yes, there is a tool for that. Yes, you can learn how to edit it. Most of the videos don’t explain all the parts of the XAML, they assume that you will just use the properties area in Blend. Then they jump to the code behind and start doing things that I would need my developer to do. So then I come to a grinding halt …

[Terminology] is misleading. From a designer standpoint things like border mean a tiny thin line. You learn to put colored borders on all your divs/spans … to see what you are doing in CSS. So now I’m created entire blocks of items within a border? A border has a background? It’s not familiar to a designer. This makes the comparison between what we know already and what the new code is maddening …

There is no one to ask. Most of the places I have worked after college, I am the only designer. Other designers do not want to work with new technologies. The old ones cater to the right side of the brain, so to speak. They know how to use these programs, and time is money. The forums, information, videos seem mostly to be for developers. As the speaker from last night said, there is no elusive Blend designer with a background in Flash – good luck finding one. You guys [coders] can pool your resources together and talk about what to do and how you got there, but there is not a large resource of people for me to ask.

2 thoughts on “The Silverlight Code – Design Gap

Comments are closed.