tags:

views:

54

answers:

2

Hi everyone I want to write an ads server (like OpenX), just for fun and learning (aren't they the same thing? :) ). But my idea, more than writing an entire application with web interface and so on, is to write a very tiny core that provides the basic functionality in the most efficient way, like a library that other people can use to write a complete application more fitted to their needs. The objective is to make it small, very efficient and fast. Can someone help me with a list of the minimal functionality needed for this kind of application?. An Ads Server isn't only a banner delivery, there are differents methods (for example OpenX uses a very weird javascript code that i don't understand completely) Any help or guidance is more than welcome...Thanks

+2  A: 

Writing a proper ad server is no trivial feat! If you want to start small you could simplify the delivery by just picking a random banner from a repository but properly tracking each banner's impressions and clicks. That alone is already pretty complex and you'll understand the reason for OpenX's "weird" javascript ;-)

Once you have that stable you can start improving the delivery process, creating first a CPM model, then a CPC, and so on.

Mauricio Scheffer
Exactly!! That part of "properly tracking each banner's impressions and clicks." is precisely what I want to understand!! But I don't know even where start to investigate... There aren't a book like "Ads Server internal explain"... :( If someone can give a clue... I promise made open source the results!! :)
Nisanio
Mauricio Scheffer
+1  A: 

There is no unified implementation of ad server features. You can see different open source implementations:

  • OpenX (http://www.openx.org)
  • AdServerBeans (http://www.adserverbeans.com)
  • Oasis

Features can be categorized as:

  • targeting
  • reporting
  • ad serving (banner types, publishing channels: web, mobile, in-game, etc.)

Your idea to create ad server kernel so to say is good. I've been thinking of that too. You see, a lot depends on the logic. There are:

  • banner managers
  • banner exchanges
  • ad networks
  • yield optimizers
  • on demand platforms
  • auctions etc.

So you can think of pluggable banner selection logic. Separate model from view and controller. Most importantly: who is going to use your kernel and why and how? :)

Vitaly Sazanovich
Well, my objective is learn. But still, I think that many ads server are good in some things are very bad in others, so a collection of "core features" will mean anyone could be made his own ads server, tailored to his necessities.
Nisanio