Wednesday, December 26, 2007

The End

It's time to move on, so i am officially announcing the end of the project. The project was great for me to learn new things, but i lost interest when i stopped learning, so i don't find joy on developing it anymore. I will be starting a new project, not related to IM clients.
The code was released with the MIT license, that means you can use the code. Feel free to re-license any parts of the monkey messenger code (except the MSNPSharp library which inherits the DotMSN license).

Thanks for everyone who helped me with code, bug reports, icons, ideas, complaints.. :)



Wednesday, August 8, 2007

Longest TODO list entry ever: Fix P2P

Just forget about the last post, i will continue developing Monkey Messenger, and perhaps Monkey Talk will born some day :)

The reasons for continuing Monkey Messenger:

1 - There are more people trying to fix p2p, like the pymsn guys. And they do a great job, specially oleavr. This guy rock :) They just choose a bad language (yes, i don't like python) to do it.
2 - I spent too much time doing it, don't want to throw it away :)
3 - I don't quit, ever! I do change plans, but this is not the case :)

About Telepathy:

It's nice, and my work on MSNPSharp can integrate with it.

About Emesene:

I would join forces with them, but i just don't like python :)

About Python:

1 - I like compiling things, it reduces bugs;
2 - I like to define types to my variables;
3 - Where is the damn switch ? (Note: python doesn't have switch, makes me laugh hehehe very funny);
4 - I can't just call wsdl.exe SoapService.wsdl and everything starts working like on C# :);
5 - It's slow;
6 - I'm not a l33t hacker that uses emacs or vim, and there is no good IDE for python, except for eclipse. But, did i mention that i don't like java? :)
7 - Just ONE good way to do it? Why there are so many python frameworks? It's just contradictory.

It's just like religion, politics and football teams, there are many people with different opinion, and i will just not change mine so soon because i like C# very very much :)
And please, no need to curse me, i don't mean to offend :) It's just my stupid opinion.

About the MSN Docs:

There are no good documentation for it. The good part of the docs are about the Nameserver part. This is the easy part, i can just debug it with Wireshark.
The hard part is the p2p part, and the docs are either incomplete or wrong.

Cheers.

Tuesday, August 7, 2007

MSN Stinks

That's it! MSN Sux very much. I can say it because i know half of the things that happens inside it. If half of the things sux, i can say it sux! :)
The major problem is, i don't know the other half part to make any complete work out of it. And if i can't finish it, why insist?

I will be thinking about migrating (read evoluting :) Monkey Messenger to google talk. What do you think? Maybe Monkey Talk :)

Cheers.

Thursday, June 28, 2007

We should smile more!

Here it is, emoticons on the contact list has landed the repository. You can now smile much more!


openSUSE users now can enjoy using Monkey Messenger too. I have downgraded the requirements to gtk-sharp 2.8. Next step: Emoticons on labels/text entries!

Cheers!

Friday, June 22, 2007

Smileys on the contact list

I got bored doing protocol stuff, so i hacked on Monkey Messenger yesterday. The goal was to make emoticon support on the contact list. Here is the result so far:


You can notice that text attributes are not working yet (but it will, i promise!). For now it can do ellipsizing, render emoticons, break lines and mess up with the attributes :)

Cheers!

Tuesday, June 19, 2007

Implementing MSNP15

I'm currently implementing MSNP15 on MSNPSharp. I have been trying to implement the SSO auth, but i don't want to write xml strings and send it over, i want to be able to serialize and deserialize the messages, like SOAP web services does :)

The problem is.. Microsoft does not make the WSDL (at least i didn't find it) for the Windows Live Id web service. So, if you feel like making a boring xml file reverse engineering the SSO thing, be my guest :)

Here is the link:
http://msnpiki.msnfanatic.com/index.php/MSNP15:SSO

And.. sorry for not working on Monkey Messenger directly, i want to finish this first so Monkey Messenger can move along and support other things :)


Cheers

Sunday, June 10, 2007

Status

For those wondering what is happening with the Monkey Messenger development: I'm still working on the MSNPSharp library to fix bugs, fix P2P Direct Connect (fast file transfers) and other things. It takes a long process of debugging since the various versions of the official MSN client differ from each other. For example, WLM subtracts -3 for the LocalIdentifier after the session request and MSN 7 does not. This sux for me since i get a big trouble considering all the different cases.
I will probably just move to MSNP13+ and forget about the older versions. I wonder if there are much people using Windows Messenger 7...

Thanks to everyone sending fixes and bug reportings :)

See ya!
Cheers

Thursday, May 31, 2007

Fixing MSNPSharp Direct Connect

This week i've spent a lot of time trying to fix P2P direct connection. It still doesn't work but i learned a lot of the msn protocol (really, a lot) :)

If you feel like helping me, grab the MSNPSharp code and try it :) You can use WireShark to intercept packets and see what's going on:


You can use aMSN to receive files and then use monkey messenger and compare the two WireShark results. I did it, they look the same and still doesn't work. Maybe it's a different ACK or something... something is different, this i can guarantee :)

Wednesday, May 23, 2007

Ping? Pong!

As Diogo Araujo suggested, Monkey Messenger now sends Pings to the server to keep the connection alive. The functionality was missing on MSNPSharp so i've implemented it :)

Btw, I'm cleaning MSNPSharp code, removing the code docs (not the comments, just the docs) as it doesn't belong there. I'm also organizing code to a better style. Variables on the top, constructors on the top, etc.. So if you feel like learning things, it's a good start since it's easy to do :)

