FreeTube Release 0.7.2 Beta and the State of FreeTube
Hey everyone! I know I haven't been very active lately. I'll get to that in a moment, however I have a new FreeTube release for everyone. It's a very small update but it fixes a recent problem that a few people have been having. I'd also like to go over the future of FreeTube and my plans moving forward.
Fix for Local Videos
Recently, the “Grab Videos Locally” option has been giving a “This video is unavailable” message. As you may know, this option allows a Node version of youtube-dl to grab videos instead of using the ones provided by Invidious (When using the legacy player). This has the advantage of being a fallback if Invidious has instance problems as well as fixing some “This video is unavailable in your country” problems.
The quick explanation was that it was simply out of date and needed to be updated. This release includes an updated version of ytdl-core which should fix the problems with the local option and allow it to be used properly again.
State of FreeTube: Moving Forward
Before I say anything else, I want to make it clear that I am still motivated and plan on continuing development of FreeTube. There is a lot with the app that remains unfinished and I am determined to get it finished so that FreeTube can be a feature-rich app while still remaining as private as possible. With that out of the way:
You've likely noticed that development has slowed down to virtually non-existent at this point. There are a couple of reasons for it. The main reason is because I have a full time job and don't have a lot of time to work on it right now. This has always been the case during development but the nature of my job has allowed me to have moments where I can work on FreeTube more often than others. When my work kicks in then there isn't much I can do about. It is the reason why donations are not important to this project and why they do not affect any potential progress.
The other reason is that I'm starting to grow unhappy with the current code base and I want to spend some time to rewrite it. Parts of the current FreeTube code is getting to a point where it is going to be very difficult to maintain if I continue moving forward with it. A while back, I started to incorporate Vue.js within the project to help out with the speed and ease of development. It has been an invaluable tool for me however my inexperience with Vue has become a very shoehorned implementation and anyone with any experience with Vue would likely turn away from the project with one glance at the code.
While working on FreeTube, I have had the opportunity to learn more about Vue.js within FreeTube and within other projects. I feel like I have a much better understanding of how a Vue.js app should look and I'd like to take advantage of that knowledge instead of continuing work on something I know is wrong. I will still make patches for the current code base when issues occur, but I wouldn't expect any major features to be included until the rewrite is finished.
I know that this may be disappointing to some, but I want to give an example on why I'm doing this (and why it's beneficial to do this for future updates). One of the biggest feature requests for FreeTube has been proper app navigation. The “simple” ability to have a back and forward button when navigating between pages is something that just isn't reasonable within the current code base. I would have to write custom logic to store where the user is navigating along with any parameters that that particular screen would have stored. This would be a ton of work for something that is built into a browser. Electron is already a browser, and I should start taking advantage of that.
The Vue rewrite will involve proper routing between pages and would allow for seamless usage of back and forward navigation when using FreeTube. Now, rewriting the app does take longer than making an improper navigation system, but the benefits outweigh the cons in that many other aspects of FreeTube would improve. The code base itself would be much cleaner to work with which will allow for faster development and maybe make the app more attractive to potential contributors.
I hope you understand my reasoning for doing this. It may be a while before you hear any more about this but it should be a very welcoming change in all aspects when it's ready. If you are interested in taking part of this rewrite, please let me know. I'm more than happy to have contributors involved during this.
As was mentioned in my last blog, I will no longer be providing .zip files for Mac. This is because of the issues that the .zip releases had with the new Catalina release. These releases have been replaced with .dmg builds, which I believe more users prefer anyways.
You can download the new release over at our website.
If you like what I do, please consider donating through Liberapay.
NOTE: Packages are not signed and your virus protection may take notice. Please check out the F.A.Q. for more info.