It could very well be just block headers, to be honest I'm not sure (didn't realize the desktop version was that big). We're using the bitcoinj library and contributing back some patches along the way. Mike Hearn at Google wrote the blockstorage and deserves a ton of credit for it: http://code.google.com/p/bitcoinj/
"BitCoinJ implements the "simplified payment verification" mode of Satoshis paper. It does not store a full copy of the block chain, rather, it stores what it needs in order to verify transactions with the aid of an untrusted peer node."