It's been a while now that, whenever I need to lose weight, I start calorie counting. Most recently that happened in February, when I gained 15 pounds after a bad snowboarding accident. I was incapacitated for weeks, barely able to get out of the house, and the only place close enough to walk to was the grocery store. A fancy grocery store (I live near La Jolla, after all) with the best junk groceries you could imagine.
I currently use MyFitnessPal for tracking. The site is free, is reasonably well-built, and has an active community of people tracking food stuff. From a features perspective, the About.com calorie tracker is probably more exciting, but it's not free for advanced use, and it doesn't share foods (which really stinks, because that way most foods at grocery stores are not available).
MyFitnessPal has many advantages, but also one humongous disadvantage: it is cumbersome to use. Tracking calories is a pain, because you constantly have to jump between screens. Sometimes that's because of unnecessary flows, sometimes that's because the author doesn't like to use what's called AJAX. In any case, you end up spending a lot of the time you interact with the site, just waiting for the next page to load, for no good reason.
[As an example, consider the section where you enter the calories you spent exercising. You go to the "Exercise" page. From there, you click on "Add Exercise", where you are presented with a form that contains all exercise types you've already performed. You select the exercise you just performed, the duration, optionally the calories, and then save. Way too many clicks, where all I want to do is say how many calories I spent exercising.]
There is, though, a simple way to improve the whole process, and I am thinking of doing something about it. That's to use the bar codes on food stuff to record what you have just eaten.
Basically, you take the box in which the food cam and wave it in front of your webcam, or camera phone (iPhone, for instance). The camera sees the bar code, matches it up with the database it has and enters the food data into your record. If the bar code is not entered yet, it will ask you to take a picture of the nutritional information for later evaluation.
If you eat more or less than one serving, you just change that in the record. It's easy to do, and the software can be even modified to remember how much you typically eat of a given food. Your calorie counting life then becomes a matter of simply waving your food in front of your camera (iPhone), and the phone can immediately analyze how you are doing and how far you are from nutritional goals.
Even better, the app could also tell you what you SHOULD be eating instead of what you are holding in your hands... ;-)