What he should have done: let the U.S. military educate its people about the actual threat instead of forcing them to pretend otherwise.
What he did: put tough international sanctions on Iran and kept the possibility of an attack against nuclear institutions on the table. He will try to make a deal with Tehran by letting it do limited enrichment and drop sanctions in exchange for promises not to develop nuclear weapons. The choice is up to Tehran as to whether to negotiate a deal or simply use talks as one more stalling technique while continuing to hurry toward getting deliverable nuclear weapons. When Iran does get nuclear weapons he won’t do anything; this includes not supporting an Israeli attack.
What he should do: If he wants to negotiate, he should first gain credibility in Tehran by being tough on Iranian interests everywhere in the region — he’s doing this in Syria. He should bargain toughly and not do anything to get a deal. When Iran does get nuclear weapons, he should put in place a really tough containment system that would counter Iran’s subversion and terrorism, give strong backing to the internal opposition, and squeeze Iran to the maximum extent. If an honest assessment shows an Iranian plan to attack Israel or if Tehran seems likely to give nuclear bombs to terrorists, the U.S. government should support an Israeli attack. By not being credible, Obama makes it more likely that Iran will obtain nuclear weapons; that outcome will likely lead to war.
Shall we go on? Well, the U.S. government will go on doing these things for the next four years.