Who does design and develop Style and Layout while developing silverlight application? - silverlight

In your company, who does design and develop style, layout in xaml, Designers? or Developers?
Are there enough designers who are able to deal with xaml or blend?
Are they willing to touch Blend?
In my company, Developers do all those jobs except making images.
I am so confused nowadays if this is right direction.
Give me a advice.

I'm the developer and the designer too. I think developers love blend, because it is very simple, and it is easy to create attractive interfaces (the greatest programming/design IDE i've ever seen). But i never met a silverlight designer, who is not a developer too. I think it will be happens in the future, that completely separate design and coding, but not now. Maybe in a new programmer generation :). I think its very important for a silverlight/wpf designer, to know, how this new binding concept works. Programmers knows it already, so it is much easier to do coding and design for yourself, than ask a designer to learn blend and the silverlight/wpf things, because they think it's coding...but blend is simply clicking...but you must learn it, and you must understand xaml hierarchy and syntax and everything...
So i think they must go to a training class, with developers, and learn the new things together. Than they can separate things. Designers are much lazier than developers, but they need learn new things too.
I think i'm lucky, i love design & coding too.

A Coder's perspective:
Silverlight is certainly gaining momentum, but in the design industry it is a relative newcomer.
I personally know of only one UK company that actually uses specialist "XAML designers" side-by-side with their Silverlight coders (but the results there are not anything special). I'm sure there are more but it says something that I have not seen many.
At my current major client, there is a real need for GUI design work, but that will be done by traditional designers (e.g. in Photoshop) and although I am a hard-core coder by trade I will likely be the one that "Blends it". Luckily I really like working with Blend (and Sketchflow). I rate it highly for coders, as it does so much more than the VS 2010 editor, and I tend to do only XAML tweaks in VS 2010 (and all my code of course).
Designers are not lazier. They have a different skill set - one that I do not have myself and have come to admire. The really good ones can produce amazing results, but even the worst ones are much better at pure design than me. I do not expect non-coders to sit at a desk for 12 hours straight solving problems like we are prone to do (but non-coders usually have better social lives) :)

Related

At what case will I need to use WPF?

I am developing a small desktop application in VB.NET. It has to be formal like a business application. Will I need to use WPF?
As I heard it's good for building a richer UI, and I would love to work with something new. But I also have the notion that it's mostly used for graphics rich applications - videos, animations, etc. I do not know much about the .NET technology as I am beginning to learn.
Can I have some guidance regarding this?
Now that I know WPF - and in particular, now that I understand binding, commands, and the MVVM pattern - I'm not going to use WinForms again. WinForms is fine if you're developing simple, static UIs that aren't ever going to change and if you don't care how they look on machines other than your development workstation. But once you start needing more, your UI code gets more and more complex and difficult to maintain.
WPF applications seem more complex at first, particularly if you think of WinForms as a hammer and your approach to learning WPF is to pound in nails with it. But once you understanding binding and templates, and adopt design patterns that take advantage of those technologies, the complexity melts away. There's bureaucracy - implementing INotifyPropertyChanged and dependency properties and RoutedCommands is pretty tedious, and it feels like there's maybe an abstraction layer missing - but if you look past the surface cruft, WPF applications are actually a lot simpler than WinForms applications. Binding a collection of objects to the ItemsSource of an ItemsControl and implementing a DataTemplate for those objects accomplishes in a very small amount of code and work what would be a considerable effort in WinForms.
You don't need to use it.
You can use it very well for non-graphical tasks
It will take a bit of a learning when you're used to WinForms.
My advice: most certainly give it a try. It may not be economical for your current (small) project but consider it an investment in your skills.
Small desktop apps, especially business-like ones with forms and text boxes and minimal froofiness, will be fine as Windows Forms. If you don't need the extra power WPF gives you, don't worry about it -- there's a bit of a learning curve anyway, so wait til you need to learn it or have time for a personal project where you can experiment with it.
I find it spectacular with even small business-like applications (and really nice for large-scale systems). Getting that 'professional' look is in my opinion a lot easier in WPF compared to Windows Forms. And not having to deal with 'event-soup' is a definite plus in my book. My ratio of errors has gone down considerably switching to WPF.
It takes some learning, sure (just un-learning Windows Forms takes time). It took me about half a year before I had the same skill level as I had with Windows Forms, but I'm still increasing in speed today (I've been using it since .NET 3.0 came out).
And I agree with Henk - certainly look into MVVM if you decide to give it a go - that's where WPF shines.

