August 2020

by Veli Tasalı   ·   Aug. 27, 2020

August 2020

This summer was eventful. We passed the first phase of GNOME Challenge, TrebleShot has become one of the most popular open-source file-sharing apps on Android, and I met many great people. I also published the development roadmap of uprotocol1, a specification that aims to standardize file-sharing utilities.

CoolSocket, the messaging library uprotocol uses, needed some work. I made some changes that should improve reliability and manageability. One of the changes includes the graceful cancellation. A cancellation request waits for another exchange and informs the remote so that both sides become aware of it. One nice thing about this is canceling does not close the connection. Instead, the connection remains intact, and the two sides can still communicate after handling it. The only problem I had while working on these changes was the performance degradation. Because both sides needed to be aware of pending requests, they had to talk to each other all the time. To fix that, I made the reading side wait for 2048 operation cycles, which only happens if you use the same descriptor. If you use a different descriptor each time, this cycle will not improve the performance.

Apart from that, TrebleShot became more popular in the FOSS file-sharing category after the Indian Government banned ShareIt. Many derivatives based on TrebleShot surfaced on Play Store and other places. Some of them were not complying with the license. I am guessing this is usually the case with FOSS apps since, in proprietary spaces such as App Store and Play Store, only a small number of people care whether the app they are using FOSS or not. It is not much of a problem for desktop solutions as they are harder to compile and understand.

Another good news is we passed the first phase of GNOME Challenge. The Open University Project is one of the twenty projects that did so. If it can make it to the third phase, it will be fun to work on because we will be writing invitation emails to many great people to be on our platform.


  1. uprotocol, the open content-sharing standard. 

#android #gnome #uprotocol

Next Post
Adopting MVVM