My Headlines

Thursday, July 5, 2007

Developers not Getting the Message

by Don Burnett

*BEWARE I AM IN SOAPBOX PREACHING MODE AGAIN*

I have been really busy with WPF stuff, but I have a lot of Microsoft developers that I talk to that voice the comment "why should I bother to learn WPF".. I just read a post from a guy named Derik Whittaker, he's a great developer but it's obvious he's heard the same message as other developers have. His post emphasizes his frustration with WPF.

Well this is something I keep hearing over and over again and honestly it's something I am tired of trying to deal with inside the Michigan Interactive Designers Group. I am trying to get people to realize they aren't getting the right messages about this stuff and what the right messages are.

Some points I'd make:

  1. If you are doing winforms applications it doesn't mean you should be using WPF or Silverlight. Just because it's new and cool doesn't mean you are doing your customers any favors. It's reasonable that your application really doesn't need a WPF makeover. If you think you are going to loose functionality, or are having trouble understanding or programming for it then it may not be the time to be working on this. Yes it looks cool, but it doesn't make you that designer capable of dreaming up a new interface that changes the world. It's the old adage, just because you can doesn't mean you should. Don't put your users through the hell of an unproven design or interface. Winforms aren't going away anytime soon. Microsoft now give you more options, it's up to the development team to realize you now have choices for design, and it's up to you to make the right design decisions for your customers because you now have many more options.
  2. A good Microsoft programmer isn't a good designer necessarily. If you really want to learn about the world of design go out and take some classes, even classes in Adobe Illustrator and Flash. Finding design classes on Expression Studio isn't very easy today yet, but your community college will have these Adobe applications. We are at a brave new world here folks. Remember the days of the first laser printer with fonts?? All of your instructor's handouts looked like a ransom note. We are about to see things change with Windows UI design, don't be one of those handing out the ransom notes. If you aren't good at design take the time to learn it, or at least defer the design to someone who has the experience.
  3. Let a designer do the design, if you are a developer, just let go of your ego and let the designers do this for you. WPF wasn't really designed for you as a developer, it was designed as a way to allow designers to create new user interface with design elements. Let the developer take that design and implement it and do coding without doing any UI design himself.
  4. WPF was designed to take DEVELOPERS out of the design loop, to make sure they didn't have to go in behind and recode all of that themselves as they used to have to, also it is here to save the developer time. The developer instead gets a completely working design that he can now code to. But of course that means adding a new person to the team, a designer, and let him have a say in development and concepts. Now we have a team, not a one man army you should be happy about getting the help, and not having to play god all the time.
  5. If you are a good designer or developer use the appropriate tools. I REPEAT Expression Blend is NOT a starter tool. I have heard from many developers, "oh this is a toy, oops I mean tool for people who don't know how to program". Sorry you are confusing this with another program or you really don't understand Blend. If you look closer at Blend you will see that this has a full event model triggers and something for styling that looks like CSS on steroids and much much more. Most newbies at Blend don't even know how to use events and triggers let alone style controls.
  6. Remember in WPF and Blend, you need to name everything you have every element every tag, every event etc. in WPF and XAML. This is because most people when they go into Blend think they are in a web development package like Adobe Dreamweaver where things like naming your controls and objects etc all are done for you by default. Blend starts making more sense to people when you start remembering you are working in XML and you have to name everything including every element. For those who really haven't delved deep into blend or did WPF development, I find myself 75% of the time in blend and only 25% of the time coding and doing code-behind work now. Yes that does mean that there isn't a lot of coding that we used to rely on developers for but there is still coding required. But that's okay, developers will appreciate this because they can now have a 40 hour work week now and maybe even see their families..
  7. If you don't think your boss won't hire a true designer to help with that part of the development find a way to get some real design classes in for yourself. Realize what makes companies like Apple and Apple developers highly successful is design and usability is a first thought, not throw these features together in a program then add the UI.. The UI comes first and is usually not made by a coder/programmer. You don't have to be everything as a programmer to your development team. It doesn't make you less valuable. In fact if you can hire a designer to work on your team who knows his business you will be even more wildly successful. It's not being weak or non-valuable by not being able to be a designer. That's why you went into programming and not art right? Lobby your boss and hiring manager to realize your team needs a real designer on the team.

The point of all of this is I think Microsoft is way off the mark of who they should be giving training on WPF to.. If things keep going the way they are with Microsoft's attempts at promoting Expression Studio and WPF adoption, it will never see full scale adoption and Microsoft will have failed with it's attempt to transition.

What are they doing wrong. First of all stop selling Expression Studio and WPF to developers. You need to get the right messages out.. When you get the wrong messages out it's like lemmings off a cliff (OH NO!)

Message 1 to Designers:

Expression Studio and WPF are new tools for Designers (not developers) to create new and better UI for development organizations, and there are new opportunities for Rich Internet Designers to get jobs working with programmers on development teams.

Microsoft is going to have to reorganize it's efforts and start approaching their non-customers (like designers typically using Mac and Adobe design applications, who already know good design comes first). Instead they are preaching to their MSDN developer base who aren't equipped to do the things that these designers do so well for other platforms. They have only had two events that did this well, Expression Session and Mix 07. Due to enormity they have been able to break through on a national level. I am not convinced from everything that I have seen this altogether regionally and the types of demonstrations coming out of the three regional offices (that I am aware of) aren't even addressing designers. The design community outreach isn't going on very well. Designers know how to talk to designers, they need to have more of them on board and to have people dedicated to designers not just developers, which needs to be separate from MSDN. MSDN presenters don't speak properly to designers because they see different things as being important, and the message is getting lost.

