Join Bridge Winners
A set of BBO feature requests
(Page of 14)

Until recently I avoided BBO. It was nothing personal. I just spend a lot of time in front of a screen and prefer to play face to face. I only used BBO to practice partnership bidding, for which it is great if you know how to program the deal generator. I hadn't played hands on BBO in so long that when I came back the Adobe Flash<1> client had been replaced with a modern HTML5 cilent.

But times change. A few hundred hands and a few ACBL virtual club tournaments later I have a number of suggestions for the BBO user interface. I realize BBO has it own forums, including one for software suggestions, but these forums do not seem widely read. I'll get better feedback here. Also the Bridge Winners community has extensive face to face tournament experience which means it is more aware of what is lost when going online. The right people at BBO will see this post.

A bit of perspective

BBO has three big things going on that must be higher priority than implementing any of my suggestions:

1. Greatly increased load since the coronavirus quarantine

2. Implementing and supporting ACBL virtual clubs

3. User support and education for #1 and #2

BBO has held up well under the load but at the cost of disabling less important functionality like displaying profile pictures or supporting voice chat. Based on comments from BBO administrator Barry Margolin (barmar), CPU intensive tasks, e.g. robot players ("bots"), are easily offloaded to additional servers but the central server tasks are tricky to split up.

The implementation of ACBL virtual clubs has happened at Warp 8 by ACBL standards with a strong push from Jay Whipple. It seems to be going well. Several San Diego clubs and one unit have already gone online.

User support and education is non-trivial. Barry Margolin mentioned that BBO support was receiving 2,000 e-mails per day. Hopefully this drops off but it could take a month or two.

Convention card aids (for tournaments)

Okay, back to the feature requests. Pulling up convention cards is cumbersome: Table Menu (☰) → {EW/NS} Convention Card → Scroll around for what you need to see. For a social game with friends, you probably know the opponent's general approach to bidding and their carding. For a long match with another pair, you can check once or just ask. But in a tournament with two or three board rounds against opponents you don't know and might never encounter again, it's annoying to check every round. I propose pulling the General Approach text line from a pair's convention card and displaying it during the auction above the West hand. Here is a mock up:

Mock up of General Approach addition to table during bidding

Maybe it would be good to display the 1NT range too because a system has to be built around its 1NT range. However, we do not have room to show everything and don't want the user interface (UI) to become too cluttered.

Some players will regard the "General Approach" as distracting so whether or not to display it by default should be a user profile setting with a keyboard shortcut to toggle it on and off.

Defensive carding convention card aid

As declarer, I would like to have quick access to the opponent's carding. I considered something like this:

Defensive Carding overlay mock up, option 1

But this looks unwieldy. I think it is better to pull the relevant carding agreements, i.e. suit or notrump contract, from the convention card and display them below the West hand as in this mock up:

Defensive Carding overlay mock up, option 2

Again there should be a profile setting to control this display. Perhaps the same setting should control both the General Approach display and the Defensive Carding display.

Note: The ACBL convention card only has "Smith Echo". I think this is a shortcoming. What if you play Reverse Smith Echo? Is this assumed if you play Upside-Down attitude? It's never been clear to me. I usually write-in "Reverse Smith" on the line under "Odd/Even" for clarity. But this doesn't work well for automatically pulling information from a pair's convention card. I suggest BBO extend the ACBL convention card by adding a "Reverse Smith Echo" row beneath the "Smith Echo" row.

Opening lead display

ACBLmerge / The Common Game, ACBL Live, BridgeComposer, Bridge Results, and BridgeWebs will all display the opening lead if it is captured electronically. BBO should do it too.

Yes, of course you can always pull up a hand in BBO and walk through the first trick to learn the opening lead. But this is cumbersome when there are a dozen results from other tables. Just seeing the opening lead often reveals a lot, e.g. "no, all the other declarers didn't find the double squeeze I missed, 80% of them just got a favorable lead."

There is plenty of room to add the opening lead. Here is a mock up:

Opening lead column mock up

A practical implementation will probably abbreviate "Lead" as "Ld" and use T instead of 10 to conserve real estate. As currently implemented the "Result" column is unnecessarily wide perhaps to accommodate "PASS OUT" but this can be shortened to "PASS" or "P.O."

Though I have attempted to create realistic mock ups, it should be understood that I'm not mandating a particular UI implementation. It is much more important to consider the merits of each feature request.

Double dummy tricks, par contract(s), and HCP display

Dealmaster Pro generated recap sheets, ACBLmerge / The Common Game, ACBL Live, BridgeComposer, and Bridge Results can all display full 5 denomination × 4 seat double dummy results either as 5 × 4 trick table or a list of makeable contracts. BBO should do the same. I'm not the first to ask, I will not be the last, and I'm sure many have had the same thought without posting to a BBO forum.

All the aforementioned applications can also display the par contract(s) and the number of HCP in each hand. Here is a mock up for doing it in BBO.

