Tracking new anime series
Виникла ідея розробити таку собі автоматизовану системку на базі того, що зараз робить 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
Comments
Білн, поки писав свій – поропускав купу твоїх коментів. Так, звісно, UA-IX колись точно відживе своє, але наразі поки варто витиснути звідти все, що можна, а там вже буде видно в якому руслі розвиватись далі… Хоча думаю по ходу реалізації цього проекту ідеї вдосконалення будуть потроху виникати виходячи з потреб користувачів
власне, в назві теми Tracking new anime series ти вже висловив основну суть – ти хочеш зробити, щоб було зручно слідкувати за поточним (і не тільки) аніме? це справді цікаво – адже все розкидано… і не треба прив”язуватися до України… і до anime.univ.kiev.ua… воно має бути в системі, але якось як окремий випадок, серед іншого (тобто має бути можливість додавати й інші фтп)
взагалі, це хочеш чогось схожого на зручну суміш анімелиста і тошьокану (кранчіролу)? щоб було ясно, що ти зараз дивишся (бажаєш дивитися)+де це взяти (зберігається онлайн)?
(згадується, до речі, розмова з паном Савеленком з уаніме-форуму
)
до речі, про аніме-листи – я зараз використовую зовсім інший підхід до цієї проблеми, абсолютно не такий, як пропонують анімелист чи анідб, чи пан Савеленко, чи xml-файл.
як завжди, виявилось, що “об”єктно-орієнтований” підхід більш живучий (я зараз поясню, в якому смислі я використовую це в даному випадку). я називаю більш “централізовані” підходи “процедурними”, а підходи при яких інформація зберігається прямо разом з об”єктом, про який вона, – “об”єктно-орієнованиими” (в широкому філософскому смислі
).
так от, про що це я? – у випадку з аніме досвід показує, що легше зберігати інфу про те, що ти дивишся, прямо разом з файлами аніме(!) на роботі ми активно юзаємо таку прогу, адобі брідж (adobe bridge), “місток” – це аналог файндера-експлорера, який дозволяє помічати файли (кольором, зірочками, ключовими словами)… так от, я вдома прикрутив його до аніме – напр., як подивився аніме, відмічаєш його зеленим кольором; і все – все видно і ясно. коли подивився все аніме, його папку помічаєш зеленим і все. потім тягнеш його на двд, і вся інфа зберіглася (брідж зберігає прихований файл у папці).
так от, як я бачу ідеальний варіант анімелиста: уяви собі такий брідж, але маленький, написаний на AIR, яким можна офлайн “помітити” файли аніме, яке подивився, зеленим (напр.) кольором, і який автоматично синхронізує цю інфу з май-аніме-листом, коли виходиш онлайн.
(але це трохи гм… офтоп)
>>
>> взагалі, це хочеш чогось схожого на зручну суміш анімелиста і тошьокану (кранчіролу)?
>> щоб було ясно, що ти зараз дивишся (бажаєш дивитися)+де це взяти (зберігається онлайн)?
>>
тут підхід багато гранний. і так, це одна з граней.
інша – щоб ФТП, які хостять нові речі, знали, що краще розміщувати у себе. якщо взяти ще глобальніше та інтегрувати з це все торрент-трекером – можна реалізувати таку ідею: є аніме, які хоче дістати багато людей. Перший, хто його скачає одразу якимось легким чином повідомляє про це сервер та створрює відповідний торрент. Лінк на цей торрент додається в RSS-стрічку новин, а у того ж uTorrent’а є фіча автозакачки торрентів, що приходять по RSS. Таким чином підписуєшся на сайті на RSS, додаєш собі у Watch List uTorrent’а і автоматично отримуєш всі нові серії по мірі їх виходу ^_^
Щодо Air-клієнту – ідея прикольна. Я б навіть взявся зробити, якби хоч трохи знав Флеш… А так просто занадто витратно для мене бувде по витраті ресурсів – багато часу піде на вивчення технологій Adobe. Але по-любому ідея класна. До речі, можна запропонувати її на сайті MAL Updater’а… Не обов’язково ж це робити на AIR, а отже може хлопці візьмуться…
перший, хто його скачає одразу якимось легким чином повідомляє про це сервер та створрює відповідний торрент
оо – тепер я починаю розуміти
ідея просто супер! (і нова – я такого ще не чув…) тільки питання – нафіга створювати торент, якщо можна просто поділитися тим, через який ти вже скачав? знов ж таки задля перерозподілу в ua-ix? хоча в перерозподілі є плюси, оригінал може стати недоступним… коротше, прикольно, давай роби, подивимось…
щодо Air-клієнту – тут проблема не тільки написати, сам сайт має надавати сервіс (двостороннє апі) для цього. взагалі в таких випадках клієнт має бути ніби “в комплекті” – тобто розроблятися разом із сервісом, як можливий інтерфейс – хто хоче, юзає веб, хто хоче – клієнт.
Ця ідея мені прийшла в процесі обговорення…
Вона, думаю, буде одією з елементів, які я буду реалізовувати
Цікаво було б ще почути, що Фінве думає…
це взагалі схоже на такий собі “торент-кеш”: якщо хтось щось нещодавно шукав – іншим вже шукати не треба… (воно зверху, базуючись на популярності); дуже прикольно – пошук відбувається “однократно”, а всі ним користуються. мені це все більше подобається… але треба спробувати реалізацію, поки не потикаєшся – не зрозумієш, працюватиме це чи ні…
а Фінве офлайн мабуть зараз.
мені цікава така основна функціональність (пропоную інтерфейс):
едіт-бокс – пошук по назві аніме (з тим, щоб далі його скачати (чи проголосувати за нього, якщо його ще нема) з мінімальною кількістю кліків)
кнопка add… (додати вже скачане аніме: вказується оригінальний торент -> новостворений торент -> (або за бажанням пропонується перезалити його на якесь фтп, якщо на нього є “попит”) -> повідомляється власникам фтп (можливо, торент автоматично ставиться в закачку) -> … – коротше це найскладніше місце, як перерозподілити без зайвих затрат скачане кимось аніме?)
аніме – чек-бокс “додати в рсс (див. нижче)”, кнопка “проголосувати” (якщо лінка на скачку ще нема (якщо є лінк – гоолосують скачуванням))… +
+ кнопка “сформувати рсс/мейл” – слідкувати за відміченими аніме
як перерозподілити без зайвих затрат скачане кимось аніме?
можна навіть так – якщо, напр., у Фінве (чит. “у будь-якого власника фтп на роздачі”) є можливість десь скачати торент, то людина, яка перша знайшла торент може навіть не скачувати його — вона робить “add anime…”, вказує торент, а він автоматично ставиться на закачку на цьому фтп (за наявності попиту), і після закачки людина його забирає з фтп.
Ну, принаймні українським тошьоканом і ще й соціальним (рейтинги, коментарі…)
а там щось ще придумається, думаю
одне з “10 правил успішного стартапу” (десь читав) – ні в якому разі не робити щось орієнтованим на локальний ринок. треба мислити глобально. (напр., воно може бути українською мовою, але в нього має бути закладено одразу можливість іншомовного інтерфейсу…) це я так, до слова.
взагалі, я так подумав на тверезу голову – найпотрібніше удосконалення фтп Фінве – це можливість слідкувати за конкретним аніме. але це ти можеш просто через рсс зробити… ну і веб-інтерфейс Фінве потрібний…
Не маю нічого проти подальшого розвитку ідеї. Просто щось глобальне і таке що дійсно привабить користувачівз різних країн зробити важко. Тому простіше почати з локального ринку (не забуваючи про потенційну можливість росту) та створити ком’юніті. Напевно у когось будуть якісь ідеї щодо вдосконалення, які будуть доречними не лише в локальному, а і в глобальному контексті.
Ага. Тепер залишилось дочекатись його самого, щоб дізнатись, що йому найбільше потрібно
ситуація така. роздача по ftp/http на нашому сервері – це так історично склалось. її юзають з двох причин: або закриті порти для p2p; або з позиції зменьшення рухів щоб щось закачати. сама ідея працює при не великому навантаженні, хоча ідеологічно – це не правильно, і місця у нас мало, і права на заливку мають лише вибрані. з іношого боку, як справедливо зазначав graywolf те що зараз робить на torrents.net.ua – це лайно: постійно треба дивитись, чи не оновили торент (ніякої автоматизації), роздаєтья з купою непотрібу в середині (титри), додаючи титри не разом з серіями “ламають” торент, із за чого треба перекачувати файл і ставити на роздачу. я вже не кажу про дублювання роздач, і з чими російськими войсоверами, над якими я бився пару місяці. ну то таке.
стосовно вашого проекту. якщо хочеш робити щось серйозне – треба щоб аудиторія було від 30-50 активних користувачів, бо інакше не отримаєш віддачі. і на стартап все це звісно не тягне, бо немає не те що новизни, але навіть кращого сервісу ніж в іншому місті, бо ви ж самі розумієте, що якщо десь кращий сервіс за ті ж гроші – то люди почнуть рухатись. після N-того прочитання всього що ви тут набалакали, вже якось сформувалась ідея.
треба робити акцент саме на ongoing-серіали, бо на інші варіанти не вистачить дискового місця. головною фішкою має бути швидкість появи нових серій на сервері (бо на тому ж torrents.net.ua серію може додавати лише людина, яке веде певний серіал). роздача “гарячих” серій, скажімо останніх 10* (залежатиме від кількості місця та кількості серіалів), буде іти як через ftp/http (не всі мають p2p) так і обов”яково(!) через торент, кожна серія окремим торентом(!). ( в мене вже давно є ідея зробити трекер аніме на anime.univ. але самі розумієте
) і суть в тому, що коли по виходу чергової серії якась зі старих затирається – залишається торент, причому старі торенти треба об”єднувати в один файл.
* хоча відчуває моє сердце, що там хоч би по 3-5 серій влізало, якщо представити великий вибір серіалів, а без цього ніяк, якщо хочете користувачів.
ідеальний варіант – це мати зовнішній канал і самим качати певні серіали, тим паче торент-файли можна брати через рсс з фансаберських сайтів. якщо такий варіант не пройде – тоді треба підключати тих, хто може заливати на фтп, потім генерувати локальний торент-файл і віддавати лінк на рсс. інакших варіантів не бачу.
стосвно інтерфейсу, django і все таке. все повинно бути мінімалізоване, бо по ідеї, люди які будуть використовувати сайт, приходять за продуктом, а не для розмов. хоча як показують мої спостереження, без обговорення чогось, людям не цікаво тусити на певному ресурсі. тут ще треба продумувати варіанти.
звісно має бути авторизація, для генерування особистих рсс-фідів по певним аніме серіалам, але і анонімні користувачі повинні мати можливість отримувати загальний рсс-фід по всім надходженням, і мати доступ до торент файлів.
стосовно торента та UA-IX, влаштовувати омеження на рівні ресуру я думаю не вийде, це треба робити на стороні користувачів. це певні нюанси через певні скиглення, проте торенти доступні з усього інтернету, і можлива роздача не по всьому інтеренету, якщо певні користувачі мають можливість роздавати не лише в UA-IX. а для тих хто скиглить – welcome ftp/http. як показує практика, більшість анімешників тусуються на якомусь ресурсів (форум з трекером, форум з фтп, irc не важливо на якому) і навіть маючи анім на світ качають звідти, якщо звісно вони не ідеологічно правильні, щоб качати з трекера/irc фансаберів.
Головна ідея сервісу: швидко, на рівні години-двох надавати можливість качати нові серії по ftp/http чи torrent переважно для UA-IX користувачів, але з прицілом на весь інтернет.
>>треба робити акцент саме на ongoing-серіали
це точно
>>кожна серія окремим торентом
взагалі, торент, як показує життя – найкраще рішення, розвантажується канал
>>стосовно інтерфейсу…
я ж кажу, якщо подумати, все що потрібно по великому рахунку – це до цього: http://anime.univ.kiev.ua/video/ додати рсс-іконки навпроти кожного аніме, щоб людина могла слідкувати за надходженнями обраного нею аніме. а для цього…
>>звісно має бути авторизація, для генерування особистих рсс-фідів по певним аніме серіалам…
…авторизація не потрібна, досить просто зробити окремі рсс по кожному серіалу
коротше, я бачу дві основні задачі:
1. організація слідкування за окремими серіями
2. організація системи рейтингів популярності (з тим щоб на фтп було завжди, скажимо, 10 найпопулярніших поточних серіалів, не більше)
я щось забув?
- інтерфейс випрацюється сам собою в процесі реалізації…
>> коротше, я бачу дві основні задачі:
>> 1. організація слідкування за окремими серіями
>> 2. організація системи рейтингів популярності (з тим щоб на фтп
>> було завжди, скажимо, 10 найпопулярніших поточних серіалів, не більше)
Для першого релізу вистачить. Зроблю поки для ведення серій на ФТП, але буду закладати на майбутнє можливість автоматизованої роботи з торрентами.
Отож ідея наразі така: користувач заходить на сайт і одразу бачить список з 10 топових анімех з коротким описом та рейтингами, які наразі супроводжуються на ФТП. Навпроти кожної є посилання на відповідну RSS-стрічку. При бажанні він може подивитись весь список запропонованого поточного аніме, проголосувати за якісь речі та прокоментувати, а якщо не знайде того, що він шукає – запропонувати своє. На кожній зі сторінок має бути пошук по базі аніме. В детальній інформації по аніме видно скільки серій його вже вийшло, скільки і які є на ФТП (з посиланнями) та інформація про кожен реліз (фансаббер, кодек, бітрейт, тощо). Для зручності адміністрування можна буде, наприклад, зробити так, щоб можна було аніме зливати на купу в incoming, а на адміністративній веб-морді натиснути щось типу “Autosort” і воно розпарсить їх імена і ті аніме, які зараз в Топі автоматично розкладе по відповідним каталогам. Для цього в адміністративній консолі потрібно буде описати в спрощеному regexp’і (щось типу “[#FANSUB#]_#ANIMETITLE#_-#NUM#_[#CRC]“) правила розбору імен файлів.
Приблизно такою я бачу пілотну версію. Виправте якщо що.
На версію 1.5 думаю розібратись з АПІ anidb та автоматизувати деякі речі.
В другій буду вже думати щось з автоторрентами, бо це буде дуже великий шматок роботи і якщо включити його в перший реліз – я загнуся.
звучить прикольно!
тільки визнач наперед формулу голосування – хай скачування аніме має більшу вагу, ніж просто голосування кліком…
плюс – роби все як сервіс, тобто щоб можна було потім отримувати якусь базову інформацію ззовні (типу апі в xml); напр. вбудувати табл. 10 топових аніме прямо в блог – хоч сюди http://finve.org.ua/anime_on_ftp/ , і щоб там були всі діла (рсс, голосування). одним словом, не просто веб-інтерфейс, а сервіс, з прицілом, що його легко можна присобачити кудись в інше місце (чи використати інфу якось по-своєму). це ж цікавіше всього, не?
Так, якесь хоча б базове АПІ я також включу в перший реліз
Потім навіть можна буде якісь віджети спробувати поробити для установки на інші сайти
Здоровеньки були! Цікава ідея. Хотів був поглянути на той сайт Фінве, але він наразі не працює.
Встромлю і своїх п’ять копійок. Перегляд-А (моя програмка) вже вміє додавати аніме через ідентифікатори анідб. Звичайно, таке можна зробити і для веб-сторінки, наприклад на Пітоні. Якщо цікавить лише інформація по аніме, то достатньо використовувати анідб-команду ANIME. Проте зробити все навіть для цієї одної команди — чимала робота. Я не кажу, що це дуже важко, але не треба недооцінювати це завдання.
Що буде далі? Вже просунулась трохи робота?
Привіт! Який той сайт? finve.org.ua? Він працює, але то ж просто його блог, а anime.univ.kiev.ua – не сайт зараз, а просто дерево папок.
Я розумію, що роботи навіть по такій дрібниці як взємодія з anidb вистачатиме, але це ж пітон – на ньому складні речі робляться просто
Поки що я прикидаю структуру класів для збереження даних (намагаюсь зробити більш-менш гнучко, щоб якщо що не довелось сильно перероблювати потім
) та читаю документацію по django. Цей етап враховуючи мою завантаженість думаю закінчити до кінця цього тижня і тоді вже буду писати реальний код.
Ясно. Скоріш за все в тебе IP не в UA-IX. Наскільки я знаю, доступ з-закордону до університетського ФТП отримати не можна, а оскільки anime.univ.kiev.ua це, фактично один з аліасів http://ftp.univ.kiev.ua, то…
Це уа-ікс такий ідіотизм! Інтернет є один і має одним залишатися. А такі речі створюють дратуючу сегментацію, інформаційну і фінансову, не знаю, що гірше.
сайт anime.univ.kiev.ua вчора вдень змінив ip адресу, всіх кого я питав вже мають доступ до сайту крім Савеленко та minus-one. Судячи зі статистики люди вже качають файли і заливають в інкамінг. якщо до завтра не розвидниться – будемо розбиратись
Ну у мене дійсно не уа-іікс адреса, отже, якщо те, що каже Вовк вірно, то не звертайте не мене уваги
Справа в тому, що КНУ – це солідна установа і якщо якимось чином певні організації помітять, що на ФТП КНУ містяться речі, захищені авторськими правами, то проблеми як ВУЗу, так і його обчислювальному центру гарантовані. Хоча здавалося б, що це малоймовіно – типу кому потрібен якийс там український ВУЗ в глобальних масштабах, але просто були преценденти і по менш дрібним причинам.
@minus-one: аніме – так, але сховище аніме – лише один з каталогів на http://ftp.univ.kiev.ua, а там чого тільки нема
@Shannar: почитав опис, ніби цікавий сайт, але зареєструюсь та подивлюсь детальніше вже з дому. А вікі поки в планах немає
@Shannar – це дуже погана ідея… я особисто в таке точно гратися не буду… ( це представники недружньої країни).
прикол в тому, щоб зробити своє, маленьке і приємне – graywolf хотів потренуватися
До речі, справа вже трохи зрушила з місця
Вже створено БД для аніме та голосів. Створив також каркас сторінки списку аніме. Щоб не бути голослівним ось скріншот. Але це без дизайну – лише опорні div’ки поки що виводяться з бордером, щоб було видно як воно в різних браузерах малюється). Вже понаступав на перші граблі, з’явились перші костилі…
Плани поки наступні (приорітетність вибиралась зщ урахуванням не стільки необхідності, скільки в порядку зростання складності вивчення та реалізації в Django; просто, я можу в чомусь серйозному надовго закопатись). Перші три етапи – суто інтерфейсна частина, ніяк не прив’язана до реальних файлів.
Milestone 0.1: список аніме, які ведуться на ФТП (на основній сторінці), та повний (з підтримкою сторінок та можливістю сортування за рейтингом чи назвою) на окремій. Інформація оглядова: назва, опис, час випуску, чи випускається ще, кількість серій (загальна, випущена, на FTP). Перегляд більш детальної інформації по кожній з них (до оглядовою додадуться нові поля типу жанру, студії, тощо). Думаю доробити до середини, максимум – кінця наступного тижня.
Milestone 0.2: Реалізувати можливість додавання нового аніме (або кастомізувати адмінку – дивлячись, що буде простішим в реалізації).
Milestone 0.3: Додати можливість коментарів.
Milestone 0.4: Створення інфраструктури для підтримки ведення серій та релізів.
Milestone 0.5: Прив’язка інфраструктури з п. 0.4 до реальних файлів. Можливо, сюди ж автосортування. Найбільш суттєвий шматок роботи…
Milestone 0.6: Прикрутка авторизації та градації рівнів доступу (до цього всі модифікації будуть доступні кожному).
Milestone 0.7: Підтримка RSS.
Milestone 0.7: Підтримка i18n.
Milestone 0.9: Обробка напилком всього попереднього
Milestone 1.0: Прикрутка остаточного дизайну сторінок та реліз.
Дизайн буде створюватись паралельно з усім іншим в окремому потоці. Може навіть буде вкручений задовго до релізу. Також десь там паралельно зроблю модуль роботи anidb – я подивився на його API… На пітоні там на пару днів роботи максимум. Але на якому етапі вкручуватиму – ще не знаю…
Отакі плани поки що на першу версію
виглядає приємно і просто ^__^ (думаю, волно ще обросте м”ясом в процесі)
я так розумію – це аніме, яке бажають бачити люди? не обов”язково присутнє як файл на фтп ще? тобто люди додають аніме (назву, не файл) – а вже потім воно в залежності від рейтингу кимось качається (Фінве?) і до цієї назви прив”язується файл, правильно? тобто основний об”єкт – це назва аніме, як на анімелисті, а не файл, як на анідб?
зауваження:
якщо робитимеш інтеграцію з анідб, заради бога, реалізуй його по назві, не по id, як це зроблено у пана Савеленка… бо нафіга тоді комп”ютер потрібний, якщо все-рівно приходиться возюкатися із цифрами? (там, до речі, пошук працює навіть по укранських назвах…)
пропозиція:
зроби view details на аяксі, щоб воно розкривалося вниз без перегрузки всієї сторінки. і коменти щоб так само можна було подивитись.
нагадування:
не забувай про api! було б дуже кльово, якби кожне окреме аніме можна було б отримати за однією адресою як xml разом з усіма ділами: лінком на файл, описанням, коментами; – щоб усе це можна було легко вставляти у свій пост на форумі, блозі і т.д… і при цьому щоб зберігалась можливість там же по місцю голосувати за це аніме. (це стосується не тільки одного окремого аніме, а і для десятки щось таке можна придумати). це не занадто?
Щодо списку, який буде на основній сторінці я ще роздумую. Можливо все ж будуть ті, які є на ФТП і буде ще окрема сторінка з Top Rated, може навпаки, а може взагалі якийсь суміщений список. Поки що виводиться Top 10 на основі голосів.
Основним об’єктом – так, буде Anime. Хоча там буде іти дерево: Anime містить декілька Serie, а Serie може містити 0..N Release’ів (читай файлів), але Serie та Release будуть більше допоміжними об’єктами – основа всього Anime.
Щодо AniDB зауваження приймається. Хоча я і справді хотів спочатку зробити прив’язку на основі ID
Але раз є таке побажання, то постараюсь зробити по “main” імені.
Ок. Деталі постараюсь зробити на Аяксі – вже трохи досвіду роботи з ним є
API теж додасьться десь на пізніх етапах, коли утрясеться структура БД, бо зараз я часто її міняю. До речі, поки до нього діло не дійшло – хотілося б почути пропозиції щодо API: тобто які можуть буть команди та параметри і яку відповідь (можна навести приклад
) хочеться отримати.
апі залежить від кінцевого рез-ту. якщо орієнтуватись на наявний розклад, то адреса типу:
anime.univ.kiev.ua/anime?id=123&mode=edit&так-далі
повинна повертати всі поля бд, пов”язані з цим аніме (як на стор. view details, грубо кажучи).
має бути xml-вихід для більш просунутих і прикольно було б мати ще якийсь віджет для вставки у форуми-блоги (окремого аніме чи топ-десятки).
плюс апі бажано, щоб було двостороннім, тобто має бути можливість, напр., проголосувати через апі (mode=view/edit) (ох, сумніваюсь я, що це буде користуватись попитом…) – в усякому разі, у віджеті має бути можливість голосувати… сам віджет має бути дуже простим з можливістю прикрутки користувацького css (хоча спочатку це не обов”язково). це може бути просто html з яваскриптом, а може бути флешка.
якщо коротко, то в ідеалі апі повинно повністю повторювати всю функціональність веб-інтерфейсу і повертати xml/html-яваскрипт.
ідея віджета – це має бути простий спосіб для будь-кого будь-де поділитися інфою про аніме, наприклад:
людина говорить десь на форумі і каже, “я зараз дивлюсь Мадлакс”, і при цьому додає лінк типу anime.univ.kiev.ua/anime?id=123&mode=view – і воно має показувати уривок про це аніме, маленьку фотку, трошки коментів про нього, лінк на файл на фтп, коротше компактно повторювати інфу веб-інтерфейсу.
або людина має мати змогу показати топ-десятку аніме на фтп Фінве лінком типу anime.univ.kiev.ua/anime?top
(ясно, на форумі має бути дозволений html, або треба придумати зовсім полегшений bbcode-варіант).
Ясно. Концепцію зрозумів – постараюсь зробити
P.S. До речі, за цією адресою буде проживати поточний збережений в JPG дизайн основної сторінки сайту, який я зараз потроху роблю в Photoshop’і.
не роби основний текст кольоровим – погано читається (чорний і відтінки ок). а ще, як на мене, забагато блакитного – забагато блакитних елементів, одноманітно…
Зробити пошук в анідб за назвою, а не за номером, мабуть, не вийде. Це не я такий впертий, це обмеження анідб. Якщо не вказати точну назву (або синонім, але теж точно), тобто без помилок і т.д., то результату не буде. Вони там на анідб полінувалися зробити часткове порівняння. Хоча зрозуміло, що це було б трози важче для сервера.
Гадаю нікуди тобі не подітися від номерів, Вовче
Ну і маленьке зауваження, бо дуже очі мусолить. Якщо ти вже вирішив робити англійською (навіщо? якщо хочеш „міжнародності“ додавай англійську пізніше, а не навпаки), то хоч не роби помилки. Слово series не означає „серій“, а „серіал(и)“. Якщо треба написати англійською „присутні 7 серій“, то треба використовувати слово episodes.
Про „апі“. Апі воно тому і апі, що неважливо, як воно працює всередині. Тому розробляти його вже можна зараз, незалежно від бази даних. Звичайно, реалізація апі залежить від структури і т.д.
Найпростіше, що хотілося б мати (і чого не має анідб) це запит інформації по певному аніме (в даному випадку про його стан в сховищі Фінве), але з результатом в простій стандартній формі, а не через UDP. Наприклад XML:
Popotan
…
5
ftp://….
Додатково, для бажаючих сайтів можна було б надавати файл з ява-скриптом-напівфабрикатом, який вони можуть доліпити до своїх сторінок і обробляти ці xml-фрагменти (через аякс, наприклад).
З іншого боку, бажаючі могли б робити програмки, які періодично роблять запит на такі фрагменти по аніме, яке цікавить користувача, і сповіщати його (наприклад, щоб така програмка жила в якості іконки біля годинника в віндовс), або я міг би вбудувати таке в Перегляд-А, якщо вже треба ![]()
Можна було б написати таку маленьку програмку сповіщення (наприклад на C#) і надавати її як стандартну „послугу“.
Гм, система не відображає xml, так як я хотів (тобто без обробки). Треба було використати ... Проте ідея зрозуміла.
Так, зрозуміло. Дякую за зауваження… Буду намагатись врахувати.
2minus-one: те, що текст буде чорним (або темно-сірим) то зрозуміло. Щодо синього, то не знаю… В принципі, мені так подобається, хоча є ідея долучити ще темно-зелений (болотний) колір для заголовків. Подивлюсь як воно буде виглядати…
2Савеленко: по API зрозуміло, але це зовнішній інтерфейс можна зараз розробляти (пропозиції щодо якого я і просив надати), а те, що воно буде видавати – це вже можна буде робити, коли формат даних утрясеться.
Серії виправив. Просто коли робив – ніяк не міг згадати як воно буде англійською – вилетіло з голови. Основа інтерфейсу робиться англійською зараз з двох причин:
1) латинські символи завжди корректно відображаються в усіх редакторах, а я для швидкого редагування файлів використовую FAR, який з юнікодом не дружить.
2) система gettext яка буде потім основою для підтримки i18n, наскільки я знаю зазвичай базується на англійських текстах. Може інші і теж можна, але не хочеться випадково наступити на зайві граблі. Коли я заллю це в інтернет, то буде вже сходу дві версії: українська (основна) та англійська. А можливо і російська – зрештою тексту в інтерфейсі не так вже багато ^_^
Ідею з XML зрозумів.
Внутрішній формат даних лише внутрішній. Зараз можна розробляти і зовнішні функції і їх вивід (на папері, так бимовити, специфікацію, ну ти знаєш). А потім вже робити відображення даних на цей вивід (а це вже частина програмування).
Про gettext не можу нічого сказати, бо це залежить від її варіанту. Аналогічна річ в Яві працює із всім, бо все в Яві (внутрішньо) — унікод, тобто так, як треба
Взагалі, все має бути унікодовим, так що час вижбурнути геть твій ФАР. Користуйся notepad++
апі анідб, поза сумнівом, зроблений огидно і через задній прохід. але вони робили з нуля, давно, коли порівнювати особливо було ні з чим, тобу це можна вибачити.
але це питання програмера – пристосувати свій клієнт до їхнього апі! програмер повинний інкапсулювати цю незручність (неможливість пошуку по назві) від кінцевого користувача. мені як юзеру по барабану, як ви це зробите – я точно впевнений, що це можливо! це ваша майстерність як програміста – знайти рішення…
(чорт, зараз піду, сам почитаю їхнє апі, якщо вже такі проблеми…)
почитайте
http://wiki.anidb.info/w/UDP_API_Definition
пошукайте там по словах
ANIME: Retrieve Anime Data
зверніть увагу
Command String:
by name
ANIME aname={str anime name}[&acode={int4}]
“по імені” – ясно?
а те що часткового пошуку нема – це не так важливо, точну назву люди вже якось знайдуть… їм і так, і так шукати – то номер, то назву; різниця лише в тому, що номер вони можуть знайти тільки на анідб, а назву – будь-де в інтернеті! (причому навіть своєю мовою)…
та я і взагалі згадав – я юзав штуки три клієнти по анідб якось; – ясна річ, там скрізь була можливість пошуку по назві…
http://forum.anidb.net/viewtopic.php?f=11&t=5653&st=0&sk=t&sd=a&start=15
теж цікава інфа до відома http api для анідб (xml) (в розорбці!)
якщо простіше
http://anidb.net/perl-bin/animedb.pl?show=xml&t=anime&aid=12
отримання xml по aid (по aname не працює) інші параметри запиту поки не знайшов, це ніде не документовано…
>> Зараз можна розробляти і зовнішні функції і їх вивід (на папері, так бимовити,
>> специфікацію, ну ти знаєш).
Ну так я це і роблю. Кажу ж – для цього я спеціально спитав що вимагається від API, щоб прикинути як буде вигледіти його сторона, що дивитись в сторону користувача
Команду ANIME я напам’ять знаю з часів коли робив це для Перегляду-А. Там ще написано наступне:
By name: must be perfect match of romaji/kanji/english/other/synonym/short name.
Тобто звичайно, можна зробити по назві. Але очікуйте, що користувачі в 95% випадків невірно вводитимуть назву і так як нічого не отримають, то будуть лише дратуватися і звинувачувати систему.
мінус-один, „інкапсулювати“ незручність звучить гарно, але чудес не буває, програмування — не магія. Як ви пропонуєте це зробити? Згенерувати всі можливі варіанти стрічки, яка містить те, що ввів користувач, а потім спробувати всі ці варіанти? ![]()
Я не проти можливості пошуку за назвою, але, як вже казав, майже всі майже завжди будуть робити помилки. Надія лише на короткі назви-скорочення, яких, на щастя, багато в анідб. Але їх не всі знають. Окрім того, я міркував, що ввести номер швидше і легше, ніж назву. І це дійсно так, перевірено на практиці — я додав вже купу аніме за номером в свою колекцію.
процитую себе:
“а те що часткового пошуку нема – це не так важливо, точну назву люди вже якось знайдуть… їм і так, і так шукати – то номер, то назву; різниця лише в тому, що номер вони можуть знайти тільки на анідб, а назву – будь-де в інтернеті! (причому навіть своєю мовою)…”
повторю ще раз:
—————————————————
якщо шукати по id – треба спочатку іти на анідб, знаходити id
якщо шукати по назві – можна піти КУДИ ЗАВГОДНО, правильна назва аніме є скрізь, скопіював і все.
————————————————-
ви не бачите в цьому переваг?! о_О
плюс частковий пошук, я впевнений, реалізувати можна, інакше б я його не зустрічав у інших сторонніх програмах. та навіть і без сторонніх програм – МОЖНА! просто це якість програміста і все – або ти знайдеш рішення, або ні…
(хоча про частковий пошук я і не казав, то вищий клас, мені б просто пошук по назві).
@graywolf
тобі потрібні вже сторінки для коментарів
http://wordpress.org/extend/plugins/paged-comments/ (і коли вони вже зроблять аякс-варіант?)
обернені якось не дуже зручно – я бачив цей же плагін працює в “прямому” порядку (pages: 1,2,3 (а не 3,2,1)) і коментарі нові внизу (а не згори).
>>мінус-один, „інкапсулювати“ незручність звучить гарно,
>>але чудес не буває, програмування — не магія.
чудеса бувають і програмування – це магія.
>>Як ви пропонуєте це зробити? Згенерувати всі можливі варіанти
>>стрічки, яка містить те, що ввів користувач,
>>а потім спробувати всі ці варіанти?
що за абсурдний і неконструктивний хід думок? ясно, якщо ви настільки наперед налаштовані щось НЕ зробити – ви не знайдете рішення…
і хоч я не наполягав саме на частковому пошуку по назві, але, добре, можна і це зробити “засобами комп”ютерного дива”. напр., якщо тупо в лоб, то існує же частковий пошук по анідб через веб, чи не так? чому тоді заважає його автоматизувати?!
припустимо, я шукаю назву “The Tower of DRUAGA -the Aegis of URUK-”, і хоч убий не пам”ятаю її всю; згадується тільки якийсь drua… ок, я віддаю урл типу
http://anidb.net/perl-bin/animedb.pl?show=animelist&adb.search=DRUA&do.search=search
і отримую сторінку цього аніме. це ж працює, правда?
то, значить, в крайньому випадку, це можна в лоб прикрутити до проги. а саме – програмно робимо такий запит і парсимо рез-т на предмет: чи повернулась одна сторінка, чи декілька, видираємо звідти назви, і далі по тексту (апі…).
я не кажу, що це оптимальне рішення, ні – але це варіант! а ви “неможливо”… все можливо, це ж магія ^__^.
Цей підхід відомий всім, але він категорично заборонений на анідб. Багато-хто на форумах анідб вже хотіли це робити і їм наполегливо порадили від цього відмовитися.
Окрім того, навіть якщо це було б дозволено, то певні зміни в структурі сторінки аніме повністю знеможливили б універсальність такої дії — треба було б постійно слідкувати за можливими змінами в їх хтмл.
Все зводиться до того, що для них настав час зробити щось через http і всі будуть щасливі. Хоча там і є тема про це, особливо бурхливого розвитку (взагалі будь-якого) цієї теми поки не спостерігається, нажаль.
Визнаю, є такий варіант: нещодавно з’явився там один росіянин, сказав що хоче писати програмку-„клієнт“, де теж хоче шукати за назвами. Звісно, така сама проблема. Йому показали файл, за адресою, яка не афішується, де є всі назви. Тоді можна шукати частину назви в цьому файлі і так далі. Але проблемка в тому, що файл той не є „офіційним“, тобто немає жодної гарантії, щодо того, як часто він поновлюється, за якою адресою він буде і взагалі, як довго. Як на мене, то на таке не можна полягатися.
Заради інтересу, ось посилання http://anidb.net/aplanetdump.txt. Але не варто використовувати це як основне джерело, я вже казав чому.
Дякую. Але принаймні це значно збільшить шанс знайти потрібне частковим пошуком
Вчора потестив знадений в інеті пітонівський сніппет видирання даних з AniDB. Залишилось тільки зробити високорівневу надбудову і вуаля: є бекенд для підтримки AniDB
До речі, я майже дійшов до першого Milestone. Залишилось лише зробити пошук ^_^ Буде чотири режими спискового перегляду (в списуовому доступна наступна інформація: назва основна та українська, опис, початок та кінець виходу, запланована та випущена кількість серій, кількість серій на FTP, ):
1. Top10 по рейтингу (головна сторінка)
2. Аніме, релізи якого є на ФТП
3. Повний список відсортований по рейтингу. У фунці виводу закладена можливість сортування і по назві, але вона ще не прикручена до інтефейсу.
Всі три види інтерфейсу підтримують розбиття на сторінки.
Плюс по кожному аніме можна подивитись детальну інформацію, де до даних, що є в оглядовій версії додаються: назва японською, продюсери (producers з AniDB), жанри, тип і ще щось – вже не пам’ятаю точно що. Плюс виводиться табличка з випущеними серіями по аналогії з anidb: номер, назва, дата виходу. В останньому полі виводиться список релізів, які є на FTP з прямими посиланнями, якщо такі є.
Ще нижче – коментарі. Але фейкові поки що. До речі, коментарі планується дозволяти писати всім, але прикрутити akismet’івський spam-фільтр. Та то вже потім.
Також трохи підправив шаблон інтерфейсу, але ще не заливав картинку на сайт.
http://anidb.net/aplanetdump.txt
це значно гірший варіант – навантаження на сервер буде значно більше, якщо кожного разу цей файл скачувати, коли якийсь юзер захоче мати частковий пошук!
(а якщо скачувати його не кожен раз, а один – то це просто сакс, бо пропадає інтерактивність – якщо щось змінюється на анідб, інфа застаріває).
коротше, так як я казав в умовах відсутності нормального апі – правильніше буде.
і я знаю, що на анідб таких підходів не люблять – але я також знаю, що всі на це плюють легко
(головне не дуже напружувати сервак, щоб не забанили…) власне, я сам так робив (тільки не щодо пошуку), поки не переїхав на анімелист. і зараз я так само роблю з анімелистом – парсю їхній html собі на блог (список останнього скачаного аніме). і так, бувають зміни оригінального html – приходиться виправляти (2 рази таке вже було); але ж це все деталі, вони сховані від користувача – з цим можна миритися… зате рез-т – “правильна”, up-to-date псевдо-синхронізація з анідб. а дамп – то фігня…
і ще раз – частковий пошук не обов”язковий! можна і без нього, все рівно значно краще, ніж по id…
Я згоден з тим, що за назвою легше, якщо її знати. А якщо користувач К не знає точної назви? Уявимо собі, що він пам’ятає лише уривок „drua“. Що тоді робити? К має знайти повну назву. Він або подивиться в знайомих йому аніме-ресурсах (1), або шукатиме через одну з пошукових систем (ґуґл) (2), або подивиться на анідб, де чудовий пошук (3, відділемо це від 1).
У випадку з (1) все ніби гаразд, але є можливість помилок в назві, особливо на українських ресурсах, де люди, здебільшого, погано знають англійську.
У випадку з (2) трохи краще бо помилок буде менше, але інколи взагалі щось важко знайти. Наприклад, я щойно спробував „drua anime“ і „druaga anime“ в ґуґлі і перший варіант просто нікчемні результати видає.
Ну і якщо вже К знає анідб (3), що не маловирогідно, і шукатиме там, то за кількістю натискань клавіш легше ввести номер, ніж (довгу) назву.
А остаточна мораль така: треба робити можливість і за номером і за назвою. Витягування з хтмл я все ж не розглядаю, бо люди просять це не робити і я особисто поважаю це прохання.
Доречі, думаю, що виконувати щоразу пошук в анідб, а потім, можливо, перебирати усі результати пошуку важче для сервера ніж завантажити один статичний файл.
Остання фотошопна редакція дизайну: http://graywolf.org.ua/wp-content/uploads/2008/04/anime-design-alpha2.jpg
Думаю почну нарізати вже на версії 0.2. Хочеться тестові результати отримувати в гарному вигляді
Щодо додавання нового аніме є одна задумка, яка мені подобаєтсья все більше і більше. Основна ідея – зручність користування сервісом, так? Найзручніша штука – відсутність необхідності реєстрації для виконання тих чи інших дій, з яких користувачам доступні: голосування, коментарі, додавання нового аніме. Анти-флуд обмеження прості: для голосування – лог ip-адреси (порівняно ненадійно, але краще аніж куками), для коментарів – akismet (плюс можна ще лімітувати кількість коментарів за одиницю часу), для додавання нового аніме – валідація на AniDB: перевірка дійсності назви та чи виходить ще воно (якщо вже давно вийшло, то не давати зафлудити базу). Тобто при додаванні аніме він спочатку попадає на сторінку де є лише одне поле з проханням вести назву, або ідентифікатор AniDB. Після того, як він це задає, виконується пошук і, якщо він вдалий, то з’являється форма додавання аніме, де частина полів (все, що можна витягти з анідб: основна назва, оригінальна назва, кількість серій, час виходу) вже має бути заповнена і користувач не матиме змогу редагувати їх, а частину пропонуватиметься заповнити користувачеві (наприклад, назва українською, опис та жанр). Плюс до того теж варто прикрутити антифлуд-контроль, аби не перевантажувати api-сервер anidb: не більше N анімех за годину чи добу, наприклад.
Відчуваю, що майлстоун 0.2 в який попадуть і дизайн і anidb буде досить насиченим
P.S. Зараз займаюсь версією 0.1.5 – рефакторингом коду версії 0.1: уніфікую та оптимізую схожі шматки коду для відображень (views). До речі, для повного списку потрібно буде ще зробити один тип сортування: по даті додавання в список, щоб користувачі могли бачити що додалось останнім часом та проголосувати за ці речі.
я одразу казав, що ніякої реєстрації непотрібно…
але все-таки куками краще (а ще краще ip+кукі, як це робить wp-polls).
пане Савеленко: ви неадекватний. серйозно, давайте припинемо дискусію, яка зводиться до того, що краще: номер чи слово? я людина і мені краще слово. ви машина – і вам, можливо, краще число. користуйтесь собі числами. (тільки, заради бога, не пишить програм для людей…)
По кукам гірше, бо їх легко почистити. Тобто якщо хтось задасьться ідеєю набити чомусь рейтинг, то зробити це з куками – елементарно. З IP-складніше, бо треба ще проксі міняти, або якось там переконекчуватись, якщо ip-динамічний. Використовувати і те і інше було б непогано, але я це поки відкладу на потім…
взагалі-то по куках краще, тому що суб’єкт – це браузер, а не ip (за одним ip може бути декілька браузерів; плюс ip може бути динамічним). але підробляти таки з куками легше. та якось це має робитися…
У зв’язку з перетрубаціями на роботі та хронічним браком часу розробку було призупинено більш ніж на два тижні, але зі вчора мну знову повернувся до роботи. Наразі реалізовано додавання аніме з lookup’ом по anidb. Поки що дещо кривувато, але вцілому працює. На завтра маю прикрутити перевірку обмежень: щоб додавати можна було лише airing серіали (або ті, що нещодавно були такими) і лише ті, яких ще нема в базі. Також почну працювати над завантаженням списку епізодів по XML-API та додаванню їх до БД.
Оновлення та прикрутка дизайну відкладаються до наступного майлстону.
Створив для цього проекту окрему статичну сторінку. Пропоную обговорення перенести туди. Думаю, так буде зручніше. Сама сторінка буде оновлюватись по мірі просування робіт.
Адреса нової сторінки: http://graywolf.org.ua/projects/anime-now/


Щодо веб-трансляції – ти читаєш мої думки
Просто транслювати з прямо з ФТП я наразі не уявляю як зробити, тому промовчав. А от атачити до кожної серії відео для ознайомлення з Crunchyroll чи Veoh було б класно. Але вони зщоправда не UA-IX, а у нас сервіс більше UA-IX орієнтований. Тому поки я не придумав як це нормально зробити, то промовчав…