News

Microsoft Expression to Blend Coding and Design Worlds

Will the eXtensible Markup Language finally bridge the dev-design gap?

Microsoft is shipping the first of four components in its new Expression Studio user experience design and development suite, with plans to ship the remaining three in the second quarter. The objective: to make it possible for developers and designers to work together more seamlessly by producing tools that both groups can use to collaborate.

Simultaneously, Microsoft is also circulating the first community technology preview (CTP) of the "Windows Presentation Foundation Everywhere." WPF/E, which is a code name and not necessarily the technology's final moniker, is meant to provide a cross-platform browser plug-in for delivering media, animation and video content based on Windows Media.

Microsoft's direction with Expression Studio is not unlike the tack the company has taken with Visual Studio Team System for Database Professionals, which aims to ultimately bring database architects and designers into the realm of VS's managed code environment and its IDE, thereby blurring the lines between the roles of the C# developer and the database architect. The approach provides database architects the mature tools that applications programmers have had for years in Visual Studio (see "Database Developers Join Visual Studio Crowd," December 2006).

With Expression Studio, Microsoft is now blurring the lines between the functional and visual aspects of user interface design.

"There is no hard line between a Windows application and a Web application, and there is no hard line between developers and designers," says Forest Key, director of Web and client user experience (UX) platform marketing for Microsoft's Developer Division.

"Microsoft is bringing [the two roles] together and blurring the lines [because] the kind of applications coming in the future will require that to happen," explains Bola Rotibi, principal analyst for application lifecycle at researcher Ovum in London. "Graphical is just one aspect of 'experience' ... pretty much anybody talking about business-aligned IT should be talking about user experience and it requires different roles in order to generate that experience."

That may be easier said than done.

"User experience professionals are new kids on the enterprise block," says Chris Howard, vice president and service director for application platform strategies at research firm Burton Group. "For the tools to work best, organizations need to embrace the need for good design and retune their development organizations and processes to accommodate it."

Some users who have tested the products, however, feel Microsoft is headed in the right direction.

"I think they are [blurring the lines], but is that a bad thing? Probably not. We think that people who work in this space should know a little of both, and be able to play off each other," says Ryan Dawson, a designer at thirteen23, an experienced design firm in Austin, Texas.

That blurring will likely create new possibilities for both designers and developers.

"The way we are approaching the market is very much to enable new scenarios," says Microsoft's Key.

In fact, one of the most underrated features in the Expression Studio tools is the simple ability to open Visual Studio projects.

"Both programs use the same file format, so there is no downtime to integrating a designer into the mix who wants to dabble in Expression-[and] this also means the developer could code outright in Visual Studio and then open the project from Expression to add some extra visual charm," Dawson says.

Design vs. Development
Expression Web is meant to let Web site designers and developers collaborate to build standards-based Web sites. The other three products include Expression Blend (formerly "Interactive Designer") for designing "rich interactive user experiences" for Windows applications, Expression Design (formerly "Graphic Designer") for designing visual elements for both Web and Windows-based experiences, and a new tool, called Expression Media, which will provide digital asset management and will serve to unify team workflow across the suite.

"What we're doing with Expression Studio is taking the first steps in helping designers become better integrated into the process of building and delivering user experiences, and helping designers and developers work better together," Expression General Manager Eric Zocher said in a statement. Several observers believe the point of most crossover between the two roles will occur with the use of Expression Blend.

The catalyst for Expression Studio was fairly straightforward. As user needs become more complex, the demand for more intuitive and responsive user interfaces increases. Best effort design and coding is no longer adequate when the results are opaque application interfaces that frustrate users and swamp help desks with service calls. The two groups must achieve better understanding and cooperation to deliver an effective user experience.

"The problem is it hasn't always been easy making first-class citizens out of all those roles," says Ovum's Rotibi. "What they're doing is enabling developers to have access to things that were more of a design role and vice versa."

