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).
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.
- 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.
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.
- 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.