Microsoft Popfly is a website that allows users to create web pages, program snippets, and mashups using Microsoft Silverlight and the set of online tools provided. Popfly supports both Mozilla Firefox 2.0, and Internet Explorer 6.0 or higher.
![]() |
| Popfly Home Page |
From the Popfly Home page, users have three main options:
![]() |
![]() |
Popfly has been created with the online community at its center, and as its focus. Known as the Popfly Space, creators can host, share, rate, comment, and even "remix" creations from other Popfly users.
Popfly is almost an entirely online experience. It doesn't matter whether you are interested in participating with the Popfly community, or want to develop a new Popfly mashup, or if you would like to see what has already being created, you can do all of these things from the Popfly site itself.
![]() |
![]() |
In the past, most programming IDE's, Integrated Development Environments, have required users to first learn a programming language, like C#, in order to be able to create their own programs. Popfly has taken a step away from this position, and decided to make its IDE a fully visual IDE, with the option to use a programming language, in this case JavaScript, when the user either needs to or wants to.
![]() |
![]() |
Creating a Mashup with the Popfly Mashup Creator is a snap, literally. One drags the needed blocks from the block list on the left of the screen to the design surface in the middle of the screen. From there a user wires up the blocks. For example, by connecting the User Input Block, to the Digg Block, and then to the PhotoTiles Block, it is possible with a little configuring to create a "Who's Digging You?" mashup.
![]() |
![]() |
![]() |
Each Popfly block can bring up an operations dialog where users can configure and modify settings as need for their mashups.
The Popfly Mashup Creator also has integrated tutorials that will walk a user through tutorials, example projects, and several videos. This along with the ability to copy any existing shared mashup makes it easy to learn and get started creating your own mashups.
Users are also able to fully customizable the HTML of the page that the Popfly mashup will be hosted on. This allows advanced users to do some really impressive customizations and modifications to their mashups.
![]() |
| Popfly Block Creator |
The Popfly Block Creator allows users to create their own blocks either from scratch, or by modifying an existing block which could be either an official Popfly block or another user created block.
Popfly blocks each have an XML definition file which contains any metadata needed to fully describe the Popfly block. This contains input output type definitions, icon URLs, and other required IntelliSence information.
Popfly blocks also contain a JavaScript code file which contains any custom code, mostly functions, that will be executed by the block when used inside Popfly mashups.
Popfly comes with a ton of official blocks right out of the box. There are over 50 Popfly blocks, and over twice as many more user created blocks. All of these can be used to create mashups directly, or as a starting place to build new and improved blocks that do even more.
I've taken the 50 or so official Popfly blocks and listed them along with all of their operations below so that readers can get a feel for what is available to work with.
// BLaugh Block
getRandomComics()
getComic()
// Block Inspector Block
getOperations ()
getAllowedValues()
// Calculator Block
getRandomWholeNumber()
getRandomNumber()
getMaximum()
getMinimum()
round()
add()
subtract()
multiply()
divide()
// Carousel Block
addImage()
setFrameColor()
setAttribution()
// Combine Block
combineTwoLists()
combineThreeLists()
// Conversation Block
addMessage()
// Digg Block
GetStories()
GetPopularStories()
GetUpcomingStories()
GetStoriesByContainer()
GetPopularStoriesByContainer()
GetUpcomingStoriesByContainer()
GetStoriesByTopic()
GetPopularStoriesByTopic()
GetUpcomingStoriesByTopic()
GetStoryByStoryId()
GetStoriesByUser()
GetTopics()
GetTopicByName()
GetUsers()
GetUser()
GetUserFriends()
GetUserFans()
// Digital Podcast Block
Search()
// Facebook Block
getFriends()
getUserInfo()
getPhotosOfMe()
getPhotos()
getPhotoAlbums()
getGroups()
// Filter Block
filter()
truncate()
// flickr Block
getGeotaggedPhotos()
getPhotos()
getTags()
getUserPhotos()
getPhotoset()
// Gauge Block
setValue()
increaseValue()
// GameTrailers Block
getFeeds()
getTrailers()
// GeoNames Block
getLatitudeAndLongitude()
lookupOnPlaceName()
lookupOnLatitudeLongitude()
lookupOnZipCode()
lookupOnCityState()
// Image Scaper Block
getImages()
getUniqueImages()
// Image Comment Block
comment()
// Indeed Jobs Block
search()
// Live Spaces Block
getPhotos()
getFriends()
getLists()
// MSN Horoscopes
getMonthlyHoroscope()
getWeeklyHoroscope()
getDailyHoroscope()
// MSN News Feeds
TopBoxOffice()
JimJubekMoneyCentralColumn()
LizPulliamMoneyCentralColumn()
InCarNation()
TopCelebrities()
TopMovieRentals()
InTheaters()
ComingSoon()
TopStories()
// My Live Contacts Block
getContacts()
// News Reader Block
addNewsItem()
// Page Turner Block
addNewsItem()
// PhotoFlip Block
addImage()
// PhotoSphere Block
addImage()
// PhotoStack Block
addImage()
//PhotoTiles Block
addImage()
//RegExp Block
getMatches()
isMatch()
isWholeNumber()
// RSS Block
getItems()
getFeed()
// SeattlePublicLibrary Block
getBooks()
// Slideshow Block
addImage()
// Snipshot Block
editImage()
// SoapBox Block
search()
getFeaturedVideos()
// Sort Block
sort()
// Stock Quotes
getStockGraph()
getQuote()
// Text Helper Block
getSubstring()
append()
skipFirstCharacters()
split()
// Timer Block
tick()
// Trynt Block
calculateLoveFactor()
// Twitter Block
getLatestPosts()
getFriendsPosts()
// Upcoming Block
findEvents()
// User Input Block
getText()
getTwoTextValues()
getThreeTextValues()
getChoiceFromDropdown()
getTwoChoicesFromDropdowns()
getThreeChoicesFromDropdowns()
getTextAndChoice()
// Video Player Block
findEvents()
// Virtual Earth Block
addPushpin()
setMapView()
drawLine()
deleteAllPushpins()
// Whack-A-Mole Block
addImage()
// Yahoo! Answers Block
getAnswers()
// Yahoo! Images Block
search()
// Yahoo! News Block
search()
// Yahoo! Term Extraction Block
getTerm()
// Yahoo! Traffic Block
getTrafficForAddress()
getTrafficForZipCode()
getTrafficForCoordinates()
// Yahoo! Video Block
search()
// XBox Live Block
getGamerCard()
getLastPlayedGames()
getPlayerPresence()
If you want more information on Microsoft Popfly, I maintain a large collection of links on my blog: Microsoft Popfly Links.
This article is intended to be a brief introduction into Microsoft Popfly. It is meant to help readers see what tools are available and how they might use them to build their own creations. I intend to write two more articles. One will be on how to create custom Popfly mashups. And the other will be on how to create Popfly blocks of your own.
| You must Sign In to use this message board. | |||||||||||
|
|||||||||||
|
|||||||||||
|
|||||||||||