Saturday, August 15, 2009

Flash Love Letter (2009) Part 2

In the previous post, we covered: 
  • Chapter 1 - The Potential of Flash: The great potential of Flash as a platform and the big question: Why are there so few great Flash games?
  • Chapter 2 - Making money:  How do Flash developers currently make money.
In this post I'll cover: 
  • Chapter 3 - Generating value: How Flash developers currently create 'valuable' game for their players?
Chapter 3 - Generating Value
Okay, so you are asking for money for your Flash game.  Do you have something worth selling?  
Let's be blunt: most Flash games on the market are not worth purchasing.  That 2-minute prototype you tossed together in your dorm room with rectangles for graphics is the proverbial "piece of poo." No one in their right mind should spend money on such a slight wisp of entertainment. 
Sales is about an honest exchange of value between two parties. To fulfill your part of the deal, you need to give your players a valuable experience in return for their cash.  You need to make your players fall in love. 
I'll cover the following topics: 

  • The problem with short form games
  • A new definition of value
  • The game mechanics of retention
The problem with short form games
If you track the average play time that a Flash game provides to its customers, you'll see most games average less than 8 minutes of play. Such a short average play time is not enough time to establish value in the eyes of the customer.  Players witness a flicker of value and then the game is done. 
Aggregators dominate short form media
In other industries that deal with short form content, the typical strategy is to aggregate content together to create an hour or two of spectacle or a long term service.   Musicians create concerts and albums.  Improv groups package their skits into longer shows.  Short story writers release anthologies or piggyback onto magazines which in turn are bundled into subscriptions. 
Flash games have historically followed the same strategy.  The little snippets of game play are bundled into portals.  One game may not be all that compelling on it's own, but a portfolio of a few dozen highlighted games is enough to keep the player coming back again and again.  Only in aggregate are Flash games valuable.  
There are several downsides to this model for the developer: 

  • Players fall in love with the portal:  Players start thinking of Addicting Games or Newgrounds as a go to source of entertainment, not NinjaKiwi or Sean Cooper. 
  • Little long term love for the game: Games are treated as disposable moments in the broader experience of wasting an evening surfing a game portal.  Some may provide brief burst of joy, but this just reinforces the appeal of the portal.   
  • Dominant aggregators exercise editorial control. The terminology is 'portfolio management' or 'selecting titles that match our audience'.  The effect is the same.  Dominant aggregators often apply effective pressure to developers to make what the aggregators desire and in turn disconnect developers from the real needs of the customers.  Though well intentioned, editorial efforts typically results in a reduction of consumer choice, an elimination of innovative outliers and a suppression of disruptive business models.  Currently Flash portals are quite open, but these behaviors are beginning to creep into practices of some like Addicting Games and MiniClip. 
  • Lack of trust in the game developer:  When the developer asks directly for money, the customers runs away.  It is like the clown at the circus asking you to pay after you already paid an entrance fee.  The customer doesn't know the clown is starving.  They naturally assume that they are just part of the show.  Clowns asking for money = creepy; Flash game developers asking for money = creepy. 
