GSoC 2013

Michael Zangl pidgin_m at fam-zangl.de
Wed Mar 20 08:52:48 EDT 2013


Hello,

I would like Pidgin to participate in GSoC as well, simply because I am 
planning to apply for a Project again. Last year, I started porting 
libpurple to be usable on Android, this year I am planning to do a real 
useable UI and add some missing features.

 > 3. Android "proxy" client
 > In last year, there was libpurple implementation for Android. However,
 > many of us complained, that it's pointless to run our "fat" library on
 > mobile devices. I represent different approach: there could be a
 > plugin for desktop client (the "server"), which could act as a proxy
 > for android phone. Key points:
 > - mobile client registers to user's "server" and leaves all
 > protocol-related job on it's side, phone gets only naked messages,
 > without protocol noise;
 > - there is no permanent tcp connections - phone is notified via Google
 > Cloud Messaging for Android service;
 > - easy to use, well designed UI (strongly inspired by existing ones
 > from Google/HTC/whatever).

Since I was the one working on the project, here some thoughts:
The main libpurple problem is that it has so many dependencies that it 
needs a lot of space, both in RAM (10MB) and on the SD card (26MB). For 
the power requirements, it does not make much of a difference if we use 
the libraries we ship with the client or use the android libraries, they 
both do the same work. Having the "heavy" chat connections that desktop 
PCs use is not the most power efficient way to send simple text 
messages, but if I cared that much about power I would use SMS. I don't 
have any actual figures on how much power running pidgin takes. The main 
advantage of libpurple is that it supports many protocols out of the box 
without me needing to trust some online service or installing something 
on a different PC.
Your idea to proxy messages from the desktop to the mobile is good, but 
I don't think it should be an android privilege. We could add this to 
libpurple and make it a basic feature, so that you can connect different 
libpurple clients that automatically synchronize accounts and chatlogs 
and also manage connections when there are multiple instances online at 
the same time (that means, the desktop connects to ICQ and the mobile 
just gets the messages from it).

Michael




More information about the Devel mailing list