reworking the cardstories interface

The interface was reworked and a new development cycle started and is available online. The version 1.0.5 was published in Debian GNU/Linux and announced on freshmeat.

multiplayer interface


Very detailed mockups were designed to describe a new user interface for cardstories, addressing the two primary issues : understanding the game logic and reading the results of the game.

CSS/HTML integration

The layout of the new interface contains much more common elements than the previous one and should be factorized between all game states. Instead of trying for a large change, it was first decided to integrate the anonymous view of the invitation state, without any regard to aesthetics.

type=game structure

When the client requires the state of the game, it displays very little information, except when the game is complete. The new mockups require displaying a lot more information because all the players are represented on the screen. The current structure returned when the client asks for action=state&type=game already contains most of what is needed. But it did not return the name of the author of the game.
The server was modified to return the owner_id field in the game structure. This additional field can safely be ignored by the existing client and the change is backward compatible.

        defer.returnValue({ 'id': self.get_id(),
                            'modified': self.get_modified(),
                            'sentence': sentence,
                            'winner_card': winner_card,
                            'cards': cards,
                            'board': board,
                            'state': state,
                            'ready': ready,
                            'self': myself,
                            'owner': owner_id == player_id,
                            'owner_id': owner_id,
                            'players': players,
                            'invited': invited })

The auth plugin was updated to translate the numerical id into a readable name. This change has been isolated in a separate changeset that is a candidate for merge in the next stable release.

stable release

The version 1.0.5 was published in Debian GNU/Linux and announced on freshmeat. The stable-1.0 branch has been merged with the latest development from the master branch. An announcement was made to the other developers about the policy to accept changesets in the stable branch.

(03:22:45 PM) dachary: 1.0.5 should be in ubuntu + debian testing before we arrive at RMLL
(03:26:34 PM) dachary: antoviaque: as discussed this morning 1.0.5 will be the version demonstrated at rmll.info
(03:26:56 PM) dachary: it's also the version running on cardstori.es
(03:27:37 PM) dachary: I will only fix critical problems for http://cardstori.es/trac/browser/?rev=1.0.5 in the stable-1.0 branch
(03:28:31 PM) dachary: and for the next two weeks I will carefully cherry pick changesets (if I must ;-) from the master branch
(03:30:19 PM) dachary: my goal is that whatever instability we introduce in the master branch does not jeopardize the exhibition in two weeks time ;-)

rmll.info requirements

A booth will demonstrate cardstories during the RMLL in July. The technical requirements are to

  • Maintain a stable version that can be used by anyone willing to play online at http://cardstori.es/
  • Initiate a new development cycle integrating as much of the new mockups as possible so that the player can have a multiplayer view of the ongoing game. That would be a viewing only draft implementation.
  • Keep the development client compatible with the stable server.