Albums: geschiedenis van de applicatie in het kort

Lang geleden had ik een schattige handgeschreven verzameling aantekeningen over de verzameling platen die ik bezat. Om een of andere reden leek het me wel interessant om een overzicht te hebben van welke nummers er op stonden, wie ze geschreven had en welke personen ze uitvoerden zonder daarvoor het specifieke album te hoeven opzoeken.

Later kreeg (en maakte ik zelf) opnames op tape of cassette van albums die andere personen bezaten en/of live concerten die op de radio uitgezonden werden, en toen werd het hebben van die aantekeningen nog interessanter.

Toen ik door mijn werk kennismaakte met computerprogramma's waarmee je databases kon maken en onderhouden werd het bovenstaande een mooi praktijkvoorbeeld om het eens mee uit te proberen en zo heb ik dit achtereenvolgens (opnieuw) gebouwd in

  • DBase III, op dat moment de voor de hand liggende (zo niet de enige) keuze om dit mee te doen

  • RapidFile, een programma dat een soort combinatie was van Dbase en Lotus 1-2-3, waarmee het mogelijk was om "views" (een combinatie van schermlayout en data selectie) op een database te definiĆ«ren

  • SQL/Windows, voor ons de eerste kennismaking met het client-server concept, waarmee je een gebruikersapplicatie (met schermen) kon maken die communiceerde met een database server (ik geloof niet dat ik deze afgemaakt heb, maar ik gebruikte dit tool voor andere dingen en moest het natuurlijk hiermee ook proberen)

  • Microsoft Access met gebruikmaking van VBA [1], een voortzetting van het client server idee zij het dat de server in feite deel uit maakte van dezelfde applicatie als de client - deze heb ik werkelijk afgemaakt en ervan geleerd (samen met wat ik er al van kende van mijn werk) hoe je een relationele database opzet en SQL gebruikt om de gegevens er uit te halen en er wat mee te doen; was ook leerzaam in het ontwerpen en bouwen van schermen gebaseerd op de structuur van de data en hulpschermen om die aan elkaar te koppelen.

  • en uiteindelijk Python, eerst met een standalone versie met Tkinter schermen; later een versie in de webbrowser met gebruikmaking van XML voor de data opslag en CGI voor de communicatie met de webserver; en tenslotte een Django versie met een SQLite database engine - de versie waar we het hier over hebben.

Destijds toen ik WinAmp gebruikte om CDs op de computer af te spelen had ik een plugin om te communiceren met een CD informatie database op het web and maakte ik een tooltje om de gedownloade gegevens te gebruiken om de Albums database bij te werken. De layout ervan heb ik later hergebruikt om een vergelijkbaar tool te maken. Het synchroniseren-idee is inspiratie geweest voor AlbumsMatcher.