[Gajim-devel] gsoc: file transfer over jinge
Hello everyone! I am a graduate student in China and I am very interested in implementing file transfer over jingle for gajim. For the last month I've been exploring gajim's source code, reading documentations about gajim's architecture, reading xmpp's specifications on jingle and file transfer(XEP-0096, XEP-0234, XEP-0166) and getting some hands-on experience by trying to write a patch for a bug(#5614http://trac.gajim.org/ticket/5614). So I want to share with you my thoughts here. Gajim already has the ability to handle jingle singaling thanks to gsoc 2007 student Tomasz Melcer. But over the last 2 years jingle itself has also evolved. I will first check to see if our implementation of jingle has any major incompatibility with the current jingle protocol.(I don't foresee a lot of it because according to jingle's revision history many of them were just clarifications). This shoudl take about 1 week. Next I will implement the actual file transfer feature using the jingle infrastructure. The actual transfer will consist of several methods: socks5 bytestream, in-band bytestream and possibly ICE-TCP if time allows). I don't think these are extremely difficult to implement once one of those transfer methods is implemented. However I do foresee some issues concerning pausing, canceling file transfer etc. But the basic functionality should be completed in reasonable amount of time.(1 week for reading and understanding what I must know, 2 - 3 weeks for coding) Once they are completed, through tests should be conducted. I also want to add some additional features that might help to enhance user experience: First: file transfer status in chat window. This has already been discussed in #1205 http://trac.gajim.org/ticket/1205. Some for it some against it. I think it's good to give users an option anyway, and it's really a simple and useful way to track which file comes from which guy, when you are receiving files from several friends. I do not intend to implement a progress bar in chat window. A notice about the start, end of the file transfer should be enough. Also the end of FT notice should contain a link to the file. This feature will be optional, users against this will be able to disable it. FT from users you are not chatting with does not open a chat window. What about the current pop-up notice? Well, I think it just feels better when you can focus your eyes around the chat window and know everything that's happening between you and the guy you're talking to. Suggestions welcomed about this! Second: drag and drop currently works perfectly, but sending of multiple files are not supported. Users would typically archive the files or manually send them one by one. This is not quite user friendly. I want to support dragging a directory into gajim and letting gajim do the archiving stuff. Also the description field will be populated with a list of files(possibly incomplete due to the length of it). This idea is due to #4287http://trac.gajim.org/ticket/4287. I want to clarify that this is a user experience enhancement, so the user should be noted that what the receiver gets is an archive of the directory that he/she sends. If time allows I also want to add file encryption feature, which might be as simple as key exchange and encryption using DES or AES. But I don't know how to standardize this feature so it understood by all xmpp clients. I appreciate any advice on this. A bit more about myself: I'm pursuing a master of science degree in Fudan University, Shanghai. I'm comfortable with C, C++, perl. And I love Python and lisp! I have some basic experience with the linux kernel, netsurf(a small web browser, I once implemented read page feature for fun). I am a heavy user of all kinds of open source softwares, I used to write webapps using django and wrote some fun stuff in it, like sending SMS via my homepage(click and send sms to me) etc. I primarily use python to solve all problems that I meet. It's my language of choice. My name is Li Zhenchao .My jabber account is fantastic...@jabber.com. I have a blog: www.fantasticsid.com/blog (it's in Chinese but I will write in English if I'm lucky enough to write reports on this year's gsoc project later). You can contact me at cockneyke...@gmail.com or fantastic...@fantasticsid.com. Any advices, thoughts, suggestions, questions are welcomed! PS: After discussing my idea here, should I also present it to the XSF mailing list? -- Homepage: www.fantasticsid.com EMAIL: fantastic...@fantasticsid.com IRC: fantasticsid ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] gsoc: file transfer over jinge
Zhenchao Li wrote: Hello everyone! Hi man, I am a graduate student in China and I am very interested in implementing file transfer over jingle for gajim. For the last month I've been exploring gajim's source code, reading documentations about gajim's architecture, reading xmpp's specifications on jingle and file transfer(XEP-0096, XEP-0234, XEP-0166) and getting some hands-on experience by trying to write a patch for a bug(#5614 http://trac.gajim.org/ticket/5614). So I want to share with you my thoughts here. Very good idea, and very good project. [...] I also want to add some additional features that might help to enhance user experience: First: file transfer status in chat window. [...] Suggestions welcomed about this! Nice, it's a long time ticket, and sure we'll discuss that when time will come. Second: drag and drop currently works perfectly, but sending of multiple files are not supported. [...] You can DnD multiple files, and send them in one shot. But receiver wil have to accept them one by one. Too bad. I haven't read Jingle FT specifications, but is it possible to do the negociation ofr several files? If yes that's the solution, else we'll have to discuss that in standards mailing list, so that it's added to the XEP or a new XEP should be written to be complient with other clients. This will take some time to define that, so not sure you'll have time to implement that. If time allows I also want to add file encryption feature, which might be as simple as key exchange and encryption using DES or AES. But I don't know how to standardize this feature so it understood by all xmpp clients. I appreciate any advice on this. I already saw discussions about encrypted jingle sessions ... But I don't know the status of that at all. Any advices, thoughts, suggestions, questions are welcomed! I have to tell you that you're not the only one contacting me for this project. I don't know how many slots XSF will have this year, and I don't know how many valuable project they will receive, so it's impossible to know how many slots Gajim will have (if any). Jingle file transfer is in XSF priorities, so this kind of project will be in the top of the list. I think. PS: After discussing my idea here, should I also present it to the XSF mailing list? I could be a good idea indeed to present yourself to XSF comunity so that people who will vote for projects know a bit about you. -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
[Gajim-devel] GSOC mentors
Hi, This mail is for Gajim developers: is anyone interested in mentoring a student during this Google summer of code? about which project? we have some in the wiki, you can thing about others, or about xmpppy... -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Mateusz Biliński wrote: On Thu, Feb 12, 2009 at 20:35, Yann Leboulanger aste...@lagaule.org wrote: Mateusz Biliński wrote: Might come in handy: Alek's blog posts about implementing server-side history in Psi during GSoC 2008: http://alek.silverstone.name/en/tags/soc I started a wiki page for GSOC. See http://trac.gajim.org/wiki/GajimGSOC http://blog.xmpp.org/?p=297 I guess this pretty much ends discussion for this year's GSoC. Unless Gajim plans to apply as separate org, which IMHO is not a good idea currently, keeping in mind all the program administration tasks. Bad news :( But indeed I don't plan to apply as an organisation. So no GSOC for this year. I'll pay the server myself. -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
On Thu, Feb 12, 2009 at 20:35, Yann Leboulanger aste...@lagaule.org wrote: Mateusz Biliński wrote: Might come in handy: Alek's blog posts about implementing server-side history in Psi during GSoC 2008: http://alek.silverstone.name/en/tags/soc I started a wiki page for GSOC. See http://trac.gajim.org/wiki/GajimGSOC http://blog.xmpp.org/?p=297 I guess this pretty much ends discussion for this year's GSoC. Unless Gajim plans to apply as separate org, which IMHO is not a good idea currently, keeping in mind all the program administration tasks. -- Mateusz Biliński ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Am 09.02.2009 um 07:04 schrieb Yann Leboulanger: codecs are handled by gstreamer, not sure we do a lot about that. I CC to liori who may have ideas about that. Ok, then another project would be to get all that running on Windows. I'm not so sure how well gstreamer runs on Windows, a while ago, it wouldn't run there at all IIRC. Gajim is not an organisation. It doesn't need to be. Last year, Audacious participated in the GSoC as well and we're not an organization there either AFAIK. :) And I don't have to time to manage all that process. Well, I don't know how much work it is to manage that, I have to admit. But is it really more than having a list of projects, assigning mentors to them and looking that the mentors do their jobs? PS: I replied to the list, even if you message was only to me. Yeah, thanks. Apple Mail often screws that up. I always have to add the list manually. -- Jonathan PGP.sig Description: Signierter Teil der Nachricht ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Jonathan Schleifer a écrit : Am 09.02.2009 um 07:04 schrieb Yann Leboulanger: codecs are handled by gstreamer, not sure we do a lot about that. I CC to liori who may have ideas about that. Ok, then another project would be to get all that running on Windows. I'm not so sure how well gstreamer runs on Windows, a while ago, it wouldn't run there at all IIRC. Yep that could be a project, but maybe for next year. We don't have it under linux yet. Gajim is not an organisation. It doesn't need to be. Last year, Audacious participated in the GSoC as well and we're not an organization there either AFAIK. :) And I don't have to time to manage all that process. Well, I don't know how much work it is to manage that, I have to admit. But is it really more than having a list of projects, assigning mentors to them and looking that the mentors do their jobs? + handle thing with google (payment for example). Really I don't have time for that. It doesn't take 5 minutes. And I thank Peter Saint-Andre a lot for that. -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
[Gajim-devel] GSOC
Hi all, GSOC will arrive in the next monthes, so we can start thinking about project we could propose. So what new features would you like to see in Gajim ? We can discuss that on Wednesday at the end of the meeting. -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Am 08.02.2009 um 14:55 schrieb Yann Leboulanger: Hi all, GSOC will arrive in the next monthes, so we can start thinking about project we could propose. So what new features would you like to see in Gajim ? We can discuss that on Wednesday at the end of the meeting. I think we should not introduce any new features for now, but finish and stabilize the features introduced in the last SoCs. I'm mainly talking about Jingle, the Plugin System and ESessions here. -- Jonathan PGP.sig Description: Signierter Teil der Nachricht ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Am 08.02.2009 um 14:55 schrieb Yann Leboulanger: Hi all, GSOC will arrive in the next monthes, so we can start thinking about project we could propose. So what new features would you like to see in Gajim ? We can discuss that on Wednesday at the end of the meeting. I think we should not introduce any new features for now, but finish and stabilize the features introduced in the last SoCs. I'm mainly talking about Jingle, the Plugin System and ESessions here. -- Jonathan PGP.sig Description: Signierter Teil der Nachricht ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Re: [Gajim-devel] GSOC
Jonathan Schleifer wrote: I think adding FT should be pretty easy, whereas I think video might be a lot of work due to the codecs etc. codecs are handled by gstreamer, not sure we do a lot about that. I CC to liori who may have ideas about that. So, maybe, we could as well participate in the GSoC and not only XMPP? There's no requirement for us to be only part of the XMPP projects, we could be a project as well in the GSoC. Gajim is not an organisation. And I don't have to time to manage all that process. PS: I replied to the list, even if you message was only to me. -- Yann ___ Gajim-devel mailing list Gajim-devel@gajim.org http://lists.gajim.org/cgi-bin/listinfo/gajim-devel