The Sparkle team is comprised of approximately half veteran Microsoft employees and half recruits from Adobe, Macromedia, Avid and other established players in the professional-design-tool space. The team is building a product dubbed by some company observers as a "Flash killer."
Microsoft officials have not revealed a target delivery date for the final Sparkle code. But company brass did tell attendees of the company's Professional Developers Conference last fall to expect Acrylic and Quartz to ship in calendar 2006.
Sparkle is a showcase application for Microsoft on a few different fronts. It's a proof of concept, in that it is one of the largest Microsoft-developed applications written from top-to-bottom in managed code. Sparkle is written in Sparkle. And the tool was developed entirely on and for the Windows Presentation Foundation (WPF, code-named "Avalon") platform Microsoft's next-generation user-interface subsystem that runs on Windows XP and Windows Server 2003, and will be built into Windows Vista.
According to company legend, in an early Sparkle code review, Microsoft Chairman and Chief Architect Bill Gates said that Sparkle should be the conscience of WPF. If Microsoft's own developers couldn't make heads or tails out of WPF, how could the company's customers be expected to?
"Sparkle all started around WPF," said Forest Key, director of product management, and 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," the XML Applied Markup Language.
"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 explained.
Current and former Sparkle members all agree that the resulting team has matured into a tight-knit unit with some impressive design chops -- not to mention some mean go-karting skils.
"This is the most impressive team I've ever worked on a Microsoft. They've 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 user-interface 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 XP and Windows Server 2003, as well.)
The result of this constantly shifting landscape? "We used to spend a day a week burning our machines to the ground and rebuilding them," recalled Sparkle architect John Gossman, the second developer hire on the team. Gossman had come 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 (user interface)," Gossman said. "We could have done it in Win32
but we were starting to face a big interoperability problem, with trying to make Avalon (WPF) controls talk to Windows controls, for example."
"It was really, really hard to build an application on moving ground," concurred 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 wasn't 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," he said.
But will Sparkle be more than just another pretty WPF app? Will it give established design-tool vendors a run for their money?
Doug Olson the newly appointed product unit manager of the Expression suite of products, who joined the team less than two months ago from Adobe and Macromedia said there is room for a new player with a new approach to the market.
"A lot of the existing applications have an old workflow model," Olson said. "We believe there's a lot of opportunity to tie designers and developers together
. Designers who never had intentions of becoming programmers are now having to learn that and vice versa. You won't see all of that in Version 1.0 of the product, but that's definitely where things are going."
Former Sparkle product manager Jon Meyer, who left Microsoft in 2003 to attend the graduate Fine Art program at Goldsmiths College in London, after just over a year on the team, agreed.
"The coolest thing about Sparkle is the unique mix of 2D, 3D, text, databinding, controls and code it promises," he said. "It should take rich UI to the next level, way beyond what Flash is capable of today. I have been very underwhelmed by Flash's developments in recent years, and definitely think Microsoft can do well in that market."
Because "Microsoft does best when it is playing catch up," Meyer said he remains optimistic. "They may not hit it with version one, they have a history of doing better on their second or third version."