Join Bridge Winners
ACBL Live über alles
(Page of 15)

If you are an ACBL club manager, you have received an e-mail from the ACBL indicating that using the new ACBL Live for Clubs will be mandatory starting in February. Sanction fees and hence masterpoint awards will only be processed when results are uploaded through ACBL Live. This applies to unit games as well. Thus all ACBL results will be in ACBL Live, whether the tournament version which has been around for three or four years, or the new club version.

I applaud this decision. Let me take a moment to celebrate. This is the outcome of an eleven year effort on my part to present players with a better results display, one that includes hand records, contracts, opening leads, double dummy information, and more. Now this will be available to everyone, even players at the smallest clubs. Lot of people pushed for this and I'm sure it would have eventually happened without ACBLmerge or really any involvement on my part but I hope I've hastened the process and/or made the outcome better.

Maybe I'll celebrate with a beer on the ski slopes next month. For now I'll content myself with a long post here. My work is not quite done. All is not perfect and software engineers are never content. With ACBL Live becoming the unified results presentation, it makes more sense to influence the direction of ACBL Live than it does for several of us to work on our own programs to do the same thing. So first a bit of history and then some commentary.

Some history

San Diego has been a locus of ACBL data related improvements. Marvin French introduced the first dealing machine to the San Diego area. National champion Evan Bailey wrote a Visual Basic program to integrate hands records with the ACBLscore results for the Adventures in Bridge club, the big club in town (until the events of this year*). I saw Evan's display and thought I could do better by using HTML instead of plaintext and by adding double dummy calculations, and later contracts and opening leads from electronic scoring devices. I created the open source ACBLmerge program. Phillipe Lamoise, a San Diego player and website developer thought things would be better yet if he used modern website technologies and if club owners / directors didn't have to directly deal with the command line aspect of ACBLmerge. His creation is Bridge Results. He charges just enough to cover the cost of running his server.

We weren't the only ones pursuing these ideas. I've heard rumors of a couple of early text based efforts similar to what Evan Bailey did. Raymond Spalding wrote BridgeComposer, a very nice Windows program for general purpose bridge writing and later added functionality to integrate hands and electronics scoring information in manner similar to ACBLmerge but without the need to use a command line. It's not open source but it doesn't cost much. BridgeWebs also provided results integration.

*In March, the San Diego Fire Marshall raided Adventures in Bridge in the middle of a game and declared that the capacity of a club with about 30 tables, albeit closely spaced, was just 30 or so persons. This seems to have been triggered by a nearby business over the use of the strip mall's parking despite the club's owner making his parking requirements and occupancy clear to his lessor before signing the lease. Anyway, the San Diego bridge community has been in upheaval since though various clubs have expanded on different days of the week to absorb most the demand.

In 2009 I took on the task of posting all the results from a regional (San Diego) using ACBLmerge after discussing the idea with then district director Ken Monzingo. Every night lead director Betty Bratcher would sent me all the ACBLscore game files and electronic hand records and then I'd be up until two in the morning getting everything merged and posted, or often even later improving the code to handle newly discovered corner cases. To my knowledge this was the first time anyone posted an entire regional in this manner. I didn't have contracts included until 2011.

In 2011, Ken Monzingo asked me to give a talk at the D22 board meeting in Palm Springs. Because the "passing of the gavel" ceremony for the ACBL president is held each year at this regional, then ACBL CEO Robert Hartman attended along with Rich DeMartino and a couple of other national board members as well as the tournament managers of the large Las Vegas regional. My talk was titled Rich Results with ACBLmerge. I described the features of the output and what was required to generate the output. But I made it clear that post-processing this way was fundamentally "dumb", that the functionality should be in ACBLscore. That's not exactly what happened. The functionality ended up in ACBL Live, a good outcome.

