With integrated tools, how will designers work with your dev team?
If Microsoft and Adobe Systems Inc. are right, development tools alone aren't enough anymore. Building software today, particularly for Web environments, is about art and computer science.
Good design is critical as companies increasingly rely on customer-facing Web applications, smart clients and customized line-of-business apps to accomplish their professional goals. Aesthetics are a big part of the process of creating a great user experience. But good design is a lot more than that; it means creating good interactions.
"People are starting to realize the efficiencies that are gained by a great user experience," says Robby Ingebretsen, director of creative development at IdentityMine Inc., a consultancy in Windows Presentation Foundation (WPF) and Silverlight that works with numerous enterprise customers. "If an enterprise customer can save 30 minutes a day on some task that someone has to do daily or weekly, by making it easier to use or to discover, some kind of an efficiency-all of a sudden you realize that there's a huge benefit to your bottom line. We're starting to see a lot of that."
Building the Bridge
Today in environments where people expect prototypes in days or weeks and design assets are reused, throwing an illustration over the fence and hoping the development team can make it work just doesn't cut it. "In the past you had something where developers worked in developer tools and designers worked in design tools and you had these awkward handoffs. Things were tough-that's the pain point," Ingebretsen explains.
Microsoft surprisingly is among the first companies to offer a solution for developers and designers to work together better. Expression Blend for designers is a unique tool because it addresses "how can we take a design surface and integrate that design into the development process," Ingebretsen says.
When Microsoft released Expression Studio in drips and drabs, the company promised that the same projects could be accessed and worked on in Visual Studio. That vision started to become more of a reality with the release of Visual Studio 2008 late last year and Expression Studio 2.0, currently in beta. Designers can use Expression Blend to design the application UI in XAML, and developers can access the same project in Visual Studio to work on the stack underneath. The XAML and other assets can then be reused in multiple projects. The tooling is in the early stages, but the idea is on target. Microsoft's rich Internet application platform Silverlight 2.0, also based on XAML-the first beta was released at MIX08 last month-follows the same premise.
Creative Types Among Coders
All of this new tooling is great for developers and designers, but it means that designers may soon have a larger role as part of your development team. How will their workflow mesh with that of traditional coders?
Microsoft is working on bringing Expression Blend into the application-lifecycle management system, according to Wayne Smith, Microsoft group product manager for Expression Studio. But it's important to make sure designers have a clear understanding early on of how the application lifecycle works, particularly with regard to practices that are handled differently in the design world-for example, checking files in and out and things like version control. To many designers, version control implies increasing the number in a filename from 1 to 2 to 3 and so on.
"Design is a craft," says Smith, "but the person needs to have a basic understanding of the platforms and the tools."
Perhaps the greatest challenge for dev teams will be finding those people. Rockford Lhotka, principal technology evangelist at Magenic Technologies Inc., says: "Microsoft and a company like Magenic all collectively are in this challenging spot where we need designers desperately, and the designer community at large doesn't look at the Microsoft set of technologies as being a viable target. That's starting to change-but it's changing awfully slowly."
For Microsoft, the next step may be to bring the design surface-Expression Blend-into the app lifecycle by providing Team Foundation Server (TFS) support.
"What Microsoft will tell you is that technically they do support it because you can get the TFS client and still be able to use TFS," says Lhotka. "But then your designer is working in two different tools-one to check in and check out content and the other to actually do their work-and it's not seamless. In our case, because we're building more business-oriented applications, our designers ended up having to have Visual Studio itself.
"Not that they use it a whole lot," he adds, "but they can't do all of their testing of the UI unless they can build the project, and they can't build it without Visual Studio."
Adding TFS support doesn't seem to be high on Microsoft's priority list-it's not formally on the roadmap, according to Smith.
"And maybe that's OK," Lhotka says, "unless you're doing enterprise development. A lot of Web development is still ad hoc and there's not a lot of formal process. TFS is really geared toward environments that do have more formal process and lots of benefits of source control and more process control."
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.