Wednesday, December 3, 2008

Next EMAWD Meeting :: 12/5 @ 2:30PM @ FableVision :: Mike Horn presents Tangible and Multi-Touch Technology

Our next EMAWD meeting will be this Friday, December 5th @ 2:30PM at FableVision. EMAWDer, Mike Horn, a PhD student at Tufts, will be presenting work on tangible and multi-touch technology for use in classrooms and museums. Should be really cool.


Note the time change: 2:30

Friday, October 10, 2008

Next EMAWD Meeting :: 10/10 @ 2PM @ FableVision :: Exploring Educational Websites

Our next EMAWD meeting will be this Friday, October 10th @ 2PM at FableVision. We will be taking a look at some examples of existing educational software and websites. Basically, this will be an open-ended forum and opportunity to look at some software/technologies that are out there. My hope is that we will get some good discussion about common problems and solutions with existing technologies.

Please bring:
Any kids’ software that you love/hate
URLs for cool kids’ websites
Technical challenges you’ve been up against in creating software
An appetite for cookies



Saturday, September 6, 2008

Next EMAWD Meeting :: 9/12 @ 2PM @ FableVision :: Brian Peltonen on Evolvables

Our next EMAWD meeting will be next Friday, September 12th @ 2PM. Brian Peltonen will be discussing Evolvables, a video game that lets children create physically simulated creatures and obstacle courses. As the creatures' bodies and behaviors are defined by a series of parameters, the creatures can be evolved in the environment of a given obstacle course while the user is away from the machine.

Brian will also be discussing Proteus, the multiplatform engine that Evolvables runs on.

Cookies will be served.



Friday, August 1, 2008

Next Meeting :: 8/8 @ 2PM :: FableVision :: Scratch and Squeak

Our next EMAWD meeting will be next Friday, August 8th @ 2PM. Margarita Dekoli will be discussing Scratch, a visual programming language that she helped to develop while at the MIT Media Lab. She will also be discussing the programming language Squeak, an implementation of the language, SmallTalk.

If you get a chance before the presentation, definitely check out Scratch. It's truly amazing. This should be a great presentation -- and there'll be cookies!

Let me know if you’ll be there!


Saturday, July 12, 2008

Media Lab Goodies :: Eric Rosenbaum :: 071108

This month’s EMAWD meeting was fantastic! Thanks, Eric for bringing some really cool stuff to the meeting -- it was inspirational.

  • Eric Rosenbaum – Research Assistant @ Lifelong Kindergarten in the MIT Media Lab
  • Brian Grossman – FableVision Technical Director
  • Brian Peltonen – In a small startup creating games for artificial life
  • Brice Norton – Producer @ Six Red Marbles
  • Bob Flynn – FableVision Lead Designer
  • Jay LaCouture – FableVision Programmer
  • Joel Rosenberg – was at Museum of Science, and Chemistery teacher in Boston Public School System, interested in Science Education
  • Jonah Elgart – FableVision Freelance Artist
  • Karen Bresnahan – FableVision Executive Producer
  • Keith Zulawnik – FableVision Artist
  • Matt Bargar – FableVision Developer
  • Matt Rubin – FableVision Intern Technical
  • Naomi Greenfield – FableVision Producer
  • Neil Robbin – Flash / Flex Freelancer
  • Ryan McNulty – FableVision Developer
  • Shannon Meneses – FableVision Producer
  • Sharon Emerson – Creative Director

Lifelong Kindergarten Overview
Trying to take the way people learn in kindergarten (exploring, making things, etc...) and trying to extend that approach across lifetime. The thought is that not enough learning happens that way.

$100 Laptop - XO
Mission Statement: “To create educational opportunities for the world's poorest children by providing each child with a rugged, low-cost, low-power, connected laptop with content and software designed for collaborative, joyful, self-empowered learning.”
Some Features:
  • Rubber keyboard – allows it to work in harsh conditions – can swap out for other languages
  • Display can rotate so can use in e-book mode
  • Screen can switch to high resolution B&W mode so can read in light
  • Doesn’t use a lot of power
  • Wireless Networking – all machines are set up so that the XO’s can automatically create a ‘mesh network’ (decentralized network) so that people can share an Internet connection and connect to each other w/o needing to communicate with the outside world.
