Join Bridge Winners
All comments by Nicolas Hammond
You are ignoring the author of this comment. Click to temporarily show the comment.
It probably won't help much to bash each other in public.

1. “My counter-showdown was satire”

Darn-it. I thought you were being serious. I almost bought a stop watch.

I still think a head-to-head public comparison is great. I don't think you have seen ACBLscore so you don't know what is being replaced.
I'm still willing to take you up on the USB stick offer.
Let me know which version of Windows you'd like to do this on so I'm properly prepared.

Let me know which version of Mac you'd like to install ACBLscore on.

2. “…They did not work….”

The last entry for the Wiki was March 31, 2014. If you have any software components on your Mac which are after that date then there is no guarantee of backwards compatibility. In fact, I'm almost certain they won't work.

As new developers came onboard, or as we upgraded components (e.g. Ruby 1.9.3 to Ruby 2.0) we updated the Wiki. We had some who wanted to develop on Windows, some on Mac, I didn't care what development environment they were on. We tended to leave the old comments in the Wiki and not simply delete. We may have upgraded from Mac 10.8 to Mac 10.9 but still have some developers on Mac 10.8 so we left the old text in but annotated it accordingly.

It's a bit like having a software installations for a Windows XP program and then you complaining it doesn't work on Windows 8.

I am happy to help. I offered to help. I had no idea that you would spend 6 hours trying to do this.

BTW, I had no complaints/comments/questions from ACBL after the original delivery so I strongly suspect the problem is installing on a newer machine.

3. “I'm reasonably certain that the code I tried to install locally, and the version we are running in the cloud, are the software that you delivered.”

If you have any doubt, let me know.

I hope the version in the cloud is configured correctly, i.e. not running under Apache etc.

4. “4) There are absolutely parts of ACBLScore+ that have value. As you say, they're being used, and people like them. We would like to extract, deploy, and integrate those parts. It is part of the plan that Uday and I proposed.”

This is great news.

It is all I have been asking for.

Previously ACBL has stated it was all throw-away.

5. “5) All estimates for how long things would take and what's missing from the software are from my phone call with you. I took notes, I know what was said. I'm not making them up. None of this is coming from the ACBL.”

I followed up with an email because I wasn't sure you got everything in context.

To finish the job, there is still 6-7 months of critical path work that was delayed.

So that's the minimum.

What I said on the phone, that knowing what I know now, and that various components of the original contract have changed, I would roll it out differently. The lowest cost/safest approach is probably a 9-18 month roll-out.

See the transition plan in the final status report (page 64). See a rollout plan at The latter has been up for several months, I haven't updated it in a while.

Somehow what I stated to you on the phone got translated into “18 months minimum”. That's not the case.

My suggestion is that you roll out the code tomorrow. It needs time in the field. It needs time with users.

“The ACBL has a huge laundry list of things that it found missing or deficient in its initial analysis, and we wanted to get your side of the story since it seemed weird that you hadn't weighed in, and we were having some difficulty understanding the laundry list.”

I have never seen this laundry list.

That's why I haven't weighed in.

If you can release it, send it to me. If under NDA, fine.

Most people, myself included, would want to know why if ACBL has had this for a year, they haven't shown it to me. After all, I know more about what's there than anyone else and have been very open/honest about it (see the status reports).

The most recent claim from ACBL (last month) was that they didn't get the code that would start a KO using a projector.

So i went back to the DVD that was sent, and explicitly referenced the code.

If the ACBL CEO is being told that large components of the software was not provided, yet they were, I'm not sure how good this laundry list is.


“The authors of the list have themselves said that they should have done a better job separating the big ticket items from the small stuff.”

I don't know who the authors were, or what they wrote.

All that is documented is that they spent $150K creating this list.

“We all know that ACBLScore+ can start and run a KO like gangbusters.”

No. The ACBL CEO specifically stated last month that ACBLscore+ could not start a KO.
So “We all” do not know that. I know it.

“We also know that it can run a swiss, assuming that you're willing to run ACBLScore in parallel because of some missing logic. I've not seen that in action personally, but I'm willing to stipulate that it's nothing short of amazing.”

It is :-) (Amazing).

It does run in parallel so that we guarantee the matching algorithm.
I want to get the matching algorithm done as an open source project so that ACBL would have access to it (see previous posting) when the code was done.

Matching the ACBL algorithm is a bit of work. Trying to extract the logic in the ACBLscore code is difficult. I had 3 different developers try and do this during the ACBLscore contract, none was able to do it. The algorithm is heavily mixed in with the UI code making it very hard to extract. They were trying to match Jim's Pascal code with equivalent C code.
If I were to do it, I'd estimate 1-4 man weeks coding. 2-3 months elapsed; not trying to be immodest, but would take others longer, I come into the project with more background. Reason for big difference between man weeks and elapsed is testing and feedback. ACBLscore+ is custom software, it needs feedback.

However, I want to make it open source. Got some developers interested. If I did the work, then my company would own it. Believe it or not, altruistic motives in making it open source.

However… I would not match ACBL's algorithm. It's overly complicated. It is not well understood by the users. Most people - TD/CDs don't change the default settings. But they are changed at the NABCs.


“Will you be running the old, as-delivered version of ACBLScore+, or will you be running the newer Bridgescore+?”


I've made many, many improvements to Bridgescore+ since ACBLscore+ was delivered in May 2014. It's better, faster, more capable, more printed output, better tested, better displays. There is no reason for me to run ACBLscore+.

Basically what I've got is what I would have called ACBLscore+ 2.0. ACBLscore+ 1.0 was to replace ACBLscore, delivered May 2014. It was designed so that new improvements could be added.

When ACBL announced they were dropping ACBLscore, I put a version up on the Internet for districts to use. It is code up to September 2014. It's free. I've had a lot of feedback from them, and incorporated it into Bridgescore+.

“Demos of the latter are of less interest, since it's not what was given to the league and we don't have any access to it to do any independent evaluations.”

You are welcome to see it in action at Gatlinburg.

I offered to run it (for free) at the NABCs.

“I naively expected ours to be a short phone call, since answering those two questions (what's missing, and how hard are they) seems straightforward to me, even though I'm well aware of how hard it is to estimate development time”

What you want is a dollar/time estimate. I know that. Everyone wants that. But it's complicated. If there was a contract, I'd spec it out, but there isn't so I can only give estimates.

Development estimate is hard because of resources. It's code so you can put man weeks next to an item. But it's highly customized code, so you need the right resources. My output ratio for the developers on ACBLscore was about 20:1. In other words, what some developers would take 20 hours to do, would take others 1. Higher ratio that most projects, but there is a learning curve for ACBLscore+. So any estimate of man weeks has to factor in output ratio. For example, ask ACBL what the estimate was for ACBL Live, and how many man weeks/elapsed weeks has taken (I picked this at random, nothing sinister).

The other factor which is harder to impress on people is the elapsed time. It's custom software. It needs feedback from TDs/CDs. They are the users. You can't ask them what they want because they can't tell you (I've tried). You have to show them, get feedback, and implement their suggestions (this works).

I'm reluctant to commit to any dollar/time because of unknown resources.

If I had to do the work, I can put some hard fast numbers next to each item.

I gave you a 6-7 month estimate, minimum, for completion, because that's the delay in the critical path items. That gets the code done. Meets the requirements. But I'm not sure everyone is happy. Leaves almost no time for feedback from users.

I gave you an estimate of 9-18 months. The slower the roll-out, the cheaper the cost, the safer the roll-out is, the better the quality of the code and final result. Someone that is now perceived to be 18 months minimum. It's not. Rollout would start at day 1.


“The contract is over, the result is not deployable, and it's not close”

This is where we disagree. Perhaps it is semantic terminology on the scale of deployability.

It was deployed in Gatlinburg in April 2014.

Parts of it are ready to be deployed now, others not.

Even if everything was ready today, you would still do a slow roll-out. You need support trained. You need alpha-testing. Look at any other ACBL project, e.g. ACBL Live - you roll it out at some test tournaments, get feedback, before implementing it across all tournaments. Look at TourneyTrax - same issue. That took many months of feedback.


“By the way, I asked you repeatedly, in Providence, for a demo, and never got one.”

I honestly don't remember. I did demo it to several people; I have no reason not to have included you as someone to show it to. Perhaps our playing schedules never meshed. I“ll have to dig through old emails/texts but I don't remember. I know we did talk about projectors and usage etc.


”I'm not really sure what you're trying to accomplish here. If you want to convince us that we should try to extract workable pieces from ACBLScore+ and roll them out, there's no need.“

That's about all I want to accomplish.

”If you want to try to convince anyone to create another contract, you're not succeeding"

That's not likely with the current management. I walked away from the last contract that was offered.


10 items.
Let me create. I'll put in a separate thread. My fingers are sore.
March 8, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
“Greg had trouble with installation, and you replied, in effect, “RTFM” – when you could have offered to talk him through the process while on the phone instead.”

