GSOC: Android client potential

Michael Zangl pidgin_m at
Sat Apr 13 17:20:07 EDT 2013


I did the porting last year and I am going to apply to do some more work 
this year. I will be applying with two variants:

- One focusing on some more porting and writing the C/Java wrappers, so 
that more of libpurple can be used from Java and from the Android UI. 
This would also include basic plugin support, but not a mechanism to 
install new ones.
- One focusing on the Android client, which means adding a real GUI 
using fragments and adding a background service that will stay logged in 
while the app is not displayed.

Since GSoC projects should not depend on each other and it would be a 
bad use of resources to have two same projects, I would suggest for 
anyone applying to consider that there may be multiple applications on 
the subject. There are some areas that are mostly unrelated, that way we 
could do multiple Android projects this year.

Relatively undepending projects include:
* Write a Chat client GUI that just works on a purple-like interface. 
Libpurple does not need to be ported for this to work, but you could 
only use the interface if you had libpurple or some sort of other 
library that implements that interface. This interface could then be 
used by other projects in the future. This work would only include Java 
work, so it would be a good project for someone not familiar with C (but 
if you want to start on this, you should be good at understanding 
Androids threading)
* Work on multimedia support for Android. Voice should be pretty simple, 
but I have not yet looked into the video APIs of Android. This can be 
tested with a simple test app and also does not need the other Chat 
functionality. The result should be the adapted library that can then be 
integrated into an Android GUI.
* Write something that relays messages from a normal PC to Android, to 
not need Android staying connected to all the accounts. This could be 
done by writing a stand-alone client for Android and a plugin for 
pidgin. Or it can be done by adapting libpurple to support this sort of 
synchronisation, so that you do not need an Android client for testing, 
but it will work on Android as soon as libpurple works on Android. This 
would then also be a nice project for somebody who is not familiar with 
the JNI or Android API.
* Work on Plugin support for Android. Android plugins would need a 
special sort of delivery/unpacking/including. Currently, all protocols 
are just compiled statically. This could also include adding a new sort 
of Java-Plugins that can then include bigger UI changes and Android API 
access (you could also do this form C code, but using JNI for every 
simple bit is not really nice). The aim could be to support some common 
plugins, like Encryption. It would also be nice that all the protocols 
work, currently only Jabber is usable (not stable ;-)).

If you are a student and want to participate in one of the above 
projects, feel free to ask me questions.

I would really like having a stable and good Android client in a few years.


Am 13.04.2013 22:20, schrieb Peter Lawler:
 > Hi!
 > Just throwing this out into the ring.
 > Last year, some GSOC work was done to bring the core of Pidgin -
 > libpurple - to Android. It's reported as working, albeit with a very
 > basic UI. If I recall correctly, it's currently at libpurple 2.10.6, one
 > micro release behind current.
 > I would encourage all students contemplating applying to Pidgin to
 > consider working on Pidgin for Android (Pigdroid?)
 > Whilst I can't speak for the team who will approve applicants, I'm
 > merely a semi-retired retired Crazy Patch Writer, I do suspect and hope
 > that a good plan to progress this would be a strong candidate for
 > acceptance. There seems to be much interest amongst users and (afaik)
 > some of the developers in getting this further along.
 > More details on last year's GSOC Android effort can be found
 > - I encourage people
 > to look at it.
 > Cheers,
 > Pete.
 > _______________________________________________
 > Devel mailing list
 > Devel at

More information about the Devel mailing list