Showing posts with label technical. Show all posts
Showing posts with label technical. Show all posts

Wednesday, April 29, 2009

Tarneeb (and more on the way!)

We have recently launched Tarneeb, another popular card game in the region.

Since day one, we knew that we didn't want to be a Trix-only website; that's not the idea behind Jawaker. The idea is to have a card game website for the Middle East that would include many of the most popular games.

This had a big effect on how we designed the core of Jawaker. The core is designed to allow us to add more games easily. We also found out that some parts of games are common among many games, such as partnering, bidding and doubling. These parts are made to be re-usable.

So in short, our system will allow us to add more games for you to enjoy! And the more games we add, the easier it is to add new games, since they will probably have common parts with previous games.

Monday, November 3, 2008

On Scalability: Using Memcached

Jawaker has been written with scalability in mind, all along the way.

One of the decisions we took in this aspect was to use memcached to cache information about the games currently being played. Memcached is a general purpose distributed memory object caching system, think of it as a large hash table (a dictionary for Pythoners out there; a table of key-value pairs) loaded right into your memory (basically, the RAM), with the ability to spread over several machines if needed.

The idea is that accessing the memory is much faster than accessing the database, by caching data that is accessed often (such as data about games being played), we save valuable database read time. Database access becomes an issue as the number of queries increase, our solution reduces the number of queries needed, and can scale across multiple machines too!

This is in particular important since Jawaker is AJAX-based, and querying the server for updates happens often.