Note on payment services and trust
The concept of paying for Flash games is still new to players. Payment services like HeyZap or MochiCoins see this as one of the major issues to creating microtransaction games. They attempt to solve the problem of developer trust by creating heavily branded and marketed payment services. The implicit message is "You don't trust the starving clowns, but you can trust us!" 
Time will tell if any of these services gains a large enough network of 'converted' customers necessary to make their branding heavy strategy pays off. Either way, the presence of these services is quite positive to the developer community. In order to thrive, they must spend considerable amounts of time and marketing dollars to convince both developers and players to adopt microtransactions. The end result is a large population of educated players who are willing to pay and large group of game that let them pay. This is the high order bit. Once you have such a culture of buyers, developers can more easily present themselves as a trusted vendor without worrying about the clown factor. 
The ability to take control lies in the hands of the developers
The root of this situation stems solely from the actions of current developers. Flash games, made with little overt influence by any publisher, boss or dictator, suffer from short experiences, poor branding and poor engagement with their players.  As long as Flash developers insist on making short form content that players see as disposable entertainment, portals will continue to be the primary value providers in the ecosystem.  Portal influence will grow, dominant companies will emerge and the margin for developers will fall even further.  This has been the history of aggregator dominated media throughout history and there is little evidence that short form Flash games will escape this fate. 
The only way this balance of power will shift is if developers actively strive to assume a role as the primary provider of value to the customer.  
The cultural root of the short form games habit
In order to do that, you need to look at why you are making short-form games.  Is it a lack of time and resources?  I don't think so since I see casual and indie titles pour years into their games. It is common for members of the rogue-like development community to work on a single game for more than a decade. Cockroaches don't need to release to survive so they can keep plodding away on a game until it is ready. 
Short form games are ultimately self propagated part of the Flash development culture. There exists an entire community tied to a highly effective positive feedback system that encourages the creation of short unbranded games.  This same system fails to reward developers who create longer branded games.
Game developers currently judge the success of their games on several poor metrics:
  • Game ratings on portals: Players on a particular portal rate the game usually on a scale of 1 to 5 stars. Highly rated games are given more traffic by the portals. With this particular rating system, games with overly long introductions that deliver value late in the play session are at risk of being bailed on by easily bored players. Inevitably these players rate games with a 0. This creates a natural incentive to deliver as much easy value as possible in as short a time as possible. It ends up being cheaper to produce a 3-minute 'complete' experience that earns a 5-rating than it is to create a 60-minutes experience that earns the same rating. 
  • Number of 'plays': The other metric developers care about is how many they serve. This metric over emphasizes the importance trial players who click the link, but don't play the game. The metric spikes up when your game spread throughout the various portals and drops off rapidly there after. Again, there is no incentive to make games with depth. Instead you want a new title with a catchy intro that gets people watching that ad. Putting effort into anything longer doesn't improve your numbers. 
  • Weekly and Daily Top 10 lists: Portals put up list that highlight the best new content for the week or day. These acts as a means of letting games bask in the public gaze and are highly coveted both for their traffic and their implied status. However, games quickly fall off these lists and the only way to get back on is by releasing a new game. This encourages developers to release often in order to get as many shots at the spotlight as possible.
These are horrible feedback systems.  They provide an incomplete and inaccurate views of player behavior. They have little to to do with whether or not players love your game.  They have little to do with you creating a long term engaging experience. A mildly humorous 30-second animation about ninja bunnies is just as likely to garner a coveted high rating on Newgrounds as the next Fantastic Contraption.  The first is disposable content.  The second is a viable indie business.  The current Flash ecosystem does not differentiate. 
I initially couldn't imagine that developers were optimizing their games based of such anemic and poisonous feedback. It is the equivalent of going on a diet because the fun house mirror makes you look fat. And yet...
One of my more shameful habits is to lurk on forums and watch how developers react to one another's game statistics.  I'm not proud of my voyeurism, but I find the display of implicit cultural values fascinating.  Developers who have a large number of plays (over 10 million) are lionized.  Other developers are constantly fixated on if their game will score a 4 or higher on the portal ratings.  Any Flash development forum you visit has the same conversations happening again and again.  Even worse, smaller portals robotically copy the top ten lists of larger portals, putting poor filtered products on pedestals throughout the distribution system. The result is that new developers find that there are both benefits to their reputation in the community as well as (meager) financial benefits to focusing on short form games. 
If you put a man in a dark room and place a candle at the other end of the room, he will walk towards the candle.  It matters not if there are bags of gold off to the side or poisonous snakes lying in his path.  If developers could have a brighter source of information, they could see how many opportunities they are missing in their blind pursuit of short form games.  
Note on short form vs short play sessions
Many Flash gamers like web games because they can pop in for a short play session, have a bit of fun and then leave. It is tempted to assume that short play sessions demand short form games that can be completed in a few minutes. This is not the case.
Facebook games also rely on short play sessions, yet they often run for months or even years. You can design long form games playable in bite sized chunks.
A new definition of value
In order to build value into games, we need to toss out a lot of the existing metrics and create a new definition of what it means to make a valuable Flash game. Instead of worrying about our ratings, rankings or ad impressions, what would it mean to 'deliver value to the player'?
For me, this boils down to three simple questions

  1. Fun: Are players having fun? Do they love your game?
  2. Retention: Are players sticking around and coming back for more?
  3. Money: Are players willing to pay you for your game?
