Sunday, December 12, 2010

Login with Facebook, Tournament Sign-ups

If you haven't already noticed, we now allow users to log in with Facebook. This lowers the registration barrier for Challonge! itself and tournaments that use our sign-up feature. We're currently just using Facebook for authentication, but if we add additional features for their API, we'll allow existing Challonge! users to connect their Facebook accounts.

Also related to tournament sign-ups, you can now require users to sign up for your tournaments with Challonge! accounts. Previously, there was no way to disable the "lame" name-only sign-up option.

I'll keep development promises to myself for now, but there's some good stuff in the works for early 2011. Stay tuned!

Wednesday, November 10, 2010

Rails RegExp Fragment Expiration caches various bits of tournament data (including the brackets) as files. To avoid showing stale data, various events expire these fragments. In Rails, expiring fragments is done by either passing a unique identifier (for 1 fragment), or passing a regular expression (for multiple fragments).

Here's the catch with the regexps: ALL fragment paths pass through the regexp, even if the regexp specifies a directory path (e.g. /tournaments/592/.*). So, imagine a system with several thousands of fragments in roughly a thousand subdirectories. Now, expire fragments using a regexp every second or so. :-(

Needless to say, Challonge's server is much happier now with the regexp fragment expirations removed.

If you've managed a tournament with us before, you'll notice that adding/removing participants is now incredibly faster than before.

Friday, November 5, 2010

User Interface Update - Stage 1

The first stage of UI updates has been applied to Tab controls were polished a bit, and various updates were made throughout to improve usability (language, layout, help bubbles). I'll probably jump back into multi-stage tournament development before returning to the UI, though the home page is in dire need of some marketing material (screen shots, extended feature list, etc.).

Here are a few before-and-after shots of the tab controls:

Thursday, October 28, 2010


As CHALLONGE! looks to enter the mobile app space, jquerymobile seems to be a nice fit for people who are connected. It's still in alpha, so I wanted to first try it out on a side project.

So... CHALLONGE! Disc Golf - an app for tracking disc golf scores. Yeah, kinda obscure, but relevant in my life enough to keep my interest in the project. For a demo, check out my disc group.

I've only tested the site with Firefox, Chrome, and WebOS, so comments from other mobile users are welcome. Note, the graphs are not part of jquerymobile; instead, I tried out Flot for the first time.

Look for a redesigned CHALLONGE! mobile site once jquerymobile becomes stable.

Thursday, August 12, 2010

Attachments, tips, and more hype

If you were to graph my Challonge development effort, it would closely resemble a sine wave. My wife and sleep schedule enjoy the troughs.

You may have already noticed, but match attachments arrived in Challonge bracket. Matches are limited to a max of three 250KB files for the time being, but you can add links to the big stuff. These attachments are perfect for game replays (.SC2replay files were the feature request), screenshots (great moments or victory proof), and links to videos or live feeds. Also, while the UI change was minimal, I spent a good amount of time figuring out where to put the attachment links. The update added some real estate for additional match-related features (voting being the biggie).

You know how full match scores and edit score links show up when you hover over a match (for the tourney admin at least)? That feature was overhauled with a different javascript library, so not only are the pop-ups more responsive, but the amount of code is significantly less. With it being lightweight, I added it to the base javascript bundle for Challonge, so this paves the way for help bubbles and more clarity throughout the site.

The hype: match voting, multi-stage tournaments, ladders, API

Wednesday, July 7, 2010

Swiss Revisions

I knocked the "beta" off Swiss tournaments (again) now that I have unit tests to back up my confidence. Swiss tournaments will short-circuit if they reach a state in which pairings aren't possible -- a state that previously left the organizer scratching his/her head. Some language was added to clarify this possibility.

I believe that just leaves 1 issue which I'm not considering a beta-blocker. If you remove a player from a Swiss tourney after it starts, that player will remain in the pairing pool for the duration of the tournament, giving his/her opponents automatic wins. The player should in fact be removed from the pool, but Challonge doesn't currently support a variable number of matches per Swiss round. This change will be made eventually.

My current dev branches: ad-free accounts, individual match attachments & voting, ladders, android app

Thursday, July 1, 2010

Big spankin update

Private messaging has finally arrived, and with it comes a boat load of other updates.

  • Account usernames. Necessary for messaging and some other future developments
  • Inbox/Sent Messages/Notifications page with thread support
  • Emailed notifications and PMs are now optional for those who would rather just log in to see updates
  • Notification messages were reworked to include usernames and instructions for sending a private message to an opponent and organizer
  • Log section added to all Challonges. This will show who reported scores and when - transparency+++
  • Participants can now edit their scores in addition to just reporting them. They can only change outcomes (the winner) if scores for successive matches have not been reported
  • Fixed some forum bugs
  • Forum section is now enabled by default with an option to hide it
  • Videos section is no more. Past contributions are converted to a forum post
  • Participants list section added that shows seed, bracket name, challonge username, and link to send PM
  • The home page (when not logged in) was touched up a bit

Monday, June 21, 2010

Blog Fooocus

Though I've been resisting it from the beginning, private messaging is on the way. This should help open up communication between players and fits nicely among a handful of other changes on the way (per-match attachments like replays, photos, and videos, also match scheduling and voting).

I have 5 development branches of Challonge, so I either have ADD or there's a lot coming through the pipeline...

