Tuesday, April 21, 2009

Jawaker Has Improved, So "Watch" Out

We had heard a lot of feedback from our users requesting to be able to watch games in progress. This feature made a lot of sense to us, so we decided to add it to all games in progress. Now our users, whether logged in or not, can click the "eye" next to each game in progress and immediately start watching the game. Logged in users can also join the game directly if there is an empty seat.

On another note, we also implemented a new tool tip. We are strong believers in improving usability, so we applied a tool tip that is intelligently placed according to your screen, comes up upon hover and "sticks" upon clicking :)

Saturday, April 4, 2009

Something For Everyone

Variety is the spice of life. After deploying our recent changes to the game play that we thought were amazing eureka moments, we started receiving complaints from players who wanted to go back to the old style of play (i.e. without a timer and without people leaving and joining during the game). We were taken aback, because we thought that we had hit the nail on the head with our new changes. So the Jawaker team went back to the drawing board and decided to introduce choice to players when creating a new game. Players can now choose to play a game based on five parameters:

- With or without a timer, and how long the timer should be.

- With or without kicking out players when they fail to play a card for a specific number of turns.

- With or without the ability for players to manually leave during the course of the game.

- With or without the option for other players to join mid-game and continue games in progress.

- With or without the option for the computer to continue the game by playing in place of a player that has either left the game or has been kicked out.

To simplify things, we introduced two default styles of play, WITH all the options (which we call "non-stop") and WITHOUT all the options (which we call "humans only"). Our players also have the ability to customize their game and all this information is shown on the main games page for other players to decide whether they want to join or continue a specific game.

Wednesday, April 1, 2009

MySQL to PostgreSQL

Last week, we started noticing Jawaker becoming a bit slow. To investigate the problem, we built some custom tools and analyzed the logs. It turned out the game index is taking way too long to render! Digging a bit deeper, it turned out to be a particular SQL query.

We had earlier optimized most of our SQL queries, but we nevertheless tried our best to optimize this one even more. It wasn't clear why this query would take so much time; a very unreasonable amount of time actually. Fouad, being bitten by MySQL many times before, figured out that we might be better off if we try another system, in particular, PostgreSQL.

It took us one restless day to acquaint ourselves with Postgres, adjust the old queries for compatibility, create new schema, and move all the data. But it was worth it

At the end of the day, the problematic page was loading about 80 times faster! The server load dropped by a factor of more than 10.

Wednesday, March 25, 2009

Tick Tock And Joining Games In Progress

Here at Jawaker, we work to solve the issues of our players. Game play is of paramount importance to us. The number of games that are filling up with players and starting in on the increase, but our users have told us that there are players that cannot commit to complete a full game and are therefore leaving before the end of the game. This is frustrating for many players. We have also had feedback from people who admittedly state that they cannot commit to a full game, and would like to play for a little while only. Some of these users would not mind continuing a game in progress. So we decided to deploy a solution that would cater to all players.

First of all, we introduced a timer during which a player must act. If players don't act within the specified time, a card is played automatically on their behalf. This has the effect of speeding up the game play. If a user decides to leave the game, or if a card is played automatically on their behalf too many times, then that user is kicked out of the game and a computer takes over. The player's seat becomes empty so that he (or any other player) can continue the game and take over from the computer.

Monday, March 2, 2009

Play While You Wait

Today we deployed Solitaire on Jawaker as our first single player game. We are still focused on providing users with the more entertaining and engaging multiplayer card games, but we don't like to leave them waiting until the games start. We therefore added Solitaire as a game for users to play on the side.

You will notice that while playing Solitaire, the box on the right (where you would normally chat) will now get updated with information about the current games and allow you to directly join the game from within the Solitaire game. Your Solitaire game will, of course, be saved for you to go back to and complete at a later time if you wish.