the blog

Here we talk about design, development, games, the publishing industry, and any other web-related stuff that we find interesting. And, of course, we talk about what we are up to in the studio.


Subscribe

If you want to keep up to date with what we're up to, subscribe to our feed. If you're unsure how to do this, read more about feed aggregators.

Full Scalable Background Images

f4a-screen

Recently we worked on creating the new Fashion for All web site. F4a is a national non-profit in the US. The aim is to offer women living in low-income communities a day of dignified shopping and access to community-based organizations, which provide educational, career, health, wellness, and parenting resources. It’s about providing the tools and resources for women to achieve personal and professional growth. A good cause indeed.

The branding for f4a was done by a very creative group who handed over a PSD for the homepage, along with some minor requirements/requests. The main one, and the one that had me Googling a bit: to have the background photograph expand/shrink with the browser window. I’d seen this done before, but never tried it out myself – always great to have a challenge and learn something new. I Googled and found a few techniques for this – some much better than others.

Read the rest of this entry »


It’s On!

It's On

Over the weekend we found ourselves bored and in search of something to do around town.  This sparked an idea: what if the power of Twitter could be harnessed to find things to do?  What if everyone on Twitter could post about upcoming events in a way that would broadcast them to everyone?  Indie bands, theatre troupes, artists, and authors–they could all spread the word about their upcoming gigs, shows, exhibitions, and signings.

We sat down and worked out the details, and then set to work. By Monday, It’s On was alive and breathing.  Anyone on Twitter that wants to spread the word about an event can simply post to Twitter with:


@eventin City Name: Info about the event.

example:


@eventin Oxford:  May 1, 6am - Traditional to gather at Magdalen Bridge to listen to the choir sing. http://tinyurl.com/dca4y3 #music

Nothing more required. No accounts, no follows, just a post on Twitter.  We hope it will be beneficial to people running smaller events that want to get the word out, and to people looking for something fun and interesting to do!


Knopf Doubleday Site

Screenshot: Knopf Doubleday

Naturally, when Random House approached us to develop the new Knopf Doubleday site, we were giddy.  But what’s more:  we were intrigued.  They didn’t just need a website, they needed a suite of sites that all worked together.  They needed all of their imprints, and several of their main content categories, to have individual sites, with individual themes, and they wanted their content to trickle up to the top of the main Knopf-Doubleday site.  On top of this, they needed this sea of content to be accessible.  They needed a clean, content-focused design that could be shared and modified by their imprints–a clean marriage of form and function.

What emerged is a true testament to the power of WordPress.

We designed and built the site to require as little upkeep as possible.  Content managers can add to and update the site with minimal effort.  A post to any of the imprint sites is instantly shown on the top-level site (unless they opt out of this functionality for the post, of course).  No multiple posts to manage, no confusing search results.  Each piece of content lives in a single place, but can be accessed from many.  The icing on the cake is that new imprint sites can be added in a day.

We’re proud of what we and Random House as a team have built.  And what’s more, we’re happy to contribute to the publishing world.


Flex Initialize and the Hassles of Changing State

One of the features of Adobe Flex that gives it so much power is the ability to build proper MVC-architected projects.  You can build your views with MXML, usually with some basic scripting, and keep the real code and data separate.  And part of that power is the ability to create different view states for your applications.  A common scenario for using different view states might be: a loading state, a main menu state, and the main application UI state.  When you change states, you often need some code to fire off and do its thing – whether that be (re)initializing data, making remote procedure calls, starting an animation, starting a Timer, or any of a million other things.  One of the most common ways people achieve this is by adding a listener to the initialize event in their view components.  This works great because initialization is called after all the behind-the-scenes work of changing states is done in Flex.

But what happens when you go back and forth between states?  For instance, let’s say you build a game that returns you to the main menu state after a game-over scenario. If you try this, you’ll find a nasty surprise that can be a real headache to track down; the initialize event listeners work just fine the first time, but never again afterwards.  To put this in terms of our example, the game starts just fine the first time, but when you return to the main menu and then start a new game, nothing happens. Or worse, the game is still showing the “Game Over” screen!

Read the rest of this entry »