Войти

Или войди с помощью

Dev Story АйБлоги. История о ЖЖ-рейтингах

Dev Story
Информатор avatar |
АйБлоги. История о ЖЖ-рейтингах

ТЕКСТ: АЛЕКСЕЙ ОГАРКОВ. Не секрет, что площадка Livejournal является самой посещаемой блог-платформой Рунета. Большинство самых известных, интересных и читаемых дневников расположены там. Идеей создать топ записей блогов Живого Журнала я загорелся года 2 назад, когда после серии скандалов, связанных с накруткой рейтинга, Яндекс заявил, что вообще прекращает составление топа, но оставляет API, благодаря которому каждый желающий может создать свой рейтинг. Естественно, мой рейтинг должен был быть самым объективным и самым лучшим, и, разумеется, жизнь внесла свои коррективы: быстро набросав алгоритм составления рейтинга, я принялся долго и нудно «вылизывать» код, пытаться прикрутить различные фичи, даже создать разные рейтинги под разные интересы пользователей – всё это затянулось на полтора месяца, а когда я был готов выложить продукт в сеть, обнаружил (сюрприиииз!), что таких рейтингов блогов уже примерно 100500, причём появились они буквально несколько дней спустя после закрытия топа Яндекса.

Видимо, не я один такой умный оказался. Большинство этих топов канули в Лету буквально в течение нескольких месяцев, но я уже потерял интерес к этой теме и задвинул её в самый дальний ящик.

Второй раз я открыл его в октябре 2011. Связано это было, как можно догадаться, с приближающимися выборами в Думу, когда атмосфера в обществе накалилась до предела. Ежедневно в блогосфере появлялись десятки резонансных постов и мнений, но вот читать их было некогда: домой я возвращаюсь поздно и уставшим, а на работе начальство почему-то возмущается, когда я всего-то на часик решаю посидеть в жежешечке. Оставалось время в дороге, и вот тут я столкнулся с неожиданной проблемой – отсутствием приложения для чтения ЖЖ и рейтингом популярных записей.

Я облазал весь Appstore – есть только родное приложение LJ для авторов, а для читателей ничего. Для меня это было необъяснимо. Надо сказать, к тому моменту я уже купил себе долгожданный мак, и пробовал всякие простенькие программки писать, плюс подвернулось объявление на хабре о наборе в школу iOS программистов от фирмы e-Legion. Преподаватель у нас был очень крутой, но ученики разной силы, так что я старался работать по своему плану и спрашивать все, что возможно, у преподавателя. В айфон-программировании, конечно, самое полезное – это гугл, плюс мне попалась очень крутая книжка от Head First – IPhone and IPad development 2nd edition. Всем советую. В общем, я решил, что моим первым приложением будет именно топ ЖЖ – в конце концов, мне это просто самому интересно (я и вправду теперь пользуюсь приложением ежедневно).

Придумать название, как понимаете, было несложно: почему имя «АйБлоги» до сих пор оказалось никем не занято – для меня очередная загадка. Сущность приложения была понятна с самого начала – топ записей ЖЖ с сортировкой по методу составления: по комментариям, по количеству ссылок и т. д. Но этого мало. Глупо делать приложение из одной странички – хотелось сделать его сразу максимально удобным и функциональным. Из этого посыла сразу выросли три фичи: удобный просмотрщик записи, возможность быстро кинуть ссылку в твиттер или фейсбук и возможность забанить автора.

Со ссылками всё понятно: социальные сети без возможности шаринга – это нелепо. С экраном просмотра тоже ясно – у разных людей в ЖЖ применены разные стили оформления, не всегда они удачны, да и пестрящее разнообразие утомляет, поэтому нужно взять текст и картинки и показывать их просто, без авторских изысков, оставив пользователю выбор размера и начертания шрифта.

А вот на возможности бана хотелось бы остановиться поподробнее – он моя гордость, крайне удачный инструмент, приведший к тому, что мой топ записей теперь наполнен действительно гораздо более качественно, чем веб-рейтинги. Кто читает ЖЖ, тот знает, что там можно вывести в топ запись почти любого уровня: например, представители т. н. кремлёвских молодёжных организаций создали настоящий ботнет из своих журналов и выводят нужные записи в топ путём перекрёстных ссылок. Ну а лично меня всегда утомляло наличие в топах людей, являющихся, по сути, копипастерами – бесконечные перепечатывания материалов из сети господами ibigdan, teh-nomad и т. п. превращают блогосферу в филиал fishki.net, что, ИМХО, довольно уныло. Проблема в том, что в веб-рейтингах никуда от них не деться, половина рейтинга будет всё равно принадлежать не очень приятным для вас (или просто скучным) людям. Ну а в приложении избавиться от надоевшего автора проще простого – одно нажатие клавиши и его посты не будут показаны в рейтинге, их место займут следующие – очень удобно. Сейчас думаю над возможностью делать топ с учётом предпочтений пользователя по авторам.

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

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

