Как скачать всю музыку из ВКонтакте?


Интервью с автором программы, эксклюзив для GreenTech Reviews

В: Что стало толчком написать данную программу?

О: История началась еще в 2009 году, когда социальная сеть ВКонтакте набирала
обороты. Я тоже зарегистрировался, как и все мои друзья. Но лично меня привлекало
огромное хранилище музыки. Каждый мог ее загружать в соцсеть, выкачав
нелегально целый альбом из торрентов. Благодаря этому получилась настоящая
библиотека аудиозаписей на любой вкус, каждый из пользователей мог слушать и
добавлять в свой плейлист любимые аудиозаписи. Ну и само собой возник вопрос,
как же оставаться с любимой музыкой в оффлайне. Так появилась программа
VkAudioSaver, которая
основывалась на парсинге html страниц с выдачей необходимых аудиозаписей.
Прежде, чем решиться написать что-то свое, я, конечно же, попробовал
вставлять различные скрипты в окно браузера, при этом появлялась прямая
ссылка на скачивание, сохраняющая файл не как “<Артист> – <Название>“, а как
абракадабру вроде 23e196ca3631.mp3. Да и вообще это крайне неудобно.
Другие браузерные дополнения не умели скачивать всю музыку целиком в
один клик, а также отображать качество аудиозаписей (с плохим как-то не
особо хочется скачивать, в итоге в лучшем случае с третьей попытки удавалось
скачать что-то годное). Кстати, наверняка каждый скажет: да полно этих
программ для скачивания музыки из контакта. Действительно, полно. Вот
некоторые из них попробовал. Скачал около 3 самых популярных на тот
момент. Ни одна из них не захотела работать через прокси, поэтому я
некоторое время был в замешательстве. Также одна половина из них не хотела
проходить авторизацию, другая половина имела просто отвратительный
корявый неудобный интерфейс. В общем, что уж там, я расстроился и написал
свое поделие, которое заслужило свое доверие и нишу среди любителей
скачивания музыки из ВК на рынке подобных программ.”
Но потом появились проблемы. Дизайн ВКонтакте менялся, соответственно
менялась структура html страниц и приходилось из-за каждой мелочи выпускать
новый релиз. Еще был недостаток, что программа написана на Делфи, которым я
увлекался за школьной скамьей. Приходилось взрослеть и использовать более
перспективные инструменты для разработки. Так в 2012 я взялся с мыслями все
переписать на C++ / Qt / QML и использовать REST API, любезно предоставленной на
тот момент Вконтакте. Первый релиз был в январе 2013 года. Также появилась
версия и для Линукс, т.к. я не пользуюсь Виндой вовсе, а аналогов для Линукс не было
вообще. Кстати, была проблема завести программу на OS X, там какая-то беда с
рендеррингом QML в Qt 4.8. Поэтому версии для Mac OS так и нет. Может в целях
практикума я попробую написать аналог на новом языке Swift 3.
В первую очередь писал программу для себя, под свои домашние нужды. Я ее
больше использую как онлайн плеер. А сидеть в огромном браузере и держать
специальную вкладку крайне неудобно, я ее попросту закрываю случайно. Но и
конечно же я делал это в первую очередь. Так, как мне это удобно. Здорово быть
программистом. Вот стоматолог, например, не может вылечить сам себе зуб так, как
он этого хочет. Или же парикмахер не может сам себя идеально постричь.

В: В интернете достаточно много сервисов и программ,
которые имеют схожие с своей программой функции, но
многие из них платные. Почему ты решил сделать
полностью бесплатной?

О: На самом деле я не видел нигде ни одного платного сервиса в сети. Платную
подписку предоставляют сервисы, которые заключают легальные соглашения с
правообладателями (Zvooq, Spotify, Яндекс.Музыка, iTunes и так далее). Построить
бизнес-модель монетизации на простом скачивании музыки невозможно, ведь она в
открытом виде находится прямо у вас на компьютере, когда вы ее слушаете в
браузере – она кешируется на файловой системе. Тоже самое происходит в
официальном мобильном приложении для ВК, музыку можно просто выцепить из
нужной папочки. Другой вопрос, чтобы предоставить удобный инструмент для
скачивания – так тысячи их, можно даже для разминки написать за 10 минут скрипт
на bash / python/ nodejs, который парсит ответ от API Вконтакте с музыкой и по
очереди выкачивает все в папку. Другой вопрос, что не каждый обладает такими
компетенциями. Но дополнений для браузеров хватает очень и очень много. Ну и не
стоит забывать о существовании тысяч аналогичных программ со схожей
функциональностью. У пользователя всегда есть выбор.
Почему бесплатно? Навязывать рекламу прямо в приложении, ну я не знаю.
Это ужасно на мой взгляд. Она сбивает с толку человека от основной цели и
вызывает лишнее раздражение и отвращение к продукту. Тут скорее выгода в
другом. Лично для меня это неплохой зачет в портфолио, что вот я не просто там
что-то где-то слышал про C++ / Qt и QML, а взял и довел до ума полноценный
продукт. По сути это инвестиция в свои компетенции, а перспективные компетенции
на рынке разработки ПО стоят немало денег.
Насчет денег, по факту я остаюсь даже в минусе, т.к. оплачиваю услуги
хостинга и доменного имени из своего кармана. Это чуть больше 500р в месяц. Одно
время на оф сайте была страничка для донатов, мол, можно на свое усмотрение
перевести денежку разработчику со словами благодарности. Но пользовалось это
малой популярностью, в среднем за год удалось зарабатывать аж целых сто рублей
за месяц. Я подумал, что проще в месяц покупать на 2 банки меньше пива –
получится то же самое.

