> an inelegant compromise ... It's the one thing I would change about Wordle's implementation
What would you change specifically? Adding an API call backed by servers / lambdas? The creator mentioned it costs in the tens of dollars per month to run wordle for 10s of millions of daily players. Having to run servers would not only add a ton of cost, but now be vulnerable to latency spikes, ddos, downtime.
Wordle scaled to 10s of millions in a few months, without any latency or downtime. Pretty elegant in my book.
Well yes, an API call or an encrypted/hashed DB of words so at least it's not casually accessible.
I understand that the costs might be an issue, but this doesn't make the solution "elegant". This is the kind of code I wrote as an 8-year old in BASIC, like I mentioned elsewhere, and even my young self understood back then it wasn't a satisfying solution, I just didn't know how to hide secret literals.
I mean, I enjoy Wordle as much as the next person, but let's not make it into some engineering achievement when it's clearly not one.
I'd argue that it's not. Puzzles in the newspapers also don't hide secrets, the answers are on the next page or upside down. And for wordle, the vast majority of players don't even know the solutions can be found in the source (because they don't know what that means), and most of the ones who do know that don't look anyway because otherwise what's the point of playing.
Having the solutions viewable client side may not be engineering elegance, but in this case I do think it is product elegance.
Adding the DB or servers you mentioned would mean costs continue to increase with # of users, which would then create pressure to figure out how to make money off of wordle. Then comes logins, ads, or at the very least donation requests
What's the problem with making the words accessible? It's not a secret. It is most definitely an engineering achievement. The author actually had a clear vision of what he wanted to achieve and he achieved that goal in a very minimal and scalable way. Engineering achievements don't have to be innovative complex codebases.
What would you change specifically? Adding an API call backed by servers / lambdas? The creator mentioned it costs in the tens of dollars per month to run wordle for 10s of millions of daily players. Having to run servers would not only add a ton of cost, but now be vulnerable to latency spikes, ddos, downtime.
Wordle scaled to 10s of millions in a few months, without any latency or downtime. Pretty elegant in my book.