Blog of the Month Chronicling the adventures of Studio of the Month.

Live from beautiful Logan Square in Chicago, this is blogofthemonth. We, the members of Studio of the Month like to poke our heads around in many things so subscribe or check back often to stay up-to-date. Read about company projects, involvement in happenings around the city and progress in learning the jedi design ways.

Chicago Water Taxi adds to the fleet

Chase @ May 12, 2010 11:14 am

As a designer, one of the biggest thrills is seeing your work out in the real world. No project has been more thrilling for us in that way than the Chicago Water Taxi. The Chicago Water Taxi has become an icon up and down the Chicago River and you would be hard pressed to spend a summer day in Chicago without seeing it.

Today we learned that CWT is adding a third water taxi to it’s fleet of bright yellow vessels. ‘Sunliner’ will be joining ‘Bravo’ and ‘Alpha’ starting at the end of May.

If you haven’t ridden the Chicago Water Taxi yet, give it a shot. For the $2 fare, you can’t beat the unique view of the city, especially on a beautiful Chicago summer day.

See more about the work we did for the Chicago Water Taxi on our site and check back soon because big changes are coming to the CWT Maps and Timetables.

‘Vincent: A Life in Color’ premieres in Chicago

Chase @ May 6, 2010 11:25 am

Tomorrow, Friday, May 7th is the long awaited Chicago premiere of ‘Vincent: A Life in Color‘. Vincent is a project we have been involved with for a long time (May 2006 to be exact) and we are extremely excited to finally see the film in its home town. ‘Vincent | A Life in Color’ will be running at the Gene Siskle Film Center May 7th – May 13th and we highly recommend you check it out.

As a Chicagoan, you may think you’re familiar with Mr. Vincent Falk but after seeing the documentary you will totally fall in love with him. Aside from being entertaining, the documentary is the epitome of ‘don’t judge a book by its cover’ or in this case ‘don’t judge a man by his fashion’.

A bit about the film:

Vincent P. Falk is Fashion Man. Clad in brightly colored suits; Vincent twirls on Chicago’s many bridges, performing fashion shows for passing tour boats. As he spins his way through the city, tourists and locals alike are left to wonder just who is this strange man. Over the course of one boat season, we follow Vincent and begin to unravel the mystery that surrounds him. We discover that the man behind the fashion, having come through the travails of life, has decided to do what makes him happy. And so, he spins on.

You can see all of the work Studio of the Month has done for the film on the newly updated Vincent project on our site.

Elite Floor Factory Trade Show Booth Illustrations

Chase @ March 16, 2010 5:04 pm

Yesterday we finished up an interesting project for our friends (and family) at Elite Flooring in Charlotte. You may have seen Rudy’s post last week about a little character he did for this as well. They are working on a new trade show booth, and asked us to help them with some graphics. The inspiration for the booth is ‘Monsters, Inc.’ and they wanted a series of large illustrations to create faux factory walls. The kicker… they needed to be done quickly. 7 illustrations in all.

The panels needed to have the feeling of 3D renderings, but there wasn’t enough time to actually model the environment. Instead over 4 days each panel was done with layers of texture in photoshop as well as a healthy bit of copy/paste to save time. Here is an animated layer by layer of a ‘computer module’ found on one of the panels.

The talented folks at Ferguson Design in Charlotte are constructing the booth, which will include large over size gears and a working door. The final booth should look something like this.

More details on some of the panels. click the image to see it larger

More images of the actual booth will be coming soon. The panels are being printed this afternoon.

The Hardcover…

Rudy @ February 17, 2010 12:03 pm

Its been awhile since I have had a hardcover copy in my possession — I left the only one I had back in Colorado as a present to my folks — but here it is again in my hands and i was able to take some photos for our website. I must say it was a thrill to have such an opportunity — and even more of a thrill to see it realized. Much thanks to Chris Mahoney at Pariah Publishing. You may also like to see more images from the hardcover here.

Making a randomly looping video player in AS3

Chase @ February 16, 2010 1:48 am

