Breaking four years of silence, Microsoft on Jan. 24 unveiled the first pieces of its "Flash killer," a series of tools for designers that are expected to compete head-to-head with the Macromedia Flash product acquired by Adobe Systems last year.
Microsoft Expression Interactive Designer, formerly known as "Sparkle," will help build "Avalon," or WPF (Windows Presentation Foundation), user interfaces.
Microsofts first Community Technology Preview of its Expression Interactive Designer tool was released along with the fourth CTP of its Expression Graphic Designer, formerly known as "Acrylic," said Forest Key, director of product management for Microsofts design tools, in Redmond, Wash.
Microsofts Expression suite consists of Expression Graphic Designer, Expression Interactive Designer and Expression Web Designer. Microsoft has yet to release a CTP for Expression Web Designer, also known by its code name, Quartz. Microsoft officials have not revealed a target delivery date for the final Sparkle code. But company brass did tell attendees of the companys Professional Developers Conference last fall to expect Acrylic and Quartz to ship in 2006.
Sparkle is a showcase application for Microsoft on a few different fronts. Its a proof of concept, in that it is one of the largest Microsoft-developed applications written top to bottom in managed code. Sparkle is written in Sparkle. And the tool was developed entirely on and for the WPF platform—Microsofts next-generation UI subsystem that runs on Windows XP and Windows Server 2003 and will be built into Windows Vista.
Key said the design tools are important to Microsoft and the future of the Windows platform, as Windows Vista is "all about the user experience." He also said he expects that the new design tools will help professional designers play a key role in spurring greater adoption of Windows.
Key said Expression Interactive Designer is a "rich design surface" for developing the look and behavior of rich Windows applications. The new CTP features edit templates and support for both two-dimensional and three-dimensional design.
The new Expression Graphic Designer CTP features improved support for exporting XAML (Extensible Application Markup Language).
Key said Expression Graphic Designer is focused strictly on the look of applications, while Expression Interactive Designer is about their "look, behavior and interaction."
The Microsoft design tools share XAML code, Key said. In addition, the design tools can share XAML code with Microsofts Visual Studio tools, he said.
Meanwhile, in December, Microsoft released a preview of its design tool for its upcoming WPF subsystem. Known as "Cider," Microsofts Visual Designer for WPF is set to be part of "Orcas," the next major release of Microsofts Visual Studio tool suite, which is expected to support Windows Vista development. Orcas is slated for release in 2007.
"Just as were doing tools for designers, were doing a design surface for developers who are laying out controls," Key said. However, designers can take output from Cider and do design with it, and designers and developers can more easily collaborate using the Microsoft tool set, he said.
As Microsoft lifted the veil on its tools, it also revealed a little more about the top-secret team behind the products. The team numbers fewer than 100 people. Microsoft wont divulge how many people are on the Sparkle team in particular, but sources have said it includes roughly two dozen people, most of whom are in Redmond.
Approximately half of the Sparkle team is made up of veteran Microsoft employees, and the balance is made up of recruits from Adobe, Macromedia, Avid and other established players in the professional design tool space.
According to company legend, in an early Sparkle code review, Microsoft Chairman and Chief Software Architect Bill Gates said that Sparkle should be the conscience of WPF. If Microsofts own developers couldnt make heads or tails out of WPF, how could the companys customers be expected to?
"Sparkle all started around WPF," said Key, a former product manager with Macromedia, Avid and Pinnacle Systems. "Four years ago, we started thinking about these concepts. We wanted to make it easier for people to build around that [platform] with XAML."
"We had the luxury of starting from nothing," said John Bronskill, development manager for Sparkle. Bronskill, one of the first hires on the team, currently oversees the development team, hires staff and helps plan the product. He joined Microsoft as part of its 1994 Softimage acquisition.
"We hired more outside people than Microsoft usually does, but we wanted at least half the team to be from the outside. We wanted to bring in new blood," Bronskill said.
Current and former Sparkle team members all agree that the resulting team has matured into a tightknit unit with some impressive design chops.
"This is the most impressive team Ive ever worked on at Microsoft. Theyve really done a great recruiting job," said Sparkle architect Kenny Young, a 14-year Microsoft veteran who spent years on the Microsoft Publisher team and now works on the layout and animation UI aspects of Sparkle.
While starting with a clean slate may sound ideal, the team discovered early on that it would be facing some rather unique challenges.
The Sparkle team built its first prototype using Winforms on Windows XP. But it became readily apparent that the best way to build tools for WPF developers would be to use WPF. That meant, back in 2003, that the Sparkle team would have to develop on top of "Longhorn"/Windows Vista, since WPF was only available for that operating system. (In the summer of 2004, Microsoft shifted course and decided to back-port WPF to Windows XP and Windows Server 2003, as well.)
The result of this shifting landscape? "We used to spend a day a week burning our machines to the ground and rebuilding them," said Sparkle architect John Gossman, the second developer hire on the team. Gossman came to Sparkle from the Microsoft Visio team; prior to that, he had worked for seven years as a CAD designer.
"We wanted a really rich-looking UI," Gossman said. "We could have done it in Win32 ... but we were starting to face a big interoperability problem, with trying to make Avalon controls talk to Windows controls, for example."
"It was really, really hard to build an application on moving ground," said Lutz Roeder, a developer on the Sparkle team, who is known by many in the development community as the author of .Net Reflector, a class browser for the .Net platform. Roeder created the initial application framework and infrastructure used to develop Sparkle.
"When you build on a stable platform, you tend to write an app from start to finish. It wasnt wrong what we did. It just took a lot more thinking. We ate our own dog food," Roeder said.
While the process was painful, the payoff will be worth it, Gossman claimed.
"One of the big reasons Windows was a success was because Office was built on it. We think we [Sparkle] will be one of the big reasons the new [WPF] platform will be a success," Gossman said.
But will Sparkle be more than just another pretty WPF app? Will it give established design-tool vendors a run for their money?
Developers overall say microsofts first steps are headed in the right direction. "Look, Microsoft gets it when it comes to simplifying software development," said Rob Howard, a developer with Telligent Systems, in Dallas. "The last big hurdle here, and a challenge many companies—including mine—face when building rich and interactive applications, are the handoffs between design and development."
Added Howard: "Our design team currently uses Macintoshes and occasionally builds Flash applications. Were hoping, as is our design team, to transition to 100 percent Windows across design and development in the next 18 months. If Microsoft can execute with the Expression line of tools, Microsoft will not only capture the hearts and minds of developers, but designers, too."
Scott Golightly, senior principal consultant at Keane, in Salt Lake City, said: "I am hoping that the Expression studio will change the way that I work. I am a developer, and I dont have a lot of design skills. I have occasionally looked at design programs, but I get lost really quickly in what they want me to do or even what some of the options mean.
"I have worked with designers who do a great job of laying out a look and feel for a user interface and then expect me to re-create that in code," Golightly said. "The hardest part of the whole process is understanding what the designers want."