By Aaron Hampshire

Meet Sergey "Snatsel" Davidoff

This interview with Sergey "Snatsel" Davidoff is part of a continuing series, highlighting the development team behind elementary OS.
Sergey lives in Moscow and has been involved with the elementary project since April 1st, 2011; he submitted his first patch the day elementary OS Jupiter was released. Since then he has become an integral part of the team as both a platform maintainer and packager as well as a blueprint manager and all around crazy Russian. In other words, he's one of the big-picture guys. If it involves elementary, it probably involves Sergey.

In this interview, we ask Sergey about his relationship with elementary, his infamous editorial on tabs, and most importantly, what's up with the Lion King? (Note: All artwork below was created by Sergey!)

What first drew you to elementary?
I believe it was the responsiveness and the level of polish of the OS. Besides, I had some experience with making Ubuntu derivatives by that time, but I couldn't find a project to contribute to that would make a real difference. I believed elementary OS would make a huge difference, and I saw I could improve it, so I've joined the fun.

How much time do you spend developing in general and on elementary, specifically?
It varies greatly over time. I may spend a few days in a row doing nothing but hacking, or may not show up in the IRC or touch the code for days.

My pet projects have lower priority than elementary because Luna is due for a release, so all my development time goes to elementary for the past six months or so.

My first introduction to you was an OMGUbuntu editorial on "why tabs must die." It was an interesting, outside-the-box assessment of window management and UX design. Do you still hold those views?
Yes. I still think that the client-side layer of multitasking (usually tabs) stifles innovation. If it would be handled by the shell, it would be much easier to try new approaches to multitasking. It would also eliminate some extra multitasking layers. For example, if we convert Firefox tab groups to shell-native workspaces, we avoid having several windows with tabs in them on the same workspace.

I was struck by a certain sentiment: "Don't take my tabs from me!" In other words, many were effectively saying "Let's maintain the status quo and reject thoughtful dialogue about innovative, intuitive, and efficient ways to do things simply because it's different." Do you think that's a fair assessment of the critique? And if so, why do you think many in the Linux crowd are so reluctant (or even fearful) to dialogue about progressive UX ideas?
For one, tabs as a UI element work fairly well for many use cases, e.g. in plain text editors or IDEs. I didn't make it clear enough that I'm not against tabs as UI element per se; it's the implementation that bothers me. The "don't take my tabs from me!" view is reasonable and does not conflict with the point I tried to communicate in the article.
I'm afraid GNOME users do have reasons to fear changes. GNOME2 was a tried and true environment; people trusted GNOME designers to deliver something at least equal in GNOME3. Looking at how many different shells and DEs we have now, compared to just GNOME/KDE/XFCE in GNOME2 days, it's obvious that people are unhappy about GNOME3 to this day. So being suspicious of radical UI changes is understandable.

Many in the community associate you visually with a Lion King avatar. What draws you to Lions in general and the Lion King in particular? Is it a childhood favorite or does it say something special to you as an adult?
Probably both. The lion used to symbolize a lot of different things throughout my lifetime. I gave up on finding the exact cause because it seems to change each time I found it.
Disney and Soviet animation was also the way of storytelling I grew up on. I believe animation is a very expressive medium. It's less restrictive than live action, although the line is blurring thanks to recent SFX advancements. Unfortunately, animation has been somewhat misused and underused during the past decade in my opinion; I even gave up on watching newly released cartoons during the 2000s. Fortunately the winds seem to be changing, with Dream Works releasing truly expressive and imaginative movies based on books, such as How to Train Your Dragon or Rise of the Guardians.

Tell us about your artwork.
Art is a tool of self-expression for me. I'm not interested in art for the sake of art and thus my skill level is much lower than what you'd expect from an actual artist.
Most of my drawings are emotional sketches. My inspiration doens't last long so I rarely finish big and tedious projects. My art is heavily influenced by that of Tailbrush, whose emotional and sincere works were a revelation and a countenance to me.

I also run a sketch-a-day blog to force myself to draw every day and keep from going terribly out of practice from time to time. I do not maintain an online artwork gallery because I don't think my art is of sufficient interest to anyone. There are quite enough good artists out there already.

What would you love to see implemented in elementary in the next year?
I'd love to spare the user the limitations of the filesystem, or rather the way it's presented to the user. Some applications already implement that, e.g. most music players present a content library sorted by metadata. The problems with this are code duplication, wasting resources on scanning for filesystem changes in every app and the data not being available outside any given app.

The solution I see is creating a system-wide content library managed by a system service, which any app can query via the same API. For example, music player would request music files, photo managers would request pictures, etc. This solves all of the above problems and allows creating e.g. a metadata- and search-based content selection dialog to replace the current "Open File" dialog. This system is currently codenamed LibraryKit; more info about it can be found at launchpad and related blueprints.

Tracker already implements something similar on Maemo, but unfortunately it doesn't scale well enough to be usable on desktop. Moreover, the Linux kernel itself is not yet suitable for such systems, e.g. there's no efficient way to track filesystem changes - inotify is too costly and doesn't scale, while fanotify and things like rlocate daemon are available only to superusers and cannot track deleting files.

I've been struck in these first few interviews by how thoughtful the elementary development team seems to be as a whole. Patience, humility, and open-mindedness seem to describe many on the team. Why is that? Do you think there is something inherent in the operating system that draws thoughtful individuals rather than the stereotypical Linux culture?
I asked some of the developers about this, and it turns out nobody really knows. We have a few theories, but none of them completely explain it. Also I can't say the "stereotypical" Linux developers are not thoughtful, in their own way. Without them being thoughtful and doing their part of the work very well we wouldn't have been able to do our part.