26th
Функциональность и цели спредуса
Функциональность- Работа с 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 в веб.
- г) Копилефт, что бы это ни значило.
- д) Дать возможность внешним источникам (чему угодно вне программы) помогать программе исполнять пунты «а, б, в, г»
Постарался написать все функции которые вижу необходимыми для нормального и независимого от чего либо функционирования спредуса, а также для построения сервисов основанных на взаимодействии с p2p сетью. Выглядит массивно, но интерфейс не должен быть комбайновым — в этом я вижу свою основную задачу.
ЦелиЧто бы понять откуда и зачем я записал ту или иную функцию, наверно, стоит показать цели существования программы: