Albums: a short history of the application

Long ago I had a nice hand-written collection of notes about the record albums I owned. For some reason I thought it was interesting to know which tracks they contained, who had written them and by which people they were played - without having to take out the album itself.

Later I also got (and made) recordings on tape of albums other people owned and of live concerts that were broadcast on the radio, and having such notes about these recordings became even more interesting.

When through my work I came into contact with software programs with which you could build and maintain databases, the above proved a practical use-case to try this out with. So I (re)built this subsequently in

  • DBase III, kind of the obvious (if not only possible) choice at the time

  • RapidFile, a program that was kind of a cross between DBase en Lotus 1-2-3, with which it was possible to define and store standard views (a combination of screen layout and data selection)

  • SQL/Windows, a client-server builder for making apps that had client screens that communicated with a database server (not sure if I actually completed designing this, but I was using it for other stuff and so naturally I had to build this with it too)

  • Microsoft Access with occasional use of VBA [1], a continuation of the client server idea although the server was in fact incorporated in the application - this one I actually finished and from it I picked up (combined with what I already knew from my work) the basics of constructing a relational database and using SQL to manipulate it; and designing simple screens based on the structure of the data as well as dialogs to connect the screens.

  • and finally Python, first with a standalone version using Tkinter screens; later a webbrowser-based version using XML for data storage and CGI for the communication; and finally a Django version with an SQLite database engine - which is the version we are speaking about here.

Back when I used WinAmp for playing CDs it had a plugin for communicating with a CD information database on the web and I built a little tool for reading the downloaded data and using it to update the Albums database. Later I reused its layout to build a similar tool. The synchronize portion was inpiration for Albumsmatcher.