When bidding via the ens registrar page, one has to wait until the dictionary loaded before the "bid" button can be used. What is this dictionary and what does it do? Why is it possible to bid after it loaded only?
What is this dictionary?
It is a list of names of interest. Specifically, it has all English words and the top 1 million domains, according to Alexa.
... and what does it do?
Starting an auction doesn't explicitly reveal the name. Using the dictionary, the app can "unmask" auctions so that you can see when common name auctions have begun. According to the ENS docs:
We do this because if the app didn’t reveal these names, anyone with a little technical skill could find them out anyway, giving them an advantage over those who don’t have the capacity to build their own list and code to check names against it.
Why is it possible to bid after it loaded only?
This isn't a hard technical requirement, that I know of. It's just a design decision they made in building the app.