Double dummy, par contract(s), and HCP mock up

I realize the BBO Hand History has a double double analyzer (GIB) built in but the double dummy analysis is locked to the denomination and seat declaring the contract. There are also ways to get hands into a third party double dummy analyzer but they are roundabout and cumbersome (more on this later).

As a practical matter 5 × 4 double dummy analysis is now very fast thanks to the great contribution of Bo Haglund and Soren Hien, which many other programs rely on. The full double dummy analysis only needs to be computed once per board and this nearly always takes less than one second of CPU time.

Par is not always a realistic par, but the concept is meaningful, particularly at matchpoints, if properly interpreted as subject to the limitations of double dummy analysis, the finite information that can be transmitted in the auction, and the unhelpful nature of opponents.

Because both double dummy results and par are sophisticated concepts that may confuse less experienced players, I think their display should be turned off by default and controlled by a user profile setting.

The HCP total for each hand is easy to show. We all know the 4-3-2-1 point count is imperfect but it a useful quick reference.

Play summary

It would be convenient to have a very fast way to review the card play on a hand. I propose something like this:

Trick play chart

The play of the first five tricks is visible. It's hard to display more in a reasonable font size. Still five tricks is enough to get a reasonable sense of how the play went. In this mock up I use four color suit symbols, the same color scheme commonly used for bidding boxes. The card lead to each trick is highlighted. Tens are shown as T rather than 10 to conserve real estate.

It would be nice to have a keyboard shortcut to toggle the display of this play summary chart.

Philosophy behind technical aids / flagging boards

The opening lead, dummy dummy, par contract, HCP, and play chart displays, are all technical aids.

One of the differences between BBO and face to face bridge is that boards just keep coming at you. In a face to face social game you could muse aloud about an interesting hand and perhaps spend a few seconds discussing it if the table is so inclined. BBO lacks these cues. Sure you could chat but it's awkward. You might not know your opponents (or partner!), they might not share your interest in reviewing a hand, and they might not even speak your language. The technical aids partly address these shortcomings by making it quicker to analyze a hand, and decide whether or not it is worth further review later.

Along these lines, it would be convenient to have some way to flag a board in your history. This is analogous to circling the board number on a convention card. Having the ability to add a short note might be handy but I think merely being able to flag a board is good enough. Boards you have flagged should also have the flagged status indicated in some manner in the BBO My Hands dump. Opening leads should also appear in that dump.

Field participant listing

One of the weird things about playing in an ACBL virtual club game is that you have no idea who is in the field. Even after you play six pairs, e.g. 6 rounds of 3 boards, you still don't know who else is playing your direction and may only have encountered a fraction of the pairs in the other direction. Only when the event ends do you see the entire field and you might not learn all the names until the result is pushed over to ACBL Live for Clubs. This is very different from a face to face tournament where you can quickly access the field just by looking around.

I think tournaments with a reasonably small number of participants, perhaps 30 tables or fewer, should provide a way to view all the participants. I propose adding a Field section under the People tab as shown in this mock up for a pairs event.

BBO tournament participants mock up

Undo Adjacent

It's easy to mis-click in BBO, even using a mouse and full sized display let alone on a device with a touch screen. BBO has an option to confirm bids and cards performing this extra step every time is tedious. And yet some folks get bent out of shape about Undo requests.

I propose a second form of Undo, called Undo Adjacent. When accepted by both opponents, you are permitted to replace the card you played with the one immediately to the left or right of the one you initially chose. Requesting an Undo Adjacent doesn't prove that you simply mis-clicked but it makes it more likely that you did, possibly reassuring skittish opponents.

I'm not sure whether Undo Adjacent should apply during bidding. If so, perhaps you are allowed to change either (1) to an adjacent denomination or (2) bid one level higher (or lower if a valid bid).

There should be keyboard shortcuts for Undo and Undo Adjacent. The sooner an undo is requested, the less unauthorized information there is to roll back. Furthermore, the amount of time between the bid or play and the Undo request should be conveyed to the opponents. If it's under half a second, chances are good that the requester really did mis-click. Note: This time delta can be calculated on the client side as a hedge against possible network delays.

Keyboard shortcuts

The BBO Flash client supported keyboard shortcuts. The BBO Software Suggestions forum has a listing of them in a pinned topic created in 2009! The web client does not support keyboard shortcuts despite various pleadings. There is no progress through 2014 at which point the conversation stops until March 14, 2020 wirh a final pleading by Brian Potter (JmBrPotter), whom I think is the same James Brian Potter who has previously corresponded with me about ACBLmerge. Barry Margolin gives him a non-answer.

I don't understand why this shortcoming has dragged on so long. I may be naive, but I think implementing keyboard shortcuts would be much easier than implementing just about anything else I've suggested so far. There may be browser dependent issues but I'd expect Firefox, Chrome, and Microsoft Edge to all handle it sensibly. Seems like you just create a handler, e.g. keyup() in JavaScript, and register it, e.g. document.addEventListener('keyup', doc_keyUp, false); Control key sequence can be tested with something like e.ctrlKey && e.which == 85 where 85 is the ASCII value for 'U'.

