Moments of Fun

Tuesday, September 2, 2008 23:38

Moments of Fun

If being a developer isn’t one of the best jobs in the world, at least it has its moments. Sometimes you create your own moments, perhaps with an Easter egg, or maybe by writing small games, Web sites or utilities that have no real commercial use, yet satisfy a creative need or give you a chance to master a new technology.

Sometimes you get help in creating those moments of fun. One of those moments is when you first discover Microsoft Popfly. This site uses Microsoft’s new Silverlight rich interactive application technology to create and present a community for building and using innovative Web-based apps. You can find it at popfly.com.

There’s a great deal that can be done on Popfly without writing code, by piecing together different components and pages. However, that rapidly becomes less relevant to the developer, so you can download the Popfly Explorer, a Visual Studio (2005 and 2008) add-in, and create and browse Popfly projects from within Visual Studio. Just like the built-in Solution Explorer, you can look at the project structure, view the files that compose the project, and open and edit individual files.

Now Popfly starts to become more interesting. One thing you can do with the Popfly Explorer is create projects to build games, mashups and Web sites.

Games? They can be fun to write as a diversion, but rarely for productive use. At best, they can provide a demonstration of new technology. The Web already has plenty of tools for creating sophisticated and visually attractive sites, so Popfly isn’t likely to add a great deal of value for the Web development community.

But mashups? Here’s where Popfly starts to become potentially useful for serious apps. Using existing blocks for maps, data, display, news, tools of all types and many others, you can assemble your first mashup in just a few minutes.

Getting Visual Studio Involved
You can also create new blocks, or components, from within Visual Studio. Blocks can be collections of data, how to get at data locally or on the Web, and what you do with that data in the block. If you think object, without the inheritance or polymorphism, you can probably grasp the use and extent of the block structure.

Creating new blocks can be done by loading the stub for the block structure into Visual Studio and simply filling it in (see The XML Framework for Creating New Popfly Blocks for an illustration of a stub). Note a couple of things about it. First, it consists entirely of XML. It uses XML to define a class, inputs, set of operations and outputs. While you don’t really need Visual Studio to do that, the Popfly Explorer makes it easy to create new files and manage the structure of the project.

From within Popfly, you can use data and code from other Web sites, or anything that can be presented as a Uniform Resource Indicator. The site uses a representational state transfer (REST) approach to cross-domain calls from JavaScript. Specifically, it uses a custom JavaScript class named environment, which abstracts the cross-domain calls. It exposes two methods for retrieving data: getXml(url) and getText(url).

Click to view the code for the XML framework for creating new Popfly blocks

New Dev Style
The grand purpose of Popfly isn’t entirely clear. Microsoft claims that it serves as the online community for non-professional games, Web sites and apps, but there’s also the ability to create commercial applications, accessible over the Web (but tellingly requiring a Microsoft Live membership). And developers can create blocks that can be used by others in the Popfly community to build their own applications.

This sounds like the beginning of a new style of commercial development to me. Developers contribute new tools to the community, some of which may be free, and others commercial. Developers and interested end users will build applications; developers especially may use Visual Studio to combine aspects of the Popfly online experience with data and code from other locations to create some really compelling mashups.

So I don’t think that Popfly represents yet another attempt to make programmers out of nonprogrammers. Right now, I think Microsoft is trying to form a community of both programmers and interested end users who will start building and sharing more applications and components, hoping it will grow into a center for developer and user interaction centered on building a new wave of apps.

Source: reddevnews.com

You can leave a response, or trackback from your own site.

Leave a Reply