Hi All and welcome to a whole new world!
In this email, I will be announcing our current plans for aMSN2, finally, the veil is coming off and you will all get to look at the new path we're taking!
I know some of you already know of all this, and some of you were eagerly waiting for it for a long time. No more rumors.. no more maybes... here's the deal!
aMSN2 is a total rewrite of aMSN 0.x. It will not be in tcl/tk. For the greatest pleasure of many of you, we decided that the best suited programming language for such a project is python!!
So, all python lovers rejoice, and all python haters, sorry, too bad, live with it!
We didn't want to say anything publicly about aMSN2 to avoid any kind of flame war or anything like that, we're used to all those flame wars happening whenever the choice of the language is being discussed, now, the choice is made, the code is written (partially) so it is useless to start debating this, so please, refrain from any useless debate.
Another big issue was the choice of the toolkit.. some people might prefer gtk, others would like qt... mac users will want a native cocoa application, and the same goes for windows or whatever toolkit you can think of... We researched that a lot and trying to choose wisely which toolkit to use...
We had a list of requirements and were trying to find which toolkit would answer those requirements the best...
- GTK did not fit the requirement of being able to have a background image on a text widget (unless doing a lot of hacking and reimplementing the text widget)...
- QT did not fit the requirement about the performance....
Which one to choose... well, we decided to go with something completely different : EFL
For those who do not know what it is, the EFL is the Enlightenement Foundation Libraries. It's a set of libraries that makes building UIs such a beauty! It only has one.. euhh.. two... humm.. a few problems :
1 - there are still no releases of the EFL.. so anyone willing to test this needs to compile the huge set of libraries from CVS
2 - the APIs might change until the libraries are released...
3 - we cannot embed an image inside a text widget.. so no smileys support...
The first two issues are easily dealt with : we don't care.. anyways, it should be released by the time amsn2 gets finished... the last one (embeded images/smileys) is resolved with another solution : use webkit (html engine) for drawing the contact list and chat window text widgets....
But most importantly, we wanted to create a 3 level design that would help us have a 'pluggable' front end... allowing the user to choose which toolkit he wants...
So I am pleased to announce that aMSN2 will be a multi-front-end application!!!
We currently have an EFL front end, a native cocoa front end for Mac users, a ncurses front end, and.... a gtk front end!
There might also be someone working on a QT and/or a XUL front end soon...
We obviously do not want to be maintaining all of those front ends, so there will be development teams who take care of their own front ends.. for now, whether the aMSN team will give support for only one officially chosen front end or to none is still unclear... but I am proud to announce that :
The GTK front end will be maintained by the emesene developers team!
We had a few discussions with the emesene developers and they were interested in joining forces with aMSN. We now have 4 new members who will be joining us in the development of aMSN2 :
Mariano : developer of emesene who wants to work on aMSN2 in general.
Dx : also developer of emesene who wants to work on the gtk front end and maybe the core/protocol of aMSN2
Jandem : another developer of emsene who is working on the gtk front end.
Alen : former emesene developer and currently lead developer of the elloquence messenger client. He wants to work on the gtk front end, the protocol layer and maybe the EFL front end too.
So this is great news, as you know, emesene is really a beautiful client that is emerging so fast in the scene, and has become a growing "competitor" to aMSN in the last months, and having the emesene team on board is a great honor!
I am also pleased to announce our collaboration with the pymsn developers (Ali Sabil, Johann Prieur and Ole Andre Vadla Ravnas). aMSN2 will be using the pymsn library for all the protocol related work. Pymsn is a greatly designed library that was the first to implement the MSNP15 protocol and already has the necessary changes (in a branch) for an MSNP16 implementation. I will join them into improving the pymsn library so we can have a growing protocol library that follows aMSN2's features.
Finally, here is a link to a screencast showcasing both the GTK and the EFL front ends of aMSN2.. Note that for now only the login screen and contact list are implemented (partially) : http://www.amsn-project.net/~kakaroto/edje/amsn2-v4.mpeg
I hope you enjoy this video!
You can also have a look at this screencast of Elloquence, the client being built by Alen, as well as screenshots/screencasts of it in the following link : http://kakaroto.homelinux.net/~kakaroto/elloquence/
Or you can run emesene/elloquence to see what aMSN2 might look like when you choose the gtk front end, once the work is completed.