Is Blend for me? RRS feed

  • Question

  • Ok, I know it's almost impossible to answer that question, whether Blend is for me or not, but here is the background.


    I'm a developer with years of experience, 10+ years with WinForms, 2+ years with WPF, and all of my WPF UI development done hand coding xaml in VS2008 and recently in VS2010.

    So I have a good grasp on WPF and the workings of WPF and I have done some simple styling for out app and created multiple customer controls, all with simple styling.


    Now, I would like to spice up our app, and doing this by hand and run the app to see the change is very tedious and time consuming,  so I installed the trial version of Blend 4 and tried to create a simple test app - but .. I'm pretty lost at how to use Blend, probably because it is geared more towards designers than developers. I have ordered 'Blend Unleashed' and I hope that will help me understand how to use Blend, but my question is:


    As a developer, not a designer, is Blend a good choice if I just want to 'spice' up an app?



    Thursday, October 20, 2011 3:02 PM

All replies

  • Note: I am a Microsoft employee, I work on Blend, my opinions here are not unbiased :)

    I think it is, for some of the reasons you mentioned. Even if you want to continue hand coding the xaml, the Blend design surface will show your changes without the build + run cycle. You will probably also find as you start to dig into Blend that many of the tedious things you had to do by hand simply become easier, especially around styling.

    An example is changing the template of a built in control, you just right click -> edit template -> edit a copy, now you have a copy of the original style, wherever you told Blend to put it, and it is referenced in the control. You are also in a template editing context where you can visually edit the style/template for that control. Just one example.

    Thursday, October 20, 2011 3:41 PM
  • Yes and No.  (my background is VERY similar to yours and my focus is developer)

    Here are some things you need to consider:

    1.  It would appear Blend 4 for SL and WPF is end of road, there is a modified version of Blend 4 that will work with SL5, but Blend 5 will NOT work with SL or WPF, it will ONLY work with HTML5, CSS, JavaScript.

    2.  Blend 4 is VERY buggy even after SP updates for it, any complex User Control (aka form/page) with nested Grid Layouts, Stack Panels, Tab Controls and it starts getting unyieldly to work with where Grid row/column placement will not work in the designer you have to edit the XAML directly.  Also other issues such as Accordion and the designer layout window not getting redrawen correctly (refreshed).

    3.  Blend 4 is SLOW, very very slow ... the more complex the User Control, the worse it gets (even on a high end PC)

    4.  The interface of Blend 4 is very difficult to navigate, it's like someone didn't think about how to present features in a "relevant" context and just tossed everything at you at once ... information overload ... it doesn't adjust itself well to specific tasks you are try to accomplished

    5.  Some elements of the controls you can't access or modify without creating copies of templates and them modifying the template ... good example, something as simple as changing the color of a button requires you work on a template and go set colors for all the states of the control ... not sure how this is supposed to help productivity?  A more intelligent way would to be set the button color once and the control would go thru all the state hue variants and adjust with some intelligent offset based on the primary color selected.  But this doesn't happen, you have to do A LOT of work for a very simple task.

    6.  Blend 4 has an Animation UI layout vs. Standard UI layout, however it's still VERY cumbersome to use with the "record" setting being place at the upper left of the design area NOT anywhere near where you work on the keyframe and or the properties you are animating ... it's a really bizarre interface.  Having worked on products like Cinema4D (Maxon) who know how to do animation interfaces, Blend is pretty bad.

    7.  VS 2010 includes a lot more "design" features than VS 2008 ... it doesn't have everything you can do in Blend 4, but it might have enough for your needs.

    8.  Template - terrible design process (sorry Chuck), in order to do anything out of the ordinary, you will have to create templates (most of the time a copy of existing template), this generates a LOT more XAML even if you want to do something as simple as hide the border around an Expander when it has the focus.  You basically have to regenerate the entire control just to change one tiny aspect of it ... this obviously leads to huge amount of XAML code bloat and impacts the performance of the application.  And it gets worse, most templates have other templates inside ... so you have a long list of nested templates, all of which you will need to "edit a copy" in order to again, make a very simple change.

    I honestly don't know what planet the Blend/XAML team were on when they produced this "concept" and "tool", but it has NOTHING to do with increased productivity and only encourages applications to have a more code bloat (read slower).


    Thursday, October 20, 2011 4:43 PM
  • wow - 2 very different answers. Thank you both, I will definitely try and work some examples once I get the book and then hopefully have a better understanding and be able to ask some more specific questions.

    2 & 3: buggy and slow, this is definitely a concern. The purpose is to make the UI developement faster, but if you have to fight the tool it might just end up being so frustrating that you end up going back to hand coding.

    4: difficult to navigate, yep, that I learned last night after I had installed the trial version :)

    8: Templates: One place where I spend lot of time is creating and styling data templates. Isn't this fully supported in Blend?, also, I just recently created a Toolbox control by redefining the control template for a TablControl. I assume in Blend you could do the same and then re-use this template on multiple controls, maybe just tweak some colors or header templates for specific 'tab' items, isn't that correct?

    Anyway, I appreciate the feedback, and I will make sure to give the trial version a 'good run' before deciding.



    Thursday, October 20, 2011 5:59 PM
  • Hi! Like Chuck, I'm also a member of the Blend team. I wanted to point out that Robin's comment #1 about Blend 5 is not correct. It was announced at //BUILD/ that Blend will continue to be a xaml platform tool, just 'not yet'.


    Saturday, October 22, 2011 2:55 AM
  • Steve,

    Care to expand on "not yet"?  Being vague isn't being helpful ... developers need to know where they stand, confusion, contradiction, being vague doesn't improve our understanding.

    Blend 4 leaves MUCH to be desired from stability standpoint (I can regularly get unhandle exceptions from Blend 4 - see my other thread), from a UI standpoint (something as simple a bookmarks in XAML ... there are none ... so I have to write down line numbers), the XAML editor is horrible with NO ability to goto defined elements (i.e. Binding datatemplates).  It's a horrible mess of XAML spewed out with NO organization and/or ability to navigate the XAML efficently.  So I resort to the Resource tab and it again spews out a long long long list of resource in "as is" order with no ability to search for a resource or even sort the resources alphabetically.

    And then we have visibility issues, draw refresh problems, and a host of other issues that get IN THE WAY of UI design.  I find myself editing the XAML more than working on the layout because it a very frustrating experience to try to work in the layout area (especially around Grids, column/row placement and movement).

    Blend 4 is the WORST development/UI tool I've ever encountered in my 30+ years of coding.  For any moderate to large scale projects it's just unmanageable.

    I'd highly recommend your Blend Team take a look at Maxon's Cinema4D R13 if you want to see a better and more efficient UI for design and animation.


    "For me, it is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring." - Carl Sagan
    Wednesday, November 2, 2011 4:56 PM
  • Just to add my two cents. There's a definite benefit to providing separation between development and design. I've worked in both capacities as either developer or designer. I found I enjoyed designing more and have since been more or less completely on the design side of things. Now then what I've learned after years of serving both roles is;

    a. Most of the time developers have no business trying to do design for multiple reasons.

         - Their time is better allocated towards their talent at development

         - They usually aren't as artistic and creative as they would like to think (the whole right brain / left brain debate.)

         - They end up wanting to over-engineer everything and create a messy big ball of mud with resources and assets

    b. Most developers are more than happy to hand off the responsibilities of the front end UI / UX to someone more suited which allows a designer to come in and keep things clean with little interference.

    Generally when I walk into a project the first thing I tell the developers to do is to stay the hell out of my front end. They normally just make a mess of things and over-complicate tasks that should be remedial. They love having the ability to have an option of either bringing an idea even if on a napkin, and have it come out presented it ways they just wouldn't have thought of, or simply building out what they require and slapping it up to have someone come and make it pretty afterwards.

    In that note, I hardly touch VS any more and work primarily in Blend and Graphic Design type applications. It's awesome for so many things if your project allows you the flexibility to try some creativity. As you said, you want to "spice up" an app. Creating custom control themes with uniformity across everything in my opinion requires a good designer. Which more companies are beginning to realize that even if you have the best developers in the world, these days your user will expect more from their experience that most devs just don't accomplish because they lack that particular acumen. Which in retrospect towards the potential success of your project, can make a good designer worth their weight in gold while developers are abundant but good designers capable of making more than just some cool looking graphics are not.

    So yes, I'd say if you don't want to work with a designer, blend is definitely for you to accomplish your goals. However if you tried someone experienced with UI/UX with a creative mind, you'll often find yourself sitting there saying "whoa thats cool! and I never would have thought about doing it like that..." plus it distinguishes you from everyone else who just applies a common theme with some over-used icon sets seen all the time.

    Again though, just my two cents, or perhaps just an advocate of my own job security haha, best of luck!

    Wednesday, November 2, 2011 8:08 PM
  • Hello Blend team! Let's talk for a bit...

    I too am a "hybrid" designer-developer and also, over time, have started to enjoy designing UI and user experiences more so than doing flat out coding and databases. I am also a devoted web developer as I think the web is the place to be when it comes to computing so I will champion HTML5 over any native technology.

    Right now I am very interested in Blend as my current developer job is in the .NET industry but I still have many lingering doubts about investing my time and money into your products (Blend and Expression Suite as a whole). I appreciate that, with the death of Flash on mobile and the rise of Silverlight on the Microsoft platforms (the rumor mill states Xbox is next), you guys have made an incredible move to actually compete in the graphic design/UI market.

    Unfortunately from what I cal tell, with Adobe scrambling to enter the HTML5 IDE market (with Adobe Edge) and all the other design heavy weights still around (Illustrator, Dreamweaver) I find that Expression Suite is just not doing enough...well it is doing "enough" but it needs to go beyond that, and Blend most importantly because to me it is the flagship product.

    With Windows Phone 7.5 here and Windows 8 just around the corner I really feel like Microsoft is not putting enough emphasis and resources behind the Expression Suite when the reality is that now is *the* time to start pushing these products on us professionals designers, *especially* if we already live and work within the Microsoft ecosystem.

    I think what makes me uneasy is this sort of "limbo" state Blend currently lives in between being a true web designer/animator's tool (like the Flash IDE) and being somewhat a developer's tool (like Visual Studio's XAML designer). This is somewhat the same problem FrontPage had when it was finally split into SharePoint Designer and Expression Web and now I think Blend is running into the same type of "confusion" in the market. Is this the best tool for developers? No, Visual Studio is. Is this the best tool for designers? No, the Adobe products still are (in general) but Microsoft now has another chance with HTML5 to finally get a strong foothold in the designer market.

    Will Blend for HTML5 triumph over Adobe Edge? We'll see as neither product has yet come to market and proven itself... of course it's in my best interest of having Blend be the best product because Adobe is never going to cleanly integrate with a developer product such as Visual Studio... so here's hoping!

    Maybe these are two worlds that will never truly co-exist, and if that's true than Microsoft needs to either make the BIG push for Expression Suite right now to compete with the big dogs of design or drop out of the market entirely and let us continue with the Adobe+Visual Studio package and maybe re-focus resources to more closely collaborate with Adobe and other graphic design companies to integrate better with the Microsoft development tools. Or maybe, just maybe... Blend itself needs to seize being its own product and be rolled into Visual Studio as its default designer view (can you tell how much love I have for Visual Studio :) ?

    Well those were my two quarters... but best of luck to you guys and keep pushing for great products and great features! Feel free to forward my message to upper management =)

    Friday, November 11, 2011 7:00 PM