The Vicidial UI is written in PHP, Javascript and includes a great deal of AJAX.
The AJAX portion interacts with server-side PHP and indirectly with PERL scripts and even some AGI (also perl, but including Asterisk PERL modules).
There are several companies that have updated the GUI (GoAutoDial, for instance, is publicly available, although generally a full version or two behind the core), but the challenge with any UI visual changes are that the update includes a huge amount of code and visible layers. By the time you get it completely rewritten for the look/feel you would like, there will be another update available (likely several) as Vicidial's code is under constant review and improvement. It's not old at all (unless you downloaded an old version or purchased an old server).
We've upgraded the look/feel for several clients, but each of those was proprietary (they wanted to own their code, of course, so it's not visible outside their corporate workplace).
But the big question is: Why do you want to customize the code? Is it for a better looking interface? A feature missing? Or something proprietary to your facility such as interaction with other systems?
Vicidial does have a Robust API system both for non-agent interaction (adding leads and all those other administrative tasks) and Agent interaction (ie: remotely controlling the logged-in agents session through AJAX data exchange with the session itself). This removes the need for the Agent to personally push buttons that can be remotely activated.
With some information on your goals, we can be a lot more help.
