Gilles Dubuc - Barcelona Facebook developer garage

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Gilles Dubuc - Barcelona Facebook developer garage - Presentation Transcript

    1. Speaker: Gilles Dubuc
    2. non-profit ad network
    3. non-profit ad network lessons learned
    4. BigApp (daily active users) Inc. advertisement $$$ advertisement $$$ SmallApp PequeñoApp PetiteApp Ltd SL SARL Why create a non-profit ad network?
    5. come on in, BigApp (daily active users) you’ll make a quick buck Inc. advertisement $$$ advertisement $$$ SmallApp PequeñoApp PetiteApp Ltd SL SARL Why create a non-profit ad network?
    6. already has a userbase and sells ad space to other application makers come on in, BigApp (daily active users) you’ll make a quick buck Inc. advertisement $$$ advertisement $$$ SmallApp PequeñoApp PetiteApp Ltd SL SARL Why create a non-profit ad network?
    7. already has a userbase and sells ad space to other application makers come on in, BigApp (daily active users) you’ll make a quick buck Inc. advertisement $$$ advertisement $$$ SmallApp PequeñoApp PetiteApp Ltd SL SARL all hope that they’ll grow big enough to sell ad space to smaller application makers Why create a non-profit ad network?
    8. photo credit: khalid almasoud Why create a non-profit ad network?
    9. X clicks donated Y clicks received App f(x-y) = priority Text App App Donation pool The idea
    10. Applications share userbase growth X clicks donated Y clicks received App f(x-y) = priority Text App App Donation pool The idea
    11. Applications share userbase growth X clicks donated Y clicks received App f(x-y) = priority Text App App Donation pool Developers distribute “growth credit” among their applications The idea
    12. (daily active users) (daily active users)
    13. (daily active users) • Open source (daily active users)
    14. (daily active users) • Open source • Non-profit (daily active users)
    15. (daily active users) • Open source • Non-profit • Aimed at application cross-promotion (daily active users)
    16. (daily active users) • Open source • Non-profit • Aimed at application cross-promotion (daily active users) • Accessible through an API
    17. (daily active users) • Open source • Non-profit • Aimed at application cross-promotion (daily active users) • Accessible through an API • Started in October 07
    18. (daily active users) (daily active users) On average 100 applications are part of the cross-promotion pool
    19. (daily active users) (daily active users) CTR
    20. (daily active users) developer cheating (daily active users) CTR
    21. (daily active users) developer cheating average (daily active users) around 0.12 % CTR
    22. (daily active users) A few lessons learned
    23. (daily active users) A cross-promotion network won’t make your app’s whole growth, but it’s a nice supplement A few lessons learned
    24. (daily active users) A cross-promotion network won’t make your app’s whole growth, but it’s a nice supplement Making it open source doesn’t mean other developers will help A few lessons learned
    25. (daily active users) A cross-promotion network won’t make your app’s whole growth, but it’s a nice supplement Making it open source doesn’t mean other developers will help Be careful of people trying to take advantage A few lessons learned
    26. (daily active users) A cross-promotion network won’t make your app’s whole growth, but it’s a nice supplement Making it open source doesn’t mean other developers will help Be careful of people trying to take advantage Planning scaling is important A few lessons learned
    27. caching & scaling101
    28. caching & scaling101 being prepared for overnight growth
    29. Distributed caches in a nutshell
    30. • Clustered caches let you store data in a server’s RAM Distributed caches in a nutshell
    31. • Clustered caches let you store data in a server’s RAM • The most popular ones act like hashmaps Distributed caches in a nutshell
    32. • Clustered caches let you store data in a server’s RAM • The most popular ones act like hashmaps • Access is blazingly fast compared to a database, but you lose the advantage of advanced queries Distributed caches in a nutshell
    33. • Clustered caches let you store data in a server’s RAM • The most popular ones act like hashmaps • Access is blazingly fast compared to a database, but you lose the advantage of advanced queries • Deploying a cluster of distributed cache nodes is straightforward and requires minimal configuration Distributed caches in a nutshell
    34. Cache::set($key, $value, $expiry); Cache::replace($key, $new_value, $expiry); Cache::get($key); Cache::delete($key); Cache::increment($counter); Distributed caches in a nutshell
    35. Identify the static (or mostly static) elements of your pages i.e. the leaderboard of your game Instead of pulling the leaderboard’s data from the database every time, make a cron job generate it into the cache Then pull the data from the cache when end-users request it instead of querying the DB Improve your application’s scalability with caching
    36. Storing your objects into the distributed cache class User { private $user_id; private $score; [...] private function saveIntoCache() { Cache::replace(“User-”.$user_id, $this); } } Improve your application’s scalability with caching
    37. Common pitfalls Be very careful of invalidating the cache at the right time Improve your application’s scalability with caching
    38. Common pitfalls Be very careful of invalidating the cache at the right time If counters are needed as part of some objects, these need to be stored in the cache in addition to the object Improve your application’s scalability with caching
    39. Common pitfalls Be very careful of invalidating the cache at the right time If counters are needed as part of some objects, these need to be stored in the cache in addition to the object Concurrency issues Improve your application’s scalability with caching
    40. Common pitfalls Be very careful of invalidating the cache at the right time If counters are needed as part of some objects, these need to be stored in the cache in addition to the object Concurrency issues Always assume that the cache might fail Improve your application’s scalability with caching
    41. Common pitfalls Be very careful of invalidating the cache at the right time If counters are needed as part of some objects, these need to be stored in the cache in addition to the object Concurrency issues Always assume that the cache might fail Memcached crashes inexplicably from time to time, setup a mechanism to restart it automatically Improve your application’s scalability with caching
    42. • Design your architecture with more than one server in mind
    43. • Design your architecture with more than one server in mind • Use the right tools
    44. • Design your architecture with more than one server in mind • Use the right tools • Know these tools like the back of your hand
    45. • Design your architecture with more than one server in mind • Use the right tools • Know these tools like the back of your hand • Caching is your swiss army knife
    46. an application’s karma
    47. an application’s karma balancing between quality and “viral” growth
    48. (daily active users) source: adonomics.com (daily active users)
    49. (daily active users) source: adonomics.com (daily active users) Viral growth debunked
    50. (daily active users on “mobile” application) source: adonomics.com Viral growth debunked
    51. source: adonomics.com Aiming at growth vs aiming at quality
    52. Fear -------------------------------------------------- Love Where to stand?
    53. Quick Quality -------------------------------------------------- growth product Where to stand?

    + kouiskaskouiskas, 2 years ago

    custom

    1282 views, 0 favs, 2 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1282
      • 1273 on SlideShare
      • 9 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 13
    Most viewed embeds
    • 8 views on http://www.kouiskas.com
    • 1 views on http://kouiskas.com

    more

    All embeds
    • 8 views on http://www.kouiskas.com
    • 1 views on http://kouiskas.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories