The big thing is a demonstrated interest, passion, and ability for the subject that you plan on pursuing. Research is good, but difficult especially in physics for high school students. You'd probably do better to show a willingness to learn the material (i.e. take college courses if possible) and devote some time to the subject than doing actual research.
Also, lots of extracurriculars can actually hurt you. Lots of extracurriculars suggests that you might have the tendency to spread yourself too thin, which is extremely dangerous to do here at Caltech. In contrast, a strong commitment in one or two extracurriculars over a long period of time is favorable, since it shows dedication.
Being from a small school will not hurt you. You can turn it into an opportunity, if you put in the effort. I know plenty of people here that come from Podunk, Middle-of-Nowhere. What you'll need to do is go out of your way to demonstrate interest. What are you doing with your summers? Chilling at home playing video games? Not going to help you. Going through a summer program at some university? Good choice. Building a car for the DARPA Grand Chalelnge ( http://www.darpa.mil/grandchallenge/ )? Awesome. There are lots of choices, just be a little creative, look around a bit, asking around a bit, but whatever you do, don't do nothing.
Personally, I took hardest academic (Sorry, I just don't consider Spanish as important) courseload available to me at my high school. I got B's in half my science classes, including Physics (I'm going to be a phyics major), Chemistry, and Biology, but only because I really didn't care about grades. I started off a year behind the other "smart kids" in math. By the end of my junior year, I was ranked about 30 in a class of about 660. By the end of my senior year, I was narrowly within the 10% mark. My SATs were within the middle two quarters, but not particularly impressive. SAT IIs were thoroughly unimpressive, but solid. I did no research during my high school career. I did very little community service, about 10 hours total. I wasn't a member of any clubs, except the token NHS.
So how the heck did I get into Caltech? I really don't know, but there was a bit more to my application than just the above, which, as somebody mentioned, is below the norm for applicants.
I played tennis in high school competitively for four years. I was the captain of my time senior year, when we went to state. Now I play on the Caltech team (it's not uncommon for frosh to get on the intercollegiate teams). I was a volunteer assistant coach for two years and gave up one of my summers to teach kids to play tennis. I wouldn't give up a sophomore-junior or junior-senior summer to do this if I were you, but it's as good a way to spend a froshmore summer as any.
Although I didn't always get great grades, but I was a year ahead in high school. By my senior year, there were no science classes and only one math class left for me to take. There was only one math class since we have a strong math program that goes beyond AP Calc BC and offers a year of vector calculus and ordinary differential equations. This means that I was consistently doubling up on science classes, and I worked independently to skip a year of math, which had never happened before at our young school (less than a decade old). I took the AP Physics C exam, even though our school doesn't offer AP Physics. I got a 5 (the exam isn't difficult with the right mindset, but that's a different issue).
I took a survey course in modern physics and then attended a summer program at Rose-Hulman my junior-senior summer and then took two junior-level classes at ASU, quantum mechanics and classical mechanics, during my first semester of senior year. I got an A and a B, respectively (there's your interest and ability). Second semester, my absolutely amazing high school bureaucracy prevented me from taking the next courses in the quantum and classical series, so instead I took a course on PDEs, which I got a D in. I rightfully should've failed, since I didn't even take the final (had to play state for tennis), but I still picked up a lot of technique for mathematical proofs. Stuff like that comes in handy (especially since you're stuck doing proofs for Ma1 whether you like it or not, whether you think you'll need it or not). It probably wouldn't have been so good to stick a D on my application, but I was already accepted at this point, so I really didn't care. Also keep in mind that these classes were worth nothing as far as the high school was concerned, so my high school record was pretty well screwed beyond what it already was.
You might wonder if it takes some kind of super-genius to take college classes like that. It doesn't. People will tell you and you will think that you're not prepared for the class. This is true. But the purpose of taking classes like that is not to take it, learn the stuff so well that you're the authority on it, and test out of it so you don't have to take it again. I took the classes expecting to retake classical mechanics and quantum mechanics. Guess what, I am! I tested out of all of one term of physics because Ph1a isn't all that difficult. Could I have tested out of more if I really wanted to? Probably. Would it have really helped me learn the material? Probably not. You go into the class knowing that you're behind, and all you try to do is catch up. If you do manage to catch up, good for you! If you don't, then you're still ahead of your peers, aren't you? You pick up a lot of stuff very quickly that way. I also fully expected to fail, and was pleasantly surprised when I didn't. PDEs was a little different, since it was actually a course for grad students preparing for qualies (probably why the prof didn't outright fail me) and was all about proofs, which I'd never worked with before and you really can't start doing the full-blown proofs without a good bit of experience. Unless maybe you're a super-genius or something. A final note about taking college courses before college, don't let the little prerequisite line fool you. You don't need them because you're taking the class for a different reason.
I did reasonably well in national mathematics competitions, which my school pushed pretty hard. I participated in USAMTS, and again did reasonably well. Nothing stellar, but hey, I tried.
There's lots of "hidden" community service that you can actually mark down. Helping your buddies do their homework is an awful lot like tutoring... Except you can't ask for money!
I got two awesome letters of recommendation from the two biggest teachers in my school. I wrote a pretty good essay. I visited the school two times and talked with the head of admissions both time and got to know him well enough that he knew who I was.
There are also other ways to get into here. The other person from my high school that got in was the ultimate paper candidate. Huge community service, amazing transcript, valedictorian (one of four), won bunches of scholarships, clubs galore, etc. Then one person right down the hall from me is not particularly prepared in math, physics, and chemistry, but he started his own software business. Another person across the hall comes from somewhere in Nebraska, was the president of his class, and played baseball. We also have somebody that won the International Chemistry Olympiad. Plenty of ways to get your name out.
The point is to do something to stand out.
Anyway, this has gone on too long, and I've been distracted by other things enough that I'll probably start repeating myself if I keep writing. So yeah.
--J
Edit: Oh yeah. If you really want a good rec, e-mail a prof and see if you can't get a good dialog going. Maybe see if you can't get some research for the summer. Profs here are very open. Maybe if you're lucky, you'll even hit on a prof that's on the admissions committee.