Tixati Development Update

by KH on 2014/05/09 10:39:12 PM

Hello. I'm the guy behind Tixati, responsible for the vast majority of development.



Many of you have noticed it's been a while since the last Tixati release.



While there are always minor tweaks that will be needed, the latest version is stable and well-refined to most needs. But more importantly, the in-field crash rate, which we track based on automated opt-in error reports, is extremely low with this version, barring a handful of extremely uncommon issues with obscure third-party drivers and system extensions.



With a relatively stable release, the time it takes to explore major changes becomes affordable, and that's just what I've been doing.



Tixati is currently written in the C++ language. It is built upon a modern C++ template-based framework, parts of which I also wrote, that allows easy cross-platform development by wrapping the various operating system features (network, GUI, filesystem, etc) across multiple platforms (Windows and Linux currently). There are also other important structural components in this framework (variant types, a CRTP object composition model, reference wrappers) that save an incredible amount of time when transforming concepts into code.



A majorly revised C++ language standard, C++11, has recently been implemented by the majority of compilers to some level or another. Many features in the new standard can be leveraged to make a much more efficient framework, program code base, and output executable files, and more importantly can vastly cut the amount of programmer-hours needed to maintain existing program logic and create new features, or simply create something new from scratch.



I have nearly finished creating the new framework, which I have been working on for a year and a half. Already, a component such as the list/treeview control, which is very common in Tixati, is down from over 12,000 lines of code to just over 2,000. Building any abstract object or component is much easier and with simpler syntax compared to the old system.



I have also been extremely busy on another, as of yet unnamed project for some time. In order to be feasable, this needed to have the efficiencies of development that could only come from the new C++11 based framework. The new project I have been building is beyond the scope of Tixati and the torrent universe, and I hope to have it ready by the end of the year. It will be unique, include a very new and exciting technology, and I'm sure fans of my previous works will be very pleasantly surprised.



As for Tixati, porting it over to the new framework will eventually have to be done, and the resulting code-base will be much much leaner and more concise, and will be a good foundation for further improvements and new features as they are needed. However, revising the entire Tixati code-base to leverage the new C++11 standard and the new foundation framework will be an extremely time-consuming and tedious process, and also must be done very carefully to avoid inducing new bugs. But it will be worth-while in the long term.



In the meantime, I have just started work on a new minor revision to the current stable release. There are a few dozen minor issues that will be addressed. I will soon be prioritizing my time toward this minor revision and hope to complete it very soon. The forum moderators have collected, verified, and organized all bug reports and feature suggestions, and I am aware of what needs to be done.



In summary, new versions are coming, minor ones very soon, and major ones just over the horizon. Please hang in there and stay tuned ;)