If you build a game where you can objectively answer "Hell, yes!" to all those questions, you've got a game that will pay the bills and delight your players.     
You reap what you measure
Perhaps not surprisingly two of the three questions above are not addressed by the current metrics used throughout the Flash community. Let's use our natural desire for feedback and metrics to drive games toward creating real value.  
  • Build metrics into your game that measure Fun, Retention, and Money. 
  • Gather accurate data from statistically valid samples of actual players. 
  • Use the information you gather to inform the design of new features. 
  • Use the information you gather to determine if your new features were successful. 
Player Fun
It is incredibly valuable to know how players rate the fun of your game. Instead of using portal surveys, create an in-game 'Fun' survey that has the following attributes: 
  1. The player is randomly served the survey during 2 minute intervals. So one player may get the survey at 2 minutes in. Another might get it at 4 minutes. And so forth. Each player gets the survey once. 
  2. Record the player's answer to the question "How much fun was this game (1 = Not fun, 5 = Very Fun)" This takes only a few seconds and can usually be easily worked into the context of the game. 
  3. An optional step at this point is to ask an open ended question "What don't you like about this game so far?". 
  4. Average the ratings for each point in time and the graph the results as a line graph. By using a running average of a few days or a week, you'll avoid having your results being swamped by old data from old versions of the game. 
  5. By looking at the graph, you'll easily identify the points in time when players find the game to be enjoyable. It tells you if you need to improve the intro, the body of the game, etc. 
  6. If you are extra smart, you can show the comments for the point in time where your fun rating dips. This gives you qualitative data to help you diagnose why your scores are dropping at that point in time. 
Target: Aim for an average fun score of over 4. You can also track is the percentage of people that rate the game a 5. These are people who passionately love your game and will likely pay for it.  For a good example of how to implement player fun using Google Analytics see this post:
Repeat players are incredibly valuable. They are people who love you game so much that they will leave it for a day or two and then come back to it because their addiction burns so brightly. 
  1. Persist your customer identity. 
  2. Record the percentage of users that return at various intervals (5 minutes, 1 hour, 1 day, 1 week, 2 weeks, 4 weeks, 8 weeks.)
Target: Aim for a weekly retention % over 20%. A good rule of thumb is that player need to play for two weeks before they make a purchase. 
An alternative way of measuring retention is to track the number of times an individual plays your game. Aim for >1% of your players to return to the game more than 20 times.
We want to record ARPU, average revenue per user. 
  • Just take the amount of money you've gotten so far and divide it by the number of unique users who have come into the system. 
Target: An ARPU above $0.01 is better than anything you will earn through sponsorships or ad revenue alone. For comparison MochiCoins' rumored ARPU is $0.06. With the proper game, there is no reason why you can't reach an ARPU of $1.00.
Creating the metrics page
Put together a basic HTML metrics page for your game and measure your game religiously.  A basic dashboard can be assembled with a few days effort.  You can also track events using Google Analytics.  
Again, this requires a bit of web programming skills. Unfortunately, there are a limited number of Flash friendly metrics services that handle this type of reporting.  If anyone has seen one, let me know.  This is a grand opportunity for a company seeking to add value to their Flash game developer services. 
Using metrics 
Metrics are most useful when they are used to improve a game.  Otherwise they are just pretty numbers. I've seen many teams that make collect dozens of metrics and then wallow in a flood of useless data.  Don't let this be you.  Have a plan of action. 
Here are the basic outline of how to use metrics to create customer value. 

  1. Release your game to users on a portal.  It doesn't need to be a big portal, but it should be capable of delivering a few hundred to a thousand views a day.  Feel free to site lock the game if you worry about eventually selling a sponsorship for your game.  If your game isn't capable of driving even a few hundred views a day, go back to the drawing board and make a better game.  For Bunni, we repeatedly put the game up on and took it down again. 
  2. Measure the basic metrics mentioned above.  This is your baseline. 
  3. Make a change to your game that is targeted at improving one or more of the metrics. 
  4. Measure again.  Is the game better or worse? Ask why. 
  5. Repeat steps 3 and 4 until the metrics of game are in a range that meets your target goals.  
  6. Expand your test or kill the game: At this point, you can choose to release the game more broadly by launching it on more portals.  Alternatively, a game with poor metrics that isn't improving can be killed early in the process, freeing you up to climb more fertile creative hills. 
