[haiku-development] Re: GSoC 2020
- From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx, shekharhiran@xxxxxxxxx
- Date: Mon, 20 Jan 2020 13:15:56 +0000
Hi,
I am a Ph.D. student working on distributed systems and software security.
Came across the proposal
of 'Better XMPP instant messaging client for Haiku'. I have prior experience
building a chat
application using the XMPP protocol and would like to apply as a GSoC student
to improve Renga.
I wanted to know what is the procedure is and what are the prerequisites I
need to finish up on
before applying.
Hi!
First, I must mention that Google has not yet decided which projects will be
part of Google Summer
of Code.
So, we may or may not be selected this year. Prepare accordingly.
Anyway, to work on this project you need to setup Haiku (either on real
hardware or a virtual
machine)
and make sure you can compile Renga from sources (which are at
https://github.com/haikuarchives/renga).
As part of your GSoC application (as documented at
https://www.haiku-os.org/community/gsoc/2020/students)
you will need to submit some "sample code" to show that you have the needed
skills (compiling and
making
changes to a C++ program, etc). There are several issues open in Renga
bugtracker, you could for
example
work on one of them as a code sample.
The project will involve a mix of:
- Implementation of XMPP protocol, either in Renga code or in the gloox library
(to which patches
can be
upstreamed)
- Haiku user interface programming
- UI and UX design to make a nice and easy to use client
- Deciding on a roadmap for support of modern XMPP features and good
interfacing with other clients
(typically, using the same account with Renga on Haiku and Conversations on
Android is a typical
use case), and with servers (making sure we play nicely with the features
available there).
The idea is to start with the basic features expected from an IM client (group
and user-to-user
chat,
file attachments, avatars, discovering chatrooms, etc) and then, if time
allows, go with more
advanced
things such as shared whiteboard, message reactions, maybe voice chat.
--
Adrien.
Other related posts: