The Legend of Popfly

Opinion: Microsoft mashes it up for beginners with Popfly.

REDMOND, Wash.—Microsofts Popfly mashup tool for beginners shows just what can happen when you get a smart, determined person fixed on a project they can see an answer to, but nobody is stepping up to offer a solution.

John Montgomery, group program manager of Popfly, said he figured if he didnt set out to create a totally Web-based development tool for non-programmers, "nobody else at Microsoft was going to do it."

So the effort started as a challenge not only to deliver a tool that provided an easy mashup development experience, but that also had social networking characteristics and could possibly help change the way people learn programming, he said.

In the winter of 2005, right around the time that Visual Studio 2005 was launching and newly anointed Microsoft Chief Software Architect Ray Ozzie did his announcement about Live versions of Microsofts software—the software-plus-services strategy for the Redmond company going forward—"I sent mail to Craig Symonds [general manager of Microsoft Visual Studio] and Soma [S. "Soma" Somasegar, corporate vice president of Microsofts Developer Division] and I said I want to go and tackle this problem for Dev Div. And specifically, I wanted to go and rethink what it meant to create tools for people who didnt necessarily know how to program."

The two leaders told Montgomery to go ahead. He moved over to the product side from marketing in late December 2005 or early January 2006 and started to do a bunch of primary research.

"I talked to oodles of customers. I looked at different demographics and psychographics," Montgomery said. "I spent a lot of time hanging out on different social networks and playing with a bunch of different tools.

"And I finally poked my head up and said, Im going to propose something thats utterly insane; Im going to propose an entirely Web-based development tool that is intrinsically linked with a social network, so that every time you create something, its shared with everybody else so that they can then copy what youre doing and build on it."

When you think about it in terms of the professional development community, that is just weird, Montgomery said. Thats not even open source-like development; its completely uncontrolled, he said. But when you think of it in terms of what all those people on MySpace do, its completely logical. "They see something they like on somebody elses page and they copy the HTML, the CSS, the JavaScript, the links that make that happen and then they tweak it so that its their own," Montgomery said. "And that was how the first proposal came about."

/zimages/5/28571.gifClick here to read more about the merging of SOA and Web 2.0.

The idea was to build a tool that used the skills that people already had in this environment, which was HTML and JavaScript. Not to require them to download anything larger than a tiny runtime, not to require them to learn a new programming language, just to visit a Web page and start tweaking.

Montgomery said Somasegar and Symonds were intrigued enough to give him leave to talk to a few people outside Microsoft. One of the first people he spoke with was John Lam, a Ruby guru. Lam later joined the company, "but at the time he was just a smart guy that I knew outside of the company and I had met him through Don Box [a Microsoft software architect]. And John and I got to talking and he actually built a prototype for me. He said, Oh man, this is a really cool idea. Let me go and do it."

So Lam went off and came back a couple of weeks later and he had a first take on what would become Popfly.

"So I said, This is really cool, let me show it to Craig and Soma," Montgomery said. The bosses gave him the go ahead to hire a team. One of the first people to apply was Adam Nathan, a pretty well known expert on a .Net technology called P/Invoke, which is a low-level technology for calling Win32 APIs from within .Net.

Montgomery said he was told that hed "be an idiot not to do everything you can to get Adam. So Adam joined the team and I showed him a prototype, and Adam was like, Thats interesting. And he went away on a Friday and on Monday he came back and he had built the first version of what became Popfly, but at the time was called TriStar. And he did it all with HTML and JavaScript running inside the browser."

Montgomery started showing the prototype to people, getting feedback, rounding out the feature set, deepening the integration with things like Windows Live ID, Windows Live Storage and the Ad Center ads and added functionality.

As the team and the effort progressed, Montgomerys bosses decided it was time to bring in a seasoned leader who had shipped many versions of software at Microsoft—Paramesh Vaidyanathan—as product unit manager to run the overall show and productize the Popfly technology.

"By November 2006, we had most of the team in place," Montgomery said. "In December, we gave the first demo that was actually running on real software running on a real server, hosted in a real data center. In February, we invited the first set of early, early customers in. In March, we rolled out Silverlight 1.0 beta version to those customers. In April, we turned it on and we started inviting in the alpha participants."

In all, Montgomery said his team had the very first prototypes of Popfly on June 10, 2006, and by April 19, 2007, it had released a working version of the product.

The Popfly team is a small one—about 15 members—"and were slated to keep on at this pace, with major updates occurring about once a month and minor updates happening about every two weeks," Montgomery said. "And were just going to keep driving forward."

However, like a lot of Web properties, the Popfly team doesnt really have a date to RTM [release to manufacturing] because theres nothing to release to manufacturing. "At some point we just basically say that our bug count is low enough, our feature set is rich enough and our customer feedback is good enough that we will cease to call ourselves an alpha or a beta," he said.

Montgomery describes Popfly as a fun, easy way to build and share mashups, gadgets, Web pages and applications. Popfly consists of two parts: Popfly Creator, which is a set of online visual tools for building Web pages and mashups, and Popfly Space, which is an online community of creators who can host, share, rate, comment and even remix creations from other Popfly users.

Popfly is but one example of what Microsoft is doing in the Web 2.0 space, and Montgomery talks with eWEEK at length in an interview where he shares details of the thinking behind the creation of the technology.

/zimages/5/28571.gifCheck out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.