← Back to context

Comment by wishfish

10 hours ago

I did something that was almost the same. Used to work for an educational software company that almost solely sold to schools, universities, and government institutions. Sometimes to corporate learning centers. Every sale was on a per-seat basis.

Every single customer we had wanted to be legal. Didn't want to exceed their seats or do anything which would violate their sales agreement. In the case of our government clients, such violations could lead them into legal penalties from their employer.

Despite having an unusually honest customer base, the company insisted on horridly strict and intrusive DRM. Even to the point of using dongles for a time. It frequently broke. Sometimes we had to send techs out to the schools to fix it.

I ended up just ripping all of that out and replacing it with a simple DLL on the Windows client. It talked to an tiny app server side. Used a barely encrypted tiny database which held the two numbers: seats in use & total seats available. If for some reason the DLL couldn't make contact with the server, it would just launch the software anyways. No one would be locked out due to the DRM failing or because the creaky school networks were on the blink again.

This system could have been cracked in five seconds by just about anyone. But it didn't matter since we knew everyone involved was trying to be honest.

Saved a massive amount of time and money. Support calls dropped enormously. Customers were much happier. It's probably my weakest technical accomplishment but it's still one of my proudest accomplishments.