Это не баян RSS

Archive

Sep
26th
Sat
permalink

Функциональность и цели спредуса

Цели

Что бы понять откуда и зачем я записал ту или иную функцию, наверно, стоит показать цели существования программы:

  • а) Дать пользователям стабильную (бесперебойную, независимую) возможностью быстро и бесплатно прослушать любой трек или посмотреть любое видео. (большинство функций относится к этому пункту)
  • б) Распространение открытых стандартов
  • в) Интеграция p2p в веб.
  • г) Копилефт, что бы это ни значило.
  • д) Дать возможность внешним источникам (чему угодно вне программы) помогать программе исполнять пунты «а, б, в, г»
Функциональность
  • Работа с gnutella2: скачивание, обычное, параллельное, последовательно-параллельное для любых файлов
  • Воспроизведение на лету Ogg: theora (видео), vorbis (аудио), flac (аудио)
  • Поиск по p2p сети
  • Распознание музыкальных файлов с помощью muzicbrainz через муз.отпечатки (c последующей передачей такой информации тем, кто запросит)
  • Библиотека (по сути конкуренция обычным плеерам)
    • Поиск по библиотеке
    • Воспроизведение плейлистов xsf и rss (с поиском и скачиванием наперёд треков стоящих в очереди на воспроизведение)
    • Тегирование — для пользовательского поиска, для замены устаревшим плейлистам (даёшь тег треку (жанровый или какой угодно), а потом просто ищешь, получаешь список — это и есть плейлист)
    • Внутренний скроблер — (статистика публична) с возможностью закачать в себя скроблинг из last.fm
  • Работа с last.fm по логину (без пароля — рекомендации, любимые треки) или по логину и паролю (тоже + скроблинг, продвинутые рекомендации, добавление в избранное, тегирование)
  • Работа с подписями (защищаем своё жилище)
    • Личностная идентификация (человек по почте присылает тебе открытый ключ, а потом ты его ищешь, например по хешу и смотришь, как подписываются заголовки. только ты знаешь как его зовут, следовательно подписывается довольно безопасно)
    • Телефония!?
    • Чёрные списки
    • Доверительные поиски (ячейка сети при возвращении результатов поиска подписывает их своим ключом)
  • Автообновления через p2p с помощью подписей
  • Работа с браузером — поддержка протокола magnet в элементе video и просто как протокол (можно открывать в окнах браузера)
  • Конвертация на лету mp3 в ogg с возможностью и воспроизведения его на лету (mp3 файл помещается туда же куда и, например, exe файлы, а ogg — в библиотеку)
  • Конфертация видео форматов на лету в ogg (такая возможность должна подключаться «по требованию» — кодеки подружаются при соглассии пользователя при возникновении необходимости)
  • API для формирования событийной ленты как в френдфиде, фейсбуке для событий которые могу быть опубликованы с безопастностью для пользователя (например лайки) (сохранение это ленты во внутренней базы с первых версий программы даже до появления api)
  • Сохранение информации об артистах с last.fm в кеше и передача её по запросу. (биография, похожие артисты, теги, популярные песни и пр.)
  • Сохранение информации о треках с last.fm и передача её по запросу. (похожие треки и др.)
  • Возможно поддержка технологии битторрент
  • Супер http бекедн. http://backendhubip/? (пригодится для оживления p2p во флеше; подробности позже)
  • Постарался написать все функции которые вижу необходимыми для нормального и независимого от чего либо функционирования спредуса, а также для построения сервисов основанных на взаимодействии с p2p сетью. Выглядит массивно, но интерфейс не должен быть комбайновым — в этом я вижу свою основную задачу.