Incidentally, by this point the ACBL had created Club Results. The backend was powered by BridgeComposer though the ACBL had also talked to me about the suitability of using ACBLmerge. I think Club Results was a very good step. But for some reason it never gained much traction, probably because it was a carrot without a stick. The clubs most enticed by the carrot had already chosen other solutions, i.e. ACBLmerge, Bridge Results, BridgeComposer, and BridgeWebs. The ACBL must have learned from this. ACBL Live for clubs comes with a big stick.

In 2014 John Goacher created the free double dummy analysis Android app Bridge Solver based on Bo Haglund's excellent double dummy solver engine. He followed this up with an online solver which Phillip integrated it into Bridge Results output as the "Replay" button. A pop-up double dummy solver in a web browser is way cool!

General remarks about ACBL Live

ACBL Live is pretty good. Despite the high profile ACBLscore+ debacle and other failed software projects, the ACBL has done a good job responding to the needs of modern web, notably accommodating the variety of desktops, smartphones, tablets, all with different screen sizes, resolutions, and aspect ratios, so called "responsive design" in geek speak. Behind the scenes, the ACBL is using jQuery and other technologies that are well accepted and widely known. This simplifies maintenance and makes it easier to find developers with the necessary skills.

ACBL Live has also been quietly improved. For example, early on switching boards (via a pull-down menu) created a new web request which was slow and created an unnecessary burden on the back end server. Now the results for all boards are sent during the initial request and switching between boards or showing all boards is simply a matter of changing the client side display, i.e. DOM manipulation in geek speak, and thus almost instantaneous. This is similar to how Bridge Results works, though Bridge Results is limited to displaying one board at a time (except by going to the ACBLmerge style output). ACBLmerge simply displays all boards.

Speaking of the board selection pull-down menu, it got replaced with a list of links, i.e. "Select a board: All 1 2 3 ..." similar to ACBLmerge and Bridge Results. Also a number of small issues I reported eventually got fixed, probably by Julia McGaughy (thanks!).

Beyond presentation, ACBL Live is also a data repository. Previously, all clubs sent in was a monthly masterpoint report which contained a list players who won masterpoints in each event. If you didn't win any masterpoints in a club event the ACBL didn't even know you participated. This made it impossible to accurately do basic analysis, for example to answer how often players at different masterpoint ranks play in club games per year, or what a pair's average percentage is in a particular club game over a year. Soon all sorts of club level analysis will be possible. Cheaters beware!

Okay, let's move on to specific presentation issues.

Double dummy calculation presentation

Continue to the next page for the discussion.

Comparison of the board layout for ACBLmerge, Bridge Results and ACBL Live for tournaments and clubs

Double dummy calculation presentation (continued)

First off, hooray that the double dummy results even made it into ACBL Live. As I recall, Rich DeMartino was convinced that double dummy results only confuse players. I think more of our players, though I do acknowledge it is important to educate newer players about the difference between sensible single dummy results and the computationally practical double dummy results. Just as the Bridge Bulletin will always have another article on takeout doubles for beginners, so too must we periodically point out the perils of taking double dummy results out of context.

The figure on the preceding page shows the board presentations for ACBLmerge, Bridge Results, ACBL Live, and ACBL Live for Clubs. If you like the double dummy presentation format thank me; otherwise you can blame me. I have mixed feelings about it myself!

My starting premise is that the number of tricks that can be taken for unmakeable denominations should be indicated in some matter. A knowledge that 2* could have collected +300 vs. the +110 or +140 your partnership actually got can motivate you to think more about the low level skullduggery that is such a big part of matchpoints. But how should such contracts be shown? In a hurry to code something, I decided to list them in an off blue (aka "sad") color and with the number of tricks that can be taken listed after the denomination so as not be confused with a contract that can be made. This is potentially confusing because it can look like it has something to do with opening leads. The ACBL copied the concept, though I warned them that it might not be ideal, but shifted from a blue font to a bluish highlight which I think is a small improvement over ACBLmerge.

