Many rules (but of course they have exceptions, this is English).
Use 'in' with spaces that you can physically place something into:
- in a box, in the car, in a room, in a building, in bed (when you're sleeping in it)
also when talking about being in large unenclosed, but defined areas:
- in the garden, in a park, in the village, in Tijuana, in Mexico, in the sky, in space, in the universe
and in bodies of water:
- in the ocean, in a river, in a lake, in the sea
also when arranged along lines:
- standing in line, in a queue, marching in formation, dancing in a circle
when talking about cardinal directions:
- in the west, in the east, in the north, in the south
regarding time, when something will happen at some mildly "fuzzy" time:
- in a few weeks, in a moment, in a year, in the morning, in 5 hours
BUT: at dawn, at dusk, at night
Use 'on' with surfaces that you can place something onto, or attach something to:
- on the table, on the desk, on the wall, on the ceiling, on the floor, on the bed (when you're sitting on it, or laying something on it)
also when you're floating on top of bodies of water:
- waterskiing on the lake, sailing on the ocean
the surfaces can be very large:
- on an island (I live on Vancouver Island), on the moon, on earth
use 'on' also with things that are located in reference to something:
- on the left, on the right
BUT: in front, in the back -- they break the rule. I hate English. ;)
regarding time, with days of the week and other specific dates:
- on Monday, on Saturdays, on the weekend, on Christmas, on Independence Day, on November 23rd
(continued...)