Once you start practicing this process, you'll notice a shift in how you design and build games.  You've gone from designing in the dark to steering your game towards delivering value using the light of up-to-date, reliable information.  
An example of metrics in action. 
When Bunni: How We First Met was released on New Grounds for a test with live users, it scored a soul crushing 2.5 out of 5 on the portal ratings.  If we had only external information, we would have had a hard discussion about either scrapping the game or reworking the core mechanic dramatically.  In essence, the Newgrounds user ratings told us that we had completely failed to make a game that users loved. 
Yet, we had just hooked up our internal fun metrics as described above.  Instead of trusting Newgrounds, we were able to us ask directly users how much fun they were having as they played the game.  The hope was that we'd get better quality data due to the following factors: 

  • Random sampling:  We tried to avoid using self selected ratings which often are biased towards either those with very strong opinions or a niche portion of the population that enjoys rating things. 
  • Better defined question: We asked a standardized question that has been used on hundreds of games over the years. This let us compare the score to known baselines.  Often portals offer a bar with a number that user can set.  Who knows what criteria portal raters think they are offering an opinion on?
  • Tie ratings to gameplay: We included time stamp information so we could tie ratings to particular moments in the game. Often there are specific points in time where players experience difficulty. Portal ratings tell none of this information. 
The results were fascinating. 200 people had rated the game on Newgrounds.  Yet only 40 people had actually played the game.  Of the people who played, our average score was 4.22, a rather good number for any game.  Interestingly, the player rating actually increased the longer people played the game suggesting our core gameplay was not merely initially fun, but fun for the long haul.  Our players were falling in love. 
Using this information, we realized: 

  1. The core gameplay works quite well and doesn't need to be changed. 
  2. Something about the initial experience was turning off large numbers of users before they even played the game.
Of the hundreds of design option initially available to us, there was now one obvious feature that needed improvement. We focused on streamlining the sign-in experience so that we weren't asking for as much personal information upfront. Mere hours later, we initially tested at 3.7 (and stabilized at 4.15) on Kongregate and eventually went on to score a 4.38 on Newgrounds.  
In this situation, having the right metrics was the difference between killing the game or making a minor targeted change that led directly to success.  Not all decisions are as dramatic, but the basic process of smart design illuminated by accurate data remains. 
Note on portal ratings
Bunni's portal ratings sound good, but they are still heavily biased. Our internal surveys settled in at 4.06 (out of 5) after 45 minutes of play. Our first 15 minutes only scores a mediocre 3.6. There is still plenty of room to improve the game that is not readily revealed by existing public feedback systems.
Developer cared about biased portal ratings since they have a direct impact on whether or not the game is picked up by lower tier portals or if the game makes the front page. The good news is that portal ratings lag internal ratings in a predictable manner. Due to the biases involved in portal ratings, if your internal scores are good, portal rating will generally be higher. If you internal scores a bad, portals ratings will generally be lower. As a result, you can simply focus on getting good internal ratings and ignore portal ratings unless there is a major discrepancy.
Metrics are not a magic bullet that solves all design issues, but they are a powerful tool if used appropriately. There are several pitfalls you'll run into: 

  • Over analyzing: Some designers worry that all the numbers remove the creativity from the game development process. Use common sense.  If you are analyzing the correct color of blue, maybe you've gone too far. 
  • Lack of practice: It takes a bit of practice to learn how to use specific metrics.    You need to recognize what is noise and what is a meaningful signal.  You need to learn what a 'good' rating looks like.  This takes time, setting baselines and experimenting. 
  • Out of date: You have to keep metrics up to date as the design changes.  Stagnant or out of date metrics will not be used. 
  • Inability to dig deeper: Often developers will implement high level metrics and then not have enough flexibility to find out more once an issue is highlighted. At the very least have the ability to segment your stats based off time so you can see how your latest update affected your results.
  • Treated as low priority: Developers put off integrating metrics since they don't seem to contribute directly to the game play.  This is dumb.  You still turn your lights on before you go driving at night even though it takes you an addition 5 seconds to flip the switch.
  • Good to great: If you have made a good game, metrics can help you polish it into a great game.  
  • Finding the important design levers: Rich feedback lets you quickly focus on changes that make a real difference. You can think of the various variables in your game as levers.  Turn the right levers and your game will improve.  However, time is limited and some levers have a much greater impact than others. Without metrics, developers turn levels willy-nilly, often making the game worse without knowing.  The right metric help you identify the levers that really matter.  They often aren't what you think they are. 
  • Knowing when to kill a project: If you have a horrible game, metrics won't turn it into a great game, but they will let you know that maybe you are polishing a turd.  
