You are right there are some considerable load times for very asset-heavy games in the browser. I am not sure if the File API is going to be of a ton of help. Like you mentioned, there are a lot of benefits to having them cached in the browser, but the problem is that speeds up the later connections, when players are more involved in the game and more likely to wait, whereas the first connection is the slowest, which also happens to be the most critical to get up and running fast.
One thing that speeds up art asset transmission is the well-known
CSS sprite method, where you put everything on the same sheet, similar to a game sprite sheet, and simply use CSS to only display what you need where you need it. The benefit is it drastically reduces HTTP requests, which is really what slows down the requests.
Also, keep in mind that bandwidth has exploded in the last 10 years. Obviously transferring all the art assets for a game like World of Warcraft would be problematic for an HTML5 MMO, but so far no one has produced a game of that scale in HTML5. Most of the HTML5 MMOs I have seen have around 5mb of graphical assets to transmit. On even American modern connections, that is maybe 2 - 3 seconds to download. Loading the engine seems to take much longer.
If it really became a problem, you could smartly use a combination of asset preloading, and dynamic loading of CSS sprites to basically make a low tech "streaming" work. For example, you know that people start in Beginner Zone, so that needs to be preloaded. You know that players could possibly see any character wearing any gear, so that all needs preloading. But no one starts in Next Zone, so as the player moves through the Beginner Zone, you could trigger the loading of the assets for Next Zone by making tiny, easily missed graphics for Beginner Zone be on the same CSS sprite sheets as the graphics needed for Next Zone. People are unlikely to notice the tiny, easily missed graphic in Beginner Zone popping into view a second or two late, but they will be carrying the sprites needed for Next Zone.
I guess the real, and unhelpful, answer to all this is "We are all still figuring it out". I think we are a ways out from anyone trying a AAA MMORPG in HTML5 like World of Warcraft or even a 2D version, but I think it is inevitable that we will, so I say to anyone heading that direction, just dive in and experiment. You may just discover useful new techniques in what is basically the unknown frontier of online game development