I did. When we were on the phone with Uday I offered help with the installation. He was trying to install it when we were on the phone. The next thing I know is his posting that he then spent 6 hours trying to install it. Would have been easier had he sent a private email/text rather than a public posting. I suspect I know his problem - trying to install older software on a newer machine. But I wasn't the one that first went public. Greg/me posturing in public won't help; we can probably get a lot more done privately, but publicly everyone needs to see what ACBLscore+ can do, and what Bridgescore+ is doing.

“Greg says “I've seen the software.” Instead of stating in a public forum “No you haven't,” you could have made a private offer to demo. The public challenge is far too adversarial for your cause.”

I did (private offer to demo).

Instead of taking me up on the offer, Greg has been running something that ACBL has set up for him. I have no idea what it is; given that he says it is a different user interface than what he had installed, perhaps it's not even ACBLscore+. Perhaps ACBL created their own version of ACBLscore+ and has been showing that to him instead. Unless it's software that I've installed (can do it from the DVDs that was sent to ACBL), or software that Greg has installed from the DVD and not something setup for him by ACBL, I can't vouch for what he is reviewing. I have any reason to believe that ACBL would do their best not to show ACBLscore+ in its best light.

The phone call that we had wasn't publicized, however we all made sure it was open, i.e. anything discussed was open. I followed up with a lengthy email. Nothing since. I then saw the minutes from the Technical Committee. We did talk about Bridgescore+, but in order to be able to show everything it can do, and its plans, I would need an NDA with them and we all agreed that having an NDA in place would be inappropriate. They wanted to be open and free with their comments. Me too.

So from my perspective, no-one has seen a demo of what the ACBLscore+ software (as delivered) can do. AFAIK, they haven't talked to any TDs that have run the software. Did they talk to the Gatlinburg TC/DIC from last year?

“none of their words are to your cause's benefit”

All have said that the code looks good. Or words to that effect. There's several man years in there so a lot to look at. I assume that as part of the analysis that the team took a look at ACBLscore source code so they could compare apples to apples. Support costs are the biggest cost of the project. I have always said, and still claim, that ACBLscore+ would pay for itself in terms of better support, easier support, fewer TDs required to get the job done. I still stand by that claim. Greg said “The things that it *can* do, it appears to do quite well”.

ACBL threw out ACBLscore+ claiming it was all worthless. This was last year. Now some back-pedaling - maybe we can re-use some of it. This is the exact opposite of ACBL's claims last year. If anything their words are undermined ACBL's original rationale.

I know the real reason. I posted long time ago that we had a business dispute - ACBL wanted to re-write the original contract - we said no. We moved on. It was made clear to me that under the current management/league counsel there would be no more (paid) work for Hammond Software. I accepted that. Simple business. It was now ACBL's problem - I said nothing for many months. It wasn't my problem.

ACBL management/league counsel got themselves in a situation where they have software that they have been told ACBL cannot use. They have tried to shift the blame for that onto me and my company.

What I have done since the project ended is to protect the reputation of my company, and also the code that was delivered. ACBL aren't going to use any code from ACBLscore+ unless they got a different outside counsel, or unless the CEO/league counsel changes their mind or there is a change in CEO/league counsel.

ACBL have since tried to portray the software as bad, or unusable. That's simply not the case. It ran in Gatlinburg last year. It's run at many regionals/sectionals since. I've had others (not me) run it at tournaments. I'm going to protect any claims to the contrary. And, back up those claims with working software. This is why everyone has a problem - ACBL claim its worthless, yet its out there at tournaments.

All I'm asking is for someone at ACBL, or someone who is technical enough to understand what ACBLscore+ could do, to have a demo. Or come to a tournament and see it work. I don't think that's unreasonable. ACBL spent all this money, why not see it work? What has ACBL to lose? What has Greg/Uday to lose? If anything, there's a lot of synergy for both - Bridgescore+ can take the pre-registration data from BridgeWinners and put them directly into a game file, either an ACBLscore game file or ACBLscore+ SQL database. With this technology, ACBL are more likely to get into pre-registration. Bridgescore+ results output can tie into BBOs code to display hands on BBO's web site (I can support others if needed). I assume that ACBL showed both these features to Greg/Uday - I haven't because I haven't given them a demo.

ACBL spent $150K evaluating the software. At least that's what they claim - it was in the Providence notes.

I have absolutely no problem if ACBL were to publish their evaluation. They have a GAP analysis, publish it. I have absolutely nothing to hide. I still haven't seen either.

Any time someone makes a false claim, I'll throw up a YouTube video.

I have no problem the truth coming out. I hoped that Greg/Uday/Ralph would see the code work. They've said the code is good. But haven't seen it run! AFAIK, they haven't talked to TDs who have used the software, or players who have seen it.

The emotional response seems to be coming from ACBL. In the Technology Minutes, they stated, “Management Technology Committee believes the best path forward is not to continue work with Hammond Software”. Kind of funny because they weren't working with me anyway. It's interesting because they offered no alternative. It seems to be am emotional response. Here's what we are not going to do. Ruling out one option without any alternative proposals is silly.

If they started from scratch, would be a huge undertaking to replace ACBLscore and basically redo what they already have. They already spent all this money, why waste it? Finishing it off could be done for less than $600K that they are spending trying to play catch up. Use me or my company and it would get done quicker/cheaper but they could still get it done without me. Take a little longer, little more money, but ultimately ACBL need to support the software. Transitioning the code to have ACBL support it was what I was trying to do in the last 6-9 months of the contract but they never hired anyone. I'm trying to get the ACBLscore+ software evaluated and used, I'm not trying to get more business for my company - ACBL with its current management made it clear in May 2014 there was no more (paying) work. I've done stuff for them since, but free. I've posted some solutions to the $600K problems they are solving on-line. They are free. I did this so they didn't need to waste $600K. Use that money, use the developers they have hired, and finish the software.

I happy to put my reputation on the line for the software. We delivered what the contract said we would, absent anything with a documented 3 month delay or longer from ACBL. We did it even with major unpaid change requests from ACBL during the contract. We did it in spite of ACBL holding up payments during the contract. It's used at major tournaments.

I offered this initial challenge so that players (the majority of members) can see what a TD currently has to do with ACBLscore to run a KO. I'm going to show the same with Bridgescore+. I'll let the software to the talking on which is better, which is the best way forward for the organization. It is only when you see what the TDs currently have to do that you realize the need for change.

Sure, ACBLscore+ needs to be finished. But don't hold me accountable for the documented delays from ACBL.
March 8, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.

I've accepted your challenge of installing via USB stick on a Windows system.

Make sure you bring a carriage feed printer with you. I'll bring a modern cheap fast laser printer for Bridgescore+ as well as a projector etc. May as well show them both at their best.

At the same time, can you bring a Mac laptop, a USB stick, and install ACBLscore on that. I'll do the same for Bridgescore+. I'll bring the stopwatch for this one.


If you want to bring working copies of what ACBL hus budgeted $600K for this year, we can do that as well.
March 8, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.

Let me give you another example. BW has software to sign up for National Events. Why is this not integrated more with ACBLscore?

Currently the TD has to re-enter all the information manually that was previously entered into Bridgewinners.

Do you know that ACBLscore+ has this ability. I.e. it has these tools. It can take data from your system, and automatically convert it to an ACBLscore game file?

Did anyone show this to you at ACBL? Did anyone demo this to you? Are you even aware that ACBL has this code/ability.

Think of the possibility for pre-registration. We can make it all automatic.
March 7, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
“The answer (direct from Nic, not speculation): several man years”.

Not true. To implement what was in the contract would require that ACBL provide the 3 man years of work they were supposed to do. What I would implement now, is not what ACBL originally planned, but one with a better migration path. Elsewhere you saw me state different numbers.

“So: We have the code, as delivered. We know what it can do. We've seen how well it can do it.”

NO - YOU DON'T!!! This is the crux of the whole problem. You do NOT know what it can do. You have NOT seen how well it can do it. I have never given you or Uday a demo. ACBL didn't want a demo. Even now you don't want a demo.

When have you ever seen “how well it can do it”???

I've very concerned when you said earlier that the interface you saw “in the cloud” is very different than the version that you saw when you installed it on your local Mac. Are you sure that you were looking at ACBLscore+? Is it possible that ACBL created something else and gave you that to test? Can you send me a screen shot of what you were looking at up in the cloud?

If you want to see a small fraction of what it can do, come to Gatlinburg.

Ask someone who has been to a tournament where Bridgescore+ has been running? Ask a TD that has used Bridgescore+.

Everyone is asking the same problem - if it is this bad, why is it being used at tournaments?

“We don't need to participate in your proposed dog and pony show to see it. If you're going to continue to issue challenges, I propose a different one of my own: let's give ACBLScore and ACBLScore+ on USB sticks to a player of your choosing, and let's give them a fresh Windows laptop, and see how long it takes to get either one up and running. I'll provide the stopwatch.”

If you won't participate in a show, how well you get to see it?

You have never used ACBLscore, so you have nothing to compare ACBLscore+ to.

Challenge accepted.

Bring a laptop; for me have them install latest version of Google Chrome and make sure that the laptop has a WiFi connection.

