Vote 4 Pete! April 1, 2009
Posted by headwinds in Random.add a comment

Peter Nitsch is up again for a FITC Best Canadian Developer award. He was runner up last year, and it would be awesome to see him take it home this year! His website has been an amazing portal for the developer community; showcasing his slick work at Teehan+Lax, his own intense experiments and those of his peers.
Please visit this FITC award site and vote for Pete!
Roll your own Social Media platform March 13, 2009
Posted by headwinds in ASP.NET, Blast Radius, Community, HIVE.1 comment so far

Many social media platforms like Twitter or Flickr were built to attract people to share their content in an ad-free space, and people knew that their content wouldn’t be used to market anything. This makes it difficult — but not impossible — for Marketers to harness this media to sell products. We were careful and respectful of this nature when seeking out partners with the goal to leverage their platforms, however, in the end due to some of these conflicting non-commercial virtues, we decided to fly solo and create our own app that basically tweaks the Twitter idea of sharing brief messages and mashes it up with complimentary photography.
In this app, we attempt to pull each photograph based on what the person is saying to give an element of surprise. Without using keywords, it was challenging to create an algorithm to would weigh each word in the string and attempt to find the best possible match. Our .NET developer, Mustufa Baig did a great job in preparing all the data which I tapped into to feed this AS3 experience that stands on the hive framework.
By creating our own platforms, we had no restrictions around what we could do with the content and, by being upfront about where one could send their “moment”, we were able to distribute them widely to the Mobiel Momentjes (Mobile Moments) campaign site, to Hyves (the Dutch version of Facebook), to msn as an extra tab on messanger; and even to mobile devices thanks to our Marvelous partner.
Now that we have this infrastructure setup, it would be neat to open up this project and create an API for visual developers to play with the media. I was at the end of this project train and didn’t have much say in the design, but I can see a lot of potential in dealing with the raw data. For instance, the photography is scaled down is screaming for various full-screen views. I also think a different take on the ticker interaction could benefit from being to click on each moment to open them up instead of rolling around, similar to Flickr clock. Expanding the UI could include buttons to toggle the auto mode or refresh the app, but this is more for a power user and may distract from the simplicity of of the campaign goal to encourage people fairly new to texting to start sharing. Beyond that, this project was really the brain child of Omar Zuberi, our creative director for the Amsterdam office, I think his vision drove this project in some cool directions and it could take off here in Canada.
Parsing multiple namespaces in AS3 January 29, 2009
Posted by headwinds in ASP.NET, Actionscript.add a comment

I was working with a .Net 3.5 developer today and it appears that soap the standard response has changed from 2.0.
I had encountered soap before and knew how to use the Namespace identifier in AS3 to target that nodes with the soap namespace. But this time around the response had multiple namespaces.
At first, I was a bit confused at how to get the xml list from this response:
soal xml response sample
I could get to the Body node as a xml list but I couldn’t seem to parse it any further through E4X until I realized that, along with the “soap” namespace, I also needed to use the “http://smurfs.mobi/” namespace so that my path to the enemy list is actually:
var enemyXMLList:XMLList = envelope.soapNamespace::Body.smurfsNamespace::[requestName + "Response"].smurfsNamespace::["SMURFS"].smurfsNamespace::["Enemies"].smurfsNamespace::["enemy"];
not
var enemyXMLList:XMLList = envelope.soapNamespace::Body.SMURFS.Enemies.enemy
And even if you can’t see the namespace attribute as part of the node, I also discovered that its still there and you need to use if you want to access the nodes of each enemy like so:
for each ( var enemy:XML in enemyXMLList )
{
var enemyObj:Object = new Object();
enemyObj:Object.firstName = enemy.smurfsNamespace::EnemyName.toString();
}
full class AS3 XML Webservice response
I’m sorry, but I think The Smurfs would make a terrible live action movie.
timeline toys December 29, 2008
Posted by headwinds in Blast Radius, Flash, Gaming, User Interface.add a comment

