Прошло 11 недель с тех пор, как я впервые начал вести этот блог, чтобы следить за развитием Spotify Voice. Попутно я говорил о различных аспектах разработки приложений, таких как как работают API, работа с отсутствующими данными и документирование вашего кода. Я также рассказал о новых функциях, которые я добавлял по мере их разработки, таких как выпуск Spotify Voice, воспроизведение Spotify Voice в браузере (без необходимости открывать Spotify!) и добавление более 100 песен из Новая музыкальная пятница. Я потратил больше времени, чем я думал, потребуется для большинства этих функций, но я доволен тем, как они оказались: все они значительно улучшили взаимодействие с пользователем.

Это последний пост, и он подведет итоги последних 11 недель, надеюсь, с бантиком наверху! Конечно, это не означает, что я перестану работать над этим приложением, но, вероятно, это будет последний раз, когда я пишу об этом в блоге. Однако, прежде чем я остановлюсь, я хочу рассмотреть возможные функции, которые могут быть добавлены в недалеком будущем!

Быть добавленным

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

Заполнение плейлиста Spotify_voice без его ручного удаления каждую неделю: В настоящее время, если плейлист Spotify_voice существует в вашей учетной записи, когда наступит новая неделя, он не будет добавлять ни один из треков новой недели. Это работает таким образом, потому что я заставляю Spotify Voice воспроизводить список воспроизведения Spotify_voice, если он существует, а если нет, то он создает список воспроизведения. Поэтому вам придется вручную удалять плейлист каждый раз, когда вы заканчиваете его прослушивание, если вы хотите, чтобы плейлист снова создавался для New Music Friday на следующей неделе. Это явно нежелательное поведение, особенно в случае, если вы еще даже не закончили треки New Music Friday прошлой недели и, вероятно, еще не хотите удалять плейлист. Идеальной функциональностью здесь было бы добавление новых треков поверх песен, которые уже есть в плейлисте Spotify_voice. В этом смысле вы сможете сохранить треки с предыдущей недели, которые вы еще не слушали, и при этом иметь новые треки с новой недели.

Заставить Spotify_voice добавлять песни по дате — непростая задача. Как выбрать для сравнения разницы в датах? Давайте рассмотрим сценарий, охватывающий две пятницы: у вас есть песни, которые вы еще не слушали с первой пятницы, но сейчас вторая (новая) пятница, поэтому есть новая музыка. Если я решу проверить, является ли текущая дата одной, двумя, тремя и т. д. неделями старше даты создания плейлиста Spotify_voice, то это работает нормально, если я нажимаю кнопку «Воспроизвести новую музыку в пятницу» ровно каждую пятницу, но что произойдет, если я нажму на день слишком поздно? Тогда я не смогу добавить новую музыку, хотя у меня ее еще нет.

Приведенный выше сценарий — лишь одна из многих сложностей, связанных с выяснением того, как учитывать оставшуюся и новую музыку. Это, вероятно, будет самой сложной проблемой с точки зрения взаимодействия с пользователем, но это также будет одним из самых приятных исправлений.

Внедрение токена обновления. В настоящее время вы можете слушать Spotify Voice только в течение часа, прежде чем элементы управления мультимедиа перестанут работать. Я упомянул, что это одна из моих предыдущих записей в блоге, но я так и не удосужился реализовать исправление для этого: получение токена обновления. По сути, это просто означает, что мне нужно проверить, не прошло ли больше часа с момента выдачи исходного токена для вызовов API Spotify Voice. Если это так, то я отправлю запрос на другой токен, и средства управления мультимедиа будут работать как обычно, и вы не заметите ничего, что происходит за кулисами. Это одна из наиболее насущных проблем, поскольку некоторые люди слушают музыку в течение более длительного периода времени, и сбой Spotify Voice через час очень раздражает. В настоящее время обходной путь для решения этой проблемы — вернуться на целевую страницу и снова нажать «Начать», но это неинтуитивно и может быть улучшено путем внедрения токена обновления.

Добавление аналитики. После прослушивания всех треков для каждого плейлиста New Music Friday мне всегда было интересно, сколько треков я добавил из него на той неделе. Конечно, я могу просто отсортировать свой плейлист по дате добавления и подсчитать те, что были в эту пятницу, и на мой вопрос будет дан ответ. Тем не менее, я подумал, что было бы неплохо посмотреть, сколько песен вы добавляете из пятницы Новой музыки каждую неделю. Было бы интересно вернуться и посмотреть, какие песни вы добавили за эту неделю, и какие тенденции изменились с течением времени. Это, вероятно, потребует от меня реализации базы данных для хранения этой информации для каждого пользователя, так что это будет новая проблема.

Осталось песен. Небольшим, но полезным (я думаю) изменением было бы добавление области в пользовательский интерфейс Spotify Voice, которая сообщала бы вам, сколько песен осталось в плейлисте Spotify_voice. Таким образом, когда у вас останется 0 песен, вы не будете задаваться вопросом, произошел ли сбой Spotify, истек ли таймер токена или просто не осталось песен для воспроизведения. Я также хочу дать пользователям возможность скрыть эту информацию, если они не хотят ее видеть.

Соблюдение условий для разработчиков. У Spotify есть некоторые правила, касающиеся использования их приложения на других сайтах. Все обложки альбомов должны отображаться в исходном виде: без каких-либо изменений (например, округления). Также должна быть ссылка на песню на Spotify. В настоящее время Spotify Voice не изменяет исходную обложку альбома, но не связывает песню обратно со Spotify. Я думаю, что добавлю гиперссылку на обложку альбома, которая будет ссылаться на песню в Spotify, если щелкнуть.

Важно соблюдать условия любых сервисов, когда вы используете их продукт на своем сайте. Пиратство — это не круто (по большей части).

Примечание о мобильной функциональности

А теперь плохие новости: Spotify Voice, вероятно, никогда не будет работать (как многие думают) на мобильных устройствах, поскольку веб-плеер не поддерживается мобильными браузерами. Кроме того, создание мобильного приложения для Spotify Voice также не решит эту проблему, поскольку мобильные API не очень полны: они в основном действуют как пульт дистанционного управления для воспроизведения.

К сожалению, Spotify Voice в настоящее время не работает на телефонах, но если Spotify сделает веб-плеер совместимым с мобильными браузерами или сделает их мобильные API более надежными, я был бы рад заставить это работать на мобильных устройствах. На данный момент я позабочусь о том, чтобы использование Spotify Voice на рабочем столе было максимально удобным и интуитивно понятным.

Приятного путешествия: до следующего раза

Этот блог был потрясающим опытом для меня. Я должен написать о разработке моего приложения, а также объяснить вам некоторые концепции разработки приложений. Надеюсь, мои аналогии были полезны при обсуждении концепций разработки приложений. Написание о Spotify Voice также побудило меня продолжить его разработку, потому что я знал, что любой может использовать его в любое время. Поэтому я хотел, чтобы Spotify Voice был лучшим опытом для тех, кто его использует. Он прошел долгий путь с тех пор, как я был единственным, кто его использовал, но теперь я добавил функции, которые делают его лучше работающим приложением для широкой аудитории, а не только для меня. Я знаю, что беспристрастное прослушивание музыки — не самое увлекательное занятие, но я надеюсь, что вы все найдете применение Spotify Voice и продолжите его использовать (если будете)!

И помните, хотя это, вероятно, будет последний раз за долгое время, когда я буду вести блог о Spotify Voice, разработка будет продолжаться, пока позволяет мое школьное время.

(Последняя) Песня недели

You Make Me от Avicii [Spotify][YouTube]