Keep translations coming! I promise i will make it work properly soon, if someone doesn't do it first...

Wednesday, May 16, 2007

More Improvements

As many users request, you can now minimize the main window to the tray instead of closing it when you press the close button. And also thanks to Mark Baas we're giving another step to start to translate Monkey Messenger to another languages. Keep reading us hehe. For those who are looking for an easy way to install monkey messenger here I leave you a link that a user create:
http://justmc10.googlepages.com/monkeymessenger_0.2-1_i386.deb
But I suggest that you download the SVN version.

Friday, May 11, 2007

Chuck Norris uses Monkey Messenger

Some friend of mine told me that Chuck Norris, Steven Seagal and the Predator are using monkey messenger. So be cool like them and start using it! What are you waiting for?

UPDATE: I've heard that Rocky Balboa just started using monkey messenger!

Friday, May 4, 2007

File Transfers Reworked

I didn't like the transfer window, so i decided to re-work it and make it simple, like this:


Notice the file preview when transferring. Cool, isn't it? Please, post your thoughts.

See ya ;)

Wednesday, April 18, 2007

File Transfers

In the past week i did some improvements on file transfers, here is a screenshot:



It's not still finished and i don't like all the code i did, but it's getting into shape. At least it works :)
Btw, the .deb packages are very old, and a lot of people seems to be using them. Would be nice to have some scripts to make the package, perhaps using debhelper. Anyone up to the task?

Another thing, i will be moving monkey messenger to launchpad soon :) I just need to figure out how to use bazaar and have some time to set everything up. Bug reports can be done there, please.

And yes, i love the Opel Astra. I own an Chevrolet Astra 2006 which is a cooler version of the old opel astra, but the newer one... i wish i could have one :)

Well, that's it :)

Wednesday, April 4, 2007

Improvements

Well, i will let the screenshot explain it for me:




Enjoy :)

Tuesday, March 27, 2007

Clickable Hyperlinks

As some users requested, the hyperlinks are now clickable For now monkey messenger assumes that you use Firefox. I will add code to detect the browser later.

The latest revision also adds code for the Preferences window. I will be doing this soon because a lot of users complained that clicking the preferences menu does nothing. It does now, but shows an empty window for now, until the code is not complete.

That's all folks, keep the feedback coming.

Thanks.

Monday, March 26, 2007

Winks

On the last past week i've been trying to implement Winks (those flash animations) on monkey messenger. I changed msnp-sharp to get it working. The good news is that i can get it transfered. The bad news is that there is no decent flash API on linux. Here is the options:

- Just use gecko and the flash plugin: This option may sound easy, but i didn't find a way to detect the animation end to close the window.
- Use gnash. Gnash is quite good, it plays all the winks animation i have tried. But a C glue library would be necessary to make C# bindings and use it.
- Use swfdec. This one also plays all the winks i have tried but it would be necessary to re-use the existing gtk widget on the source tree and make bindings to C#. Would be easier than using gnash afaik.
- Use flashplayer from macromedia. It would certainly work, but there is no library and i can't make the standalone flashplayer gtk window transparent. I would also have to call an external executable that would sux.

There is also one more problem. The winks comes in a .cab file. There is no managed .cab extractor for .net. There is libmspack and the cabextract program. They both work but the first would need C# bindings and the second would sux. It would be easy to extend sharpziplib and implement .cab extraction i think. This would be a better solution.

So folks, i gave up on winks for now because i was wasting too much time doing it and there are more important things to do on monkey messenger. On the source tree there is a Wink plugin which works by half and is unfinished. I will not touch it until:

- There is a managed way to extract .cab files;
- There is a decent and easy way to play flash animations on linux.

If you want to see this happening you would:

- Read swfdec source at the player folder and implement a gtk# widget that uses libswfdec to play movies, so we can add it to a transparent gtk window using composition.

- Implement a .cab extesion to sharpziplib

- Contact me!

Thanks :)

Sunday, March 18, 2007

Block/Unblock

As requested by some users, it's now possible to distinct blocked contacts as well as block and unblock them.



Thanks to Vinícius Depizzol for making the blocked icon.

Saturday, March 17, 2007

Help us

If you like monkey messenger and feels like contributing to it, we have tasks for:
  • Testing, bug reporting;
  • Bug squashing;
  • Coding user interface;
  • Coding the msn protocol;
  • Coding integration with other apps (plug-ins);
  • Art (tango style), we need a new logo, some icons;
  • Web development, we need a nicer web site;
Please, join our mailing list and tell us how you would like to contribute and your level of experience.

We plan to release a 1.0 in a few months. Will be publishing a TODO list and a schedule soon.

Friday, March 16, 2007

MSN Plus Format

Hi people, I had fixed a lot of bugs this week in the MSN Plus Parser, so I want to know if you still have any problem with these nicks, please send me the nick and the log that is show in the console, to fix the problem. I hope you enjoy this nice feature.

Thursday, March 15, 2007

Bug Fixing

The contact list bug that contacts always showed as offline is nailed!

A big change was committed today (15/03) on the svn. Major internal changes were done, including:
- Simplier access to objects using Singleton and a Global class
- Replaced XihSolutions.DotMSN with MSNPSharp
- Bug Fixing

I've been receiving some feedback about monkey messenger. That's great, keep them coming. But keep in mind that it's not a finished product yet. It lacks a lot of features, some things are implemented only by half and it has some bugs. So if you want to test it, go ahead, but i don't advise to use it on production until the 1.0 is released. Any feedback, bug report and suggestion is welcome.

Come and join our Mailing List.