Page MenuHomePhabricator

XMPP Client
Updated 3,105 Days AgoPublic

General Description

The idea of this project is to do an XMPP client that relies only on EFL, and will be suitable for use across many platforms (ie. both desktop and mobile).

UI Description

This project is for a cool UI which uses Enlightenment libraries and connects to XMPP services, such as Google Talk. The above mockup shows one possible design for it.
The UI should be minimal, yet very functional; non-essential UI elements should be visible only when needed.

Proposed Schedule

  • Introduction/ice breaking
  • Begin learning EFL:
    • Familiarization with core API and methodology
    • XMPP intrinsics
  • Create basic client framework
    • Ensure student is able to create a working client
    • Check program sanity
    • Add basic features (eg. add/delete contacts, get info for contacts, send/receive messages, ...)
  • Begin structuring UI elements
    • EDC instruction
    • Planning of layouts
  • Implement UI
    • Improve previously-implemented basic UI elements
    • Apply layouts
    • Create Edje themes
  • Add more advanced features
    • Archive support
    • Media fetch/cache/display
    • DBus integration
    • Jingle support (time allowing)
  • Polish application
    • Extensive analysis/debugging
    • Ensure features properly implemented/extensible
    • Flashy UI effects

Ideally, depending on the speed with which the student works, lots of additional features/effects/themes can be added to this list to create a chat client that the community will use for a long time, even if the student decides not to continue working on it after the end of GSoC.

Enlightenment Project Benefit

XMPP is widely used by E developers and users alike. It will go a long way towards unifying the look and feel of the Enlightenment desktop environment to have a feature-ful and elegant chat client which can integrate with other E applications and services.

Project Technical Details

  • Mentors :
    • Mike Blumenkrantz
    • Daniel Willmann
  • Skills required :
    • C background
    • Basic understanding of networking
  • Bonus skills :
    • Strong fundamentals in asynchronous programming
    • XMPP knowledge


The difficulty of this project is assumed to be a medium one, trending towards hard depending on the additional feature work.

Last Author
Last Edited
Mar 27 2013, 8:27 AM