1. Finding out what is possible
2. Showing clients what is possible
By the first, I mean that having several small projects from several different clients inevitably produces industry breadth. One month, a freelancer may be developing an online shopping cart in Java or PHP and the next month an online data feed in Google Base.
By the second, which is actually the impetus for this post, I mean that there are several people out there who have no idea what possibilities the software industry can afford them. It is wonderful to hear a person talk about a vision that they have, later to see in a prototype that their vision can often be realized in today's technology.
In this case, #2 was a biggie. Mike, owner of The Cooperation Company, told me at the beginning of our collaboration that he wasn't sure if services like mine even existed. It was a pleasure as always to help give a customer a pleasant surprise.
Many of the software requirements bore the same trend as the overall relationship as Mike often deferred to my expertise by saying "if it is possible, please to XYZ this way, otherwise...". If I'm not mistaken, I believe that we were always able to go with his primary request.
One such example of an "if-it's-possible" requirement was an HTML slider. Mike's description was that one could slider an indicator horizontally across the screen. When the indicator was on the far left, a certain input would have the value of -100, and when on the far right, the value of 100.
Of course, not everything in the web world comes up roses. I'm not sure, but I believe that Mike spent a few hours learning about creating web-ready images. While not the article to talk about it, digitial image resolution and web-friendly image formats were a mystery to Mike, but, impressively, he spent the time to figure it out in order to make sure that the image was crisp and attractive on his site.