Web service APIs: fun programming using data you care about
Fri 22 Jun 2007
I am concerned that in our zeal to move on to the “next paradigm” we may be missing a tremendous opportunity to extend and deepen the current paradigm. We have only scratched the surface of what would be possible if end users could freely program their own applications… In fact, such an ability would itself constitute a new paradigm. (Bonnie Nardi, quoted by _why)
I have been writing about programming recently instead of on my more usual (albiet infrequent) topics on evolution, photography, and Japan. I have finally found programming to be a compelling leisure time activity and a creative outlet as rewarding as photography.
Programming is too utilitarian
Programming is not more widely adopted not because of its obtuseness or difficulty. Programming is too utilitarian. If you do not have an itch to scratch there is little incentive to learn how to program. The problem with introductory excercises is that they are not relevant to any other part of your life. Unless you got an extraordinary kick from writing infinite loops in BASIC on your elementary school’s computers, you probably did not continue with programming until forced to while in college or on the job.
Hackety Hack is one attempt to address this deficiency by making common tasks (making a blog or downloading an MP3) easy to code. This is great. Programming should be fun, relevant, and creative.
My first programming langauge was Lingo, part of Macromedia Director, the forerunner to Flash. I used it to make games with my brother. Since that time, I haven’t used programming to do anything for fun*. For profit yes, but not for fun. Learning web application programming introduced me to a new creative outlet: programming using web service APIs.
Web services
Websites are no longer just destinations but also services that you exchange data with. Twitter is my current, favorite example. Even blogs offer their content through RSS, which you can parse and repurpose to your heart’s content.
Web services are a great place to get started with programming. You immediately have information that is important to you. There is no problem to solve, only one to devise. You can be creative and express something about the information that isn’t obvious given the way it is already presented on the source website.