An alternative way would be for small companies/individuals to start producing small fragments of functionality and offering it in a per for use basis. (as in a cat recognizer in an image, or a recognizer for the word "hello" in an audiofile).
To create the above recognizer would require gathering data (such as hundreds/thousands of pictures of cats) and feeding it to a supervised learning algorithm like svm, boosting etc.
Thousands (perhaps millions) of people creating their own "classifiers" and charging for them (perhaps 1000 uses for 1 dollar) over the web might lead rapidly to seeing/thinking machines.
(A similar model can also be used to pose competition to entrenched monopoly software like mathematica/maya/autocad - thousands of people creating and charging for small bits of functionality)