In ACBL Live the "Double Dummy Makes" and the "Par Score" lines link to explanations on the La Jolla Unit website. In ACBL Live for Clubs, there is a pop-up message instead and a question mark inside a circle to make the explanation easier to find. This again is a small improvement.

One alternative to the current ACBL Live double dummy presentation is to simply present the 5 denominations × 4 seats trick count table as Bridge Results does. Here the makeable contracts are in a bold black font and the nonmakeable contracts are in a bluish plain font.

Other board display differences

Both the tournament and club versions of ACBL Live use a larger font which seems appropriate for our membership. The club board display is narrower which creates more real estate for displaying the results on the board; however this real estate is poorly used. See later discussion. If ACBL Live for Clubs sticks with the narrow format, the North and South hands should be shifted leftward so that the layout feels more balanced.

ACBL Live uses drop shadows around the boards to make them stand out better and add a bit of pizazz.

ACBL Live crams the dealer/vul status together with the point count for each hand. This doesn't feel right to me.

Note the Replay button on the Bridge Results output. More on that later. Also note the C ("cut-and-paste aid") the the Law of Total Tricks (LoTT) calculation.

Cut-and-paste of boards does not work well

If you try to cut-and-paste a board from ACBL Live into an e-mail or document, the result is not good, as Bud Hickley noted recently on Bridge Winners. Most of the formatting is lost, even when copying from Chrome which generally does a better job than Firefox of preserving CSS based formatting. By comparison, cutting and pasting boards from ACBLmerge or Bridge Results output isn't perfect but works much better.

Why is it so bad for ACBL Live? ACBLmerge and Bridge Results implement the board display as a nested set of HTML tables. ACBL Live uses a bunch of <div> elements which doesn't seem to work as well for preserving formatting. Also the East and South hands are in the same <div> element which proves really bad for cut-and-paste.

How should a website display suit symbols? From a programming perspective the answer is clear. Use a font that defines glyphs for the Unicode code points for the filled suit symbols (U+2660, U+2665, U+2666, U+2663). Then the suit symbols are just characters and everything is clean. This is what ACBLmerge, Bridge Results, and BridgeComposer do. But it is not so simple from a design perspective. Here is what the suit symbols look like in the "Font Awesome 5 Free" font that the ACBL is using for cards in each hand:

Suit symbols in the Font Awesome 5 Free font

Notice that the suit symbols look small compared to the letters and are aligned with the regular characters at the baseline rather than the centerline. Also the diamond symbols is small relative to the other card symbols. These issues are true for many fonts, not just Font Awesome 5 Free. It's possible use a different font size for the suit symbols and do CSS tricks to get the suit symbols to line up at the middle vertically, and even use a different font entirely, one with a bigger diamond symbol, but it gets fussy. So instead, ACBL Live tries to force the issue by using images for the suit symbols. Moreover it does so an underhanded manner by making them background images which makes them invisible to cut-and-paste because web browsers assume you don't want to copy such images.

I understand why the ACBL Live team made this decision but I'm not sure it is worth the pain it inflicts. One solution is to leave the display as it is but provide functionality to generate the board in a better format for cut-and-paste, perhaps in a pop-up window at the click of a button.

Results reporting wastes real estate

Comparison of board results format for ACBL Live for tournaments and for clubs

Note the "N-S" indication at the top. ACBL Live wastes a lot of real estate presenting the results sorted top to bottom for N-S and sorted the opposite direction for E-W. This has been fixed for ACBL Live for Clubs which has only one table of results per board.

Both tables waste real estate by being wide enough to cause the pair vs. pair column to wrap around to a second line. This problem is reduced by displaying only the last names for the club version. To really fix the display we need to shrink the other columns. For example, contract and results can be combined into one column or the "Result" header could be abbreviated as "R". Also notice the sort indicators. These are a standard option for the table widget but they should be suppressed here to save space because there is almost never a need to sort by anything other than the N-S score (or equivalently the N-S matchpoints). Some people will want to sort in the opposite direction such that results favorable to E-W appear at the top. This should be a global option, e.g. a check box, on the page, affecting the results for all boards.