Don't fear the metrics. You still need to be just as creative and passionate as before, but now you've got this wonderful information rich environment that gives you immediate feedback.  I think of it as painting in a well lit room versus painting in the dark. 
My favorite part is that when you release your game to real people and measure the results, you know for a fact if you are delivering value to your customers.  That certainty you are adding something valuable to the world feels great.  Try it.  You'll like it. 
What metrics tell you about monetizing your game
Here are a couple of stages of engagement that you'll witness when you look at the metrics for enough games.  How you much money you make and the methods you use to make money are directly tied to where your metrics settle. 
I often use the metaphor of 'falling in love' when talking about these stages since even though we are using cold hard metrics, we should always remembers that we are attempting to create a highly emotional and human experience. 

  • Flirting: Your game ranks high on fun for the first few minutes.  However, weekly retention is close to 0%.  Most portal Flash games fall into this category.  Ads work well here, but you'll give the vast majority of your revenue to the aggregators and middlemen. 
  • Dating; Your game ranks high on fun for the first hour or two.  Weekly retention is still low, falling into the 1% range. However, a large percentage of people rate your game a 5.  These players are willing to pay you directly.  Monetize them by using a content or time gate to get them to pay a one time fee.  Most downloadable casual games fall into this category.  There are a small handful of Portal Flash games that reach the dating stage.  Dating level games also give up the majority of their revenue to aggregators in middlemen. 
  • Married: Weekly retention is higher with over 20% returning each week.  5% return after after a month.  Players have integrated the game into their lives and are willing to spend money on it like any other favored hobby.  You'll find individual players willing to spend hundreds or even thousands of dollars on your game.  A long form game that has a larger number of married players is a business that can make good money for years.  MMOs and Facebook games fit into this category.  There are only a half dozen or so casual and Flash titles that are worth marrying.  Games that you can marry are one of the few types of games that lead to long term developer independence and that limit the inexorable dominance of aggregators.
The relationship between fun and retention
Theses categories of engagement point to the incredible importance of retention, a metric that has been historically ignored by Flash game developers.  The good news is that if you are already focusing on fun, you are half way there to making a valuable game. 
Fun needs to come first.  You cannot have a high retention game that players do not find fun. Otherwise, they'll stop playing. So aim for creating a game that ranks above a 4 out of 5 on the fun metric.   Once you have a fun core game, you need to extend that fun for as long as possible. 
A huge shift for Flash developers who seek to make highly monetizable premium Flash games is that they need to start thinking in terms of weeks worth of play, not minutes. 
Game mechanics of retention
Focusing on retention and player engagement changes the type of game that you make. There is an entire world of game mechanics that deal with retention. They are impossible to cover in detail here, but there are some patterns.  In general, as an independent developer, you want to make the most game play with the least amount of effort.  I live by this particular graph: 

The cost of hand crafted content scales linearly while procedural and social content decreases in marginal cost over time. With this as a guiding principle, you can examine various types of content and see if it fits your game.
  • Narrative, story, and cut scenes exhibit "rapid burnout".  In other words, player see them one or twice and then are bored when they see them again.  Games that rely on such content have generally low retention metrics.  You can mitigate this by releasing new narrative content on a regular basic to keep the product 'fresh', but this has a high cumulative cost. 
  • Linear levels or solvable puzzles also exhibit rapid burnout.  Game systems that can be completed or conquered are usually one shot activities.  You can layer additional challenges within each level, but often only expert players will be motivated to come back for a second play through.             
  • Some handcrafted content like text or static images can be refreshed cheaply:  The type of handcrafted content you include makes a huge difference on the slope of your increasing costs.  New text-based questions in a trivia game are relatively cheap compared to creating new God of War levels.  An hour of text-based content is likely several orders of magnitude cheaper to build.  
  • Social content is low burnout: People will keep interacting with their friends for years.  Mechanics that can tap into this often have very high retention rates.  Anything that allows players to chat, share and form social identities in a community is pure gold.  
  • Grinding results in burnout, but it slows the process. Techniques like leveling or purchasing upgrades can dramatically increase the length of the game for very little development and design costs.  Think of grinding as method of stretching, but not adding to your content.  Grinding techniques only delay the inevitable.  They can result in lower fun scores as people feel obligated to play, but aren't enjoying the process of playing.  Since you want people to fall in love, such a reaction can be counter productive to your goals. 
  • User generated content systems are low burnout: User generated content is ultimately a social system that encourages users to create consumable puzzles.  The puzzles themselves may be short lived, but the community of creators can thrive for decades. This solves the problem of the linearly increasing cost of more handcrafted content by apply large numbers of people working for free. 
  • Algorithmic content has low burnout, but is hard to create and balance: Evergreen mechanics like Bejeweled or random map generation in Nethack keep people playing for hours.  However, they are tricky to invent and balance.
