To all FrostWire+P2P Geeks and Coders who want to join us
We've been working hard this past month on bringing up to speed our jlibtorrent bittorrent library, this should help make the library work even better across more android devices and desktop computers. Lots of issues were solved by the libtorrent team, and many other issues were found by java developers outside FrostWire who are already using jlibtorrent in production.
If you are an app developer, and you think your users could benefit from some behind-the-scenes bittorrent based p2p networking we strongly suggest you take a look at JLibTorrent, it's open source, it's free, and it's battle tested on millions of devices. The more computers we can get to join the DHT, the more we all gain.
As time passes and the libtorrent contributors keep working we are closer to having the largest and robust DHT network of the internet be IPv6 compatible and we're super excited about the possibilities for peer to peer computing this will bring, perhaps we'll be able to say good bye to those annoying NAT issues and take advantage of the DHT network in ways we've dreamed of the last half a decade.
Insanely Fast Audio Demuxing
Android users downloading large audio files from videos in YouTube will have a much much pleasant experience towards the ends of their downloads.
When YouTube sourced mp4 videos are downloaded for the purposes of audio by your FrostWire client, FrostWire extracts the audio portions of the file to create a new .m4a file (which is way better than an mp3), this process is called "demuxing"
We noticed this process was taking too long and also using more memory than necessary. Our awesome @aldenml
senior developer took the time to ditch the mp4 library we were using for demuxing and rewrote the demuxing code from scratch with efficiency in mind and the results are amazing. What once could've taken over 5 minutes in the case of large videos, now takes just a few seconds. We have not yet done proper benchmarking, but it's several orders of magnitude faster and now memory usage is capped to a non-blocking buffer of memory.
Improved/Easier to Maintain Music Player
Since February I've been working on a very challenging refactor branch that deals with eliminating a ton of repeated code on the audio player. In the process I've lost count of how many bugs were fixed with the audio player user experience.
You should now see consistent menus and actions across the UI, less crashes, and since there's less code from all this work our installer should be even smaller now. Less is more.
We are now expecting to move faster when it comes to fixing issues on the player now that I'm more familiar with the codebase, and now making a fix will be a lot easier as the abstractions used allow us to reuse code and make changes in a single place not in 10 places.
Song/File selection dialog
If you were ever so curious to past a SoundCloud Playlist URL, of a playlist that has tracks marked as "Downloadable" by content creators, you probably saw a dialog that showed you all the tracks FrostWire was about to download.
We had an intern (@votaguz)
do some work on this dialog and now it supports checkboxes and radiobuttons, so now you will be able to pick and chose what songs will be downloaded from a soundcloud playlist.
I'm in the process of integrating this powerful dialog with BitTorrent downloads so that you can pick and chose what files from a .torrent you want to download once FrostWire has fetched a .torrent file from a server or from the DHT.
Search architecture revamp
We've simplified, optimized and enhanced our search code so that we can finally offer you things like filtering, grouping and sorting of search results, expect a much improved search experience and not getting lost in many results with innovative tools we're currently experimenting in further releases.
Want to work with FrostWire?
We are looking for smart developers not afraid to code in different programming languages and tackle tough challenges. If you're looking for impact in the number of users your code will be running on, you'll probably have more impact on FrostWire than on a big company like Facebook or Google if you join us, we're a smaller team and your contributions will be more significant.
We work with: Java, Python, C/C++, bash, Ubuntu, MacOSX, Windows 10, Android, AWS, Git, Github, gradle, reddit, slack.
We don't care where you are, we just want you to breathe and love coding and understanding how operating systems, programming languages, garbage collectors, memory management, networks, compilers and runtimes work. If you have a passion for freedom of speech, no censorship and making the world a better place you will love working with us. And did we mention we don't have formal schedules? We're a worldwide team of coders, testers, writers, graphic designers, marketers trying to make the internet a more distributed network that empowers content creators and consumers worldwide.
We don't want your resume, we want you to start sending pull requests to see if you have what it takes, we don't want your Pull requests for free, we pay for them in Bitcoin. If you're interested [join us on github](http://github.com/frostwire/frostwire/issues
) and try to tackle one of those, try our apps on desktop or android, find something you don't like and fix it, code speaks louder than fancy resumes.