Chapter 12

Designer/Developer Collaboration

After completing this chapter, you will be able to:

  • Identify key points in a typical design workflow.
  • Differentiate between designer and developer tasks and roles within the workflow.
  • Identify mixed tasks.
  • Share projects between Microsoft Expression Blend and Microsoft Visual Studio.
  • Understand the benefits of using source control.
Most professional applications are the product of collaboration between designers and developers. The collaboration is made possible by a shared file format (XAML) and a shared solution/project format. Designers use the tool designed for their tasks, Microsoft Expression Blend, which has the same solution/project format as the developers' tool, Microsoft Visual Studio, and enables designers to manipulate the same XAML and code-behind files that the developers can. Throughout this book, you explored a lot of Expression Blend design features, so you know how to create parts of a great user experience from the designer’s point of view. Parts is an accurate term because of the different tasks within the designer/developer collaboration process.

A Typical Design Workflow

Design should be a basic part of an application’s development lifecycle . Of course, the application can and should have great functionality, solid architecture, stability, and provide functionality that improves the user’s productivity. But applications created solely by developers often have no "wow” effect and suffer from a low user adaptation rate . That’s not to say that developers don’t have the ability to do design work, but they typically don’t have the same training, mindset, and project interests as designers. Similarly, a program conceived primarily by designers might have a carefully designed user interface (UI) with a lot of fancy elements—but if developers were not consulted, the application will probably be limited to a role as a "cool demonstration mockup/prototype” at best. Or, at worst, it will be diagnosed as a solution that can’t be implemented. An application reaches a happy medium only when both designers and developers are involved in the process of its creation.

Typical Design Development Workflow

The Designer's Role

Although you should have a reasonably clear idea of the designer’s role at this point, it’s worth briefly recapping it here. A designer’s tasks include sketching, dynamic prototyping, creating custom backgrounds and vector graphics, creating styles and templates, adding animations, and defining states for custom controls. The basic tools designers need to perform these tasks are Expression Design and Expression Blend with SketchFlow. Additionally, they can also use Adobe Photoshop and Adobe Illustrator as preliminary tools. Beyond that, designers should install Visual Studio, because it’s often helpful for developers to debug the application on a designer’s computer.

The Developer’s Role

Developers have a completely different set of requirements for creating and using UI elements and layout composition. They focus primarily on the architecture and patterns used to build applications, getting data from the data layer efficiently, and ensuring overall application performance, security, unit testing, and deployment of the production application.

You can easily make this a point to YOUR company OR hide it all together.