An example of a high retention game is one like Puzzle Pirates that has social (avatar, chat, guilds), grinding (levels) and evergreen algorithmic content (puzzles).  There is some light narrative in the form of periodic events and very little in the form of conquerable level design.  Most games have a mix of all these various types of content and successful services almost always put a portion of their reoccurring revenue towards a steady trickle of low marginal cost handcrafted content.  However, a high retention game designs tend to emphasize content with less burnout. 
Within these new constraints on your game design lies an opportunity. In my humble opinion, algorithmic and social content lies at the heart of what makes games such an amazing media.  If the goal of creating a game that players fall in love with requires that developers are constrained to exploring these two thrilling topics more deeply, so be it. 
I personally find it exciting that there are strong financial justifications for encouraging game developers to invest in areas of expression that are wholly unique to games. Games that rely primarily on plot, graphics and disposable levels are bad business in a world where games thrive as high retention services. Now you have justification to say, "Sorry, that cut scene you wanted is a high burnout feature. We'll make more money by improving our game mechanics and investing in additional community features."
Being the primary provider of value is hard work
The goal throughout all this is for developers to assume a role as the primary provider of value to the customer. Unfortunately,this isn't easy.  First, it is simply determined, professional labor. You can't simply slap a price tag on any old Flash game and start raking in the dough.  You need to invest substantial effort building a rich game that players see as a hobby, not just a five minute fling. This means measuring player engagement and methodically moving beyond the cheap momentary thrills that dominate the current Flash portfolio. These are entirely new skills for most Flash developers and they will not be learned cheaply or quickly. 
Secondly, creating engaging long form games is a major cultural shift. It means ignoring and uprooting many of the accepted measurements of status and success worshipped in the Flash community.  It is one thing to tell you to "Stop making throw away experiences."  It is quite a more difficult task for a new developer to push aside the accepted norms of the tribal community that provides such an easy benchmark for their tentative efforts.  Down one path, you can crap out of a short sketch of a game and get kudos (and small amounts of cash!) from people and portals you respect.  Down the other it is just you, your users and your metrics slogging towards greatness.  Portals will shun you or offer pennies for your hours of labor.  Ad networks won't pay you any more than a doodling game that a 12 year old created in a weekend.  Only your players will love you.  And will you be able to deal with that?  Many Flash developers that stumble upon a great gaming service run screaming from success.  In their minds, they made Flash games as a quick creative burst.  Flash devs do not expect to spend months, even years of their life supporting a turbulent and demanding community of fans. 
Luckily there are a lot of Flash developers that are hungry and willing to innovate.  That is why I love this market. There are also a lot of Facebook and Casual developers who will happily transfer their business savvy development skills to a blossoming new market.  It only takes a handful of successful long form Flash games to plant a flag that say "Here be money!"  And the flocking shall begin. 
Quick value checklist
  • Are you ignoring bad metrics like portal ratings?
  • Are you measuring the holy triumvirate of value: fun, retention, money?
  • Are you collecting real customer data?
  • Does your game score 4 out of 5 on the fun scale?
  • Do players return after a week?
  • Is your game design amendable to high retention play?
  • Are you iterating on your game and improving your game as measured by internal metrics?  Have you figured out the big levers that affect player experience?
  • Do you know when you are done? Do you know when you've reached the point where your game has proven value to your players? 
  • Are you willing to bail on the game if it doesn't show signs of improvement?
  • Are you striving to be the primary provider of value to your customers?
Take care
PS: The next chapter will likely follow in a couple of weeks.  I find that when I post these, I get all sorts of interesting information from people...which leads to revisions. :-)  Next time I'll cover distribution.