Given that I have accepted the challenge, let's see how a new player of my choosing (I'll pick Greg) can create a 6 bracket KO. Greg: you get to have a TD help you.

“It's not going to replace ACBLScore because it's so incredibly far from being able to do so.”

Not true. Who is telling you this stuff? Who has given you a demo?

That's exactly the point of asking you to try a demo - see Bridgescore+ run an event start to finish.

I'd start replacing ACBLscore on day 1. Use Bridgescore+ to run the KOs. Get the TDs to start learning the new UI. Then replace Swiss. All the while we are creating backwards compatible game files so that there is a smooth transition.

“The things that it *can* do, it appears to do quite well, and if we are able to extract a viable portion that works and is nicely self contained and easy to install, then I hope that we'll do that. ”

Gosh. Thank you.
But I still don't think you know what it can do. Would you like to create a list? Did ACBL give you a list?

Note that I have extracted parts of it, and put them on line. For example, want to create a new KO ACBLscore game file with lots of brackets, see (username: td, password: happy). Try it. Compare to ACBLscore. Ask TDs how it works.

“If we can't manage that, then we have also recommended that we use the working portions of the code as a blueprint for building whatever new thing ends up getting built”

ACBL have stated that they are going to spend $600K in the next 12 months. Take a look at what ACBLscore+ can do, and what I have posted on line. I think I have 4 or 5 of the 6 items covered. They only announced them in Providence (at least that's when I saw them).

How about I show you them in New Orleans. Grab an ACBL TD - you pick one - so that he/she can explain what the code is doing.

Why waste $600K on code that you already have??

“The things that it *can't* do are numerous; some small, some large”

I re-state - it does everything except anything that had a 3 month or longer documented delay from ACBL. Or something dependent on that delay. ACBLscore+ can do a lot more than you claim.

“I'm not sure, but I do have the ACBLScore source code myself, so if you asked me to finish this, I would just extract the algorithm from there”

The implemented Swiss team algorithm in ACBLscore is ugly. So complicated that even National TDs don't know how to use it to run the National Swiss (I know, because I was there and saw it). I wanted to implement something simpler. This is one situation where you would try and write it from a spec, not going from the ACBLscore source code. Swiss teams had a many month delay.

When I did have a contractor working on this implementation, ACBL stopped paying bills.

“Nic didn't mention that one must use ACBLScore to assign masterpoints to the winning teams for any game type, again because of some key missing specification”

Probably didn't mention it because it's not true.

That's the type of statement that is so misleading that I don't know where you are getting your information from. Did ACBL tell you this?

Have you bothered to run an event in ACBLscore+??

Do you see the test code? Did ACBL show you any code?

Sorry - but this statement is so far wrong that I've got to question where you are getting your information.

“While the formulae for masterpoints might not be written down anywhere as specifically as a programmer might require, again they do exist in the ACBLScore source code (irony duly noted, as recent masterpoint-related events have shown).”

Much, much irony.

ACBLscore+ comes with lots of automated testing (I assume ACBL showed you all of this, how it works, how it tests for masterpoint bugs etc.).
Had they used ACBLscore+ for the automated testing, a lot of the problems would have been fixed before release. But ACBL has no automated testing. ACBLscore+ did. Why didn't they bother to use it? Probably because no-one knows it's there. Did ACBL show it to you?

Greg - I assumed that ACBL gave you a full demonstration of all the testing functionality within ACBLscore+, and also showed you the current ACBLscore testing.

“Did the delivered product fall very fall short of what was required by the contract? Yes”

No. I will disagree. And re-iterate that we delivered everything that didn't have a 3 month delay. I've yet to see anyone document anything to the contrary.

“I think we've reached a point where apportioning blame is less important than finding a workable solution moving forward.”

I've still got the email from ACBL that states the reason why they are dropping ACBLscore+ (May 7, 2014) along with their outside counsel's rationale.

“Now, our best hope for ACBLScore+ is to salvage what's usable from what we have.”


“We don't yet have a specific plan for the future”

I wrote one up, see
You are welcome to use.

I do have some specific plans for Bridgescore+. It's interesting to compare what I plan to do with it, with the fact that ACBL have no plans.

I'm disappointed that you didn't want to learn about Bridgescore+/ACBLscore+.

March 7, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
For the car analogy, ACBLscore+ was developed with a modular approach. ACBLscore does not have the same flexibility.

Using this approach means I could easily/quickly develop/deliver the standalone code for creating an ACBLscore game file.
March 7, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.

When working with Rails, one of the ‘features’ of Rails is the ability to add ‘TODO’ within the code. Other IDEs have the same concept.

In Rails, it allows the project manager or a developer to type

rake notes:todo

This generates a list of the TODO items (based on extracting the words from the code).

The TODO ability is a very powerful tool; one that developers were encouraged to use.

The electronic scoring device (Bridgemate) code though is C code. The words ‘Hack’ and ‘TODO’ do appear in this code. Put in by the developer to help others debug later (it wasn't me, though I would probably have done the same - well documented code is a big advantage) . The Bridgemate code depends on the Movement code (need to upload the movement when a pair event starts). Movement code was put on hold during the contract because of ACBL not paying bills and not delivering specs. So we put the Bridgemate code on hold as well as there was a dependency. To claim that this was expected to be completed code is a little bit of a stretch. The last commit of the wireless scoring code was October 2013. This is when the work was put on hold. This was a couple of months into the time period when ACBL stopped paying invoices. There was no way I was going to have someone work on this code until ACBL had paid invoices, and also delivered the missing specs on Movements. The specs didn't get delivered February/March 2014 (from memory). The wireless scoring code wasn't touched. So when you look at this part of the source code, you are looking at a snapshot during the middle of development when development was abruptly halted. You are not looking at production code delivered after the end of a normal contract.

I'm glad everyone seems to think that the Ruby code was well written. There's about 200,000 lines of it. When the code was delivered, ACBL had the same reaction - their reviewer said the same thing. Both you/Greg have said the same. Making sure it was well written, and well documented, was part of the original project plan because the plans all along were that ACBL were going to take over development/maintenance of the code.

Any attempt to rewrite ACBLscore is going to be the same amount of work as already put in. It seems a shame to waste all this code. But ACBL have got to get the legal stuff taken care of first.
March 7, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
You were not on the committee when you were given the (very brief) demo.

Since you were appointed to the committee, we haven't spoken or emailed.

I do appreciate you being willing to give up time at a tournament to see the code before your appointment - I only wish I could have shown it live.

There was much that was not shown. The best demo is going to be at a live tournament running in parallel with ACBLscore.

You are a knowledgable user of ACBLscore, at least more so than Greg or Uday.

If Greg isn't willing to take the ACBLscore v. Bridgescore+ challenge, are you?

Goal is to see how a new user would take to either system. Which system is better?

Same rules. You have the advantage that you are more familiar with ACBLscore. But we would still give you an ACBL TD to help with some of the more arcane features of ACBLscore. I'll take the same caddy to be named later who has had no training. Skews the challenge towards ACBLscore, but I'll still very comfortable with the odds.

Hopefully you will be in Gatlinburg - you can finally see what all the fuss is about.
March 6, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.

For Pair games:

Posted 6 months ago.

Second part.
Also posted 6 months ago.

Large pair event.
Also posted 6 months ago.

What's still needed:

1) EDMOV functionality. See previous posts. Developer had to be put on furlough as ACBL didn't pay invoices for many months to try to force a contract re-negotiation. 6-7 months. Same applies to complex movement times. Work done in parallel.

2) Masterpoints. Works for majority of time, but work put on hold until ACBL delivered mastertpoint assignment/eligibility specs. They never did. Would need updating for new 2015 rules. Not hard. Probably 1 elapsed man month to implement. Done in parallel with EDMOV.

3) Bridgemates. Some work still needed.

Based on where anything stands at the moment, pairs games would be the last item I would replace with Bridgescore+. ACBLscore is very good at handling all the different problems, there is a lot of implicit training. I would use KOs/Swiss for the TDs to learn how Bridgescore+ works, then add pairs later.
March 6, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
There is a lot to respond to in this thread.

Let me start with Greg's first paragraph:

“I've seen the software. There are copious youtube videos. We have a running version of the code in the cloud. We have the source code! I've tried to get it up and running on my Mac for experimentation, but after about six (!) hours of trying just to get the thing off the ground, I gave up. I did eventually get it to start serving web pages, but it wouldn't serve the CSS or Javacsript files, so it didn't look or function like the working cloud demo that we have, so I've just used the version in the cloud. One only has so much patience for installation nightmares, and I doubt you'll find many people more savvy than myself at developing and running web-based applications.”

Let me address each sentence:

1. “I've seen the software”

No, you haven't. I have never given you a demo. I don't know who has, but it's not me, or to the best of my knowledge anyone who was a developer of the software.

You have no idea of the abilities or capabilities of the software.

I have no idea what you have seen.

2. “There are copious youtube videos”

Yes. Lots. Any time someone claims something that's not true I post a YouTube video.

The latest was the ACBL CEO claiming (February 2015) that I never delivered the code to start a KO. This was shocking. It meant that whoever was giving him guidance for the last 10 months hadn't bothered to install the software or run it.