Одно тянуло другое, все новогодние праздники, позабыв про оливье, сидел над приложением – прикрутил поиск по блогам (сам почти не пользуюсь, но это же вроде как часть обязательной программы) и рейтинг любимых записей пользователей: подумал, может, это будет интересно – знать, какие посты отметили избранными наибольшее количество пользователей, правда, спустя время думаю, что сделал огромную лишнюю работу – наверняка избранные записи будут во многом совпадать с самими топами. Ну, по крайней мере, подтянул знания по работе с no-sql базами. Кстати, о «птичках». Все самые серьёзные сложности в разработке я испытал в работе с API Яндекса: оно не позволяло тянуть данные прямо с айфона, потому что в нем отсутствуют возможности сортировки и выборки определенного количества и т. п. Поэтому я написал маленького бота, который собирает все, что есть в API, и кладет в облачную базу на Амазоне, откуда и тянет данные айфон, плюс пришлось написать парсилку постов LJ, так как в API отсутствовало описание поста, и, например, аватар. Парсилка понадобилась как раз, чтобы доставать эти данные. Амазонской базой Simple DB я очень доволен – все очень просто и удобно. К моменту завершения проги я переписал ее три раза, так как недоученность каждый раз давала себя знать в грязном и неудобном архитектурном дизайне. Но, набив шишек, я все расставил на свои места; придется, правда, еще раз все переделать под новый компилятор и для айпада, но это будет уже совсем другая история.

Вообще проблемы в ходе разработки были самыми разными – я не смог придумать, как засунуть в приложение комментарии. Их древовидная структура совершенно не подходит к экрану смартфона, да и выкачивать их пришлось бы вечность. В итоге принял решение показывать их количество и переходить к браузерному просмотру по запросу. Или внешний вид – вместе со знакомым дизайнером решили, что все управляющие элементы будут в очень тёмно-серых тонах: являясь как бы продолжением и сливаясь с чёрной поверхностью айфона, они всё внимание переносят на белое тело записи. Мысль о наличии белых айфонов не пришла в голову никому из нас до самого последнего дня.

В общем, несмотря ни на что, это было интересно и познавательно, а, кроме того, на выходе я получил приложение, которым сам пользуюсь постоянно – не частая удача в жизни программиста. Сейчас меня ждут исправления и улучшения, а летом думаю начать делать ещё одно приложение, о котором обязательно расскажу. Спасибо за внимание.

Сайт: iblogsapp.ru
Цена: $1.99 [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
4
undefined
iPhones.ru
ТЕКСТ: АЛЕКСЕЙ ОГАРКОВ. Не секрет, что площадка Livejournal является самой посещаемой блог-платформой Рунета. Большинство самых известных, интересных и читаемых дневников расположены там. Идеей создать топ записей блогов Живого Журнала я загорелся года 2 назад, когда после серии скандалов, связанных с накруткой рейтинга, Яндекс заявил, что вообще прекращает составление топа, но оставляет API, благодаря которому каждый...

4 комментария

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. Никита Горяинов avatar
    Никита Горяинов 12 апреля 2012
    0

    Картинка в тайтле напомнила Draw Something.

    Войди на сайт, чтобы ответить
    Ответить
  2. kr1k avatar
    kr1k 12 апреля 2012
    0

    Очень здорово. А иконку, правда, лучше сделайте в темно-серой стилистике.

    Если не секрет, основная работа связана с программированием?

    Войди на сайт, чтобы ответить
    Ответить
  3. deephead avatar
    deephead 12 апреля 2012
    0

    Потянулся уже покупать, но потом перечитал возможности и не увидел “писать комментарии” :(

    Войди на сайт, чтобы ответить
    Ответить
  4. a_l_1 avatar
    a_l_1 12 апреля 2012
    0

    Уважаемый автор! В Рунете есть такой замечательный сайт как Самиздат http://samlib.ru . Там начинающие и не только авторы выкладывают свое творчество. Анджеем Ясинским для среды windows написана программа отслеживания обновлений самиздата “Информатор СИ” http://samlib.ru/p/pupkin_wasja_ibragimowich/siinformer.shtml. Читатель загружает туда список своих любимых авторов, а программа показывает кто из них обновился. Из кросплатформенных аналогов есть только 2 программы http://sites.google.com/site/siinformer/home/alternativy, но они не очень удобны в пользовании. Красивых и удобных программ проверки обновлений Самиздата / читалок, разработанных для iOs – нет. Так что если будете искать идеи для своих следующих проектов – обратите внимание, полагаю, на такую программу будет спрос.

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.