Site design principals

This site has taken a long time to develop. The first incarnation was a Simple Machines Forum used for a specific gaming group. It quickly became the primary method of communication between sessions. The next version was made a more open site for anyone to use called Gaming Goobers. That site attempted to be all things to all gaming groups, and thus never really went anywhere.

This site is different in a couple ways. First it is specializing in one rule set. Secondly, it's been completely rebuilt using all modern web technologies and best practices.

In particular, when building this site, there were several key design goals in mind:

Use a mobile-first design so any device works great
People are always on their phones and tablets. To let someone use this site no matter what device they are holding, a mobile-first approach was used. The site uses the Bootstrap HTML, CSS, and JS framework. Right out of the box it makes a responsive site that looks awesome on any device. Bootstrap also can use a CDN to deliver most of the CSS and JS to the browser, so it relieves that burden from the web server, and improves performance. As of today, this site uses Bootstrap 3.3

Keep the design extremely clean and simple
Loving gaming so much, it was very tempting to put things like images of dragons and stone wall patters as a background elements, or maybe some space sector maps. Making the site black with light text and using Optima for all the headings was also considered. But, the fact is, there are a lot of "old-book-looking" sites and that sort of design really does not add anything, and may even interfere with the performance and usability of the site. In fact, those sites often look quite dated and clunky. Therefore, the decision was made to keep it simple and lightweight, using free icon fonts whenever possible to eliminate downloading images and also to keep it looking perfect on even retina-style displays.

Performance must be excellent
Waiting on pages to load sucks. Far Future Fate is running on a heavily-cached server with lots of RAM and fast processors. Things like Memcache and Varnish are used to make sure each page display has minimal database and file-system hits. High performance CDNs are used to deliver most of the JS, CSS and fonts needed. The result is pages loads should be super-fast, especially after the first page is displayed. If you are curious, I use the Pingdom web site speed test. The closest Pingdom server to my server is in New York, if you wanted to run a test.

Never be more than a click away from creating new content, or accessing existing content
Creating any content is done from the main menu that displays on every page of the site. The front page shows a display of all your content from all your groups, and when you are in a group, there is a display of all that group's content. Creating any piece of content is done on a single page. That's pretty much as good as it gets.

Use open source software from top to bottom
The server hosting the web app is a VirtualBox 4.3 VM. That makes it very portable and easy to back up. No, it's not done with Vagrant. Vagrant sucks in a lot of ways. The virtual server runs Ubuntu Server 14 LTS. The web server is Apache 2.4, PHP is 5.5 and MySQL is 5.5, Memcache 1.4, Varnish 3 and Pound 2.6. The site is built using Drupal 7. All the functionality is provided by configuring modules.

Not a single line of code beyond some CSS was written to make this site work. If anyone is interested a copy of the site can be provided for you to install and play with (no content, of course). Eventually a Drupal distribution will be provided.

Note: All the decimal places for the versions are not included. The server is updated regularly and it would be pointless to keep updating this article.

Have a forum and dice-roller for play-by-post
The Drupal Forum module, along with Advanced Forum and Advanced Forum Bootstrap contrib modules provide a great forum. The Dice Roller contrib module (with Fate dice functionality generously added by the module's developer) allows dice rolling pretty much anywhere.

Make it as flexible as reasonably possible
Any product has to make certain assumptions. This site assumes you are using Fate Core more-or-less as written. However, as much flexibility as possible has been included. For example, there is no skill list built-in. You can type in whatever the GM decides are the skills for your game. Same with the number of aspects, skills, stunts and refresh. There are no limits to the number of each you can add a character or fractal item. Obviously the GM will decide those limits, but no limits have been imposed from a technical perspective in the various forms on the site. While it would be impossible to take into account every possible variation, or even just the variations in the Fate Toolkit, there are plenty of text areas you can use to record information that may not have a specific field on the forms.