I re-installed the software from the DVD that I sent in May 2014 (er.. only took me 5 minutes), then created the following YouTube videos just for him.

This was part of the email:

Starting a KO:

Running a small Swiss:

Running a large Swiss, e.g. NABC

So… whoever was giving the ACBL CEO guidance on what the software could, or could not do, hadn't bothered to install it or run it.

These videos are what ACBLscore+ was capable of in May 2014.

3. “We have a running version of the code in the cloud”

So do I.
It's how I demo-ed to ACBL Management and BOD for the past many months.

From my server:

% uptime
22:59:30 up 746 days, 8:14, 4 users, load average: 0.22, 0.19, 0.16

For the non-technical, this means that my system on the cloud has been up and running for over 2 years without a reboot. Not bad. It's currently supporting 14 different versions of ACBLscore+/Bridgescore+ for districts/others and some web services. The first suggestion by ACBL support for any ACBLscore issue is to reboot the computer (seriously - it is what they do - and it does clear out many temp file/cache problems).

I have no idea what version you have running up in the cloud. Or where it is at. Or what version it is running.

Based on the fact that the CEO had been told that it doesn't support certain functionality, I'm going to be a little suspicious of what you have seen. Not saying it's not ACBLscore+, but there is a huge disconnect between what the ACBL CEO is claiming and what ACBLscore+ is. If you are looking at the same system that they have shown the ACBL CEO then we have a problem.

4. “We have the source code!”


But for some reason the CEO thinks differently.
What's going on?
Why is the CEO claiming something completely differently from what you are stating??

5. “I've tried to get it up and running on my Mac for experimentation, but after about six (!) hours of trying just to get the thing off the ground, I gave up.”

Very funny.

You/me/Uday spent 2+ hours on the phone. During this time instead of focusing on the phone call you were trying to install Bridgescore+ on your Mac. On several occasions we had to repeat the conversation because you weren't paying attention. Every smart person thinks they can multi-task, but no-one really can. It was rude and very frustrating.

On more than one occasion I asked if you'd bothered to read the Bridgescore+ Wiki. This detailed the one-time steps that you needed to do to before installing Bridgescore+ on your laptop. Instead of reading these notes, which were required reading and required updating for all developers, you were like a bull in a china shop believing you knew best. Managing smart developers is sometimes more challenging than regular developers because they have an “I know best” mentality. Following the instructions would have saved you a lot of time.

What you were trying to do was to install software from a year ago, on a newer Mac. In order for this to work, you needed to properly configure your Mac. This means running the correct RVM, having the correct Gems. It's all in the Wiki. You told me that ACBL had given you access to it. You just needed to read it and not believe that you knew everything.

With all developers on ACBLscore+ (and in fact most projects I manage), I had a rule where you needed to spend at least 15 minutes on a problem before you asked for help. After 15 minutes, and still stuck, I expected a call. Not saying I would know the answer, but I could either answer the question, point you to someone else, or help find the solution. You never called. This is basic support - you know I would have given you whatever support you needed.

You ran into a common problem that some new developers working on ACBLscore+ did.

All you needed to do was to ask or read the Wiki. Spending 6 hours is ridiculous. It is the same head-in-the-sand mentality ACBL has had. I'm surprised at you. It's OK to be willing to be admit that you don't know something and ask. I know that there's lots that I don't know and will be the first to admit it.

If you need me to, I can create yet another YouTube video. I can show copying the files from the DVD sent to ACBL. Then running the install script:


Then you start the program


This is exactly what I did when the CEO emailed me that ACBL did not have the software to start a KO. I went back to the DVD sent to ACBL in May 2014, copied the files, installed on my Mac laptop, ran the software and created the videos from that. The copying took 2 minutes, the installation about 30 seconds. If you want, I can show you in New Orleans, I will bring the original DVD sent to ACBL, my Mac laptop, and how easy it is to install and run.

I made it quite plain that I was happy to help you get this set up, even though all of this was being done without anyone on these forums being aware that you/me/Uday were talking, and as far as I was aware that you/me/Uday were talking without ACBL being aware of it.

6. “I did eventually get it to start serving web pages, but it wouldn't serve the CSS or Javacsript files”

Send me some details. We need to have these types of discussions in private, not public.

You are far more knowledgeable about CSS/JS than me; I don't claim to be an expert in either.

It sounds like someone may have provided you with a crippled version of ACBLscore+ or you didn't follow the instructions on the Wiki.

Please note that I have never give you a copy of ACBLscore+ (I just need ACBL to contact me, as I said in the phone call, so that I am not violating any NDA that is still in place). I have no idea what you are working from. ACBL still haven't called me, or emailed me, that it is OK to talk to you.

It's clear from the ACBL CEO that ACBL don't even know what they have with ACBLscore+. This is one of the reasons for the challenge..

Remember: ACBL has never asked me for a demo, or any help in setting up ACBLscore+ on any system that they have. Neither have you.

I made it clear to the ACBL CEO in an email last month that based on what he is being told, and what is on the DVDs that was sent to ACBL last year that there is a huge disconnect.

What you are claiming in your post is yet more evidence of this fact.

It seems that ACBL have been evaluating a system that was not delivered to them.

That makes sense to me - remember they are trying to discredit a system because the CEO/League Counsel screwed up the original contract (according to their new outside counsel) and are going to do anything to cover up this fact.

It also makes sense based on the various claims that you have made. Remember, I have never seen any ACBL analysis of ACBLscore+. I keep hearing rumors. Every time I hear another one, I post a YouTube refuting it. You've made yet another (public) claim.

It seems that I need to do the same with your 6 hour claim. I'm traveling at the moment. When I get back, I create a video, from start to finish of taking the software delivered to ACBL on the same DVD, installing it on a Mac (just like you) and running it.

7. “so it didn't look or function like the working cloud demo that we have, so I've just used the version in the cloud”

I have not seen the working cloud demo that you refer to.

Remember the ACBL CEO claims that it does not have the functionality that was delivered.

So it looks like you have been wasting your time.

The fact that it doesn't “look or function like the working cloud demo” is even more indicative of the fact that you may be looking at something that isn't ACBLscore+.

They should be identical.

Would you be willing to show me the version in the cloud that ACBL has been showing you??

8. “One only has so much patience for installation nightmares”

Me too.

Very politely, WTF you doing?

I need to post a YouTube video because there's clearly a massive disconnect between what I delivered to ACBL and whatever it is you are doing.

9. “I doubt you'll find many people more savvy than myself at developing and running web-based applications.”

Well, I'm one. Going back to 1995.

You/me puffing our chests at each other won't help.

a) I'll post a video on installing ACBLscore+. Hopefully this can help you. Please read the Wiki first. You made a common developer mistake - about 1/2 the developers on ACBLscore+ did the same. But they didn't waste 6 hours.
b) I'm very curious on why you have a different version in the cloud than locally. What is it that ACBL are showing you?
c) The offer to do a showdown in New Orleans still stands. Up for it?
March 6, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.

Writing on the wall started around summer 2013. ACBL stopped payment trying to force a renegotiation of the contract to make it a WFH. Robert admitted that ACBL stopped payments in Providence BOG.

I've got all the emails from ACBL regarding the legal reasons why they were dropping ACBLscore+, including their outside counsel opinion on ACBL's use of ACBLscore+ in May 2014. He said no, ACBL management/league counsel now have to find a reason not to use it. April 2014, ACBL put on their Facebook page how wonderful this new software is. May 2014, Facebook entry deleted. ACBL scrambling as they can't use this software they have spent all this money on. What is ACBL to do? Management/league counsel are the ones that were responsible for negotiating the original contract, apparently without outside review.

Ask the Board Technology Committee to review the emails from management to outside league counsel from August 2013 to May 2014.

The good news - if there is any - is that Hammond Software has rights to the code. I never intended to use it for Bridge - that's what ACBL were going to do; but if they are not going to use it, I see no reason not to make it available. You don't have to use it. I've worked on it since May 2014. It's now much more backwards compatible with ACBLscore.


Let me try and explain the estimates.


During the original contract, ACBL stopped payments, didn't provide specs. I had to put some developers working on critical path items on furlough. Critical path means exactly that. Every day of delay is a delay in final delivery. The EDMOV/movements was critical path from day one. This functionality had a 6-7 month delay. No matter how many resources are thrown at the project, there is still a 6-7 month delay - caused by ACBL. I am not going to back down from this number. So a final delivery, matching the contract requirements, is a minimum of 6-7 months away.

The original final delivery assumed that ACBL were going to provide 3 man years of developers during the ACBLscore+ contract so we can implement things differently (e.g. tournament finances, club finances, results). They provide 0 years.

So what I would do now for a final delivery is totally, totally different than what was in the original contract.

ACBL internally can't deliver on time. So a roll-out needs to be structured differently, i.e. a
roll-out that eases the transition from ACBLscore to a new system.

The good news…. other parts of the software are ready for release.

For a roll-out, I have more and more code that is backward compatible with ACBLscore.


I can start a KO, do all the PREGAME (ACBL terminology) then create a Gamefile.

