kontalk / desktopclient-java

Kontalk official platform independent desktop client
https://www.kontalk.org
GNU General Public License v3.0
57 stars 24 forks source link

Kontalk, non java client, and xmpp is possible? #54

Closed gentooza closed 8 years ago

gentooza commented 9 years ago

Hi kontalk comunity

I've no idea (and also I don't like at all) about java. But I would be interested in a client built in other language (C++ I'm thinking).

What would I need to develop it? It would be enough with a xmpp library as gloox? http://camaya.net/gloox/

thanks

abika commented 9 years ago

Hi!

Kontalk open for everyone and you're more than welcome to participate in writing an additional client. Of course, we would support you in every way we can. If you want to make it an official client @daniele-athome may wanna say something about the usual legal stuff.

I considered C++ (with Qt) for the (now Java) desktop client as well, but wanted to practice some Java once again (and developing is also now a bit easier as I can just migrate code from the Android client). Don't have any experience with gloox but the feature list looks very promising. Guess you don't know how good the library is until you try it.

A first step (or at least how I started) would be establishing an encrypted XML stream to the Tigase server. The certificate and key files of an existing account are needed for the SSL handshake, these can extracted from the Android client.

Happy Coding!

gentooza commented 9 years ago

Hello Abika!

First thanks a lot for your so elaborated answer!

For the instance is simply curiosity, in fact I have not too much free time right now; but it's a need I have, and I know programming, so... :-)

I talked about gloox because I've met it looking for information, but I have never used it. (surely there are better options)

Ok! Then, the first step is to connect with tigase server, isn't it? I have to install tigase or is there already any server for testing purpose?

Also, I've met similar projects like psi (https://github.com/psi-im/psi) another option could be a fork.

Thanks a lot! And happy hacking, of course

daniele-athome commented 9 years ago

Hello @gentooza, thanks for your interest in Kontalk! First of all, being Kontalk based on XMPP, it would be much easier to fork or extend (via plugins or addons) an existing XMPP client, instead of starting one from scratch. We are looking to integrate Kontalk into the major IM clients such as Pidgin (which has already a plugin, but for example no support for client certificate authentication, which is provided by a tunnel script for the moment, which is crap :-)).

It would be of much greater help if effort could be put on extending existing clients. Of course starting a client from scratch or extending/forking an existing would be entirely your decision, and we will support that as well. Whatever you might decide, if you want, you can let our GitHub organization host your work and advertise it through our network (by the way @abika remind me we need to put something for the Java desktop client on the websites please :-)). You'll have full control on the development, as long as you respect the following:

You will be part of the development team so the copyright would be shared among us - source files will be authored by you only though. This way, we could call it an "official client" or "official plugin" or whatever you will decide to implement.

All of that said, Kontalk is not a commercial project or even a non-profit organization yet, so no legal stuff has been written or decided. It's just an enjoyable non-profit project we develop on our spare time and the stuff I've mentioned before are just a couple of rules to help us bring order in the mess of project management.

gentooza commented 9 years ago

Hi Daniele,

Yeah, of course I'm already analyzing options. making one from scratch has no sense for me if is there any good client to take or modify. (PSI is based in qt4, so it's no suitable)

And I wouldn't have any problems about copyright issues, having already experience programming only pure free software. (no binaries, gpl, copyright headers, etc.)

The fact is I've using kontalk as my main chat program in an android device, but as it's recently broken, I thought "I'm gonna buy a new shiny device powered by ubuntu!"... So no kontalk now

for now the official options in ubuntu phone are html5, C++ and QML with QT5 (python perhaps, that would be great, but no official)

So my aim would be to be able to connect to the kontalk server with a c++-qt5-xmpp aplication first in PC, and therefore in ubuntu phone. (ubuntu phone and a generic debian linux are practically the same as I've understood)

If you have also felt the need and have manpower to start the project or already started, I can join too.

regards, Joa

webratte commented 9 years ago

Hi Joa, you say your NEW Ubuntu phone support HTML5.

What about a HTML5 client? If I'm correct, this should also support FirefoxOS.

By the way, I'm only a stupid user without tecnical background ;-)

daniele-athome commented 9 years ago

I've recently started (well, just a skeleton project for now) a web-based (PhoneGap/Ionic) client for use in iOS https://github.com/daniele-athome/kontalk-iosclient But I guess you prefer native programming right? By the way I feel like missing iOS more than Ubuntu phone actually... you know... people :-) what do you think?

daniele-athome commented 9 years ago

A HTML5 client would have the advantage to run on multiple platforms until a native counterpart will be available (that includes Ubuntu phone, FirefoxOS, iOS,...)

gentooza commented 9 years ago

Hi Webratte and Daniele

Yeah, I think the most effort efficient option could be HTML5.

My option of C++ is only because my experience.

and there are more IOS users than Ubuntu Phone, of course :-D

daniele-athome commented 9 years ago

@gentooza you should choose whatever fits your experience and willingness to learn. Besides, I can't help you very much with HTML5 because I don't have any experience either (not that with C++ I'd be of much help either, I just know some C that's all). From the specs and protocol sides we can of course help as much as we can.

gentooza commented 9 years ago

Hello friends,

Finally I've found this app: https://github.com/chloerei/qtalk based in QT4, qxmpp, and C++ to fork it. Modifying it at home, I made it works now with QT5 (needed in Ubuntu Phone) connecting to a XMPP server.

I'm talking to the original creator, and asking questions to Ubuntu Phone developers. (I've no idea about mobile phones programming :-S) I'll try to publish the forked code this week.

at the moment I've a xmpp client working in GNU/linux PC, when I get it work in ubuntu phone we'll forked the project for the Kontalk community, ok?.

Happy hacking!

daniele-athome commented 9 years ago

@gentooza that's great news! Don't hesitate to write to our kontalk-devel group to discuss things or our IRC channel on Freenode for more direct chats (although you may not find me there at all times).

abika commented 8 years ago

Too bad, no news here. Were still lacking an HTML5 or iOS client. At least we don't need a client for FirefoxOS anymore.)

gentooza commented 8 years ago

Hi Abika, and Kontalk community,

I understand it's totally stuck. (I've no time right now to finish the ubuntu phone client I tried) If one day I can continue finishing it I'll inform the Kontalk community.

By the way, if you know someone interested, the code is at the kontalk community service if required. The program works as xmpp client (with some bugs) in PC, but for ubuntu phone all the UI should be rewrited to QML (is this step where I'm stuck) (it's also made in C++ no HTML5 :-/)

Cheers, and happy hacking!

abika commented 8 years ago

Hi Joa, good to hear from you.

Don't worry, we are all doing this for fun in spare time. If something is not finished it can't be helped. Well, can you just upload the code? I'm very interested in C++/Qt stuff and trying it out. Cheers!

gentooza commented 8 years ago

Hi Abika,

the code is in it's repository, https://github.com/gentooza/QueTalk It has nothing special, but it's technology, I think, fits perfectly with the Ubuntu Phone stuff.(C++, QT5, QXMPP (as local dependency)...) As I already said feel free to take, improve, etc. (the old owner, REI, gave it also to me before :-D) In fact I'd be proud to have participate a little bit.

Also, I could try to help if someone is more motivated, I love Kontalk as I said before, but as industrial programmer I don't know java :-(, almost only classic C.

cheers!