Some of the original keyboard shortcuts are no longer relevant. But we absolutely want a keyboard shortcut for Undo, either Ctrl+U or ESC; maybe Ctr+U for Undo Adjacent and ESC for a regular Undo. This is much faster than Table Menu (☰) → Undo and time is of the essence before the UI grows.

Chat window target related keyboard shortcuts would also be very handy, including the old chat to opponents (Ctrl+O), chat to kibitzers (Ctrl+K). I think chat to table should be Ctrl+T though that used to bring up the table options menu; Ctrl+S set the table as the chat recipient.

Chat message suit symbol substitution

The chat window fully supports Unicode which means it supports any language as well as emojis. It also performs some convenient substitutions. An exclamation mark followed immediately by c, d, h, or s is converted to the corresponding suit symbol (just like BridgeWinners), some old school smileys are converted to emoticons, e.g. :) → Smile, and URLs are converted to live hyperlinks.

I'd like to have a user profile option to make the suit substitution even more convenient. Convert text that look like contracts such as 2s or 2H to 2 or 2 automatically without the exclamation mark. Convert individual cards like da to A automatically. Convert anything that looks like an ordered suit automatically, e.g. caj9xx to AJ9xx, assuming it is followed by white space, a punctuation mark, or is at the end of a line.

Fast review of last trick

During the play, you can review the last trick by clicking on either the E-W or N-S quitted trick pile. There is a nice animation but I find it slow. Usually when I'm reviewing the last trick it's because I got distracted momentarily and just need to see which card declarer played.

It would be nice to have user profile option to speed up the last trick review animation.

Exporting hands

There are two big problems with exporting hands: 1) Lack of bulk export and 2) No PBN support.

From the History → Deal Menu (☰) → Export, you can generate a BBO Handviewer link. Though this link relies on the BBO Handviewer, the text of the link contains the players at the table, the deal, the bidding and card play in a manner that can easily be recovered if BBO simply vanished. From BBO My Hands you can get links to the BBO Handviewer ("Movie") or download a LIN file for the hand. This second link relies something resembling a database primary key, e.g. myhand=M-3358970730-1586231644 that will leaves you out of luck if BBO vanishes or is unavailable. The LIN file is BBO specific format that contains a full record of the hand.

There are workarounds for the first two issues. BridgeCaptain can keep its own database of hands and claims to be able to import hands from BBO My Hands. I couldn't get the import functionality to work. I'll probably eventually write a Perl program to fetch hands for a session and convert them to PBN.

But we can do better. I'm pretty sure I could greatly improve the BBO My Hands with just a few days of work. In addition to exporting hands in bulk and in PBN format, it should be possible to create a view that looks like a printed recap sheet. The nice thing about this project is that is independent of the the BBO client and for testing purposes it can be a separate query page. BBO should feel free to contact me about this matter.

Cultural issues

I'd like to make a cultural request. BBO should encourage all users to at least include a first name and country in their profile. It's nice to greet opponents and saying, "Hi, qwikjanz" doesn't quite do it for me (she does in fact have a first name listed). I've been on the internet since 1986, maybe 1980 if you count dial-up bulletin boards with text arriving so slowly you could read it in real time. I know the long history of anonymity online. But we're not revealing our sexual history. We're not revealing to the world that our government is spying extensively on all its citizens. It's just bridge and bridge isn't a forbidden or discouraged activity in most countries. You can provide a first name.

Your country is helpful too. If you have no convention card and I ask, "Carding?" and you don't answer, I'll assume you're rude or clueless if you're from an English speaking country. If you're from elsewhere I'll be understanding.

Footnote / ignorable rant

<1>If you mourn the Adobe Flash client, stop. Flash had to go. It is a close runner up to Internet Explorer 6 (IE6) for most hated web technology. When BBO kicked off Flash was one of the few good options for a web based bridge client. Hell, for a long time it was the only reasonably reliable way to play a video in a web browser. But this has all changed. HTML5 makes it very easy to show a video (you don't need YouTube!). WebSockets make it much easier to write a clean web based client server app. All that can be done with the Flash plugin can now be done natively.

Flash was hated because it was chock-a-block with security flaws. Sometimes it seemed as if it had a bigger attack surface than entire operating systems, web browsers, frameworks (e.g. Java), or giant applications (e.g. Oracle). If all the Flash programmers were lined up and every tenth one was shot and had their head mounted as a warning, software security would improve tremendously. Sounds harsh. Sounds like a guy who asks whether thumbs are fingers when interpreting the Geneva Convention. But you who have ever been responsible for corporate IT for a 20+ person company, I see you picturing the mounted heads and nodding.

60 Comments
Getting Comments... loading...
.

Bottom Home Top