I can create a gamefile with no PREGAME.

I can run a KO, then output an ACBLscore game file.

So we can transition at virtually any point from Bridgescore+ to ACBLscore.

My planned roll-out is very different. It would start on day 1. Start training TDs, move them off ACBLscore.

March 6, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I've got 30+ years experience doing UI; including replacing legacy systems. Probably one of the reasons that ACBL hired me in the first place, so I'm comfortable with what is needed.

ACBLscore+ was ready for the first round of user comments - get some experienced TDs, working in a live setting. I learned with the ACBL TDs that we really need a live setting, with the stresses of getting event started/running; classroom setting did not work with them. During the contract, ACBL would rarely let me run the software in parallel in a live situation. It was only at my local sectionals and regionals, where my ACBL Point of Contacts (POCs) were not there, that we could do some real testing. Of course, we did no visible testing at NABCs. Very sad, you guys never got to see what it can do.

We did A/B testing. We did what one TD referred to as a Kobayashi Moru test. What was frustrating to me doing all of this was trying to explain to my ACBL POCs (there were several), why all this stuff is important. Yup, got some test background as well :-)

Over the last year, I've rolled out more and more functionality of ACBLscore+ (I still use < 30% of the code base) with ACBL TDs.

I must thank the TDs I've worked with; both during the contract and subsequent to the end of the contract. They have been fabulous. Willing to listen to new ways of doing things. Little stubborn at times, little obstinate, but willing to listen.

So many of the TDs have been trained and conditioned to do things a certain way that it is very difficult to explain how things can be done better. So much of what they do is based on how ACBLscore works, not on what is the most efficient way of doing things.

My standard test with TDs, and I can still recommend it to you, is go ask a TD how an event should be started. Let's take a KO or a Swiss (or even a pairs). What does a TD need to do. How would a TD design new software to start an event. I could even ask you, you are technology aware, bridge player - design software to start an event. EVERY TD, bar none, could only describe it in terms of how ACBLscore works at the moment.

What you need is someone willing to step outside the box, look at the problem from an objective viewpoint, figure out how it should work, then implement it.

Then you've got to train the TDs.

Let me give you a specific example:

ACBL stated in Providence that they are going to spend $600K on a variety of projects. One was to make it easier to a TD to start a KO event. The current ACBLscore process requires them to create a new event for each bracket. Let's take Gatlinburg, which may have 20 brackets. One TD has to create a game file with 20 events - each event a bracket. They have to manually create each event (bracket). It is about 1 minute per event, or about 20 minute to create a game file BEFORE you have started to do any name entry or anything.

This is what the current ACBLscore process is.

No-one has complained “in centuries”.

I've got a much, much better way with Bridgescore+. One of the reasons for putting this in the list of items to do was that Bridgescore+ is so much better.

OK. So…. I've got code that can easily create ACBLscore game files. It was trivial to create a new interface so that all you need to do is to specify the number of teams in each bracket and voila, got a game file.

See (0:59).

This is code I created after Gatlinburg. It's free. It's up on the Internet at

Username: td
Password: happy

I'll give you no training.

Go ahead, create an 8 bracket KO game file. Let's say bracket sizes are 9, 10, 11, 12, 13, 14, 15, 16 teams. See how long it takes you. Take this ACBLscore game file, read it in ACBLscore. Use it.

See for example.

Bring up ACBLscore. Do the same thing. Create an ACBLscore game file with 8 brackets.
See where I do exactly this (6:40)

Which is the better interface - ACBLscore or Bridgescore+

March 6, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
From the Technology Committee minutes:

“At this time we are not looking into pre registration.”

It's very hard to do with ACBLscore, so I'm not surprised.

But…. trivial with Bridgescore+.

Code was easy; few hours. Going to spend more time with testing. Hardest part is convincing TDs it is going to work and will be less work for everyone (TDs/caddies/players). Everyone is so used to the old way of doing things and few people can look at the big picture (what players have to do, what TDs have to do).

We've got pre-registration planned for Gatlinburg. Huge time savings for TDs, much better experience for the players. We did a small roll-out in Callaway Gardens. Worked very well. Going to tweak it a little to make it easier for TDs. Only complaint was from a Mr Steve. W. from NY who complained that having the events start on time affects his normal smoking break at game time.

TDs weren't used to the fact that teams had pre-registered so kept looking for the entry form. No longer needed….

I've got one hand tied behind my back doing this because we have to make sure that everything is backward compatible with ACBLscore. So far, so good.

I'm working with the Gatlinburg TC/DIC/TDs, District 7 Tournament Operations Committee. Huge kudos to them for willing to push the envelope.

It's going to be baby steps at Gatlinburg; I'm pushing for more but the DIC wants to go slowly (which I understand). First trial will probably be Monday evening KO; we will probably restrict to the top brackets so we can train the TDs and players. Not being elitist, but understand that it needs to be a slow rollout and we will build upon the success as the week goes on. More details later. The metrics from Pine Mountain were very good. I'm excited by what's coming up in Gatlinburg.
March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
A first release of ACBLscore+ would be 1 day away. You would start seeing benefits immediately.

I would do incremental releases as more real world testing is done. What ACBLscore+/Bridgescore+ needs is real-world feedback from the real users (TDs) in a live testing. Run in parallel with ACBLscore. Work out the kinks. You can't rush that type of roll-out. I've done lots of roll-outs - you don't rush them.

Remember ACBLscore+ (Bridgescore+) is currently used at tournaments, so it has been released.

Best test will be Gatlinburg. Let the software speak for itself. For all of you that were there last year, you saw but a small fraction of the software. This year will be even better.

Ask any player that has seen it in operation, ask any TD that has used it and get their feedback. At Callaway Gardens/Pine Mountain last week lots of players came up to the TDs to congratulate on the new software.
March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
The frustrating thing for me is that ACBL has the code to start KOs, to run Swiss with projectors, it works, but didn't even bother to test ACBLscore+ to find this stuff out.

Last month I got an email from ACBL accusing me of not providing this software, as it was developed during the ACBLscore+ contract. I was amazed as this means that no-one bothered to check the software.

This was my reply:

> Nicolas,
> ….redacted the sender and email….
> … statement that ACBL staff saw the multiple tests software….

If Multiple == 2.

The KO start was demo-ed at the first KO event in Dallas at the NABC in March 2014 to AAAA & BBBB.
We sat behind the TD table; I had two laptops.
One for data entry.
The other was what would be displayed on a projector.
AAAA/BBBB asked that I not use a projector visible to the players for this event.
I had all tables assignments ready about 1-2 minutes after the event started (last entry sold); the TDs didn't have it ready for about 10 more minutes.
I asked AAAA/BBBB if they wanted to see more, i.e. run the event start to finish; they said no.

I asked if they wanted to see other events, they said no.

I don't remember the DIC of the event.

A first version of the Swiss was demo-ed to AAAA/BBBB/CCCC in Atlanta in November 2013 at a Sectional in Atlanta/Roswell.
DDDD was also there.
The visual display to players has undergone several revisions since then.
AAAA/BBBB didn't want to see the latest version of the Swiss code in Dallas.

You had some ACBL HQ Staff at Gatlinburg in April 2014 who would have seen the KO display, but to the best of my knowledge, no-one asked to see how the screens worked that created those displays.

Obviously lots of DICs/TDs have seen the code; particularly those in my area.

> …paraphrasing…. this code was not delivered to ACBL…

It is.

> …paraphrasing….. great concern. Explain why is it not there…..

It's all there.

It's a great concern to me that you are not aware that it is, or that someone has told you that it is not there.


To start the KO:

Take the code from the final CD.
Install it.
Start it.

Select a Tournament.
Tools->Tournament->(Select one)

Start a KO by select “+K.O.”

Take all the defaults. Just select “Create Event”

Start adding teams (“Add one” on right side of the screen, enter team MPs, then hit “Add” or just Enter)
Let's add 20 teams.

To view the projector display.
In the submenu (the menu below the top menu bar), select Display->Entry selling

This is the view that should be displayed on the projector.
This screen should be displayed while entries are being sold.

To complete the KO, click on Bracketing.
Fill out form.
Click on Matching.
Verify the data.
Change if wrong.
Click on Tabling.
Fill out form.
Select Publish for each bracket to display.

Select Display->Assignments
This is the screen that should be shown to the players.


For the Swiss.
Start a Swiss

Select Tournament.
Select “+ Swiss”
Take defaults.
Select “Create Event”
In new screen, add some teams, go to “Names”.
Add, say, 10 teams.
(There is always 1 by default, so you now have 11 teams)

Go to Scores/Matches/Rounds
Select Round 1
Select “Assign Remaining”
This will match 1v2, 3v4 etc..
Enter tables numbers, e.g. A1 for team 1, A2 for team 3, A3 for team 5 etc.
Select Display->4-column layout
This is the screen displayed to the players on a projector.


I've made a lot of changes to my version (since May 2014) based on feedback from TDs and feedback from players.
Lots of changes for both Swiss, KO, and other functionality.


