During this weekend I rewrote the Menu implementation from scratch, that means that all the menus, popups and toolbars are new, I also implemented the conversation toolbar and select font, select color and clear buttons functionality, to make them useful I also implemented format message sending and display on the input and the output.
Wednesday, January 28, 2009
Thursday, January 22, 2009
some eyecandy
well, this is just the foundation for something that I have in mind
here is just what I hacked today, now I have to implement the conversation theme loader, manager and that stuff, and all that maintaining compatibility with the ones that don't have python-webkit.
I know, the theme is ugly, is what I did in 10 minutes to make the screenshot :D
Update, I made this theme and now the emoticons are shown ;)
here is just what I hacked today, now I have to implement the conversation theme loader, manager and that stuff, and all that maintaining compatibility with the ones that don't have python-webkit.
I know, the theme is ugly, is what I did in 10 minutes to make the screenshot :D
Update, I made this theme and now the emoticons are shown ;)
Tuesday, January 20, 2009
A request implemented
an user asked to allow custom group sorting, another asked to sort the users by log size, so i implemented a new feature on the contact list that allows to provide "weights" to the users and groups to override the default order, if an user has more "weight" than another group, then it will be above the other, the same works for contacts, so you can change the weights by hand or use a plugin to calculate the weights for you.
a screenshot showing the feature is here:
as you can see, the group Otros is over the top and then comes emesene, the common order should be Amigos, (other groups..), Otros, (other groups..), emesene. also Roger is on the top of the group, and then comes dx, is easy to see there since they should be ordered first by status and then by display name.
This feature can be used to "sink" users you don't want to see assigning negative values ;)
take into account that I only implemented the feature on the contact list and the store/load from the config, no gui available (yet) to modify the weights.
I will implement it in some days I guess, right now I'm advancing on a personal project (I hope you hear about it in the next months ;)
a screenshot showing the feature is here:
as you can see, the group Otros is over the top and then comes emesene, the common order should be Amigos, (other groups..), Otros, (other groups..), emesene. also Roger is on the top of the group, and then comes dx, is easy to see there since they should be ordered first by status and then by display name.
This feature can be used to "sink" users you don't want to see assigning negative values ;)
take into account that I only implemented the feature on the contact list and the store/load from the config, no gui available (yet) to modify the weights.
I will implement it in some days I guess, right now I'm advancing on a personal project (I hope you hear about it in the next months ;)
Friday, January 16, 2009
Responses to requests and questions
Windows version
A lot of people asked for a new windows version, so I published a new one, check the post below :D
Clear button on the seach bar
The text is removed when you hide the search bar, it may be added later, but I need to add a dependency (libsexy)
Try icon
of course I will add it :D
Contact list sorting
emesene 2 sorts the contact getting the display name in this order:
Offline grouping
on emesene 2 the show by status option has no groups, it's a list of contacts sorted by status (and inside each status by the rules explained above). In this way the offline people are at the bottom, you can hide them unchecking "show offline", and there you go, "collapsed" offline group :D.
Open downloaded files with double click
seems reasonable :D
Qt front end
I don't know Qt, I would like to learn it, and trying to make a Qt front end seems like a nice excuse to me ;), but for now I will focus on the base and the gtk front end.
"Donate now" on Help
Nice idea, I got a donation only once, $10 from C10uD (thanks!, I will get that money and buy a beer sometime :D)
Get themes/plugins from a repository
I will add that.
Modify global configuration and inherit for new accounts
already done on emesene 2 :)
Save conversation on invisible mode
I will remember that :D
Hide blocked contacts (that is what I understood)
nice feature!
Resize large emoticons
I will try to remember it when p2p is implemented
Lower cpu usage with to many custom emoticons
animating a gif uses a lot of CPU I will see what can I do.
ugly maximized login window
on version 1 or 2?
what could be done to make it less ugly?
import/export logs
yep
search logs by client
ok..
Custom group sort
will see if I can implement it.
Better support for self on contact list
yep
Drag and drop for display picture
I need to implement p2p before but yes ;)
Disclaimer: Some of those requests are for features that are not implemented yet and will take a long time to be implemented, so please you will have to make me remember if I don't implement them
A lot of people asked for a new windows version, so I published a new one, check the post below :D
Clear button on the seach bar
The text is removed when you hide the search bar, it may be added later, but I need to add a dependency (libsexy)
Try icon
of course I will add it :D
Contact list sorting
emesene 2 sorts the contact getting the display name in this order:
- alias if exists
- nick if exists
- finally mail
Offline grouping
on emesene 2 the show by status option has no groups, it's a list of contacts sorted by status (and inside each status by the rules explained above). In this way the offline people are at the bottom, you can hide them unchecking "show offline", and there you go, "collapsed" offline group :D.
Open downloaded files with double click
seems reasonable :D
Qt front end
I don't know Qt, I would like to learn it, and trying to make a Qt front end seems like a nice excuse to me ;), but for now I will focus on the base and the gtk front end.
"Donate now" on Help
Nice idea, I got a donation only once, $10 from C10uD (thanks!, I will get that money and buy a beer sometime :D)
Get themes/plugins from a repository
I will add that.
Modify global configuration and inherit for new accounts
already done on emesene 2 :)
Save conversation on invisible mode
I will remember that :D
Hide blocked contacts (that is what I understood)
nice feature!
Resize large emoticons
I will try to remember it when p2p is implemented
Lower cpu usage with to many custom emoticons
animating a gif uses a lot of CPU I will see what can I do.
ugly maximized login window
on version 1 or 2?
what could be done to make it less ugly?
import/export logs
yep
search logs by client
ok..
Custom group sort
will see if I can implement it.
Better support for self on contact list
yep
Drag and drop for display picture
I need to implement p2p before but yes ;)
Disclaimer: Some of those requests are for features that are not implemented yet and will take a long time to be implemented, so please you will have to make me remember if I don't implement them
Emesene for windows release!
Thanks to j0hn who made a new release of emesene for windows, both portable and installer are provided, you can find both on emesene's sourceforge page
take it while it's hot!
take it while it's hot!
Tuesday, January 13, 2009
small yet useful features requests
in a comment juancarlospaco requested a small but useful feature, that is to not display emoticons on the conversations, but just the shortcuts, I added it as a feature with 4 lines of code, so I thought that there may be some small but useful features that you would want to see on emesene 2.
no huge features allowed, post comments, I will see which of those I can add easily, the hard ones will be in my todo list, the ones that I can't implement will be explained here.
comment!
no huge features allowed, post comments, I will see which of those I can add easily, the hard ones will be in my todo list, the ones that I can't implement will be explained here.
comment!
MSN protocol resources
if you want to learn how the msn protocol works, here I give you some links to read :)
Orfeo C recommended SocketSniff, I did't tested it, but it may be useful for someone
- Hypothetic: pretty outdated but useful to start..
- MsnPiki: a wiki with updated content
- MsnFanatic forum: a forum you know :P, you can find interesting threads there
- Siebe documentation: great resource for p2p, I don't know why he removed it (using internet archive)
- imfreedom: new but pretty empty
- some useful msn msdn links :D
Orfeo C recommended SocketSniff, I did't tested it, but it may be useful for someone
Not so frequently asked questions
disclaimer: the text was written really fast, expect some weird sentences :P
emesene cam/p2p/voice/custom emoticons/display pictures/handwrite/etc support
emesene 2 will support them some day, but they will not be implemented on the next alpha/beta release.
why? because I prefer to have a stable and maintainable base from which I can add that support later and keep the application stable and clean.
That was one of the failures of emesene 1, I wanted to add all the possible features and I never refactored or designed the application in a way that will make it maintainable, now there are bugs that are really hard to find/fix because of that, and you see that right now, no one wants to fix/maintain emesene 1, and that is not good. I want a documented and well structured base so I can get help from more coders that can understand and modify emesene 2 without having to read a mess of code.
So, I will make a release that will let you chat, do contact list operations, log and some preferences, and when that is polished I will start to work on more advanced features, some of them may come fast since we implemented them on emesene 1, some of them may take some time since MSN protocol changes all the time and voice/video are really platform dependent.
the will be available, but not in the next weeks.
report bugs
nobody is maintaining emesene 1 except some cleanup made by dx, if you want to report bugs go to emesene.org/trac but don't expect a fast response.
emesene 1.0.1 on windows (empty contact list)
there is an internal build of the latest trunk for windows it has some bugs that must be fixed, j0hn is working on that, I will see if we can make a release of it the next week (I didn't knew that people used emesene on windows.. :)
mac version
there are some instructions here http://emesene.org/trac/wiki/MacOSX my idea with emesene 2 is to make a cocoa version, but I have used a mac only 10 minutes on my whole life so if i dont get access to one of them maybe someone else will have to do it.
The code on emesene 2 is structured to make easy to implement other protocol support and other toolkits so if someone is interested..
emesene and python 3.0
python 3.0 is a transition release, not every library that we use is supported on it right now, we will code it using python 2.6 with the -3 switch and when all the libraries are available and python 3 is supported on the main distributions we will make the switch.
emesene 2 multiprotocol??
no, emesene 2 will not be multiprotocol, emesene 2 will be a MSN client, but since MSN is closed I feel like I'm helping to keep people using MS products, and since I use a Gtalk a lot lately I decided to test if e3 was designed as I thought to support jabber, I made the basic gtalk support on one night so it didn't consumed too much resources :D.
If you use the revision prior to Gtalk support you will see that nothing changed, that's because emesene 2 is still an MSN client, but now we add Gtalk support, that means that emesene 2 is not intended as a jabber client, you have gajim, pidgin and others for that, but only. Emesene 2 will not support other protocols, just those two and I won't sacrifice any MSN feature for Gtalk.
language support on windows
no main developer has windows installed on his machine so it's hard to test and add windows features, and language support doesn't work out of the box for us, if someone wants to be the windows maintainer, they are welcome :).
if you have more questions..
emesene cam/p2p/voice/custom emoticons/display pictures/handwrite/etc support
emesene 2 will support them some day, but they will not be implemented on the next alpha/beta release.
why? because I prefer to have a stable and maintainable base from which I can add that support later and keep the application stable and clean.
That was one of the failures of emesene 1, I wanted to add all the possible features and I never refactored or designed the application in a way that will make it maintainable, now there are bugs that are really hard to find/fix because of that, and you see that right now, no one wants to fix/maintain emesene 1, and that is not good. I want a documented and well structured base so I can get help from more coders that can understand and modify emesene 2 without having to read a mess of code.
So, I will make a release that will let you chat, do contact list operations, log and some preferences, and when that is polished I will start to work on more advanced features, some of them may come fast since we implemented them on emesene 1, some of them may take some time since MSN protocol changes all the time and voice/video are really platform dependent.
the will be available, but not in the next weeks.
report bugs
nobody is maintaining emesene 1 except some cleanup made by dx, if you want to report bugs go to emesene.org/trac but don't expect a fast response.
emesene 1.0.1 on windows (empty contact list)
there is an internal build of the latest trunk for windows it has some bugs that must be fixed, j0hn is working on that, I will see if we can make a release of it the next week (I didn't knew that people used emesene on windows.. :)
mac version
there are some instructions here http://emesene.org/trac/wiki/MacOSX my idea with emesene 2 is to make a cocoa version, but I have used a mac only 10 minutes on my whole life so if i dont get access to one of them maybe someone else will have to do it.
The code on emesene 2 is structured to make easy to implement other protocol support and other toolkits so if someone is interested..
emesene and python 3.0
python 3.0 is a transition release, not every library that we use is supported on it right now, we will code it using python 2.6 with the -3 switch and when all the libraries are available and python 3 is supported on the main distributions we will make the switch.
emesene 2 multiprotocol??
no, emesene 2 will not be multiprotocol, emesene 2 will be a MSN client, but since MSN is closed I feel like I'm helping to keep people using MS products, and since I use a Gtalk a lot lately I decided to test if e3 was designed as I thought to support jabber, I made the basic gtalk support on one night so it didn't consumed too much resources :D.
If you use the revision prior to Gtalk support you will see that nothing changed, that's because emesene 2 is still an MSN client, but now we add Gtalk support, that means that emesene 2 is not intended as a jabber client, you have gajim, pidgin and others for that, but only. Emesene 2 will not support other protocols, just those two and I won't sacrifice any MSN feature for Gtalk.
- If a feature is on MSN and not in jabber it will be implemented on MSN and deactivated on Gtalk mode.
- Advanced features of jabber will not be implemented if there is no MSN counterpart. (use gajim for that, it's a great client)
- No more protocols supported
- No multiaccount support, you either use one MSN account or one Gtalk account
- MSN by default, Gtalk support changed on settings
language support on windows
no main developer has windows installed on his machine so it's hard to test and add windows features, and language support doesn't work out of the box for us, if someone wants to be the windows maintainer, they are welcome :).
if you have more questions..
Tuesday, January 06, 2009
Sunday, January 04, 2009
One question.
What would you like to read on the next post of this blog?
if you have some doubt or something you would like to know about the project or about something related, please comment and ask for it, I will try to post about the ones that find useful for the readers.
I expect the comments.
if you have some doubt or something you would like to know about the project or about something related, please comment and ask for it, I will try to post about the ones that find useful for the readers.
I expect the comments.
Saturday, January 03, 2009
How to test development versions of emesene?
If you want to test development versions of emesene, then this is your post! :P
A development version is one that is not yet released, and can be on different stages, for instance:
All those versions are stored on our version control system that can be found on sourceforge (http://emesene.svn.sourceforge.net/viewvc/emesene/).
to test one of this versions you need to have a subversion client installed.
on linux you can install it from your repositories, something like
sudo aptitude install subversion
su -
yum install subversion
and so on..
on windows you can download a really nice client called tortoise svn
the first thing you need to do is to download the version you want to test, the 3 versions above are located at:
on linux you run the "checkout" command that downloads the sourcecode for the first time:
now that you have the code, cd to the folder and run emesene
svn up
that will update all the files.
A development version is one that is not yet released, and can be on different stages, for instance:
- Alpha versions: not all the features available, unstable
- Beta versions: almost all the features there, needs testing.
- Release candidate: will become final version if no big bugs are found during testing.
All those versions are stored on our version control system that can be found on sourceforge (http://emesene.svn.sourceforge.net/viewvc/emesene/).
to test one of this versions you need to have a subversion client installed.
on linux you can install it from your repositories, something like
sudo aptitude install subversion
su -
yum install subversion
and so on..
on windows you can download a really nice client called tortoise svn
the first thing you need to do is to download the version you want to test, the 3 versions above are located at:
- emesene 1.0.x: http://emesene.svn.sourceforge.net/viewvc/emesene/tags/emesene-1.0/
- emesene 1.1.x: http://emesene.svn.sourceforge.net/viewvc/emesene/trunk/emesene/
- emesene 2: http://emesene.svn.sourceforge.net/viewvc/emesene/trunk/mesinyer
on linux you run the "checkout" command that downloads the sourcecode for the first time:
svn co http://emesene.svn.sourceforge.net/svnroot/emesene/tags/emesene-1.0/ emesene-1-xdepending on which version you want to download.
svn co https://emesene.svn.sourceforge.net/svnroot/emesene/trunk/emesene emesene
svn co https://emesene.svn.sourceforge.net/svnroot/emesene/trunk/mesinyer emesene2
now that you have the code, cd to the folder and run emesene
- python Controller.py # to run emesene 1
- python emesene.py # to run emesene 2
svn up
that will update all the files.
Thursday, January 01, 2009
Subscribe to:
Posts (Atom)