The Electoral College is controversial. Yet I think it plays quite an important role. If we used a purely popular vote, you could be sure that all the Federal Tax dollars that are collected and then redisbursed by the Federal Gov't would end up almost exclusively in the populations centers, since those are the places that would control the election. Politicians would simply ignore smaller states and rural areas. The founders understood this and it was part of the reason they created an electoral college. Hence if you lived in a small state by populaton, eventually there would be no need to remain part of a National Union of States that collects your money, yet you never benefit by it. The electoral college promotes democracy, yet still binds the nation together as a union.
However, my personal view is it should be altered to allocate electoral votes by county rather than state. If you are a conservative living in NY, your vote currently means nothing as Romney has no chance in NY. Yet there are some conservative counties in NY. If you're more politically liberal and live in Texas, you also might wish to stay home as Obama has no chance. Yet there are some strong democrat counties in Texas.
It would be more complicated initially, yet I would like to see electoral votes allocated via county based on the population of that county. This way regardless of what party you are affiliated with, every state would become more important, while still preserving the concept of a Republic as a form of Gov't. No state could be completely written off by either party. There are a couple of states that do not have to award all their electoral votes to once candidate. Technically the States have the right to allocate according to any means they wish. Yet currently most do it as an all or none apporach. I think county by county would be much more inclusive.