About a year ago the Charlotte skyline was undergoing some very dramatic changes. The thought of capturing that change in some sort of time-lapse video was intriguing. I knew of a frequently updating online webcam that would be perfect for that end if I could somehow download all of those images. After not being able to find an existing solution on the internet, I began using a rudimentary and rather unreliable Applescript. It quickly became clear that I would need a better solution.
Conceptual Development
I am not a computer programmer by trade and I don’t know any of the major programming languages, so finding a comprehendible framework through which I could accomplish this was paramount. After a few google searches, I came across a simplified scripting solution for Windows called AutoIT. It features a generous help section and was, most importantly, free.
After a week of orientation and simple capability research, I laid out a set of goals for the program:
- Must work in the background.
- Feature a simple GUI.
- Have an integrated interface for setting image parameters.
- Provide option to turn off downloading overnight.
- Be reliable – can run for days without failing.
- Have the option to export movies.
With this set of goals identified, I began to slowly develop and test version after version and new feature after new feature.
Alpha Development
The first alpha version featured a simple GUI for setting parameters and displaying current program status. From a code standpoint it could keep track of multiple image downloads with varying download timers, however, it had no way of preserving entered parameters after the program was terminated.
The second major alpha version added 3 additional image downloader slots and adds a pop-up window to view the latest image. The code is built upon the previous version, but is now capable of saving parameters to a separate .ini file.
The last major alpha version modified the GUI and integrated an image viewer. With the push of a button, the last saved image could be easily viewed within the GUI. Also, the code was amended to perform numerous timer synchronizations using the last saved file, ensuring that duplicate images aren’t saved due to a program restart or internet outage. At this point in the development process, the size and density of the GUI prevented any further feature development. It would need to be re-designed before moving forward.
Beta Development
With the last alpha version of the program working reliably and the desire to add additional features, it was time for another look at the organization of the GUI. To provide enough space for feature growth while still keeping the GUI a reasonable size and information density, I decided to utilize tabs for each camera. To make this happen, the code was completely rewritten to remove redundancy and make the program much more extensible and efficient. The next few weeks would be spent both refining actions in the code and developing the remaining of the current feature set: a weather widget, temperature stamp and movie export.
The weather widget and temperature stamp grew out of the desire to see how temperatures affect things like snowfall, primarily with ski resort or mountain webcams. To collect localized weather data, the program utilizes an XML feed from wunderground.com. It updates roughly every half hour so the program checks that often. The stamp is written onto every saved image, if enabled, and can be set-up and scaled using its own GUI interface.
The movie export was the last feature to be completed, primarily due to the potential complexity and my unfamiliarity with the process. After some research on the internet, I came across a command line based solution, MEncoder, which is capable of converting a folder of images into a movie file. Fully integrated, the process is accessible from a button on each tab, which launches the simple GUI front-end for users to select a frame rate and compression type before creating the movie file.
Screenshots
Current Version (Updated)
Development of the program has resulted in a new version and new name – webCAM Console. It can be found on it’s own dedicated page:








