I got a Nokia N800 through the Nokia Blogger Relations Program several months ago. I found this device quite interesting, but I never had the opportunity to dig into it as deeply as I had wanted to. I started to think about it again about a week ago, when I was thinking about creating a webcam for our Christmas Tree at my house.
I started Googling around, and I found a three-part series of articles on IBM developerWorks that provide a detailed explanation of how to write your own webcam client for the N800.
Part one is called Developing for the N800 and talks about the environment you need to use to develop a maemo package. Maemo is a Linux-based development platform for Internet tablets such as the N770 and the N800. The article talks extensively about Scratchbox, a cross-compilation toolkit that most people use to make maemo package development easier.
Part two of the tutorial is Accessing the Nokia N800 camera which discusses the maemo Camera API and a multimedia application framework called GStreamer.
By the time I finished reading part two of the tutorial, I began to wonder how the editor of this site could consider this project to be “introductory level”. If that’s the case, then some of the stuff on this site must be ridiculously complex and/or technical in nature.
The third part of the tutorial is Auto-uploading Nokia N800 photos. This explains in detail how to best extend the on board software and services of the N800 with your own code in order to develop an automated uploading tool. When you combine this with previous code to access the camera and convert images that it outputs into an uploadable format, you end up with a webcam client.
I was really impressed with these articles, and I got a much better understanding of the N800’s potential by reading it.
The thing that stopped me from building the webcam application according to the instructions is the prerequisites. I didn’t have a machine that had enough free space to build up a Linux virtual machine that would be an appropriate build environment for a maemo package. It would have taken me time to free that space. I may end up waiting to do this until I get my MacBook Pro sometime in January.