The only thing I don't understand about github is that "hardcore archiving in process..". I mean why do I have to wait a minute before I can start downloading the archive? Isn't it costly if the server has to create an archive every time someone requests a download?
So, instead of having your web request unresponsive for a minute while it's processing, they queue up a background task on the server and give you a "hardcore archiving in process.." response immediately.
Then I imagine they do some ajax polling to check when the background task has finished and the archive is ready.
It's a really good technique if you want your web app to be responsive. We do it at work for basically anything that will take more than a second.