Occasionally a project comes along that sounds SO easy, but turns out to be a big challenge. SotM loves a good challenge so we were excited when a good friend recently came to us with just such a project. The client had a folder filled with 40+ .flv files and they needed a video player that would infinitely play these videos at random. Sounds easy enough but the challenge was making this seemless so the video came across as one never ending clip.

Our first thought was the obvious simple logic. Load and play a video, then when a video completes load and play the next video. The problem with that is the slight gap you get while the request is made for the next file. The solution logic is to have two video players stacked (fp1 and fp2). One player plays a video while the second player is hidden loading the next video. Once the visible player completes, it is hidden and begins loading the next video. Meanwhile the other player is made visible and begins playing.

This is what we will be making. Let’s have a look at the code. You can download all of our source files for this simple project here.

// set a path to video files
var path:String = "flvs/";

// generate array of file names
var fileNames:Array = ["one","two","three","four"];

First create a variable ‘path’ to the flv directory. Then create an array of all the flv file names. In our final player we load these up via php and flashVars to allow the client to simply upload videos into a directory. For this example, however, we will add the names manually in an array called fileNames.

// random whole number generator
function rand(high:Number):Number {
    return int(Math.random() * high);
}

We want the videos to load at random so next we create a very simple random whole number generator.

// assign initial video source
fp1.source = path + fileNames[rand(fileNames.length)] + ".flv";

// create event listeners
fp1.addEventListener("complete", nextVideo);
fp2.addEventListener("complete", nextVideo);

Next we setup a few things. We have 2 flvPlayback components on the stage, one named fp1 and another named fp2. We want to set the initial source of fp1 to the first video in the fileNames array. The we give both flvPlaybacks event listeners that will fire our nextVideo function on complete.

var firstPlayer = true;

A boolean variable is created to tell the player which flvPlayback is currently visible and playing. If firstPlayer is true, fp1 is playing. If firstPlayer is false, fp2 is playing.

// load next random video into open player
function nextVideo(e):void {

	// var flv is created and set to a random filename in fileNames array
	var flv = rand(fileNames.length);

	// var p (play) and l (load) are set to equal fp1 and fp2.
	var p = fp1;
	var l = fp2;

	// switch var p and l if the firstPlayer is not playing.
	if (!firstPlayer) {
		p = fp2;
		l = fp1;
	}

	// toggle firstPlayer variable
	firstPlayer = !firstPlayer;

	// set p to visible and play
	p.alpha = 1;
	p.play();

	// set l to invisible,begin loading the next video and set to stop.
	l.alpha = 0;
	l.source = path + fileNames[flv] + ".flv";
	l.stop();
}

Now for the function. It’s actually pretty simple so I think the comments should explain it pretty well.

nextVideo(null);

Finally the nextVideo function is called when the .swf first loads. We have to send an argument of null because nextVideo is expecting an event via the listeners.

What we get is a simple Flash based video player that will infinitely play videos at random. Additionally we created a play/pause button, created a check to keep files from repeating back-to-back and added functionality to load file names from a directory via php. I’m happy to explain these process, just let me know.

Of course one of the neat things about coding is there is always 5-6 ways of solving any problems. What would your solution be?

We should note that there is a bit of a concern over bandwidth with a player like this. If you have 50 videos and a user leaves the browser window open, the videos will all load. If a couple thousand people do that you could easily eat up 200-300 gigs of transfer. Be careful!

Shire Update…

Rudy @ February 15, 2010 11:26 am

Lucas has been working like crazy in order to get the Shire ready for the coming growing season. The seeds are on their way and the soil is just waiting in anticipation. During my time home for the holidays I was able to help begin the greenhouse construction — and now it has been covered and is maintaining 95 degrees. The trailer shown here will be positioned on the lower acres of the garden near the bike trail and will contain all the veggies that are for sale and pick-up.  Luke has also made a lot of connections recently with the folks he wishes to bring into his vision of the garden as a place for learning, sharing and gathering. Some events in the works include dinners to be hosted by ShireCSA, serving food grown only feet away, featuring speakers presenting on a wide range of green topics. More to come in the future…