Is there a XAML/WPF/Silverlight style guide?

From .NET Rocks! Show #488:
Richard Campbell: "In the GDI world we
got a document from Microsoft that
said you will build your apps in
battleship gray and here's now they
should look: File goes here and Help
goes here, and we all got that as
developers. There's no book like that
for WPF. There was this idea I've got
to find the guy in a black turtleneck
and here is his piece of software and
you guys go play nice now."
I think Microsoft now wants every Windows application to look like the ugly, difficult-to-use, hardware-bundled crapware we all hate!
Is there no such best-practices document?
There is a Windows User Experience Interaction Guidelines document that Microsoft makes available. It might be along the lines of what you are looking for, but it isn't specifically a WPF or Silverlight best practices guide.
Nobody has paid much attention to MS ui guidelines in a very, very long time (including MS). It is a big part of the reason why every app on windows looks and behaves different from every other app.
Depends on the guidance you're looking for. The primary reason everything was battleship grey in Winforms was less because the Microsoft guide said it should be (it didn't) and more because that was the default and it was a pain to write it differently. Even now, I would imagine that the bulk of the LOB apps written with Silverlight or WPF will use default colors and styles for exactly the same reasons.
But a lot of the other UI guidelines can still apply. If you want something the looks and feels familiar, there's no reason that you can't make a standard menu bar with File, Edit, View, Help, etc. You can still use the same hotkeys, same commands, same layout for buttons and controls.
Keep in mind though that these guidelines were written with assumptions about software and computers in general that are no longer true. The dominant paradigm has changed and people are far more used to websites with different UI layouts and richer visuals. As a result, visual style is a lot more diverse and people are less likely to be confused by some non-standard layouts and controls. Which doesn't mean that anything goes, just that we should feel less contrained to keeping things in the exact same order and position, lest our customers freak out because they can't find the save button.
In short, the style guide was there because there wasn't enough for a real designer to do but still enough that we developers could make things ugly. Now it's even easier to make really ugly stuff, but there's a lot that a real designer can do to make it nice. So hire one. It's worth it.

WPF for non designers

Is delving into Microsoft's WPF worth it for a programmer who does not have design inclinations and no designer on the team?
I think so. The knowledge you take away from building simple screens/controls will help when creating custom controls for use across your app if/when a designer is hired. The real beauty is, if you're following MVVM with your WPF app, your UI can later on be more easily tweaked/replaced since the VM layer is already there handling the data behaviors.
I think a distinction should be made between design and user-experience. You can design a good GUI experience for the user with no creative flair or design inclination, just common sense and the ability to get feedback from users.
Ensuring a consistent interface, good flow and sensible cues are not design decisions in the arty sense of the word. It is like an architect making sure that the front door of a property is obvious ... and letting a designer pick the ornate decoration of the door. Art-design (color, pattern) is a creative design because many combinations work whereas GUI design is user-centric and so it has to work with their expectations which (unless designing a new application) tend to follow fixed convention, expectation and visual cues.
Any type of GUI experience is good for a programmer ... just as the API is the interface to the library the GUI is the interface to the user (the bit of the chain that counts).
Even though I don't design windows GUIs I make it a priority to sample good design in the area to stay ontop of user-expectations of software's capability in dry areas such as text-input. If users have grown to expect predictive input in most fields ... it helps to know when programming non-GUI elements.
Bit long-winded, but good reasons I think :)
I don't think WPF is all about designing with development. It's true that it does provide a great separation but it's not the only thing it does. It was great support of Data Binding which itself can save you tons of lines we repeat over and over again. Plus in order to make a good looking GUI, you don't really need great skills. I work with designer here and I don't think that I"m getting something big out that I coudln't do myself. But there are some really good designers as well. Also if you browser around some wpf apps, you'll get a good sense of how to design good wpf apps.

Is WPF & SilverLight Design worth learning

