GSoC 2016: The adventure begins

Hello! I am Razvan, a technology & open-source enthusiast and I am working on what is probably the most interesting project for me so far, Nautilus. So far, this has been the highlight of my experience – lots of interesting things learned while coding and a great interaction with the community. This is mainly thanks to Carlos, captain of Nautilus, who always finds the time to help me and other contributors whenever we get stuck. On top of this, the funny chats with him and people from the GNOME community make contributing so much more enjoyable! Up until now I’ve been titled King of the TrashI’ve learned about some file system magic from Christian Hergert, and I’ve also been threatened by a katana-wielding GNOME samurai. Awesome, right?

For this summer I will be taking my contributions a step further as part of the Google Summer of Code program. The project I will be working on is integrating the default archive manager in GNOME into Nautilus. This idea in particular has a special significance for me, since it is what I first wanted to do when I came across Nautilus. Getting the chance to do this as a summer project is just amazing!

The goal of this project is to simplify working with archives by integrating the core features of file-roller in Nautilus, making decompression the default action for when opening a compressed archive. Alternatively, navigation through the compressed file like a normal folder would be possible as well. Compression and decompression will be handled internally by Nautilus using gnome-autoar, a library for automatically creating and extracting archives.

Compression and decompression need to become a transparent process to the user, minimizing interaction with archives. In the vast majority of cases, compressed files are just an intermediary point between the user and actual content. The user should have full access to this content right from the start, rather than being given the indirect means available now (for example, file-roller selectively decompresses files and stores them in a hidden cache). Also, since dealing with archives is actually dealing with files, the user should be able to do this from the file manager.

From the developer’s perspective, moving archive support to a library will allow for compression and decompression to be handled internally by applications. This should reduce the usage of file-roller so it can eventually be removed as an application.

With these goals in mind, there’s just one simple step left to do: coding it! and coding it well. There will be more posts from me detailing my progress, most likely every time I hit a milestone (or when I gloriously crash everything). Until next time!