The experts advise that you feed your fish 2 times a day. Give them just enough food for them to eat in about five minutes' time. This is a pretty good rule of thumb--but it differs depending on what you have in your tank and the size of your tank!
When I bought my first 10-gallon tank, I had all kinds of fish--mostly little ones. I overfed constantly. Gradually a layer of scum built up on the floor of the aquarium. So I tried to compensate by feeding way too little. My fish got super-duper scrawny, then started dying. It was a frustrating experience.
Helpful tip #1: I have a small spoon that I use. It's not a measuring spoon because they are too deep. It is more of a toddler's spoon (I have lots of toddlers). Don't use a baby spoon because they are too flat and shallow. I keep my spoon on top of the aquarium, and I feed using that, every day. Because the spoon is shallow, all the flakes lay flat and I have a reliable way of telling how much food I am giving them.
I have found that the five-minute rule is a really solid rule of thumb, however, twice a day in my experience has been a little much. I have lost a lot of fish because of barely overfeeding them. The fish get really, really fat, then the food rots in their gut, then they get sick and die. Very sad. My tank water was very clean, I had no accumulated waste, but I was still losing fish.
After talking to people at several pet stores, I came up with a strategy that seemed to work really well. Feed my fish like I normally do, but reduce the feeding time to once every other day. I decided to feed them on even-numbered days. The strategy worked, and my fish lived. One guy told me that fish can go for quite a few days without eating. I have let my aquarium go over a 3-day weekend.
Helpful tip #2: A fish's stomach is about the same size as its eye. When you feed your fish, you want to fill the stomach all the way. This can be hard to estimate since flakes are flat, but if your fish are about 1 to 2 inches long, they will eat about two large flakes.
The once every other day strategy worked well before I moved. Back then, my 20 gallon tank had zebra danios and silver-tip tetras. These fish don't graze along the bottom, so I had to rely on the corey cats to clean up. Things are very different in my new tank. In my 55-gallon tank, I have angelfish, gouramies, clown loaches and bala sharks. All of these fish graze. They are constantly picking at the bottom of the tank. They eat everything, and they eat constantly. In fact, they graze so much that most of my corey-cats have died. I now over-feed by just a bit, and I feed once a day.
Here's another problem. Suppose you have just a few fish in a huge tank. This can be a problem because your fish might not get to all their food in five minutes' time. Your fish can starve, even though you're over-feeding them. Fish that like to stay hidden are especially prone to this problem.
It looks like the five-minute, twice a day rule is a good starting point, but it really depends on how big your fish are, how many fish you have, and the eating habits of your fish.
Goldfish are grazers. You can overfeed them by just a small amount, and the tank will stay relatively free of decomposing food. Zebra danios and platties are not grazers. If food is on the bottom, they will swim right over it.
Here is a problem that many people have probably run into. Early on, I became a big fan of bio-wheel filters—it is a really cool technology. However, any time you have a filter that sits on the back of your tank and pours water back into your aquarium (like a waterfall), food floats around the top of the water until it goes under the waterfall. Then it gets dunked under water and starts floating around until the filter sucks it up. You will come back five minutes later and find all the fish food gone, but your fish are still really thin, so you feed and feed. Eventually the back of your filter gets super clogged with rotten food because your filter is eating all the food and your fish aren't getting any.
I thought about this problem for a while, and then came up with an idea. I could get a piece of wooden plank (like a 1x10, down at Home Depot). I could cut off a square piece and then use a jigsaw to cut a large hole in it so it looks like a square ring. The ring would float on the water, and I could dump all the food in that. The food doesn't swirl around--it stays in one place, and it stays out of the filter. Cool idea?
Helpful tip #3: Get a feeding ring. Stick it in a spot of the tank where there is an eddy in the surface current, and it will stay there. Don't get a little one unless you have a really tiny tank. Get a big one.
Well, I was browsing at PetSmart one day and found out that someone else had invented that very thing! Cool! It's called a feeding ring. Here's a pic:
It's made of foam-rubber. I thought it would float all over the place and then get sucked under the waterfall, but when I placed it next to the filter, the waterfall pushed it away. Nice! I keep it in a corner of the tank where there is an eddy in the surface currents, and it just stays there. At feeding time my fish got used to going to that corner pretty quickly. They make quite a mess, but not a big one, and it stays out of the filter; and just enough food floats around so that all the fish that like to stay at the opposite corner of the tank get something to eat. Man, I'm a believer in these things.
Helpful tip #4: You can make your own feeding ring by taking a Styrofoam tray—you know, the ones that come with the ground beef that you buy at the grocery store? Using a sharp knife, cut out the bottom, leaving only ¼ inch around each side. Be careful not to break it. This will give you a nice, large, very cheap feeding ring. If you keep the water level in your tank just right, no one will ever know you have a cheap piece of Styrofoam in your aquarium! Reduce, reuse, recycle! :)
My only other piece of advice would be to get a BIG one. They sale all kinds of little tiny ones. Don't get a tiny one unless you have a tiny tank (i.e., 1 to 5-gallon). The bigger ones give the fish room to feed without having to crowd together. If your fish are aggressive, a larger ring will give them less of an excuse to fight or compete.