Thoughts on Silverlight

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 that 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. These things are familiar, I’m very good with these languages, and I can keep all of my visual styles very separate from the actual items in the page.

If I strictly use Blend and it’s design interface to create my designs, it puts code in that I do not necessarily know what it has made, whether that was the best option, as well as I haven’t learned the XAML. I do not like wysiwyg when I am designing. The Silverlight books I have found (very few to choose from) seem to be geared towards the developers. They start off with basics, but not enough of how or why. They do not list all of the possibilities that you may be able to use. Then they delve into areas that I know I will not be coding and do not understand at all. It is very back end directed and not designer directed. I think this will put off many designers. My developer being that he is versed in C# as well as many other back end development languages, seems to pick up easily on his best guess. Myself having no C# background, only what I have picked up at work, find that I struggle. I almost feel like I would have to go back to school all over again to learn backend coding to work successfully with the product.

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 more so that movie clips. The expectation of being able to click on controls that I have made and placed inside the page should take me down into the control like it would a movie clip. I can click on each one depending on how many there are to arrive at the piece I want. When I use controls, I have to find the control, open the control, check out the page. The ease of use is not there. It’s more like working in Visual Studio with ascx controls. The timeline with the recording is very touchy. I miss the timeline in Flash. I can visually see where everything is represented. Even if I have pieces of load movie that I’m having brought into my clips, I can still where I am overall. In Blend, not so much.

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. I need to understand the XAML as well as seeing what it does visually in the preview area. After many attempts you finally figure out how to change it into what you want it to look like in the header, only to find out that the item inside is non-editable. This defeated the reason I wanted to use it in the first place. Blend and XAML come across as an easy way for developers to have ready-made controls that they don’t have to change terribly much to make forms, and grids, and the basic functioning page. When I want to make something new out of the accordion example, the flexibility isn’t there yet.

Blacklight being integrated into the toolkit is great, but not everything I need is now included. So for things like drag and drop panels, I would have to add more memory to our project just to get one or two items I need. This is obviously going to be vetoed. I do not have the backend design background to just create this item all on my own. I need to have something I can manipulate fully, but it’s not there.

Expanders. There is the ability to create an expand with information that comes up under it. Great! If you take off the horrible button and try to make it an image, you have wrecked the storyboard. All videos/written examples show you how to modify the information inside the header and item. They do not exactly explain how to rip out the visual elements and change it into something that functions better on a designer level. It’s developers showing you how to drop in new text being pulled from somewhere. There is no footer. So If I want something to open in a jaw like manner, I would have no idea without a developer how to create this out of an expander. I feel like the toolkit isn’t versatile enough and that I am going to end up creating many buttons that trigger an animation instead of being able to modify something that is already there.

Things like, the words are 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 turn on and off 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. When I’m working with Illustrator, Photoshop etc, I expect a border to be something I can place around an object, not the container itself.

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 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 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.

I could go on but you may be cross eyed by now. I apologize. I guess the summary would be there is a disconnect. It is not friendly like Flash to a visually oriented person. The product isn’t a mature product yet, so there are many wants or needs that have not been fully fixed yet. The assumption that designers will only use Blend. I use both Visual Studio and Blend along with Design, Photoshop, and Illustrator to work, as well as other programs. The assumption that designers will only use the visual interface 99.9% of the time and that C# will not affect them much. The assumption that designers like to learn new code lol.

I hope this helps? I’m sure I will become less frustrated as I learn more just as I would with any technology. These are just my own frustrations as well as presumptions as to why people are not readily picking up Silverlight.