It's a big failure not to list the percentage in the club version as is done for the tournament version. The matchpoint total is meaningful only relative to the matchpoint top. Note: in the tournament version the percentage is rounded to the nearest percent, saving real estate. I think this is quite reasonable.

ACBLmerge and Bridge Results sort by the score with tie breaking sorts on the contract, declaring seat, and finally the opening lead. I recommend that ACBL Live adopt the same sort.

In principle the E-W score is always the opposite of the N-S score, thus the output can reduced to one value from the perspective of N-S (perhaps switching to the perspective of E-W if that sort order is globally selected. The only exception is for so called "split" scores where N-S and E-W are given different scores based on a director ruling. These are rare. In ACBLmerge, I indicate these like "420|Ave-", meaning N-S was assigned 420 and E-W was given an average minus (40% board). Allowing for something like this in a table requires a bit of cleverness in the sorting to handle the corner case.

The tournament version includes a Play button. This will be discussed later. It would be best moved to the board display instead of occupying real estate for each result row.

Results are only shown for one section at a time

It is extremely annoying that both versions of ACBL Live only show the board results for one section. If sections are "scored together" in ACBLscore parlance, the results from all sections should be shown together. ACBLmerge and Bridge Results get this right; in this regard ACBL Live feels like a huge regression. Making the user flip though sections is really tedious.

If you are not sure what I'm talking about, check out this club example. The top matchpoint score is 17 for a board played 18 times but you only see 9 of the results on each board. To see the other 9 you have to switch to section B. To see them all at once... you're out of luck.

One of the joys of playing in a big and strong field is quality statistics on each board. For example, if 80% of the players get a double finesse right in a big field and weren't given it on the opening lead, it might be worth asking what you failed to consider if you got it wrong. ACBL Live is hindering this learning experience.

Really big fields might present some difficulties. Showing every result from the Wernher Pairs might tax the system and present viewing inconveniences. But up to say four combined sections, the full set of results should be presented for each board.

A nice but low priority project would be an option to see a summary for large events, e.g. 4-W+1 (19x), 4-W= (3x), 5*-3 (13x), etc.

Linking directly to a board (or boards)

In ACBLmerge and Bridge Results, you can create a hyperlink directly to a board here is an example for each:

ACBLmerge use in-page navigation (the #board_results9 suffix), very old school web coding to scroll the full list of boards to the desired board. Bridge Results using a URL parameter (the &board=6 suffix) to initialize the board display widget to the desired board.

Neither version of ACBL Live has similar functionality, or if it does it is not well advertised. This functionality should be easy to add.

In a really great world, one would be be able to specify multiple boards, e.g. via &board=2,10,15 and have ACBL Live show only the boards indicated. This would require more substantial code changes.

Built-in double dummy solver functionality

The tournament version of ACBL provides the Play button for each result. This links out to a BBO hand viewer web page (example screenshot below) that lets the user to walk through the play trick by trick assuming trump is the trump suit in the contract for the selected result. You can get the double dummy value for each card played by clicking on the GIB button. But this is not obvious unless you are already well acquainted with either BBO or the history of computational bridge.

BBO hand viewer with GIB enabled

Observe the ugly overlay of the double dummy trick values and that the optimal plays are not indicated in a different color. Compare this with John Goacher's Bridge Solver Online display below which you can check out for yourself by clicking the Replay button on any Bridge Results hand.

John Goacher's online solver

This display is clean. Optimal plays are indicated in green; non-optimal ones in yellow. Any denomination declared by any seat can be played out.

This solver does the double dummy computation on the server sending a short HTTP request each time a card is played to retrieve the double dummy information for the next hand. If the ACBL adopted John Goacher's solver, they would probably need to work with him to set a server up on their system so as not to unduly burden his server.

Specific recommendations:

  1. Add double dummy replay functionality to ACBL Live for Clubs.
  2. Switch to John Goacher's double dummy solver.
  3. Move "Play" button from results display to board display in ACBL Live for tournaments to make better use of real estate. This works fine after making the transition to John Goacher's solver where the denomination and declarer are specified in the double dummy solver window. If staying with GIB, it may require a pop-up to query for the contract and declarer in order to initialize the GIB viewer. Or alternatively one can create a more space efficient way to launch from a results row, e.g. a "replay" symbol that appear only when the pointer is over a contract.

Recap sheets

In ACBL Live for tournaments, a pair can obtain a recap sheet (example). This very useful functionality seems to be missing from ACBL Live for Clubs and the issue should be addressed with priority.

In ACBLmerge I provide this functionality by adding links to each pair number, which isn't immediately obvious though it is explained in the documentation, and display the recap sheet in a pop-up window. Pop-up windows are old school and now associated with bothersome ads, so instead of a pop-up, I recommend that ACBL Live for Clubs just add a section between the ranking of each pair and the Board Results section that shows the recap sheet for the currently selected pair. Also this should be controlled by a URL parameter so that it can be initialized to a particular pair. Notably, when ACBL Live sends out club results, it should send out a URL customized to initialize to that player's recap sheet.

ACBLmerge recap sheets flag top, bottom, good and bad scores. I'd like to see something similar in ACBL Live. FWIW, I use dark green and dark red for >=99% and <=1% respectively and light green and light red for >=70% and <=30% respectively.

ACBLmerge pop-up recap sheet

Two session event reporting

Here is how ACBL Live for tournaments reports multi-session scores. In reality this is one wide table which I have rearranged to fit better in a Bridge Winners article.

Multi-session event reporting in ACBL Live

Session Score, Carry Over, and Overall Score reflect the way ACBLscore works and provide a general framework for handling carryover scores. For example, in an event like the Blue Ribbon Pairs where one must qualify for each successive day with the field getting correspondingly stronger, performance on preceding day(s) counts but is not weighted equally with performance on the current day.

This said, almost all multi-session pair events are simply two session pair events where each session is weighted equally. This common case should be treated differently. The scores presented are matchpoint totals which depend on the number of tables in play and thus meaningless by themselves. It makes much more sense to show each pair's percentage in each session and also their average percentage. Why are we still showing meaningless matchpoint totals as we approach 2020?!

Player pictures

Allowing players to upload a photo to their account enables many possibilities. For example, on Bridge Results, you can see pictures of the winners.

I'm not wild about social media but this sort of minimal participation might make our game more visible. If nothing else, implementing this functionality has helped me remember names a lot better. Let's be honest—a lot of bridge players are somewhere on spectrum and could use the help.


Photo gallery of event winners on Bridge Results

Advanced analysis

ACBLmerge and Bridge Results include a Law of Total Tricks (LoTT) calculation allowing one to see how closely each hand complies with the LoTT. BridgeComposer now has the ability to display the Optimal Opening Leads (OOL) as something like:

N vs W NT: any card except a

N vs W : any ; any ; 43

N vs W : any ; any

E vs N : any

E vs N : any card

S vs E NT: 3; 9; KQ; any

S vs E : 3; 9; KQ; AK

S vs E : 3; 9; KQ

W vs S : 8

W vs S : any card

I thought about doing something like this for ACBLmerge. Congratulations to Raymond Spalding for actually doing it.


ACBL Live is pretty good. But if the ACBL is going to use it as a stick, effectively displacing the alternatives, the ACBL has an obligation to address its shortcomings and continue to expand its functionality. Let's do it!

Clearly I have my priorities for what to fix in ACBL Live. They might not be the same as your priorities. If you have thought it through please list your priorities in the comments. I think this will be beneficial to the ACBL.

Getting Comments... loading...

Bottom Home Top