These articles are always silly, as they assume you cannot work on both simultaneously, or take turns. You can though, and you should.<p>In my experience you start out with a decent amount of low hanging fruit in both areas, so you pick it, probably with a focus on virality in the beginning just so you can get your new users numbers up to help make engagement testing achieve significance faster. (You can't do an a/b test to determine whether people quit your app in 2 weeks or 3 if you're only getting 100 new signups a day, at least not in any reasonable timeframe).<p>So first you knock the easy virality stuff out. Do my users have good reasons to invite friends? Is it easy enough to do so, and is the invite messaging sufficiently attractive? Can I squeeze some more wall posts in here somewhere, and make the ones I have more attractive to non-users?<p>Then move on to the easy engagement stuff. Do I have solid daily return incentives? Do my users feel like they'd be missing something if they didn't log on tomorrow, and if not, how can I change that? Will they still have new and exciting things to do a week from now, with clear goals to get them there? What about a month? How about 3?<p>By the time you've picked that low hanging fruit, if you're making a Facebook app you're probably into some serious revenue. Then the hard work starts, as the low hanging fruit is gone, and you put 10x the work into getting .1x the performance improvements (which is still high enough ROI to justify it due to scale).