We bring to you an interview with Alvaro J. Iradier, founder and lead developer of AMSN (Alvaro’s Messenger), a full-featured MSN compatible client, written in tcl/tk.
Fernando Apesteguía: Álvaro, tell us about your background, your work, what do you do in your free time.
Álvaro: I’m currently working for a software development company , but I’m not very happy, I’m searching for better opportunities :). In my little free time, I’m still developing and learning with my computer. These days, apart from AMSN, I’m developing some webs for mobile devices and dealing with a Nokia 770 that has been just given to me. Other of my hobbies are the motor world and karting.
FA: How did AMSN begin?
A: 5 years ago, in my second year at university, I already used Linux for all my tasks, but I needed to communicate with my partners with MSN Messenger to develop a project. In those days Gaim was the instant messaging tool par excellence, but I wasn’t completely sure about it.
Making a search, I found a tcl/tk based program named ccmsn (Compu’s Messenger), which was an MSN Messenger clone for Windows , rather simple, and I started to use it. While I used it I learnt a bit of tcl/tk and I worked to fix bugs and to add new features.
I sent the modifications to the program’s author to be included on it, but he never answered and we have no news about him from then. So I published the modified program in a web site (I included the source code, of course, that in this case it is the program itself since it is interpreted). I renamed it “Alvaro’s Messenger” (AMSN), a tribute to the original Compu’s Messenger (Compu is the nick name of the author).
The program collected quite success, and soon other people that had written modifications for ccmsn got in contact with me to join our efforts. We registered the project at SourceForge, and we continued the development from there.
FA: How many people is involved in the project?
A: Officially, there are 19 registered developers in the project, at Sourceforge. The fact is that some of them are inactive (nowadays I spend not much time on it), but several others help us by means of mail lists, forums, patches, etc. And all this not counting the translators for more than 40 available languages.
FA: Which development model do you use and how long do you take for a new release?
A: We don’t use any specific model. We can say that everything is based on reliability and merits. Developers have full access to CVS (version control) to modify code at their own. Changes are viewed by others in the mail list to verify that everything is ok.
Some veteran developers perform organization and task assignment functions, but it is not mandatory. Nobody pays for our work, so we do it to learn and to fulfill. If it is not funny, it makes no sense to do it :).
We also provide a Wiki to document some parts of the project, trackers for bugs, tasks, etc and an automatic bug delivery system when an error occurs while running the application.
About versions, we have no fixed periods. When we start a new version, we add new features. There is a moment when this creative brainstorming comes to a standstill. Then it is the moment to fix unresolved bugs.
When we estimate the new version is stable enough, we prepare it and it is released.
We have suggested several times to keep a “stable” branch to release versions more often to fix bugs or to add little features, and other “unstable” branch to make the major changes. However it is a complication. In general, we recommend to use the CVS version (development version updated every day) because this is the version that developers use day by day. So it is rather stable and it incorporates the latest features. If an important problem happens it is usually fixed very fast.
FA: AMSN is available for many architectures, is this one of your main strengths?
A: The portability of AMSN is the result of its development with Tcl/Tk, that is available for many platforms. AMSN should work in every architecture supported by Tcl/Tk although in latest releases there are specific parts, written as modules, that need to be compiled. For instance, Tkcximage for PNG image support (tcl/tk does not include it by default) and other formats, webcam capture support, systray icon, etc.
FA: AMSN is one of the most featured messaging client… Even webcam support.
A: Yes, in the latest version it is supported and we are adding rather improvements for AMSN 0.96. It was one of the most required features and we consider it is very interesting.
“Winks” (flash animations as they were smileys), online gam
FA: What did the protocol change made by Microsoft mean to the project?
A: It was a little problem for every non-official MSN clients. The system authentication requires some steps that are not documented anywhere, and it is not possible to know them by means of network packet sniffing. Luckily, there were very fast people that ascertained the protocol functioning using reverse engineering and that allowed us to be still alive after the old protocol stopped to work on the servers.
FA: Which distributions include AMSN?
A: Well, I can’t say it exactly. It is available for Debian, and in the universe section of Ubuntu, in Gentoo…. I know there are ports for FreeBSD, and I don’t know if it is included in SuSe, RedHat, etc.
FA: Is there anything that users missed in 0.95?
A: We have a lot of work to do. Real videoconference support, “Winks” (flash animations as they were smileys), online games compatible with the official client, chat backgrounds, etc. However not all of this features are specially important, so we’ll try to focus on the most useful features, and not on the most visual features although sometimes these are the most valued by users.
FA: Are you in contact with other similar projects like gaim or kopete?
A: Actually we don’t keep a permanent contact but there has been an exchange of ideas, code, etc. We also work with Farsight project to develop a videoconference library for generic instant messaging clients.
FA: What improvements and new features are you going to include in the next release?
A: We are adding webcam support improvements, bug fixing, fixing a couple of memory leaks, speed improvements, drag and drop support, and specially we are focused on usability. We are reorganizing menus and windows to make the usage simpler and more logic. I’m sure I’m forgetting something 🙂
FA: Many thanks for your time, Álvaro.
A: Thanks to you, regards.
Note: The original interview was made in Spanish.