Many phones have this feature where you can set a certain ring profile at different times. For example, if you go to school, you'd set the phone to be on Silent or Vibrate from 8 AM to 3 PM, when you're at school, and set at the Loud profile at all other times. Pretty simple, I'd say, really would help a lot, not just for myself, but for many of the other people with an iPhone, too. Not sure why the iPhone doesn't have this feature already...
Also, there should be a smile detection thing that cameras have these days. I don't think it's a hardware thing, but it basically finds the face when viewing with the camera and clicks when it detects a smile on the person's face. Amazing if the iPhone had this, since I believe it's capable of it.
Before I had MyProfiles app and didn;t like it. It's in beta, unstable - crash, crash, crash and UI is not obvious and too complex. I seem to get lost.
Then I tried Auto Silent app and its much better. Simple, easy to use and pretty stable. Create custom schedule, custom profiles, sync with calendar...good stuff!!