graywolf's lair

Inhuman being's diary…

Tracking new anime series

| 74 Comments

Виникла ідея розробити таку собі автоматизовану системку на базі того, що зараз робить Finve на anime.univ.kiev.ua. Зараз – це просто файли на ФТП та RSS’ка що сповіщає про їх оновлення. Веб-систематизація його буде мати наступний вигляд:

Користувачі, або адміністратори можуть додавати пропозиції щодо закачки аніме, що зараз виходить (назва, короткий опис, тощо; і можливо не в самій першій версії, але точно буде можливість додавати аніме по ідентифікатору з anidb, а сайт сам імпортує всі поля). Інші користувачі можуть оцінити бажаність появи того чи іншого серіалу на ФТП. Серіали з високим і рейтингом будуть з’являтись на ФТП (ну, звісно, не лише вони – тут за бажанням адміністратора 🙂 ). Крім того, оскільки користувачу напевно цікаві будуть не всі серіали – можна буде зробити персоналізовані RSS, в яких будуть приходити лише обрані користувачем оновлення ФТП та каталогу. Можна поставити можливість нотифікації адміна на певний термін, що варто якись серіал прибирати з ФТП, бо він вже повний і лежить там більше певного терміну. Можна збирати статистику по зайнятому місцю, часу збереження фалів, тощо для комфортного моніторингу. Можна якось прикрутити також систему швидких замовлень вже старого аніме (те, що зараз іде через incoming) з можливістю нотифікації того, хто замовляв, що його бажання здійснено 🙂

Навіщо це все? Найцікавіше питання 🙂 З технічної точки зору для мене – це можливість спробувати на зуб web-фреймворк django в реальній розробці. Справа в тому, що я не можу робити щось більш-менш серйозне якщо цим ніхто, навіть я, не буде користуватись. А дійсно вивчити щось можна лише на досить складному проекті. Для Фінве – сподіваюсь зробити щось таке, що полегшить йому роботу (тут я по можливості виконаю всі бажання). Ну і, сподіваюсь, це буде корисно і для користувачів, оскільки вони зможуть швидко отримувати повну інформацію про аніме вихід якого вони відстежують та впливати на те аніме, яке вони качають. Але мну цікаво чи має сенс таке робити..? ^_^ ‘

Коментарі під катом…


Коментарі з FriendFeed’у

а чого ж, цікава ідея (тільки треба обговорити все ретельніше)
– minus-one

а головне питання: сформулюй однією фразою головну корисність? доступність аніме з одного фтп? – minus-one
перерозподіл аніме всередину IX-UA?
– minus-one

в чому головна привабливість сервісу? (окрім зручного інтерфейсу, це вже реалізація (саме цікаве))
– minus-one

