GSoC/GCI Archive
Google Summer of Code 2015

Tox

License: GNU General Public License version 3.0 (GPLv3)

Web Page: https://wiki.tox.chat/developers/gsoc/2015/ideas

Mailing List:

Tox is a free and open source replacement to the well used proprietary application Skype. Unlike Skype, Tox focuses on both security and privacy, utilizing a distributed hash table and onion routing mechanism to create an infrastructure without an infrastructure, all while maintaining fluid voice, video, and text chats. Unlike our competitors, Tox focuses on doing things like encryption transparently, removing the idea of a learning curve, to help design something that everyone can use.

Projects

  • High-level client API Design and implement a high level library (HLAPI) based on tox4j targeting the JVM. The idea here is to create a layer of logic between the low level API and the concrete client implementation. It should handle all the aspects of Tox that a client should support, including buddy lists, user informations, file transfers and chat logs. It should be platform-independent (no direct file I/O, for instance), run on the JVM and be easily useable from Java.
  • Modular library for platform-dependent audio, video and desktop capture Unfortunately, there are no good libraries that provides good crossplatform video/desktop capture, so all Tox clients have to implement their own ways of doing these things. So if somebody will write new client, he have to write video/screen capturing from the beginning. I feel strongly that the most important step is to fix the audio/video/desktop capture support, because the visual and audio communication is essential.
  • Proposal for Tox Antidote This is a proposal on the expanding the audio and video capabilities for Tox iOS Antidote. I believe we can increase the adoption of Tox if users were able to access Tox on iPhone. My proposal below will outline the ways I will achieve that.
  • qTox Usability Improvements I plan on improving qTox usability in order to bring it on par with Skype and other clients. As such, I hope to introduce a few new features into the qTox client that other clients have. These include: Friends list improvement including groups and searching, a recent list with a new start up window, Improved chatform, support for dialog windows, rather than having all chats in a single window and improving audio and video input and out.
  • Tox Android Client An modern, simple and elegant Tox Android client, that contains the best possible features like gestures, voice dictation and Android Material Design.
  • Tox4j high level client library (HLAPI) HLAPI is designed to be an mediator between the network interface (ToxCore/ToxAV) and the user application interface. Its main duty is to parse/pass requests and messages between these two heavily I/O interfaces, to keep the business logic purely logical and independent of I/O for improved testability.
  • Video Support for Toxic Toxic is a CLI based Tox client that originally resided in the toxcore codebase. Since then it has been isolated as a standalone client and needs to be updated with video support functionality to remain on par with other Tox clients.
  • WinTox – A Windows Store client for Tox WinTox is a Tox client written in C# and XAML, using SharpTox that follows all Modern UI best practices and conforms to the modern feel and styling of Windows 8+ applications. It implements modern UI features like proper snapping, on-screen keyboard support, etc., and all functionality from the Tox core like one-to-one/group/audio/video chats and file transmission.