Message 2 to Developers:

Rarely are developers good artists, and that's why they got into programming. Microsoft doesn't expect you to do this design work, but they do expect you to be hiring new team members that can and letting them know there is a place for them. If you want to be successful you have to put the design first (it's all about aesthetics and usability). Your hiring manager needs to realize that on any successful team there is always a designer position and they need to be hiring for that. Plus there needs to be a developer that understands what the designer is doing. This is an "integrator" role.

Instead Microsoft is really hyping WPF to developers (which is being met with boos, hisses and non-adoption), versus telling them what their competition over in the Adobe and Apple worlds are doing with designers and getting them to rethink their development processes and management.

How do I know that there is backlash and things aren't going well? Well you only have to look for job postings on Monster, and the Job boards. All the "user experience" designer jobs are for Adobe and Apple friendly workers. By now there should be plenty of Microsoft opportunities for this as well, but there isn't..

Microsoft Supporting Designers

I started one of the ONLY Microsoft friendly design groups for WPF in the country here in Michigan. We get decent attendance for it's size and we have some great people attending. I ask them if they are getting jobs, sure they are with "Adobe" friendly companies, not using any of their WPF skills. We have made great effort to let developers know about our meetings and to come and mix with us and meet designers who could help in their projects etc. However, no one is getting jobs with the Microsoft developers who think they are a one person show. They don't realize the key to success with this new technology is integration with designers and the tools are finally here to carry all of us forward. But, they have to open their minds to it and changes in their process.

So when I see posts like Mr. Whittaker's I realize that the message isn't getting across and I can almost pinpoint it down to the regional developer programmer evangelists and the fact that they are really preaching to the wrong audience to adopt the technologies that they work from. Sure there are a few great people (like our own local evangelist Chris Bernard) who get what's wrong and not happening and is trying to do his best to change things. We need 1000 more Chris Bernard's around Microsoft.

However, the typical scenario goes something like this (it's trickle down demo economics)

  • people see a demo of something with WPF,
  • People in turn try to repeat it themselves without even understanding the basis for the demo that they have seen or the design point behind it. (there's that message or not getting it thing again)
  • The message and reason for the demo is lost

Too much of that is going on right now on the regional and local level. I have people who go to these demonstrations all the time that attend my design meetings that have this serious complaint. It's the designers complaining because they aren't getting the attention necessary to make WPF a success.

However, unless there is change from the top and realizing they have to embrace and extend to a new crowd of people who aren't their traditional people or market. The message that should be sent by MSDN should be to developers:

  • HIRE designers who can do this, offer training on the new design stuff to designers (not developers). This will make you more successful as a developer. We don't want you doing this yourself just because Microsoft is doing presentations on it as a developer.
  • Blend is not for programmers, it's a designers tool.
  • Offer separate training for WPF (with a different focus) to developers and designers, they truly have different things in the process that they see as important in their process.

I want to see the Adobe crowd start doing cool WPF, the software is finally there to make great designs. What's not there is the Adobe design crowd because Microsoft is still only trying to convince (rather unsuccessfully) to developers that this is good stuff. They need to be approaching the traditional designer market, with someone other than the MSDN staffers.

If Microsoft really wants this to work out, they are going to have to have a better designer initiative going on that's on-going that trains designers to use their tools, not a developer who doesn't understand blend or design concepts beyond winforms. I am not saying developers can't do some of this, but they need training at a different level than what's being offered.

I am saying all of these things because this is what I see going on out there, and I really want to see this succeed. Considering the software and tools and the investment Microsoft has made in them, they sure need to embrace the real market behind these and refocus their training efforts on designers, and put these in the hands of where they belong, while getting the programmers to embrace having a new member of the team and a process that doesn't put them always in the design driver seat.

Hiring managers especially need to take note of what I am saying about the need to hire designers for your team. If you are doing new Windows development to be successful and competitive with other platforms, you need to add a design position to the team so we don't slip further behind and loose competitive advantage to other platforms.

If I could tell Microsoft four things it would be:

  • Start a campaign to communicate to developer hiring managers to add a designer spot to their developer teams and an design integrator
  • Add new staff who are designers speaking to designers to make the Expression product line competitive with Adobe, Apple and others. Who just address the designer community.
  • Stop trying to convince developers they all can be designers now with the new tools, you are addressing the wrong crowd.
  • Add more staffing just to promote design tools make it an entire new division that does just promotion of these.

Microsoft had a chance with this once before when the announced the Site Builders program, but when they integrated it with MSDN it got lost in the shuffle.. This is a second chance now, don't blow it you have one chance to capture the hearts of the design community.

I hope someone who can make a difference is reading this and can help change things, or at least help to move things forward. We all can be successful together if we all work together and realize when something isn't happening as it should.

2 comments:

Rafael Leonhardt said...

That's great! I´m a great developer but i don't know anytthing about a great design.

Don Burnett said...

Please don't take this personally, but most programmers aren't designers, there are always exceptions to every rule, but they are very different disciplines.

I am not taking exception to you personally. You maybe great at both, but it's not often that this is the case. The problem is everyone I have met thinks they are, even if they aren't. There is a serious issue here that if you aren't a designer or haven't spent over 20 years doing design you probably aren't seeing or talking to the developer community in general.

I stand by my comments that every developer (in fact most) aren't great designers. Most of them however are great coders. Which is a completely different discipline.