I guess the biggest concern is that you have been told that this code is not there.
This should be a major concern to both of us.
As you know, I wasn't involved in any of the testing of ACBLscore+ at ACBL, or any demos to anyone at ACBL or demos to EEEE/FFFF.
If something as simple as this wasn't shown, then it begs the question on what else was not shown.
Or if the system(s) were correctly configured when giving a demo.
So if ACBL did analysis based on wrong/incorrectly configured software that may explain some of the confusion that exists.


If someone wants to look at the code that displays the information shown on a projector, just to verify that the code is actually on the DVDs, then

in the DVD I sent,

go to the top of the UI code


The code for display is underneath this directory at


This is my screen log after mounting a copy of the DVD I sent to you:

me:nicolas$ cd repositories/user_interface/
me:user_interface nicolas$ cd app/views/display/pregames/
me:pregames nicolas$ ls -l
total 28
-rw-r–r–@ 1 nicolas staff 5241 May 29 2014 assignments.html.erb
-rw-r–r–@ 1 nicolas staff 6265 May 29 2014 entry_selling.html.erb

These two files contain the code that displays the data shown on the projector for the assignments and the entry selling.

> … paraphrasing…. confirm everything delivered…

Everything was included.

You had two final code deliveries, one marked April 1, 2014, and one marked May 29, 2014.
The May 29 superseded the April 1 delivery.
The April 1 delivery had all the source code, documents, and Wiki pages.
The May 29 delivery just had the source code; it did not include the documents or Wiki as no changes to those.
May 29 delivery was signed for by M. Hayes on 6/2/2014, USPS tracking number 7007 1490 000 1514 5596.

You can compare the two DVDs to see the work done April/May 2014.
The April 1 delivery should also have the start KO and Swiss code.
I'm showing 114 files changed in the user_interface repository alone between these two releases.

Both deliveries were DVDs of all the source code pulled directly from GitHub, the source code control system we used.
You had several people that had full access to these GitHub repositories; I assume that they were pulling the code at least once a week so you can compare what is on the DVDs with the source code that your internal people were pulling.
ACBL had full access up to these Github repositories through May 29.

The source code was pulled from GitHub at some point on May 28, 2014, DVDs were created, packaged etc.
There were 66 files in the ./user_interface repository that were updated on May 28, 9 files on May 27, 12 files on May 26, etc.

DVDs were packaged and then sent on May 29.

From the records, the first check-in of code that is intended to be displayed on a projector is September 2013.
The code control log file entry (you had access to all of these, I presume it was being pulled at least once a week) is

e7ce91c GGGG Mon Sep 9 16:13:07 2013 -0400 First draft as a TV output for Team section

We later renamed from “TV output” to “Display output” where display includes TV/projectors etc.
I think this Sep 9, 2013 code check-in was for Swiss teams.
The first check-in of code to start KOs using projectors was November 2013. Possibly earlier.
Not saying it worked then, that was the first time code was checked-in for each of those components.
Swiss was certainly working by November 2013 (first demo to Bruce/Ken).
KO starts was certainly working in March 2014 (demo to Bruce/Ken).
KO starts was used extensively in Gatlinburg (April 2014) - you have all the code that was used at Gatlinburg, along with bug fixes/enhancements made after Gatlinburg. All on May 29 DVD.

Someone at ACBL took pictures of the screen at Gatlinburg in April 2014 and posted them on the ACBL Facebook page, so you can verify what the code looked like on the projector (the pictures have since been taken off the ACBL Facebook page). Compare those pictures with the code that you have and you will see that everything was delivered.


I've made lots of enhancements since; the code I've made available on the Internet to the Districts is from September 2014.
This is primarily for the KO starts. There's some documentation for the users as well.

I've made continual enhancements since the September delivery.


Hope this helps.

Am very concerned that someone has told you that code wasn't delivered.
If they can't find something as simple as that (it's hard to miss it!!), I am extremely concerned on what else they can't find.
This may explain some of the confusion that has been occurring.

March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
ACBL politely declined my (free) offer to run the NABC Swiss using projectors, and to help start the Regional KOs using projectors, at the New Orleans NABC.

I won't be at the Technology Meeting on Thursday, or the BOG on Sunday (first one I've missed in 3 years), as on Spring Break with my kids.

I will be in New Orleans the second week. If anyone wants a private demo of Bridgescore+, or more details on how to run for your District, let me know, private email fine.
March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
This was the follow-up email I sent to Greg/Uday after the phone call.

Many thanks for spending the time on the phone with me last week. I know that you are in a difficult situation. ACBLscore+ is 7-10 man years of effort so it's difficult to explain all that it does in only a couple of hours. The key benefits to ACBLscore+ are not in Version 1.0 (what you have) but in the potential of future versions. It is going to be much easier to introduce new features, new game types etc. etc. It really is much quicker implementing code. You will see some of this in Gatlinburg.

1. … Redacted - not relevant - mentions individuals ….

2. You talked a lot about an installable image.

This was in Phase 5 of the contract.

Phase 3 was done under time, and under budget. This was about a year into the contract. I needed almost nothing from ACBL to be able to complete the first 3 phases. So I could predict times/budget, and met them. I'm normally very good, much better than others, on estimation.

Phase 4 was the start of when we needed information/specs from ACBL.

We never finished all of Phase 4 of the contract (anything that had a 3+ month or longer delay from ACBL). So some of Phase 5, which depended on Phase 4, wasn't done. This included the installer. I still don't see writing an installer as a big deal. Clearly ACBL have made a big deal of it. We still managed to do some of Phase 5, but a lot of it couldn't be done. For example, we could not do a release to clubs because this got stopped by ACBL. We did some of Phase 6. Same rationale as Phase 5.

I had planned on Windows installer and Mac installer being about 2-8 man weeks of work depending on who did the work. 2 weeks if I could hire someone who knew installer/DMG files/technology; 8 weeks if I used someone on the project already who did not know installer/DMG as they would need to learn the installation tools. This was total time elapsed. It would involve some of my time as well, but on an interrupt driven basis. The installer would be a wrapper around Ruby/Rails/application code/DB server/configuration files all of which needed to be installed. Nothing different than other software packages out there.

Part of deciding the installation is deciding what versions of different software would be used.

For example, for the web server, do we use thin, mongrel, unicorn, passenger or puma? Apache or nginx? Apache wasn't on my suggested list to ACBL as the production web server for deployment so I'm surprised that Apache was used by ACBL. I have never run ACBLscore+/Bridgescore+ on Apache. Apache is a heavyweight, way too much overhead. I guess if you wanted to show ACBLscore+ badly on a 512Mb machine, you would deliberately choose Apache. I use thin/nginx for development.

The intent was always a one click type installation. The current way of installing the software is NOT how we would plan to ship to the end users.

For the DB server, there are several SQL engines to choose from: Postgres, mysql, SQL Server Express. Currently I use Postgres, but I might not used that for final production release. There may be some support benefits to using SQL Server Express on a Microsoft platform.

The original software was first developed on Rails 3.1, then updated to Rails 3.2, then Rails 4.0. Currently I use Rails 4.0.4. Latest Rails is 4.2. Reason I mention this, is because newer versions of the underlying code make certain things easier and newer tools are announced/released which may change the decision of which tools to use for the final release. I normally try and stay 6 months behind the latest releases to allow all the bugs to be fixed. This was all going to affect the versions used in the Installer. Another reason why the Installer was on the last set of things to do.

It was entirely possible that we could use a different web server and DB server on a Mac than a PC. For PC, using SQL Server Express is a strong possibility, but not on a Mac. Easy to change the database adapter on Rails.

I didn't see creating an Installer as a particularly difficult component. But didn't see any need to do it until we had decided which version of the web server/DB server to use on each platform. As such, the Installer was dependent on Phase 4, Phase 4 got delayed by ACBL, so we held up on the work until we could finish Phase 4.

Also, do we include some additional support software? I wanted to include either vnc, or TeamViewer. This was a decision for ACBL support. These questions were asked before Sep 27 2013, still no answer by Mar 31 2014. Six month delay.

I still don't see a one-click Installer as something difficult, a little time-consuming. I don't see it as a hold up to a Score+ release. There are other things that need to get done and could be done in parallel. For example, I still don't have the masterpoint assignment/eligibility specs. Without those, and MP testing, you can't do a full release to clubs. So work on those in parallel.

Greg, you alluded that this should have been done, you have to remember that for a large part of the last year of the contract, particularly during Phase 4, ACBL stopped paying bills to force me to change the original contract to become a work-for-hire. My company had to borrow into the 6 digits to pay the contractors we already had. The last thing I was going to do was to borrow yet more money on a new contractor for something that was not critical path when ACBL wasn't paying bills. This had a serious impact on the scheduling. Installer was dependent on the support issues. Never got an answer.

3. Tournament Finances

Yuk. What a mess.

Excel is the way to go.
We can use Excel, create all the data, export to whatever format we need.
It's what we (ACBL/Hammond Software) agreed upon.
You won't see this in the contract, it was decided after the contract.
I have all the emails.
We did write an Excel file that implements tournament finances using ACBL.
This was a preliminary version, ready for first review by customer before we did more work.
But it was functional.