Applications being created with focus on creativity, expressiveness, and play.
They have announced plans for the XO V2. Early designs show it smaller w/ 2 touch screens.

This is Eric’s implementation of a cool improvisational music app. It allows for the creation of layered music and can be used by a novice user with no musical knowledge.
It’s built in C++ using Open Frameworks ( - like Processing in C++. We played with this thing in the office after the meeting — it’s crazy fun!

Scratch 4 Second Life
  • Scratch – ( ) Visual programming language for kids where can snap together objects to create projects. Written in Squeak, a version of SmallTalk, a pure Object Oriented language.
  • Second Life – ( - 3D Virtual World
The goal of this project is to try to empower people by giving them easy ways to program and to try to find other ways to bring Scratch to people. Users can create programs in Scratch and bring them into Second Life. Currently it’s very complex to program for second life and this is one way to make it easier.

Eric had to create a scaled down ‘dialect’ of the Scratch language. You can create scratch projects and run a LindenScript code-generator which outputs code that can be copied into Second Life. This code, when run, will allow the users to see their Scratch project in Second Life.

Ideally want to get people to ‘program collaboratively and allow people to see the code used to create a SecondLife item and modify it. Eric thinks this would be a great tool to get into Club Penguin.

Lego Stuff
Eric showed us some of the cool Lego projects he has worked on in the Lifelong Kindergarten group. Lifelong Kindergarten has collaborated with Lego for many years. They have been thinking of creating stuff for little kids.
  • The first thing Eric showed us was a clear brick with an LED (actually three: RGB) that changes color based on someone’s voice.
  • Then he showed us another brick that changes based on its orientation in space using an accelerometer.
  • Then he showed us bricks that can communicate with each other, passing their color (with a slight phase shift) from on brick to another.
  • Finally, Eric showed us a Musical Squencer made with Legos. By placing the 2x1 Lego in the eight spots, it will cycle through, playing a different not based on the color (actually the resistor within it) of the Lego piece. Looky here:

Note: Eric is currently trying to come up with concept for a Master’s Thesis. He’s particularly interested in Collaborative Programming. If you share the interest, definitely let him know!

Next month we’ll have a presentation on Scratch and get a taste of Squeak from Margarita Dekoli.


Thursday, July 10, 2008

Eric Rosenbaum, a Research Assistant from the Lifelong Kindergarten group at the MIT Media Lab will be presenting lots of fun goodies at our next EMAWD Meeting this Friday (6/11) @ 2PM

He’ll be sharing:
  • The $100 Laptop XO and some fun things to do with it
  • MmmTsss: playful musical looping software
  • S4SL: Scratch for Second Life
  • Lego stuff: this will be a surprise!

The meeting will be at FableVision (

Cookies will be served.

See you there!


Monday, June 16, 2008

Species Explorer :: Max Antinori :: 6/13/08

We had a good turnout (and great assortment of cookies and snacks from Chinatown... including the dreaded pork cookies) for Max Antinori's presentation of his Species Explorer project.

Here's some notes:

Max :: Species Explorer
  • Max likes outdoorsy stuff and wanted something for tree and/or animal identification. He decided to build something for all species
  • Species Explorer is a site with tools to record nature sightings (plants and animals)
  • FlashLite didn’t seem adequate, so this seemed like a good way to get into Flex
  • Goal: use technology for getting outdoors and learning about wildlife. Focus on young people or kids w/ parents. There’s a current movement to connect young people w/ outdoors.

  • Google recently came up with AS3 API. Wasn’t available when Species Explorer was in development initially
  • Species Explorer uses Modest Maps ( which hooks into tiles from multiple maps. Works with AS3 and AS2. Supposedly works with FlashLite.
  • Currently hooking into Microsoft Maps.

  • The main application was built with Flex
  • When upload an image, it gets resized with PHP’s GD.

Animal Taxonomy
  • Enter the name, searches against ITIS’s ( database, which has been entered in’s database.
  • The site searches Flickr based on the latin name to get up to three images for the animals.
  • Also, it links off to Wikipedia based on Latin name, which seems to be pretty effective.
  • Potentially looking for another partner for species information (e.g.

  • Additionally, there’s a Facebook application for displaying the data.

  • Application built for Chumby as well

Data Communication (future thoughts)
  • May use AMPPHP and maybe Swix (which will work with Flash Lite). Also BlazeDS is a free, open-source version of Live Cycle Data Services that close to real-time data communication.

  • Consensus that e4x is much better for working with XML.
  • Joe Berkovitz created MVCS (S = services) that uses a design pattern that’s helpful for setting up Flex apps. This was used in Species Explorer to help keep it scalable.

Next month (7/11), Eric Rosenbaum will be presenting. More information on what will be covered soon...


Wednesday, June 4, 2008

Next Meeting :: 6/13 @ 2PM :: FableVision

Our next EMAWD meeting will be next Friday, June 13th @ 2PM. Max Antinori will be presenting on his independent project, Species Explorer, a combination of web-based and mobile tools for recording and sharing nature observations.

The focus will be on the demo of the web-based component which has been built in Flex 3, and uses various technologies, including:

* Modest Maps
* Flickr API
* PHP on backend
* mySQL for species and observation data

Max will give a demonstration and overview of the project as well as dig into some of the technical issues. Take a look at his site and some info about it:
This should be a great presentation.

Let me know if you’ll be there!


Thursday, May 15, 2008

The Flex Challenge: Results!

For The Flex Challenge, I decided to try and build something like PictureStories, which takes a simple sentence and allows the user to turn it into a rebus. I decided to spice things up by making the source sentences be the titles of posts in RSS feeds, and having the images come from the results of a Yahoo image search.

You can view the resulting application here, and view the mxml and AS source here. Note that due to Flash's security restrictions, the only feed that we can use is the "Digg [local]" feed, which is using a locally-saved RSS feed.

It was an interesting experiment to try and simultaneously explain Flex/Flex Builder, and build an application, and eat cookies, all in under an hour. Flex is a great system for quickly creating simple (or complex!) applications!

Upcoming Events :: Local Groups

Hey Guys!

Just a quick note about a few upcoming events and some useful links (Thanks, Max).


Boston Flash Platform User Group – Joe Berkovitz. Flash Sound -
5/28 7PM – 303 Boylston Street, Brookline

Ignite Boston
5/29 6-10PM – Tommy Doyle’s in Harvard Square


Boston Flex User Group -
Boston Flex Application Incubator Group -
Boston Adobe Mobile and Devices User Group -
Boston Flash Platform User Group -
Boston Post Mortem -


Tuesday, April 22, 2008

Next Meeting :: 050908 :: The Flex Challenge

Our next EMAWD meeting will be May 9th @ 2PM at FableVision (308 Congress Street).

The Flex Challenge

The topic of the meeting will be Flex. Matt Bargar will be presenting, but he needs your help.

To prove (or disprove) Flex’s abilities to be used for rapid development of rich internet applications, Matt will attempt to build a Flex application from scratch in our meeting. Please help by suggesting an application you’d like to see Matt build during the meeting. Suggestions can be useful, clever, or just plain silly.

So far, suggestions include:

  • A Blog Aggregator – culls entries from your favorite blogs in one place
  • Power Hour Music Mixer – see Power Hour
  • Montage Maker – Input text, the Montage Maker will pull images from flickr to create a photographic montage

Please post your suggestions as comments here or send your suggestions directly to me (


Meeting 2 :: Databases :: 041108

On April 11th 2008, we had our second EMAWD meeting. While the highlight was definitely the baklava, Brian gave a presentation on databases. It was intended to help folks be comfortable with how to create and use databases. Below is an outline from the meeting. Please additionally, note that they refer to:
Meeting notes, including challenges:

What is a database?

  • Way to store data
  • Consists of Tables - like Excel sheets
  • We use relational databases

Technologies / Tools

  • Databases: MySQL / MS SQL Server / Oracle
  • Integrating: PHP, AMFPHP, FlashRemoting
  • vs. Excel
  • vs. Access / FileMaker
  • Terminal, GUIs
  • DB Design Tool - Eclipse with Clay Database Modeling UI

When use database?

  • Lots of data
  • Need to save data
  • Need to share data across users

Database Design- Facebook Example

  • Identify structure of your data
  • set up tables for items
    • fields (columns)
    • datatypes - int, char, varchar, text, bit, etc...
    • primary key
    • auto increment
    • create relationships - primary key / foreign key
      • 1 to many
      • many to many
  • Nomalization

Working with the Data - Facebook Example


  1. Get all users
    1. Order by first name
    2. Order by first name then last name
    3. Get all 'Matthews'
    4. Get all with a first name that begins with 'M'
    5. Get all with a first name or last name that begins with 'M'
  2. Update a user
  3. Insert a user
  4. Quizzes
    1. Get all Quizzes
    2. Get all Quiz Questions
    3. Get all Quiz Question Answers
    4. Get all Quiz Question Answers for an Individual
  5. Interests
    1. Users and their Interests
    2. Get all users with similar interests
  6. Games
    1. Get all high scores
    2. Generate a high score list with just the top scores for each game
  7. Friends
    1. Get a user's friends


Challenge Answers

  1. Get all users - SELECT * FROM user
    1. Order by first name - SELECT * FROM user ORDER BY firstName
    2. Order by first name then last name - SELECT * FROM user ORDER BY firstName, lastName
    3. Get all 'Matthews' - SELECT * FROM user WHERE firstName = 'Matthew'
    4. Get all with a first name that begins with 'M' - SELECT * FROM user WHERE firstName LIKE 'M%'
    5. Get all with a first name or last name that begins with 'M' - SELECT * FROM user WHERE firstName LIKE 'M%' OR lastName LIKE 'M%'
    6. Get all with a first name or last name that begins with 'M', return only first name and last name - SELECT firstName, lastName FROM user WHERE firstName LIKE 'M%' OR lastName LIKE 'M%'
  2. Update a user - UPDATE user SET firstName = 'Michael' WHERE userID = 12
  3. Insert a user - INSERT INTO User (userID, userName, firstName, lastName) VALUES (NULL, 'garyg', 'Gary', 'Goldberger');
  4. Quizzes
    1. Get all Quizzes - SELECT * FROM quiz
    2. Get all Quiz Questions - SELECT * FROM quiz INNER JOIN quizQuestion on quiz.quizID = quizQuestion.quizID
    3. Get all Quiz Question Answers - SELECT * FROM Quiz INNER JOIN QuizQuestion on Quiz.quizID = QuizQuestion.quizID INNER JOIN QuestionAnswer ON QuizQuestion.quizQuestionID = QuestionAnswer.quizQuestionID
      Better - SELECT * FROM Quiz q INNER JOIN QuizQuestion qq on q.quizID = qq.quizID INNER JOIN QuestionAnswer a ON qq.quizQuestionID = a.quizQuestionID ORDER BY q.quizID, qq.questionNumber, a.answerLetter
    4. Get all Quiz Question Answers for an Individual - SELECT * FROM Quiz q INNER JOIN QuizQuestion qq on q.quizID = qq.quizID INNER JOIN QuestionAnswer a ON qq.quizQuestionID = a.quizQuestionID INNER JOIN UserAnswer UA ON UA.questionAnswerID = a.questionAnswerID INNER JOIN User u ON u.userID = ua.userID WHERE u.userName = 'briang' ORDER BY q.quizID, qq.questionNumber, a.answerLetter
  5. Interests
    1. Users and their Interests - SELECT * FROM User u INNER JOIN User_Interest_Linker uil ON u.userID = uil.userID INNER JOIN Interest i ON i.interestID = uil.interestID
    2. Get all users with similar interests - SELECT * FROM User_Interest_Linker uil INNER JOIN user u ON u.userID = uil.userID INNER JOIN interest i ON i.interestID = uil.interestID WHERE uil.interestID IN (SELECT i.interestID FROM User u INNER JOIN User_Interest_Linker uil ON u.userID = uil.userID INNER JOIN Interest i ON i.interestID = uil.interestID WHERE u.userName = 'briang') AND u.userName != 'briang'
  6. Games
    1. Get all high scores - SELECT * FROM user u INNER JOIN HighScore hs ON u.userID = hs.userID INNER JOIN Game g ON g.gameID =hs.gameID
    2. Generate a high score list with just the top scores for each game - SELECT, u.firstName, u.lastName, max(hs.highScore) FROM user u INNER JOIN HighScore hs ON u.userID = hs.userID INNER JOIN Game g ON g.gameID =hs.gameID GROUP BY g.gameID
  7. Friends
    1. Get a user's friends - SELECT u2.firstName, u2.lastName FROM user u1 INNER JOIN Friend f on f.userID1 = u1.userID INNER JOIN user u2 ON f.userID2 = u2.userID WHERE u1.userName = 'briang' ORDER BY u2.firstname, u2.lastName

Friday, March 21, 2008

Simple Tweener Example

Here's a simple demo I made using what I learned from Max's demo. We wanted a simple "thermometer bar" for a project, and I wanted some simple animation to give a little more interest. It took just 3 lines of Tweener code to add the animation, and basically no time at all!


Monday, March 17, 2008

EMAWD :: Kickoff Meeting :: 031408

Welcome to EMAWD! (Educational Multimedia and Web Developers)

We are a group of Boston-area Multimedia and Web Developers primarily in the educational technology space. The goal of the group is provide an opportunity to connect with and learn from other individuals in our industry. We have monthly meetings on the second Friday of each month. Each meeting focuses on a presentation by one of our members on a group-chosen topic.

Our first meeting was this past Friday, March 14th, 2008 @ FableVision.
In attendance were:
  • Max Antinori - Freelance Developer (Flash)
  • Matt Bargar - FableVision - Developer (Flash)
  • Margarita Dekoli - Freelance Developer (Flash, SmallTalk, Squeak)
  • Bob Flynn - FableVision - Artist (Flash)
  • Brian Grossman - FableVision - Developer (Flash / Web)
  • Mike Horn - PhD Candidate Tufts (Human Computer Interaction)
  • Jason LaCouture - FableVision - Developer (Flash / Web)
  • Kenny Leibe - MFA - Developer (Flash, Database)
  • Ryan McNulty - FableVision - Developer (Flash)
  • Brice Norton - Six Red Marbles - Multimedia Specialist (Flash / Director)
  • Neil Robbins - Freelance Developer (Flash / Director)
  • Tony Yang - Freelance Developer (Director)

After introductions, Max Antinori gave a great presentation on some useful Flash extensions including:

Fuse (AS2):
Max's Fuse Demo

Max's Tweener / PaperVision Demo

google code site:

very cool demo, including bezier stuff, using PP3D:


lots o' examples:

Next Month's Meeting - 4/11
At our next meeting, April 11th, Brian Grossman will be giving a primer on databases. Topics include when to use DBs, DB tools, DB design 101, simple commands, and optimization. It will be a high-level discussion that should hopefully be enough to provide the necessary tools for anyone who's a little queasy about the prospect of getting into databases.

Future Topics
Future Topics include:
  • ActionScript 3.0
  • AIR
  • AJAX
  • AMFPHP / Flash Remoting
  • Debugging Flash
  • Flash Lite
  • Flex
  • Mike's Crazy Robitics / Visual Programming Language Thesis
  • Scratch
  • Squeak
  • XRAY

All are welcome to come to meetings and contribute to this blog.

Questions to Brian Grossman (