We know Panda is supposed to have something to do with user-experience. But the question is how would they understand that? People have claimed bounce-rate, but this has also been debunked and let's face it - it's a pretty poor measure of ux anyway.
I have a theory that Panda is actually evaluating screenshots of our pages and comparing them on a broad scale.
Maybe comparing them to other well-executed designs that they know of from human tests.
Maybe analysing the screenshot to see how much of the page is taken up with templates / how much is taken up with ads. And how much real content there then is left.
Maybe even comparing screenshots to ensure not too many of the same *type* of page are included. Perhaps using a design that's significantly different to the other ones in your serps is a good thing.
A technique like this could be used to detect thin content / content inserted using JS / hiding of things by CSS and so on. Trying to think beyond simply analyzing the code, analyzing screenshots is a considerably more powerful technique and would certainly cause the game-changing behaviour we have seen.
To back this up, here's a paper that Mr Panda himself wrote, suggesting that the indexing of large image datasets is in fact his area of expertise: [alumni.cs.ucsb.edu...]
This is all total theorising, so please rip it apart if you can or add your own thoughts ;)