TFR (Tournament Financial Reports) - fancy name for all the Tournament Finance had a 3+ month delay (July->Nov 2013) waiting for feedback from ACBL. Nov 2013 they did a Change Request.

No Excel. They wanted it all redone.
“Tournament Directors are too old to learn something new, like Excel.”
(That is a direct quote).
ACBL didn't want Excel, so we redid everything using Ruby/Rails.
Lot of extra work.

After I showed that, they then wanted the data from Score+ in a specific format…. an unzipped Excel file. Go figure.
This Change Request was an impact of about 1+ month to the contract, but I never billed or charged ACBL.


I posted this 6+ months ago.

This is what is in ACBLscore+, what ACBL has.
I haven't touched this code since it was delivered to ACBL.

Note that after this was delivered to them, they wanted it done again.
So a third version. At this point, I said no more without a CR.

Tournament Finances probably make up about 10-20% of the ACBLscore code.

For full replacement of ACBLscore TFR, we can replace with ACBLscore+ or with Excel.

The missing piece is to go from ACBLscore+ data to the old fashioned ACBLscore tournament financial file. Note that this is code that ACBL were supposed to provide. Exhibit F of the contract. Last paragraph. So we met all of the contract requirements for Tournament Financial Reports (TFR). I could implement the code that ACBL were supposed to do. My estimate is less than a week of work, i.e. add a menu item “create ACBLscore TFR file”, which would create exactly the format of the file that ACBL uses. It's probably less than a week of work, wanted to give myself some wiggle room. If you think this is something critical to be able to implement, I could. Just shows how easy this type of work is.

The ACBLscore TFR code is horrible. Not the coding (that's great!), just the whole concept and implementation. Should never be part of a scoring program. Should be an Excel program, so many reasons.

You really need to talk to a current DIC about tournament finances; also talk to a Unit/District treasurer and see all the work that they have to do at the moment. The new implementation fixed all these problems but the ACBL's view was “we don't care about those people” (direct quote). “Those people” are the volunteers at the Unit/District level that have to pay all the taxes, file the 1099s etc. The new version provided them with a lot more information. I know, I was a Unit President for 2 years and we had to deal with these issues.

4. Club games.


This is a video from a few months ago.
A club game from start to finish.
Name entry.
Score entry.
This is the code that ACBL has.

What is still needed before a release to clubs is

a) Full support for all movement types
b) EDMOV (ask a TD or CD what this means - it is quite a bit of work). Thousands of lines of code in ACBLscore for EDMOV.
c) Full Bridgemate support
d) Full masterpoint support

None is particularly challenging.
Movements was delayed by 6+ months by ACBL (Sep 2013->Mar 2014 == 7 months).
I estimate that there is 6-9 months to finish movements.
No surprise with the number.
It was a critical path item when the project started.
Delay a critical path for 7 months and the overall project is delayed by that long.
Nothing changes to the final deadline.
Still got 7 months to make up do the work.
I estimate 6-9 months because the person I hired to do the work is part time.

This is the type of delay that is incredibly frustrating for me.
I had found someone to do the work, which was hard enough, but ACBL could not get the specs delivered. Even worse, ACBL had stopped paying so I had to put this person on furlough. So the most critical path item of the entire project was on hold for about 7 months.
Throwing more developers at the project would not make it go any faster.

5. Roll-out plan.

I'm not sure what ACBL's original intention for a roll-out plan were. This was something that they were supposed to write, but never did.

My suggestion now is very different that it would have been at the start of the contract.

I'm now much more aware of the capabilities of the in-house staff.

My suggestions are at

This was posted months ago; nothing changed in several months, no changes made based on our phone call.

I would make much, much more use of the Internet. Create a proper CSR (customer service rep) experience. Put all work-arounds on the Internet. etc. etc.

My roll-out suggestion is based on minimizing cost, maximizing effective use of resources.

Critical path, even if you gave me all the resources in the world, for all features is 6-9 months.

Based on my knowledge now, I would NOT try and rush roll-out. I've done a lot of production roll-outs; based on my knowledge of customer (ACBL) and users (TDs/CDs), we need to go slow, not fast.

I would do a very structured roll-out.

I posted the roll-out plan (see web site) several months ago. I stick by all the times and dates on it. I wrote this some time ago. I've made some code changes that reduce the time for some functionality. For example, I could do the NABC Swiss in New Orleans, projectors, immediate results etc. etc. running in parallel with ACBLscore. Demo-ed this ability at several tournaments.

6. Reports.


This shows the power of SQL queries. You can either write your own, or use a pre-canned report. I was expecting this to grow from a few that we provide to 400-500 canned queries. Note that the data can go straight to Excel (see the speed) so that Club Owners can do more with the data.

This is what club owners want.

7. Release.

The big question everyone wants answered is how long (time), how much ($$) to finish the project.

Difficult to completely answer as the two are related.

My view is that the roll-out should minimize the cost (trade time for money), minimize the risk.

Every product needs some real-world testing before a full roll out. This is where ACBLscore+ is. It needs TDs to use it in the field.

Even if all the code was ready today, it's still going to take time to roll out. There is training of TDs, training of first/second level support within ACBL to do.

You use part of this time to finish development, part of the time for getting proper feedback.

BTW, this is exactly how ACBLscore was rolled out. It took 9 years from ACBL buying COMPU-SCORE (forerunner to ACBLscore) before Swiss Teams was added.

Code to generate Fast Results was delivered to ACBL in April 2012. It took them 2+ years to roll-out the code.

8. Release to clubs.

Look at the last status report - May 2014.
Page 80.
Club Finances.
See discussion on what is needed for a release to clubs.
October 2013 is the first time it made it to the Wiki, lots of emails prior to that.
Decisions had been made by October 2013 on how club finances would be implemented in ACBLscore+.

By February 2014, still no plans from ACBL on how they were going to integrate.

If you look at the status report (page 58), we had XML output from ACBLscore+ in August 2013.

So we went over 7 months (August 2013 to March 2014) with no progress from ACBL on club finances.

This is why it is very hard to pin down exact dates/costs to complete ACBLscore+.

Knowing what I know now, I would NOT implement club finances they way that we were going to do them.

Instead, I would implement club finances in stages.

Stage 1.
Abandon the plans to replace club finances.

Implement the ability for ACBLscore+ to create the same format of monthly reports they current send to ACBL.

(There are some legal issues, will explain over the phone and not in writing).

I could create this code fairly quickly if you ever doubt the ability to do it. All my work now is volunteer hours; I'd much rather work on something with a bigger impact, e.g. code for Gatlinburg. that I know will be used rather on focusing on areas of Bridgescore+ that would involve ACBL's input.

Stage 2.
Plan on upgrades to club finances.
Lots that can be done.
Easier to explain by phone than email.

9. Starting a KO.

To re-emphasize, when Jay is running the Bridgescre+ to “start a KO”, the TDs runs ACBLscore in parallel as a hot backup. Just in case anything goes wrong.

I'm now at the point that the local TDs no longer run a backup when starting a KO. They use Bridgescore+ to start it.
So there is only one data input.

When I was last down in Florida, Patty Johnson stopped running a hot backup, as she was comfortable that the software works.

This is all part of the transition plan. Work in parallel. Gain trust/confidence of TD/DICs. Drop ACBLscore. Normal stuff for a software release of highly customized software. Surprised that you would think it would be any different.


Next step for me would be having the TDs run the event using Bridgescore+. Again, initially in parallel. Then drop ACBLscore. Bridgescore+ can create a game file that can be used within ACBLscore.

Going to be much easier for me to introduce Swiss for KOs, because support for board-by-board scoring is built into Bridgescore+. It does not exist in ACBLscore.

10. Design

Greg - you alluded to the fact that you would probably use a similar design.

The code was at the point where I wanted to have it run by TDs at tournaments.

The ACBLscore+ contract called for 3 man years of work by ACBL (Exhibit F). It called for them to provide developers for integration (last paragraph of Exhibit F). They provided no developers. So the project is behind with all the integration work.

Based on what I know now, the integration would be done differently. Instead of introducing a new way for club finances, we would just the old way, then migrate. From how the ACBLscore+ contract was written, this is now a Change Request (CR). So we have to factor in the new costs and resources (time etc.) because of this CR.

There were many CRs within the ACBLscore+ contract from ACBL, e.g. Tournament Finances, Reports, Printed Output, Club Finances. Had I billed each CR separately, the overall cost to ACBL would have gone up (both time and $$). Some of these CR were negotiated for other items (e.g. add projectors/drop printed output), then ACBL came back and said they wanted the dropped item. It's yet more cost to the project.

With full resources, and immediate delivery of all missing specs from ACBL (e.g. Masterpoints assignments/eligibility, movements), everything could be done in probably 6-9 months (assuming I can rehire the people I had). I would have 1 full time (me), 3-4 part time + would want someone from ACBL that was going to learn the code. Realistically this is not too different than the delays that were caused by ACBL.

A better implementation would be the slow roll-out I've mentioned. This would be less risk for all involved. It would be cheaper. Much safer.

