I thought web browsers were supposed to use a built-in font until the web font resource(s) were finished loading?
When I use Opera, the pages render and then a second or so later, the font faces change. It's a little jarring, I admit, but at least the text is rendered.
It was my impression too. According to one of the comments on SuperUser, Webkit based browsers like Chrome don't show any text until the font is loaded.
Correct; Chrome doesn't do it to prevent the FOUS (Flash of Unstyled Content) that so many designers toiled so hard with Javascript hacks to work around.
There are several things you can do with varying degrees of effectiveness:
1) data-uri encode your fonts and shove them into your CSS files directly. By the time your CSS shows up, your fonts are loaded. Downside is that your CSS grows substantially as a result.
2) Use a CDN (ideally a grown-up CDN that does geo-targeted delivery) and get your fonts downloading to the client ASAP by declaring them as early as possible. Use aggressive caching headers.
3) In all cases, consider using font subsetting to reduce the size of the font package you have to deliver.
4) In all cases, be aware of how browsers load fonts, to ensure that you don't have to end up downloading, say, a massive .ttf file just to throw it away end up downloading a .eot file that is a quarter the size.
The problem with these strategies is that most of the fonts being used are from places like FontDeck and TypeKit, and are paid for by the impression (or a monthly/annual license fee including X impressions). That means that the font requests are tracked (and requests have increased latency) and aren't cacheable. Actually purchasing the font for unlimited web use (something that's normally prohibited in the font's standard usage license) can be godawful expensive compared to the foundry's monthly plans, at least over the short term (1-2 years).
This is really just cost analysis, though. Page speed is money at some point. There are foundries that will sell you Web font licenses for dozens of dollars; unless there is a specific need for a high dollar font, it is very possible to do it on the cheap.
Designers are picky, but the boss pays the bills at the end of the day, and chances are he will settle for a slightly different font if it saves him thousands of dollars per year.
Hahahaha oh god give me a few minutes to stop laughing. The designers are so stick-in-the-mud about everything being perfect that they make the site invisible until everything is loaded, and then the user gets to stare at a blank page for 20 seconds, and it's not an accident, there's even a term for the situation.
I too am all for nice web design that puts the user first. It's definitely possible and positive for the web; it just takes (sometimes a lot of) extra work and people are too lazy to test everything.
When I use Opera, the pages render and then a second or so later, the font faces change. It's a little jarring, I admit, but at least the text is rendered.