Over the last month, I worked with a local Flash contractor Robert Johnson, and we developed the wii music micro site. It had its fair share of technical hurdles involving heavy omniture tracking, multi-language support, and the ability to work on both the web and the wii console which only supports Flash 7 and suffers from poor memory management.
With the Flash 7 limitation, we decided to develop this site in AS2 but create two versions; one for the web and one for wii console.
The web version sits in one html container and is thus a more seamless experience with transitional animations than wii version which has several html pages. We needed to divide up the wii version so that we could completely flush wii browser’s memory and feed it smaller blocks of data. We also used slightly lower quality videos (higher compression) for the wii to help with the memory constraints.
After several months in the Flex 3 IDE, I found myself back in the Flash IDE coding a mix of AS1/2 and re-discovered the timeline. I know a lot of developers dismiss the timeline as being awkward and clunky; for some reason I get the feeling that it is not considered serious programming. The timeline seems to be more about configuring than coding. It can be used to quickly prototype complex interactions; and it can save you time and mental anguish.
Sometimes, I find I can be more creative visually with the timeline. Unlike Flex, I have pixel perfect control on placing objects on the stage. I also have access to guides that allow me to send sprites shooting off along hand-drawn arcs that would be very difficult to do mathematically. For instance, on the Play Your Way section, the video thumbnails have intricate animations and multiple states which could have been developed purely through code, but frankly I found it easier to use the timeline and a create a re-usable movieclip with a simple API to control it. Otherwise, most of our code was found in #includes and classed out; but in this case it made sense to me go this route and apply a good OOP strategy to encapsulate it. It does take some planning though.

You can vaguely see some of the layers in this screen grab, and I want to point out a couple essential layers. I’m using some old school tricks such as the click shield layer that capture mouse events and hides the mouse cursor when turned on. I’m also using a guide layer to help the sprite follow an arc as it swings out which would quite tricky to program if you’re not trig genius. Had I approached this with pure code, I probably wouldn’t have thought of that animation and did something easier with tweener like a horizontal slide. By looking at this visual easing guide, I was able to recreate the bounce effect manually by editing the motion path. The “as” and “labels” layer keep the timeline organized so that the code isn’t scattered all over the place and you can read the labels to learn its behavior.
Anyways, coding along the timeline isn’t for everyone but can occasionally help you be more creative and develop faster.
Its great to be working on media destined for both the web and the console. Its exciting to hear that the PS3 now supports Flash 9 although as this PS3 Flash 9 article describes, its not quite as good as the web. I’m keen on doing more cross-over media in 2009 and extending our campaigns onto all three consoles.
I would like to see more games drive some light traffic back to the web site. In Fable 2, you discover a locked chest in the game which can only be opened after visiting the site and learning about its origin. Web sites are perfect for developing back story; adding more depth and replay value to the game.
Ever since I heard Lucas Arts used Flash for the UI for one of their star wars games (nearly ten years ago), I have been looking for an opportunity to work on a game UI. I’ve experienced a lot of bad game interfaces that appear to be tacked on as an afterthought. We could create an interface that would both entertain and comfort the gamer [also secretly track and report on problem or never used areas], which would free up the game company to concentrate on what they do the best: developing the game world and game play.
Student Expectations December 22, 2008
Posted by headwinds in Community, Design.add a comment
I was invited to join a panel to judge the portfolios of new grads from the 2 year “Game Art & Design” program at the Art Institute of Toronto. I have mixed feelings about the focus of this program. Obviously its meant to produce students who are only geared towards game design and not the design industry at large.
We were presented with four students and learned that they had many of the soft (concepts, communication, attitude) and hard ( 3d modeling, photoshop) skills that could make them decent designers in both game and web design.
There were 5 judges on the panel from different companies directly and indirectly related to the game industry. I do not work for a game company but work with game clients as well as a variety of other clients. When I was 19, I dreamed of working in the game industry, and was able to translate that passion towards the web. I discovered that I could steal from game concepts and weave them into web design.
Every student ended their presentation with the same question: “What do you expect of me?”
I wanted to see a collection of mostly process work and only a couple finished pieces. This process work could include:
- storyboards
- concept art
- written story
- sketches
- low poly model
- textures
- list all the sofware and tools involved
- photography (locations and macro textures)
- moodboards
As a game design program, I was a little disappointed to see only pure art and not any game interfaces, stories or puzzle concepts.
I’ll share one student’s portfolio site: www.joefortin.com. He was the only one who had an online portfolio, and I liked all the detail work he put into his illustrations. He’s nearly ready to do the box art for a game company like Square Enix or Atlus.
Eat your heart out Harry Potter December 3, 2008
Posted by headwinds in Events.add a comment