Ну, зараз воно і так як би доступне з одного ФТП. Сенс одною фразою… Ммм… Щось типу інтерактивність та зручність роботи з anime.univ.kiev.ua. Якщо детальніше, то: а) заливати на ФТП речі, які дійсно бажані + буде якись опис та відгуки до того, що вже є, а отже можна прямо на місці дізнатись щось про серіали які там лежатимуть б) можливість зручного (автоматичного) та оперативного повідомлення про вихід нових серій в) детальна інформація про файл (кодеки, бітрейти, тощо – інфу можна буде тягати з anidb 🙂 ) ну і т.д. Взагалі у мене маса ідей, але не знаю наскльки вони потрібні. Одна з них, наприклад, автоматично перегенерувати торренти під реліз та викладати на якомусь відкритому трекері (наприклад, у Олостана: http://look.org.ua/torrent/ ), щоб розвантажити канал універу…
– graywolf

Взагалі дійсно – обговорювати є багато чого, треба якусь Вікі заюзати… Десь я бачив якийсь вікі-хостинг, яку на TechCrunch використовують.
– graywolf

тобто ти як би говориш: “нічого нового, просто інтерфес для anime.univ.kiev.ua”? (а у мене є концепція, що стартап повинний завжди привносити щось нове на грунтовному рівні, тоді він буде успішний) щодо торентів, до речі, дуже цікаво. (і той, не думай, я тебе ні в якому разі не розохочую! – все дуже цікаво і так; я просто обговорюю ^__^, намацую суть)
– minus-one

т. зору кінцевого користувача: я користуюсь anime.univ.kiev.ua, щоб уникнути подвійної витрати закордонного трафіка на торентах. це корисно на даному етапі, але не думаю, що за цим майбутнє…
– minus-one

до речі, а як тобі ідея з веб-трансляцією(!)? потокове відео тобто 😉 (і прив”язана до нього повнорозмірна скачка у навантаження)? (можна ж пофантазувати…)
– minus-one

поки що лише інтерфейс. поки що, на жаль, революційних ідей немає, але я над ними думаю… 🙂 просто більшість нового аніме зараз насправді з’являється на torrents.net.ua, але якщо просто релізити там, то це все незручно: поки оформиш реліз як треба (навіть з реліз-візардом вистачає ручної роботи), поки торрента заллєш… А якщо “вести” якись серіал, то взагалі страшне… перестворювати торрент, міняти заголовок, тощо. Коли слідкуєш за чимось, то поостійно треба залазити на сайт і дивитись (чи можна звідти видрати RSS конкретногої теми – не пам’ятаю, але точно можна отримувати нотифікації по e-mail, але туди тоді будуть сипатись всі коменти до тієї теми). НЕЗРУЧНО!!! ^___^ Стати повноцінгною заміною фалопомийок files.animezis.org.ua та torrents.net.ua не стати із-за того, що місця мало та, плюс до того Фінве сильно навантажить, причому поділитись відповідальністю він навряд зможе, бо за цей розділ на ФТП універу, наскільки я розумію, він відповідає персонально… Зате можна зробити такий собі елітний (тобто для обраних речей) та зручний сервіс поточного аніме.
– graywolf

запости все це собі на блог http://docs.google.com/View?do… (з коментарями) – там поговоримо
– minus-one

74 Comments

  1. пардон за дублі – на модемі, воно гальмує страшно, думав, нема зв”язку, перенатиснув…

  2. http://forum.anidb.net/viewtopic.php?f=11&t=5653&st=0&sk=t&sd=a&start=15

    теж цікава інфа до відома http api для анідб (xml) (в розорбці!)

  3. якщо простіше

    http://anidb.net/perl-bin/animedb.pl?show=xml&amp

    отримання xml по aid (по aname не працює) інші параметри запиту поки не знайшов, це ніде не документовано…

  4. >> Зараз можна розробляти і зовнішні функції і їх вивід (на папері, так бимовити,
    >> специфікацію, ну ти знаєш).

    Ну так я це і роблю. Кажу ж – для цього я спеціально спитав що вимагається від API, щоб прикинути як буде вигледіти його сторона, що дивитись в сторону користувача 😉

  5. Команду ANIME я напам’ять знаю з часів коли робив це для Перегляду-А. Там ще написано наступне:

    By name: must be perfect match of romaji/kanji/english/other/synonym/short name.

    Тобто звичайно, можна зробити по назві. Але очікуйте, що користувачі в 95% випадків невірно вводитимуть назву і так як нічого не отримають, то будуть лише дратуватися і звинувачувати систему.
    мінус-один, „інкапсулювати“ незручність звучить гарно, але чудес не буває, програмування — не магія. Як ви пропонуєте це зробити? Згенерувати всі можливі варіанти стрічки, яка містить те, що ввів користувач, а потім спробувати всі ці варіанти? 😆
    Я не проти можливості пошуку за назвою, але, як вже казав, майже всі майже завжди будуть робити помилки. Надія лише на короткі назви-скорочення, яких, на щастя, багато в анідб. Але їх не всі знають. Окрім того, я міркував, що ввести номер швидше і легше, ніж назву. І це дійсно так, перевірено на практиці — я додав вже купу аніме за номером в свою колекцію.

  6. процитую себе:

    “а те що часткового пошуку нема – це не так важливо, точну назву люди вже якось знайдуть… їм і так, і так шукати – то номер, то назву; різниця лише в тому, що номер вони можуть знайти тільки на анідб, а назву – будь-де в інтернеті! (причому навіть своєю мовою)…”

    повторю ще раз:

    —————————————————

    якщо шукати по id – треба спочатку іти на анідб, знаходити id

    якщо шукати по назві – можна піти КУДИ ЗАВГОДНО, правильна назва аніме є скрізь, скопіював і все.

    ————————————————-

    ви не бачите в цьому переваг?! о_О

    плюс частковий пошук, я впевнений, реалізувати можна, інакше б я його не зустрічав у інших сторонніх програмах. та навіть і без сторонніх програм – МОЖНА! просто це якість програміста і все – або ти знайдеш рішення, або ні…

    (хоча про частковий пошук я і не казав, то вищий клас, мені б просто пошук по назві).

    @graywolf
    тобі потрібні вже сторінки для коментарів 😉 http://wordpress.org/extend/plugins/paged-comments/ (і коли вони вже зроблять аякс-варіант?)

  7. Обернені коменарі прикрутив… Але звичайні. Аяксові не запахали 🙁

  8. обернені якось не дуже зручно – я бачив цей же плагін працює в “прямому” порядку (pages: 1,2,3 (а не 3,2,1)) і коментарі нові внизу (а не згори).

  9. на тому ж random curiosity…

  10. >>мінус-один, „інкапсулювати“ незручність звучить гарно,
    >>але чудес не буває, програмування — не магія.

    чудеса бувають і програмування – це магія.

    >>Як ви пропонуєте це зробити? Згенерувати всі можливі варіанти
    >>стрічки, яка містить те, що ввів користувач,
    >>а потім спробувати всі ці варіанти?

    що за абсурдний і неконструктивний хід думок? ясно, якщо ви настільки наперед налаштовані щось НЕ зробити – ви не знайдете рішення…

    і хоч я не наполягав саме на частковому пошуку по назві, але, добре, можна і це зробити “засобами комп”ютерного дива”. напр., якщо тупо в лоб, то існує же частковий пошук по анідб через веб, чи не так? чому тоді заважає його автоматизувати?!

    припустимо, я шукаю назву “The Tower of DRUAGA -the Aegis of URUK-“, і хоч убий не пам”ятаю її всю; згадується тільки якийсь drua… ок, я віддаю урл типу

    http://anidb.net/perl-bin/animedb.pl?show=animelist&adb.search=DRUA&do.search=search

    і отримую сторінку цього аніме. це ж працює, правда?

    то, значить, в крайньому випадку, це можна в лоб прикрутити до проги. а саме – програмно робимо такий запит і парсимо рез-т на предмет: чи повернулась одна сторінка, чи декілька, видираємо звідти назви, і далі по тексту (апі…).

    я не кажу, що це оптимальне рішення, ні – але це варіант! а ви “неможливо”… все можливо, це ж магія ^__^.

  11. Цей підхід відомий всім, але він категорично заборонений на анідб. Багато-хто на форумах анідб вже хотіли це робити і їм наполегливо порадили від цього відмовитися.
    Окрім того, навіть якщо це було б дозволено, то певні зміни в структурі сторінки аніме повністю знеможливили б універсальність такої дії — треба було б постійно слідкувати за можливими змінами в їх хтмл.
    Все зводиться до того, що для них настав час зробити щось через http і всі будуть щасливі. Хоча там і є тема про це, особливо бурхливого розвитку (взагалі будь-якого) цієї теми поки не спостерігається, нажаль.
    Визнаю, є такий варіант: нещодавно з’явився там один росіянин, сказав що хоче писати програмку-„клієнт“, де теж хоче шукати за назвами. Звісно, така сама проблема. Йому показали файл, за адресою, яка не афішується, де є всі назви. Тоді можна шукати частину назви в цьому файлі і так далі. Але проблемка в тому, що файл той не є „офіційним“, тобто немає жодної гарантії, щодо того, як часто він поновлюється, за якою адресою він буде і взагалі, як довго. Як на мене, то на таке не можна полягатися.

  12. Заради інтересу, ось посилання http://anidb.net/aplanetdump.txt. Але не варто використовувати це як основне джерело, я вже казав чому.

  13. Дякую. Але принаймні це значно збільшить шанс знайти потрібне частковим пошуком 🙂

    Вчора потестив знадений в інеті пітонівський сніппет видирання даних з AniDB. Залишилось тільки зробити високорівневу надбудову і вуаля: є бекенд для підтримки AniDB 🙂 До речі, я майже дійшов до першого Milestone. Залишилось лише зробити пошук ^_^ Буде чотири режими спискового перегляду (в списуовому доступна наступна інформація: назва основна та українська, опис, початок та кінець виходу, запланована та випущена кількість серій, кількість серій на FTP, ):
    1. Top10 по рейтингу (головна сторінка)
    2. Аніме, релізи якого є на ФТП
    3. Повний список відсортований по рейтингу. У фунці виводу закладена можливість сортування і по назві, але вона ще не прикручена до інтефейсу.
    Всі три види інтерфейсу підтримують розбиття на сторінки.

    Плюс по кожному аніме можна подивитись детальну інформацію, де до даних, що є в оглядовій версії додаються: назва японською, продюсери (producers з AniDB), жанри, тип і ще щось – вже не пам’ятаю точно що. Плюс виводиться табличка з випущеними серіями по аналогії з anidb: номер, назва, дата виходу. В останньому полі виводиться список релізів, які є на FTP з прямими посиланнями, якщо такі є.

    Ще нижче – коментарі. Але фейкові поки що. До речі, коментарі планується дозволяти писати всім, але прикрутити akismet’івський spam-фільтр. Та то вже потім.

    Також трохи підправив шаблон інтерфейсу, але ще не заливав картинку на сайт.

  14. http://anidb.net/aplanetdump.txt

    це значно гірший варіант – навантаження на сервер буде значно більше, якщо кожного разу цей файл скачувати, коли якийсь юзер захоче мати частковий пошук! 😆 (а якщо скачувати його не кожен раз, а один – то це просто сакс, бо пропадає інтерактивність – якщо щось змінюється на анідб, інфа застаріває).

    коротше, так як я казав в умовах відсутності нормального апі – правильніше буде.

    і я знаю, що на анідб таких підходів не люблять – але я також знаю, що всі на це плюють легко 😉 (головне не дуже напружувати сервак, щоб не забанили…) власне, я сам так робив (тільки не щодо пошуку), поки не переїхав на анімелист. і зараз я так само роблю з анімелистом – парсю їхній html собі на блог (список останнього скачаного аніме). і так, бувають зміни оригінального html – приходиться виправляти (2 рази таке вже було); але ж це все деталі, вони сховані від користувача – з цим можна миритися… зате рез-т – “правильна”, up-to-date псевдо-синхронізація з анідб. а дамп – то фігня…

    і ще раз – частковий пошук не обов”язковий! можна і без нього, все рівно значно краще, ніж по id…

  15. Я згоден з тим, що за назвою легше, якщо її знати. А якщо користувач К не знає точної назви? Уявимо собі, що він пам’ятає лише уривок „drua“. Що тоді робити? К має знайти повну назву. Він або подивиться в знайомих йому аніме-ресурсах (1), або шукатиме через одну з пошукових систем (ґуґл) (2), або подивиться на анідб, де чудовий пошук (3, відділемо це від 1).
    У випадку з (1) все ніби гаразд, але є можливість помилок в назві, особливо на українських ресурсах, де люди, здебільшого, погано знають англійську.
    У випадку з (2) трохи краще бо помилок буде менше, але інколи взагалі щось важко знайти. Наприклад, я щойно спробував „drua anime“ і „druaga anime“ в ґуґлі і перший варіант просто нікчемні результати видає.
    Ну і якщо вже К знає анідб (3), що не маловирогідно, і шукатиме там, то за кількістю натискань клавіш легше ввести номер, ніж (довгу) назву.
    А остаточна мораль така: треба робити можливість і за номером і за назвою. Витягування з хтмл я все ж не розглядаю, бо люди просять це не робити і я особисто поважаю це прохання.

  16. Доречі, думаю, що виконувати щоразу пошук в анідб, а потім, можливо, перебирати усі результати пошуку важче для сервера ніж завантажити один статичний файл.

  17. Остання фотошопна редакція дизайну: http://graywolf.org.ua/wp-content/uploads/2008/04/anime-design-alpha2.jpg

    Думаю почну нарізати вже на версії 0.2. Хочеться тестові результати отримувати в гарному вигляді 🙂

  18. Щодо додавання нового аніме є одна задумка, яка мені подобаєтсья все більше і більше. Основна ідея – зручність користування сервісом, так? Найзручніша штука – відсутність необхідності реєстрації для виконання тих чи інших дій, з яких користувачам доступні: голосування, коментарі, додавання нового аніме. Анти-флуд обмеження прості: для голосування – лог ip-адреси (порівняно ненадійно, але краще аніж куками), для коментарів – akismet (плюс можна ще лімітувати кількість коментарів за одиницю часу), для додавання нового аніме – валідація на AniDB: перевірка дійсності назви та чи виходить ще воно (якщо вже давно вийшло, то не давати зафлудити базу). Тобто при додаванні аніме він спочатку попадає на сторінку де є лише одне поле з проханням вести назву, або ідентифікатор AniDB. Після того, як він це задає, виконується пошук і, якщо він вдалий, то з’являється форма додавання аніме, де частина полів (все, що можна витягти з анідб: основна назва, оригінальна назва, кількість серій, час виходу) вже має бути заповнена і користувач не матиме змогу редагувати їх, а частину пропонуватиметься заповнити користувачеві (наприклад, назва українською, опис та жанр). Плюс до того теж варто прикрутити антифлуд-контроль, аби не перевантажувати api-сервер anidb: не більше N анімех за годину чи добу, наприклад.

    Відчуваю, що майлстоун 0.2 в який попадуть і дизайн і anidb буде досить насиченим 🙂

    P.S. Зараз займаюсь версією 0.1.5 – рефакторингом коду версії 0.1: уніфікую та оптимізую схожі шматки коду для відображень (views). До речі, для повного списку потрібно буде ще зробити один тип сортування: по даті додавання в список, щоб користувачі могли бачити що додалось останнім часом та проголосувати за ці речі.

  19. я одразу казав, що ніякої реєстрації непотрібно…

    але все-таки куками краще (а ще краще ip+кукі, як це робить wp-polls).

    пане Савеленко: ви неадекватний. серйозно, давайте припинемо дискусію, яка зводиться до того, що краще: номер чи слово? я людина і мені краще слово. ви машина – і вам, можливо, краще число. користуйтесь собі числами. (тільки, заради бога, не пишить програм для людей…)

  20. взагалі-то по куках краще, тому що суб’єкт – це браузер, а не ip (за одним ip може бути декілька браузерів; плюс ip може бути динамічним). але підробляти таки з куками легше. та якось це має робитися…

  21. По кукам гірше, бо їх легко почистити. Тобто якщо хтось задасьться ідеєю набити чомусь рейтинг, то зробити це з куками – елементарно. З IP-складніше, бо треба ще проксі міняти, або якось там переконекчуватись, якщо ip-динамічний. Використовувати і те і інше було б непогано, але я це поки відкладу на потім…

  22. У зв’язку з перетрубаціями на роботі та хронічним браком часу розробку було призупинено більш ніж на два тижні, але зі вчора мну знову повернувся до роботи. Наразі реалізовано додавання аніме з lookup’ом по anidb. Поки що дещо кривувато, але вцілому працює. На завтра маю прикрутити перевірку обмежень: щоб додавати можна було лише airing серіали (або ті, що нещодавно були такими) і лише ті, яких ще нема в базі. Також почну працювати над завантаженням списку епізодів по XML-API та додаванню їх до БД.

    Оновлення та прикрутка дизайну відкладаються до наступного майлстону.

  23. Створив для цього проекту окрему статичну сторінку. Пропоную обговорення перенести туди. Думаю, так буде зручніше. Сама сторінка буде оновлюватись по мірі просування робіт.

    Адреса нової сторінки: http://graywolf.org.ua/projects/anime-now/

Залишити відповідь

Required fields are marked *.