For a developpeur who as to do a project with WPF or Silverlight (xaml code), is it trial to learn some design (basics) and to handle blend? Beacause in France there isn't much blend professional (compare to photoshop users) and the price/day of a blend designer is very high.
What I am sure is there i ain't no artist, but it could be interesting/fun to learn something that different then pure code. So my question is mainly for designer or developpers that had to learn some design, is it that hard for a custom design?
The principle of design are not difficult to learn but they're not always easy to put into practice and that's why it's considered an art rather than a skill. Certainly WPF/Silverlight is a designers dream as far as desktop UI is concerned since it's VERY flexible so you'll find few restrictions on what is possible when compared to other technologies. Blend works well with them too and it's not that tough to learn.
To start learning design as a developer, i'd suggest you take in as much material as possible and pratice,..a LOT. Read design blogs like the ones here and read plenty of books. Some good starter books are The Non Designers Design Book, The Design Of Everyday Things and Don't Make Me Think. I know they all really help when i started to look into UI and interaction design.
Hope that helps.
A great way to find your way in the design world is the Principles of Design Series on Microsoft Showcase. These videos explain things like Rythm and Unity.
There are a lot of other videos that should help to find your way around Expression Blend and Silverlight.
One thing that works for me all the time is to look what others do and use that for inspiration in you own design. Just google-image or bing-image for you are designing or see if it is in the Infragistics UX explorer.
I understand your question as I went through the same thing. I've done plenty of web sites over the years, but I never felt as though they had the "zing" a good graphic artist could provide. Because of this, I had concluded some time ago that to really take my skills to the next level I had to learn at least some graphic design, but I never did anything about it.
That changed when I started learning WPF. I quickly decided that I needed to learn some basics, especially when I started using Blend which was a whole new world after living in Visual Studio for so long.
To jump start my graphic artist education, I took an introductory course at our local community college. It was worth every penny: I was exposed to principles of design and some key software products like Adobe Photoshop and Illustrator. Understanding them made Blend finally "click" for me. The experience has proven invaluable to me as a WPF developer, and I would recommend it to anyone interested in UI work.
WPF Silverlight have a lot of power however even when mastered it takes a lot of time to design a simple form say using a tab control using lots of grids with rows and columns and stack panels than it would on a normal desktop. Also it can be quite sloppy looking back at the XAML code just from a design point of view unless your using lots of windows which i try to avoid, i would rather have a tab control with each tab acting a a window. Anyway from a design point of view it is much more time consuming than a desktop application. You will find a lot of developers will use it as they are not good in code behind. So it depends on the program you are writing. ?You can make your program look very good from default controls and the listview is always a great control. Many will disagree because they think they are great developers and most likely will talk the usual no one want's to hear!

What do I need to excell at Silverlight development?

To be a 'silverlight' developer, is it basically asking for both programming and graphic skills?
Or is it just a matter of implementing the graphics into the silverlight project?
i.e. can you be a silverlight guru and yet not know heads from tails when it comes to graphic design?
To be a silverlight developer, you really only need to know a .NET language, event driven programming, and how to use markup for XAML. It's pretty simple really; the XAML describes UI elements (which can all be handled by the designer) which can then be used in code as a .NET object is created for each UI element.
Knowing graphic design is just a bonus.
If it's anything like Flash (and, from what I understand, the "finished products" can have similar capabilities), you don't necessarily need to be a designer. I'm part-flash developer and I don't have the first idea about anything related to graphic design :)
When I do flash programming, 99% of the work I do is in Actionscript. We have a couple of asset prep guys here who extract the visual elements and add them to a library, which us developers then use in the flash app.
Like I say, this is assuming there are some similarities between Flash and Silverlight (which, for all I know, may not exist). Good luck!
thats the power of xaml, both coder and designer can work in one language ;)
I've done a couple of WPF and Silverlight projects and I have terrible graphic design skills. You can certainly do Silverlight without having that type of skillset.
However, even though you can do some attractive work in those projects without having graphics skills it still very useful to have access to somebody that does have the skills.
For example, adding small animations to glassy-looking buttons can be entirely done by a programmer. But adding attractive backgrounds to form headers (other than gradients) is still better handled by a graphics guy. (In my opinion, of course)
It is not strictly necessary to be a good graphic designer, knowing how to develop .NET applications and XAML is sufficient. However, it's like drawing, all you have to do is to hold a pencil and move your hand, but if you have a good sense for art, the result will be better. Since in Silverlight your potential targets are Internet users and they're used rich user interfacese (maybe Flash based), if you know how to organize your elements, which are the best colors and things like that, your work will be easier.

Resources