Mia'cova, I'd love to hear more about your failures to connect directly when sending a file to someone on the same network. That really shouldn't happen and it's something we are quite motivated to fix (If you're sending the file through our servers, it's
costing us money. If you're sending it over your ethernet, it's not.)
You can turn on a connectivity log under tools|options|connection|advanced that will contain a fair bit of the information I'd need to see what's up. If you could get the logs for both your machine and your buddy's machine I can have someone on my team take
a look. Heck, add me to your buddy list, set up a shared folder, and put the files in there. I'll look at them when I see the gleam.
Personally I think it's great for hackers/fans to play with and add on to our app. It's nice to know that hundreds of millions of people use and love the software I write. (I feel like one of those airline folks: "We know you have many choices in communications
software..."). While I think pretty highly of myself, I don't think I can come up with all the creative ideas that our enormous user base will. So I'm all for developers being able to add on to messenger.
The problem is that much of what the third parties write is unstable, which causes two problems: 1. I or someone on my team has to investigate the crash only to find that it's caused by a third party add-on. 2. We get blamed for the crashes even though often there's nothing we can do about them.
Accordingly, I want to add more APIs like plugins that let users add on to messenger in a stable, controlled, approved fashion. I want these APIs to be flexible and rich enough that anything anybody would want to build on messenger would be possible.
That said, we have a much more rigorous planning process than "let's do what John wants", so of course I can't promise anything. But that's my personal opinion.