Additionally, with Expression Studio, Microsoft is overhauling its overall approach to visual design tools to include both developers and designers of various graphical experiences, from Web sites to application user interfaces to media production.

"In the past, graphic designers, user experience professionals and developers worked in tool silos, and each step in the design process required translation from one format to another," explains Howard.

Expression Blend and Expression Design include a new user interface created specifically for professional designers. That work was based on feedback the company garnered following more than half a million downloads of Expression CTPs that began last January. Expression Blend Beta 1 and the Expression Design December 2006 CTP are currently available for download.

The underlying code generated by the Expression design tools is XAML-Microsoft's eXtensible Application Markup Language-the XML-based language for programming .NET Framework 3.0, which includes the Windows Presentation Foundation (WPF) and the Windows Workflow Foundation. Among other goals, XAML was designed to provide a format that both developers and designers can feel comfortable with.

"Now, a graphic designer [using Expression Design] hands off XAML-based assets to an interaction designer. The interaction designer combines those assets into a user experience [using Expression Blend], where the structure of the solution is created. That solution is opened by a software engineer in Visual Studio and complex application logic is added," says Burton Group's Howard. The result, he adds, is a final product that is truer to the original design and requires less time to create.

Meanwhile, the fourth component of Expression Studio, Expression Media, is based on the iView MediaPro product acquired by Microsoft in 2006. It supports more than 100 media formats and provides offline access to visual catalogs, making it easier for creative professionals to manage and use their digital assets, according to company statements. Expression Media includes Expression Media Encoder, a tool for preparation, encoding and deployment of video and audio for the Web and Windows. The first CTP of Expression Media is expected early in 2007.

WPF/E Power Play
Meanwhile, WPF/E may provide an important pivot point for the playback of and searching for media on the Web, and could pose a threat to popular tools like Adobe Flash over time.

Expression Media Services
[click image for larger view]
Expression Media serves as a digital catalog and provides workflow across the Expression suite.

"WPF/E is positioned head-on with Flash, although the technologies are slightly different. WPF/E promises to integrate more easily with HTML than Flash does, but both require JavaScript as a bridge between the page and the embedded media object," Howard says.

Which technology will ultimately win out, though, is an open question-if that does occur. "WPF/E has the potential to bring an integrated media/UI layer to various platforms, [but] at the current stage I believe the sweet spot lies in Flash," says thirteen23's Dawson.

One impediment to Microsoft's vision: There's still resistance from developers when it comes to automatic code generation. But that may change. "Microsoft's goal is to move more and more into the declarative space with hopes that developers will follow," says Howard. If the tools work correctly and the abstraction is a complete projection of the underlying code, he believes it will catch on. "It will certainly make apps easier to maintain and tweak."

Of course, it remains to be seen whether Microsoft's approach works. "What kind of applications will come out as a result of this? If they've got their tools right, you'll get more apps that are well designed," Rotibi says.

Expression Web [Click here for details.] is available for $299, and qualifying users of FrontPage can upgrade to Expression Web for $99. Expression Blend will cost $499, while Expression Media will go for $299, and the full Expression Studio for $599. Expression Studio will also be available as a $349 upgrade to users who have purchased Expression Web and other qualifying Microsoft products.

About the Author

Stuart J. Johnston has covered technology, especially Microsoft, since February 1988 for InfoWorld, Computerworld, Information Week, and PC World, as well as for Enterprise Developer, XML & Web Services, and .NET magazines.

comments powered by Disqus

Featured

  • GitHub Copilot for Azure Gets Preview Glitches

    This reporter, recently accepted to preview GitHub Copilot for Azure, has thus far found the tool to be, well, glitchy.

  • New .NET 9 Templates for Blazor Hybrid, .NET MAUI

    Microsoft's fifth preview of .NET 9 nods at AI development while also introducing new templates for some of the more popular project types, including Blazor Hybrid and .NET MAUI.

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

Subscribe on YouTube