I did this little canvas for Richard Ho and Jenna Yim who recently celebrated their marriage. I tried to re-create the graphic on their wedding blog, a great way to fill your apartment and pilfer from your friends.
To give it an aged look I experimented with mixing english breakfast and green tea which was more symbolic than anything but it had a nice effect. I also took some liberties with the painting giving richard a red tie; another symbol this time for Richard’s stag where we dressed up as a schoolboys.
My crest was a nice attack while I waited for the night — it reads ST. HO School for the Unschoolable. We kept things relatively tame with the night peaking in internet cafe on Bloor playing an 8 man map of Starcraft 2 which came down to draw between John Thai and Mike McArthur.
This event has left me feeling a little down as I’m about to pass 2 years of being engaged this december and am beginning to wonder if I’ll ever marry? After buying the house and renovating for the last year, we haven’t had time to consider our next step; perhaps it’s about time to take the next leap. For the sake of my bachelor party alone.
monkey work saves lives November 25, 2008
Posted by headwinds in Actionscript, Community.3 comments
“This holiday, when you a buy a coffee from participating Starbucks RED exclusive locations we’ll give $0.05 to the global fund to help saves lives in Africa” – Starbucks
Starbucks has joined the product RED group, and I helped them promote that message by producing a dozen banners.
Although I prefer to do large scale applications, I’m not above doing monkey work…I mean banners. Up until this point, I had managed to avoid banners beyond some consulting, ensuring that the designers were implementing the tracking code correctly.

