I agree there should be software patents, but not on the algorithm or process itself but on the code. That is, the specific code that somebody when into a hard time to develop should be allowed to get a patent. However, I can develop a similar functionality with another completely different process and/or language, it should not be considered a patent violation.
The issue here is allowing a company to patent the process itself. It is absurd. In this case, a swipe to unlock or a pinch-zoom funcionality. It is only natural to use that way. Innovative, yes. Then the company (Apple in this case) gets the benefit of selling a lot of iphones for being the first to market such a device. But this is very different that to allow a company to hold the rights to use that functionality they just came up with. The process should not be allowed a patent.
I find it similar to patenting the process of utilizing a shoe sole from heel to toe, describing in detail how to do it and then patenting it. I could sue all shoe manufacturers for making people use the shoe that way. Or, if somebody patents the way to turn a wheel in a car with both hands: it would give somebody rights to every single car in the world. It is not only absurd. It is moronic.