This is an article regarding a redesign of, moving away from Trac.

Visitor Patterns generally gets five types of visitors:

  • People who are looking to play games (this group will grow to be #1)
  • People with no experience in game programming but want to learn
  • Python programmers who are interested in PySoy
  • PySoy developers
  • Search engines who spider the site regularly

Game Players

The current site serves game players very poorly. They want to see:

  • screenshots
  • lists of games with reviews
  • downloads for playing them

They have a poor attention span and instead find:

  • information about how the engine works
  • what graphics card they need
  • an overly verbose download page for an engine but no games

Potential Game Developers

The current site serves these poor souls very poorly as well. They want to see:

  • screenshots of what other people have done with PySoy
  • why they should choose PySoy over other free engines
  • tutorials to help them get started

Instead they find:

  • licensing information (i just need to click "agree" right?)
  • overly verbose technical details they don't understand
  • really complicated build process
  • outdated tutorials and API information that confuses them

Python Programmers

The current site serves these chaps fairly well. They want to see:

  • tech details on what makes PySoy different (check)
  • what license PySoy is under (check)
  • download link (check)
  • online documentation (fail)
  • benchmarks (fail)

PySoy Developers

The current Trac site serves us very well. We frequently use:

  • wiki pages to store reference material
  • tickets for addressing problems and tracking progress
  • roadmap progress bar showing what we have left to do before release

There's outdated information, but we can see the last-modified date on wiki pages and tickets to determine what to pay attention to. Within a month or two any PySoy developer has become familiar with the site because we're the most frequent visitors.

It lacks some features that we could use:

  • relevant, frequently updated content right on the landing page
  • direct communication with users
  • bounty collection for users to pay for features
  • social rewards system for hard work

Search Engines

This is sadly the group the site currently does very well on. These bots are the only group of visitors patient enough to wade through all the pages to find content, and our numerous interlinked pages with many external links to relevant content puts our site in the top five of most search terms we're interested in.

We could do better, but as long as we don't remove content and redirect the old urls to their new locations we shouldn't lose our current standing.

Doing Better

We cannot address the needs of all visitors with one landing page, nor should we. The site needs to be split into three landing pages:

  • as a main portal for game players and new developers
  • as a main portal for python programers
  • (logged in) as a main portal for pysoy developers

Search engines will find both portals and, with a bit of coaxing, should land visitors on the correct landing page.


Combining the "game players" and "prospective game developers" groups, we need:

  • screenshots
  • some example games
  • downloads for cloud clients
  • why they should choose PySoy over other free engines
  • tutorials to help them get started

Screenshots are the #1. In the first few seconds someone is looking at the page they'll be trying to evaluate how "current" the engine is. These screenshots don't need to be cinematographic, just shots of the examples with buttons to "play" and "download" each.

The frontpage should look more akin to  Jamendo than a game blog site like, a dozen examples shown as a mini-catalog that can be played. Once the mozilla plugin and windows client are ready these games should have a "play" button to launch them, a download link, and displaying the source code directly.

The games for the frontpage should be examples, not a full game catalog. For that we link to CGG which can offer a full collection with "play" buttons for playing instantly and links back to for downloading the plugin or client, as well as contests and other community promotions.

Both and CGG should be linked to repeatedly.


The dev site should have two landing pages, one for guests and one for registered users. In general, the guest page is for experienced developers evaluating PySoy which needs:

  • features list/table
  • example code
  • licensing info
  • download page

The "chat" and "tickets" sections greyed out and marked "login required" to encourage "convinced" developers to register.

Registered users are generally already using PySoy and need help or file a ticket, or PySoy developers who want to process tickets and help users. For this, the landing page should instead be:

  • ticket search/reports
  • developer chat
  • roadmap to the next release

The top menu of the site should link to the most frequent resources for all developers; the wiki, blogs, docs, mercurial browser and timeline. This content already exists, it just needs to be migrated out of Trac.

The overall theme of dev.pysoy should roughly match www.pysoy and all subdomains should have a master menu which links them together.