For the most part, I find banner work to be boring and repetitive. Its too easy. Unlike applications or experience sites, there are no lows and highs; no big eureka moments; its relatively flat work. This project was no exception. Fortunately, I had a generous amount of time ( 1 week ) to produce the set and they were promoting a good cause.
I did run into a few technical issues; specifically our main constraint was the size limitation. We were told that every banner could be no larger than 50KB whether its 300×250 or 640×480. Obviously the later has a lot more pixels so that we have to apply much more compression to get it under 50 drastically affecting the overall quality. The ad hosting company should have some sliding scale based on dimensions not just a 50KB across the board. In the end, we simply asked for more space for the larger banners and they graciously granted us 100KB for big banners which turned out to be plenty of room.
In order to reach 50KB, a good tactic is to go through the images in the library and set each one’s compression setting individually. For instance, I crunched the rich red pattern is the background from 30KB down to 1.6KB from 100% to 25%. I then set all the images went the photos and experimented with their settings; some I set to 40% while some were passable at 20% without major distortion.
I had another major problem with the graphics. After slicing and dicing the graphics in Photoshop, I imported them in Flash and discovered that all that colours had shifted; turning brighter and flatter. I googled “colour shift flash” and found a great article, entitled Mysterious Save for web colour shift, addressing this issue. Sure enough, as the article described, the photoshop assets I was using had a sRGB profile that Flash does not support.
After the first two days of doing banners, I started to feel the banner burn and got a little fatigued. I’m fast but I’m not Ed Cabral fast. I did use the full week which was a decent amount of time for this set and there were client changes throughout the week.
I found it helpful to test each banner in a html wrapper to ensure that the clicktag worked accordingly and picked up the external link through the FlashVars. If you are using the html that CS3 generates, it is important to add the FlashVars line to the AC_FLRunContent block like so:
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'vodaphone_hyves',
'FlashVars', 'clickTAG=http://www.google.ca',
'salign', ''
); //end AC code
It won’t work if you only add it to the param and embed FlashVars tags. This way you can ensure that the Flash is picking up the clickTAG url.
Besides the clicktag code, there was practically no programming involved. I did all the animation with timeline tweening. Only in that last banner sample did I need some code to stop all the photos from sliding using a 15 second timer so that it rests on a static image and does not distract from the main piece on the host page.
Along with sending the flash swfs to the hosting company, we were also asked to provide backup static gifs. Its easy to check off the the publish gif in the publishing settings. But what if you want to the gif to be a snap shot of a certain frame. You can simply drag the playhead to the frame that you wish to capture [in my case the last frame], and hit publish. Unfortunately this won’t work through Flash project file and you have to do a GIF preview individually. Ideally, I’d like to go into the publish GIF settings and tell it what frame to capture.
After doing these banners, I wonder how I could do them in less time with less effort. There’s got to be a better way. Why isn’t there a banner making machine that automagically produces the various sizes based on a set of animation and composition rules? Perhaps If I had an extra week or three; it would have certainly spiced up the project.
Here is a sample of my final deliverable:
300×600 (weight: 42 KB time: 14.6 secs )
160×600 – Espresso Truffle (weight: 24 KB time: 14.4 secs )
425×600 (weight: 61 KB time: 14.5 secs)
Web and tv are blurring every day. Its neat how banners are now called “channels”. They are definitely commercials, expect banners aren’t sandwiched between sitcom meat, they exist simultaneously (parasitically?!) with their host.
Being both a consumer and producer of web content, I feel proud to have contributed banners that carry a positive message and don’t hammer you over the head with it by looping through it or shouting out at you with bad design. These banners were in great taste and I’ll give credit to Mauricio Pommella for his rich design.
As far as web marketing goes, this is a rather feel good campaign and project to have worked on. At one point when I relatively new to Blast, I think I made the audacious claim that we didn’t do banners because I didn’t see anyone working on them for some time. I’m actually glad that we do banners. Its a lucrative industry with lots of poor examples where we can make a major impact with a good design sensibility. I just don’t want to do them all the time. Well…only if I can help save lives.
some random links:
New York Times article on Jane Goodall
Ted Talk: What separates us from the apes? – Jane Goodall (2002)
the banner blog
Return of the VJ November 15, 2008
Posted by headwinds in Community, Ultimate.add a comment
After thumping the individuals team in our last Ultimate game of the season, we hit the new pub on Queen W called the Dog’s Bollocks for some celebrating. While their pub fare wasn’t quite up to snuff — who puts marble cheese in onion soup? or forgets to thaw the Guacamole for our nachos? who freeze quacomolie?!?! Fortunately, they didn’t have to cook the beer.
The main attraction for a thursday night at the Dogs was Karaoke. Before inviting patrons up to croak out Alanis, the keeper of karaoke machine played viral videos like cow bell. genius! He should have kept this up. Although I have watched most of them already, like any good tune, its neat to experience it in a public setting and see if other people appreciated them. Too bad he didn’t take viral video requests.
This was my favourite of the night produced by Starscream’s lover:
Downtime Indie Game Prototyping November 13, 2008
Posted by headwinds in Actionscript, Design, Gaming, Programming.add a comment
I like to prototype game concepts in my downtime. It helps keep myself and the team busy and sharp. While we wait for paying work, we can test drive new technologies and ideas that will only make us that much faster when we need to deliver quickly. And, It gives us the chance to wear different hats. I’m doing more of the design and writing while our new junior mucks about with AS3 allowing me to mentor. We’ve already found that some of prototype code can be rolled into a real project.
For instance, John Stringham, a fresh recruit here at Blast Radius, has worked out a particle system for this game that he then re-used in a winter campaign.
You can follow our progress through our team blog:Digger Dwarves Team Blog. I’ve enjoyed following other brave game developer blogs that show early stage concepts.
So far we’ve had a lot of encouragement from other people in the company which is a big plus. We can even record downtime against it.
99 to 46 Spadina November 6, 2008
Posted by headwinds in Blast Radius, Design.1 comment so far
This is day 4 post move at the new office, and everyone is pretty much settled, although the dust has yet to. We’re still under some construction. We barely moved a block which is a slight, refreshing path change for my walk to work. Blast Radius is now located at 46 Spadina down from 99. We have the fourth and fifth floor of an office building and, no thanks to the Cityplace condos, we still can’t see the lake.
This office space has does offer much more light. In fact, too much light. We haven’t put up blinds yet and have made do with sheets of brown packing paper over the windows. ghetto.
Prior to moving in, we had several brainstorming sessions about how we would like to transform this new space into something more modern and futuristic. In the old space, we made heavy use of open wall space, plastering them inspiration and evolving client pieces. We hope to do the same here with perhaps a more curated approach since we have a natural gallery wall on each floor with 12 large white blocks about 5 feet wide framed by 2 foot brick sections. I already have my eye on one, and I’d like to wrap some of the columns that run the middle of the space. As a design exercise, I decided to spend a couple hours pulling ideas from Google and slapping them in a photoshop document to create a mood board for the new space.
It looks like Teehan+Lax are working on a mood board tool codenamed Image Spark that, by just looking at their sneak peak, appears to do a very nice job of organizing the photo layers library; better preserving and expanding the individual photos over photoshop’s layers microscopic view. I definitely could have used this at time. It would be nice if you could automatically arrange your photos in various views like a messy collage or sorted grid or a combination (make it more rythmical) or even 3D space like Cool Iris, but that’s probably overkill.