В: Программа имеет интуитивно понятный интерфейс. Но чтобы
понять ее некоторый функционал, нужно прочитать помощь. Не
думал ли ты сделать более понятный интерфейс, который бы
сразу, на месте, показывал все возможности программы. Говорю
о поле поиска песен, работающем как переход к плейлисту
страницы или группы.

О: То, что вы в данный момент приходится наблюдать в программе – это типичная
ситуация, когда программисты придумывают дизайн. Это очень плохо. Правильный
цикл разработки – это когда есть отдельный специально обученный человек с
чувством прекрасного, умеющий в первую очередь думать, как же сделать все
красиво и удобно в плане UI / UX. Т.к. такого человека у меня нет, то приходится
довольствоваться тем, что имеешь. Я нашел какие-то красивые куски плееров на
Dribbble и Behance и слепил это во что-то одно. Безусловно есть юзабилити-ошибки,
но надо думать, как сделать все просто и понятно.
Касательно поиска групп и музыки друзей, это стоит вынести в отдельный
раздел с удобной навигацией по группам и друзьям. Вставлять ссылку, разумеется, не
совсем очевидно.

B: Единственной сложностью которая возникает при
использовании программы – это авторизация ВКонтакте, зачем она
нужна?

O: Авторизация позволяет получить доступ на управление и работу со своими
плейлистами. Однако она вовсе не обязательна – в программу встроен “стандартный
аккаунт”, который позволяет просто искать музыку групп / друзей (в том числе и
свою). Не каждый человек отважится вводить свой логин и пароль в форму OAuth –
авторизации, если существует малейшее подозрение, что все это может плохо
закончиться, или сама форма не настоящая. Кстати, и для параноиков придуман
способ авторизоваться без ввода логина и пароля.

B: Чего ждать от следующих версий программы? Появятся ли
новые функции?

O: Идей, безусловно, очень много. Есть отдельная страница, где я собираю в одно
место все свои идеи и пожелания пользователей (http://vkaudiosaver.ru/todo-list/).
Хочется иметь полноценную интеграцию с Last.fm, когда информация о треках и
альбомов конкретного исполнителя берется оттуда, а сам аудиоконтент из ВК. Также
не хватает поддержки кеширования уже проигранной музыки.
Есть другая проблема – отсутствие времени и мотивации этим заниматься.
Ведь это не приносит доход, основной доход приносит основная работа. А в
выходные как по мне гораздо важнее проводить время с любимым человеком, чем с
компьютером. Все остальное время ведь с ним я провожу на работе :)
Еще в последнее время нарисовалась проблема легализации музыки
ВКонтакте. Стали пропадать аудиозаписи. Причем, для меня определенная
добавленная в плейлист песня ассоциируется с конкретным периодом в моей жизни,
навевает определенные воспоминания. И тут бац, постепенно ряды стали редеть.
Приходится все добавлять заново. Но и они снова удаляются. Ну я молчу, что песен
группы “Кино” ни в каком виде нельзя было найти еще 3 года назад, что лишний раз
подтверждает, что Цой жив, пришел и защитил свои права.
Но сейчас после длительных судов с правообладателями нынешнее
руководство мейл.ру заключило ряд соглашений со звукозаписывающими
компаниями, отчисляет им денежку. Что это значит? В скором времени стоит
ожидать монетизации раздела аудиозаписей ВКонтакте. На сегодняшний день они
ввели в ограничение в свое API, где отдается далеко не вся музыка из плейлистов
пользователей. Фильтруется порядка 50% контента. Остальная музыка доступна
только на сайте и в оф мобильных приложениях. В итоге сама программа постепенно
теряет свою полезность.
А конкретно меня раздражает, что моя музыка выпиливается из плейлистов. Я
привык слушать музыку в онлайне из любого удобного места. Это удобно, облако,
синхронизация, все дела. Хочется сделать “вечные плейлисты”, когда музыка никуда
не выпиливается, а в случае пропажи пытается найти подмену аудиозаписи на
данный момент. Стоит задуматься об альтернативных источниках для поиска
контента, например, нелегальный сайт zaycev.net и так далее.
В общем, пока идея исправить небольшие косячки и сделать поиск по
группам / артистам с возможностью скачать все и сразу. Но когда это свершится – это
вопрос, не хватает времени на это. Может быть к Новому году сделаю подарок своим
пользователям :)
Могу по секрету раскрыть пару скриншотов текущей стадии разработки, я
начал делать визуальный поиск по друзьям, артистам и группам:
snimok-ekrana-125
snimok-ekrana-126
snimok-ekrana-127
snimok-ekrana-128
Кстати, пока делал годный скриншот, в очередной раз разозлился, узнав, что у меня выкосили из плейлиста весь Red Hot Chili Peppers, такая лажа никуда не годится. Пора задумываться о синхронизации “пока еще существующей музыкой” на дропбокс или еще куда-либо.

Автор статьи: Виталий Абрамович

Поделиться с друзьями