About & thanks to

Contact (E-mail):
michael AT ampjuke DOT org

only search this site

History of AmpJuke

The history of AmpJuke begins in 2002.
By then, I was working as an IT-Manager for a company called Memory Card Technology (MCT).
MCT eventually hit the dot-com bubble (like a lot of other companies), and was sold to an American competitor: Dataram Inc.
Boy, was that a true clash of corporate cultures ?? Imagine that HP would buy Dell, and you'll get the picture !

Nevertheless, I was "stuck" in my position with MCT/Dataram, but unfortunately - as the dot-com bubble really was inflating - I eventually got fired, since there was no need to have IT-departments in USA as well as in Denmark.
A year before that happened, I was going through a divorce, so things didn't exectly look bright during the summer of 2002...

After my termination, I discovered two things: 1: There wasn't many open jobs available on the market and 2: This gave me time to look further into this "Open Source" that everybody kept talking about.
Being struck with both a divorce as well as being fired within a year, I needed to go back and "rediscover" something I could hold on to.
First and foremost, music has always played an important role in my life.
Second, I wanted to be good at something else apart from being a manager and being good at Lotus Notes/Domino, so I "invented" Virtual DJ.

Virtual DJ should be my "jukebox" holding all my music, and being able to play whatever I chose, so I didn't need to sit and shuffle CD's
in order to listen to some music.
My goals wasn't really set - I just needed to listen to some music and learn programming on the PHP/MySQL constellation.

I made fast progress on the Virtual DJ project.
A lot of features was added.
However, I also started to think about making a homepage for the project/program so other people with a large music collection could enjoy my "shitty" programming.
That was when I discovered that the domain virtualdj.com was taken (big surprise !).

I changed the name to MIVML (an abbreviation of Micael Iversens Virtual Music Library).
Still, the name doesn't not make me feel good today...

In the meantime, I had started working againg as an IT-manager within a company called "Danske Mejeriers Fællesindkøb amba".
The name was changed (as well as a lot of other changes) to "Procudan A/S".

In 2004 I was sick and tired of using the "embed src" method to play music.
First, the quality within Internet Explorer was (honestly) shitty, and second, I discovered other browsers that are
more reliable and secure compared to Internet Explorer (pick any name.....there are plenty to choose from....).

So I started investigating the use of IceCast/IceS...
It worked very well, but somehow I needed the control of what was supposed to be playing.
For example: you can only select the next track...and you even have to use scripts (bash-ones) on the server...
Anyway, I went with that for a while, and during that process, the "project" once againg shifted name, - this time to IceJuke.
It's still a good name (was), - it resembled what was happening: playing music using IceCast/Ices using a "jukebox" method of selecting tracks.
However, the lack of control finally made me realise that I should move forward and find out something else, if I wanted to be able to put up an alternative.

And so I came up with the name AmpJuke.
AmpJuke is an abbreviation of Apache, mysql, php. "Juke" is of course related to the fact that we're dealing with some kind of selection/playing of music...
I dropped the idea of using IceCast/IceS and found a method to stream the music over the HTTP-protocol.
Besides giving the end-user (the client) the advantage of playing the music in whatever he/she wants (Media Player vs. WinAmp), it also re-introduced the control of what was supposed to be played.
From then on, I was clear and aware of the goal !

So it's now 2005, and AmpJuke is near completion. At least so "completed" that it's now mature enough to "publish" for others to download/enjoy.
A lot of changes have undergone the project since I started back in 2002...
However, a couple of things have not changed since I started. First, the database tables have not changed. Not very much, at least...
When designing "VirtualDJ/MIVML/IceJuke/AmpJuke" I took care of the tables for the underlying database.
In fact, the database is "semi-normalized", which of course is a great advantage when we're talking about speed.
Second, the actual navigation is still as powerfull as compared to the program I developed in 2002.
It really means a lot to me that the navigation is easy.
Even though AmpJuke's "slogan" is "...and YOUR hits keep on coming", it might as well have been: "...if it's BLUE - click on it !"

Whatever the slogan might be, I hope you'll give the program a try.
Recently, I discovered that the name "AmpJuke" lies close to a "competitor" called "Ampache".
(Sidenote, added 2007) Actually Ampache stands for "Amplified Apache", according to K. Vollmer - lead developer of the Ampache project. It's not a real "competitor" but a rather good alternative to AmpJuke.

And the immediate future ?
Well, after I've managed to actually release the project to whoever wants to be able to pick/listen to music, I might leave the project for a while.
It all depends on the number of downloads, the feedback etc. etc.
Anyway, now the project has gone "live" (after almost three years), so I'll enjoy the state it's in currently.

So, one year has suddenly passed after I made AmpJuke 'public' on the www.ampjuke.org website...
I must admit that keeping a website and a script like AmpJuke up-to-date is something that really requires some hours of hard work from time to time.

On the other hand, AmpJuke has evolved a lot since the first release one year ago (15 releases during 12 months of which 3 months was without any activity...

I have absolutely no intention of abandoning/leaving the project !
Not with the amount of feedback+downloads+attention the program is getting...
Right now, there seems to be a high demand for streaming files from remote locations as well as an improved user-interface.
Let's see where we stand in relation to this in 2007...

This is (already) the 2nd "birthday" for AmpJuke since the project went public in 2005.
What have been achieved during the last year ?

During the last year, a new version of AmpJuke has been released 10 times.
That's pretty much, if you consider that one of the "good old/reliable" versions (remember 0.4.4 anyone ?) lasted approximately 3 months before being replaced with 0.5.0.

Last year I mentioned remote streaming as well as an improved interface was on the 'radar'.
The improved interface is there, at least in my humble opinion: by the introduction of themes (CSS-controlled layout).
Remote streaming (music tracks resides on one box, and AmpJuke on another) is still outstanding.
That doesn't mean it's forgotten though. It's just something that really, really needs to be well-thought of and it also almost certainly requires a major rework of the entire code within AmpJuke.
By introducing remote streaming, it would also be nice to be able to link together ('clustering') two or more AmpJuke servers.
In fact, the 'clustering' approach is getting more and more thoughts these days.
However, it's a huge task...

There's been a lot of new features during the last 10 releases:
Real streaming of music
Lookup external info. about performers
Shared favorites
A "fair" rotation of tracks during random play
More efficient scan+import routine (compared to earlier)
Upload and download functionality
Related performers (using data from last.fm)
Numerous bug-fixes and minor improvements
...but: the most important updates are the constant updates of languages as well as the occasional PHP-code I receive from time to time from you - the users !
Without a "decent" download/traffic rate on this website, I would abandon the project...or at least stop running this website...

The future ?
Well, AmpJuke will continue being free and the site will be updated frequently with new releases/informations.
I might not go for 10 releases during the next year...at least I'll try...
This project is something I really enjoy as a part-time hobby, and look forward to make public every time new/updated/improved functionality is available.
Still, the goal is to test stuff as much as possible before releasing, - I don't like the concept of a dozen of 'unstable' releases, before finally "getting there".

Besides the above mentioned remote streaming and 'clustering', I also have other (hopefully cool) topics on the radar for future work.
Some of them originates from suggestions by you "out there" (and thanks for that) who are using AmpJuke to manage your (hopefully) large music collections.