If there is something that you'd like to see implemented, so you get a good idea of how quickly something can be developed, let me know.

My version of ACBLscore+ (Bridgescore+) is further along in many area; but still at same point as ACBLscore+ in others. I've not worked lately on code where I have no specs (e.g. masterpoints), but I have worked on other areas, particularly the interface to ACBLscore as if ACBLscore+ is going to be rolled out, it will need to work a lot closer with ACBLscore than ACBL originally intended. You can see some of that with the web services I've released and documented on Bridgewinners.


You wanted a full break-down of what was needed to complete ACBLscore+. Along with time/price. That's going to take a lot of time/effort. The time/price is variable. Difficulty with some of this is knowing when ACBL will deliver the specs. So, let's assume that they deliver all the specs on day 1, and I'm not waiting on them for anything during the work, that TDs are always available, and that I get a 24 hours response to questions.

With estimates of timing, this is me doing the work. You need to multiply by different factors if other people do the work.

1. Masterpoints.

Need to complete MP code. Written in C. About 8,000 lines of code so far. Development stopped in Jan 2014 as no specs. Working for about 95% of game files/types (i.e. same results as ACBLscore+). The edge cases required the specs. 10% of game files we looked at had the wrong MP calculations (in ACBLscore) so trying to test ACBLscore+ when the sample data set has a 10% error rate is very hard.

Ideally this is a project you can give to one person. The code is self-contained. It is in a library. Basically a C shared library. Needs a C programmer, not a Ruby programmer.

They can build up the test cases.

It _should_ only be about 1 man month. After we get the specs.

But as I would now have to get someone involved, there is a learning curve for someone new.

Ideally would use an ACBL programmer for this as they would have to learn the MP code as it changes each year.

Elapsed may take longer; there is a lot of testing to be done.
I have all the test suites.

Just look at the amount of time used for the last MP set of changes.
I would estimate that the total elapsed time for these changes is probably 6-12 man months, if you include all the time that the directors are still spending to test the broken software.

2. Movements.

Implement the missing movements.

We are almost there. We have code that generates Mitchells, some Howells. Got prototype code for importing a MOV file (or XML file format of a MOV file).

Needs integrating with the UI.

Typically that's 2 different people - one who knows movements, one who knows the UI.

I did have a movement person. If we can re-use him, great. If not, it's a search to find a good programmer that understands movements.

Once we get pairs, need to do individual, Swiss, and BAM. Not too hard once we get the pairs done right.

2-3 man months. It's complicated code. Got to find the right people. 1-2 elapsed.

3. Edmov.

Most complicated piece. Affects movements/scoring/UI.
No work started, other than high level discussion.
Estimate 4-6 man months. Assuming same person that worked on Movements above.

4. Tournament Finances.

Depends on how ACBL wants it done.
1-2 man months.

Take a look at the Wiki->ACBL Integration->Financial Reports (Tournaments)
for a write-up (done in August 2013) of what is involved for a proper roll-out of Tournament Finances.
I had 20 weeks.
The coding I did was about a month, if that. Several thousand lines of code.
But elapsed time for something involving many people is much, much longer than the coding time required.
Again, any reason, for a slow roll-out, with very few developers.

5. Club Finances.

1 week to output in current format. Probably less.

Supporting code/testing would probably take 2-3 months elapsed with testing.

For something like this you have to really test, stress test, and user test.

Most people ignore this. There is a big difference between a developer saying the code is done, and it being integrated with everything else.

See same comments under Tournament Financials.

6. Special games MPs.

Needs testing. Nothing difficult, just a lot of testing. Will take a fair bit of elapsed time. See Masterpoints.
No estimates as need the specs.

7. Help.

We have rudimentary help.
We need to integrate the Tech Files.
Depending on the format of these files, will determine how much effort is needed.
But we have a help system and a help sub-system. More help text probably needed.
But what I would consider to be release-quality requires content, not so much the coding.

8. Club Types

Supporting all different types of clubs.
Just needs more testing.
Some UI work needed.
< 1 man month.

9. Legal.

Nothing complicated from a coding standpoint.
Just long elapsed time to get answers.

10. Hardware.

Need to make decisions.
512Mb RAM is silly.
I would say 1Gb, or more likely 2Gb is reasonable.

11. Software.

Personally, I'd drop XP. But that's me.
Adding XP will add to support costs, and developer costs/time because have to set up tests for the environment.

12. Bridgemates

Code needs finishing.
Probably 1-2 months.

13. Swiss on Bridgemates.

This is new functionality.


if time is an issue, probably 6-7 months, assuming I can hire the same people and they are available, and we get all specs on day 1. This is about the delay in the critical path items so seems about right. We can absolutely do interim releases starting on day 1 so another way of looking at it is release on Day 1, version 2.0 in 6 months.

if money is an issue, probably 12-18 months. Fewer developers, fewer have to learn code and more productive. The Mythical Man Month scenario. Again, release on Day 1. Part of the issue is the critical path movements issue. This assumes that the movements programmer is not going to be full time.

if I had to decide…., probably 9-18 months. My vote would be to minimize cost, minimize risk. Release on day 1. Increment releases as we go. Small number of developers, lots of time in the field.

We probably have various options

1) similar contract

2) contract, but WFH on new code

3) ACBL could lease/rent-to-own/license the software; I'd absorb the development costs for the new features.

4) don't use me at all.

I've been very accurate with the estimates for the different parts of the software, so am fairly confident with my estimates. Time would be longer is you used new developers because there is a learning curve.

If you chose to start from scratch, then you would basically probably design what we already have, but you are 7-10 man years behind in terms of the effort and $$ expended. The frustrating thing for me is that ACBLscore+/Bridgescore+ is ready for a roll-out - roll-out the features that work, incrementally add the functionality, add support capability etc. etc. Even if ACBLscore+ were completely ready now, ACBL would not be ready for a full software release.

I could spent a lot more time trying to create a project plan on what is needed to finish ACBLscore+, but I'm not sure it would be too productive. I can't give a solid time/money estimate as they are co-dependent. If you want some numbers, I'd say 9-18 months, $200K-$500K, excluding travel. Wide ranges but covering all scenarios. Note that this does not mean 9 months/$200K OR 18 months/$500K. Part of the reason for the wide range is that the functionality/integration is still not fully defined. The delivered version would be what Bridgescore+ (not ACBLscore+) does now, along with everything else complete, however I would put it specific CR wording. The range depends on who I can hire; I did a lot of training of the people I had; there is a learning curve for all new software. But we would start to release on day 1.

If ACBL were to do this without me, probably add 50-100% to the estimates. Someone has to get the level of background I have. It takes time.

Note that I have already delivered, at very little effort/time to me, most of the what ACBL is spending $600K to achieve this year. Using modern tools is so much more efficient.
March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
In reply to Ping:

I hadn't noticed the Technology Minutes until this was pointed out.

I haven't talked to anyone from ACBL, nor had any official communication from anyone from ACBL about the Technology Committee. Remember, no-one from ACBL has ever asked me for a demo of ACBLscore+, or asked to see ACBLscore+ at a tournament; in fact they did the opposite and refused to let players see it run in Dallas in March 2014.

I did talk to Greg/Uday on a conference call a couple of weeks ago. Greg had never seen the software (as far as I could tell), he was installing it when we were on the phone. I don't think Uday has ever seen ACBLscore+. In both cases it was difficult to explain what ACBLscore+ does (or can do) because neither is a user of ACBLscore. So club finances, or tournaments finances, or internal interfaces within ACBL were difficult to explain over the phone.

I have not given either Greg or Uday a demo of ACBLscore+, it was only a phone conversation. Neither has asked. Before we had the call, I made sure that it was an open call, but that I may still restricted by some of the NDA in place so couldn't be completely open with them.

My estimate to complete was 6-7 months, not 18. This is because there was a 6+ month delay in some critical path items. I actually want to do a roll-out NOW, not in 18 months. Code is ready. Hey…. it was used in Gatlinburg last year, doesn't get a better test than that. Worked flawlessly.

This type of incorrect reporting (ACBL are reporting 18 months!) is indicative of the marketing effort against ACBLscore+.

Greg/Uday asked for an estimate, I'll post the contents of the email I sent to them after the phone call. I will remove Item #1 as this mentioned some individuals by name.

March 5, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
We rolled out some planned/possible Gatlinburg Goodies at the Pine Mountain Regional over the last couple of days.

Yesterday morning, we had 24 teams signed up for the KO. 10 had pre-registered. The good news was that these teams didn't even know it :-) So, minimal impact on the players.

This cut down on the name input time by almost 40%.

Swiss and KO are run using projectors. KOs are starting within 1-2 minutes of game time. We don't even use the rack for Swiss as a backup any more. Didn't even bother to print a Jeffreys Chart.

We've got some young (a relative term) TDs in the D7 area, so they were running the software, not me.
March 4, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Before the ACBLscore+ project started, I provided ACBL with a Risk Identification/Mediation and Management document. 11 pages, 18 specific risks associated with the project and how to mediate and/or manage those risks.
March 4, 2015

Bottom Home Top