Thursday, May 6, 2010

Double Elimination Bug Fix

There was a strange bug affecting double elimination tournaments with qualifying matches. Under some circumstances after qualifying match scores were reported, first round matches would appear to get mixed up (labels would no longer be in alphabetical order). This would result in winners advancing to unexpected positions in the bracket. Fortunately, matches on the back end were fine, so the patch just applied retroactively fixes any affected brackets. Unfortunately, many people may have already run from Challonge in terror.

Thanks to those who pointed this out!

Tuesday, May 4, 2010

Gears Turning

There haven't been any major Challonge changes lately, but there are a couple interesting features in the works.

Custom Subdomains
I've been sitting on this feature for a while - trying to keep it as simple as possible. The gist of it is that users would be able to create custom subdomains ( and then publish tournaments to them ( The root of the subdomain ( would then act as an index for all tournaments published to it, and it could also be customizable with images, links, etc. - useful for arcades, websites, and other organizations. In order to allow someone else to publish to your subdomain, you would simply share a key string. For small venues, this key string could be shared between a few people. For forums, the key could be in a sticky thread in a private section of the forum. Anyway, comments are welcome. I'm hoping to get this in production this month.

Tournament Chat/Forum
I'm adding a "Forum" tab for tournaments which will provide basic means for communicating. This will be kept nice and thin and easy to ignore if it's of no use to you.

One of these days... I've been talking about these for a while. Free time has been scarce, but I'll eventually fit these new Challonge types in.

Tuesday, March 30, 2010

Markup in Tournament Descriptions

This was a long time coming, but markup is now allowed in tournament descriptions (HTML & Textile). I'm hoping flexibility is limited enough to prevent Challonge from giving birth to myspace-like pages.

In the future, most minor updates like this will only be communicated on twitter (, so please subscribe to our feed for the latest info and tips.

Wednesday, March 10, 2010

March Madness on Challonge!

Basketball fan or not, you should fill out a bracket for the NCAA division I men's basketball tournament! Head over to between Sunday and Wednesday to fill out your bracket. The 64th seed won't be decided until Tuesday.

If you're running a pool, have participants fill out our bracket and send you a link to it. You'll then be able to grade the brackets and rank them against each. You can specify the number of points awarded per round (1/2/4/8/16/32, 1/2/3/4/5/10, etc.).

Monday, March 8, 2010

New forum for feature requests

I still need to link to this site, but I'll be managing feature requests at from now on. Please stop by and post suggestions or vote to help me prioritize.

Wednesday, February 24, 2010

Hello, Scrollbars

Themeable scrollbars have replaced the arrows in Challonge brackets.

Why the change?
  • Long scroll distances were tedious to cover for large tournaments
  • Scrollbars are more easily identified by users
  • Vertical mouse wheel, arrow up/down/left/right, page up/down, and home/end keys are now supported
Also! Round robin and Swiss tournaments will no longer be constrained to 3 columns. They'll take advantage of the full width available to them.

This update turned out to be far more daunting than expected. I couldn't find an adequate plugin to handle themeable scrollbars, so I ended up rolling my own. IE 7+, Opera 10, Firefox 3, and Chrome are supported. I may share a jquery plugin for this down the road, but for now, I'm anxious to get back to work on ladders and other features.

Sunday, February 7, 2010

Adding participants in bulk

Tournament creators now have the option of adding participants in bulk, 1 participant per line in a text area.

Match scheduling and ladders are on the distant horizon.

Friday, February 5, 2010

Update to Swiss Tie-break Algorithm

CHALLONGE! now uses the Median-Buchholz system for breaking ties in Swiss tournaments. A "tie-break score" column will now be displayed in the results table which shows the sum of a player's opponents' scores, with the best and worst scores discarded. Should players be tied by score and tie-break score, they are sorted based on their records relative to one another. Seed breaks up any remaining ties.

Monday, February 1, 2010

Layout Update, Tags Trashed, and Printable Blank Brackets

Not a complete overhaul, but the Challonge layout has been updated. The home page was polished a bit, primarily for new visitors to the site, and everyone will appreciate the new slimmer header.

Tournament tagging has been trashed completely, but digging up old tournaments is easier than ever now that the home page allows for tournament name filtering. If you were among the minority that appreciated the tags, hold tight! There's another option around the corner.

Tuesday, January 12, 2010

Bracket Refreshing Awesomeness

I just finished a revision that allows for bracket refreshing without full page loads. I'll be publishing the update to production this evening, and it carries with it the following improvements:

  • Brackets will automatically update every minute - see results as they come in without touching anything.
  • Score reporting/editing within a bracket is no longer followed by a full page reload. A quick refresh is done instead...much smoother!
Also, swiss tournaments were recently refined a bit. They should run smoothly from start to finish now, and pairing should correctly follow FIDE specifications for most cases.

Saturday, January 2, 2010

Swiss Tournaments!

Challonge is now offering Swiss-system tournaments! I expect there will need to be a few revisions to the pairing algorithm, so I encourage Swiss-pairing-masters to check things out and get me in line.

Also among the updates:
  • Avatar uploading - While I still encourage the use of Gravatar, I realize many users either don't have Gravatar accounts or would prefer to have distinct Challonge avatars.
  • Updates to database schema for storing scores. This should speed things up a tad and fix a bug.