Which smartphone should I get?



I've been needing a new smartphone for a while now - my HTC One V is, to put it simply, a piece of crap. The lag is so bad, my phone can't even handle half of the apps that it comes with, and even a thread of ten messages back and forth can take up to two minutes to load.
My requirements, I think, are pretty simple. I need an SD card slot, a front-facing camera, a battery that will last me the school day, and a phone that will actually fit in my pocket (sorry, the Galaxy Mega isn't gonna cut it, here!).
I've got my selection narrowed down pretty much to two phones now; the Sony Xperia SP and the Samsung Galaxy S4 Mini. I was wondering if anyone had any advice for me on this? Or, if you know of another phone that would be a good candidate? Thanks in advance.


Often Off Piste

I would go for one with as much internal storage as possible (unless you are planning to root it) because you cant move apps to the SD card with android V4 and above.