понедельник, 30 апреля 2012 г.

Smiler – это новый Bogr


В далеком 2009 году, в сентябре месяце, в России, МТС официально начали продавать HTC Hero, который и попал в мои цепкие руки аккурат 9 сентября, то есть за день до начала продаж. Но речь пойдет не о HTC Hero, а о том, что последовало за его покупкой.




Походив пару теплых осенних деньков с новым HTC Hero в кармане, вдоволь “попользовав” халявный мобильный интернет, который раздавала МТС по акции при покупке HTC Hero (еще бы, за такие деньги за которые она его продавала) я отправился на www.android.com, скачал SDK и IDE для разработки с целью написать что-нибудь для себя в частности и вспомнить как это - программировать в общем.
Тогда и появилась первая версия Bogr - программы для чтения Bash.org.ru (сегодня этот популярный в рунете цитатник называется Bash.im). Минимум графики, максимум простоты и стокового дизайна от Android - вот была ее философия. Таким Bogr был, остается и будет таким же.


Таким был самый первый Bogr, и таким же он будет



Время шло, после публикации на Android Market у программы появились первые активные пользователи, которые вместе с багрепортами присылали свои мысли по поводу того, как сделать Bogr лучше. Вместе с этим расширялась база источников, с которых Bogr мог брать цитаты, рос и его функционал. В настоящее время Bogr находится на хорошем счету у пользователей, пару раз я видел в общественном транспорте граждан, которые читали цитаты через Bogr.

И вот, настал тот момент, когда расти Bogr стало некуда, даже скорее не то чтобы некуда, а невозможно. Незатейливая внутренняя архитектура программы уже не могла нести на себе тот функционал, который ждали от нее пользователи и было принято решение начать разработку нового приложения, которое легко будет развивать и поддерживать.

После нескольких месяцев работы по выходным и вечерам, совместной работы с художником и переводчиком, специально приглашенных для этого проекта, появился Smiler



 

Стартовая страница Smiler в темном стиле

и в стиле для любителей светлых тонов


Smiler взял от Bogr весь его нехитрый функционал, и простой интерфейс. В добавок к этому возможности приложения стали значительно шире, не говоря уже о количестве источников (на момент написания статьи их было 142), интерфейс стал более дружелюбным, следуя последним рекомендациям по разработке приложений для Android. Нового в Smiler действительно много, давайте расскажу немного подробнее.

Первое, что пользователь видит при запуске программы - это стартовая страница, с которой можно быстро перейти к другим разделам программы. К слову сказать, стартовая станица не является обязательной точкой отправления, ее можно отключить, а точнее сделать стартовым тот раздел, который вам удобно, будь то список источников цитат или скажем сами цитаты (привет Bogr), ну об этом позднее. Итак, стартовая страничка или как принято  теперь это называть - Dashboard.

В настоящее время на Dashboard имеется шесть кнопок, в будущем их прибавится (благо развиваться есть куда). Расскажем немного о каждой, хотя подпись под кнопкой говорит сама за себя.


“Цитатники” -  тут все просто, нажимаем и получаем список выбранных нами для чтения цитатников (по умолчанию при первом запуске список формируется на основании установленного языка системы и списка по умолчанию). В списке цитатников мы можем запустить пакетное обновление всех источников или же запускать обновления только того источника, который нам более интересен. После завершения обновления, при наличии новых цитат, раздел будет отмечен слева маркером. Также тут можно настроить порядок следования источников в списке через контекстное меню, которое можно вызвать, удерживая палец на строке списка, в общем все как обычно.  Обычное меню, которое вызывается привычной всем кнопкой - тоже никто не отменял, из него можно перейти к настройкам источников, избранному или обновить цитатники.


 

Контекстное меню и меню по кнопке



Но вернемся к нашим баранам кнопкам. Вторая кнопка - это кнопка с названием “Нечитано”. Это то, о чем много просили в Bogr. В этом разделе собраны все цитаты со всех выбранных нами цитатников, которые помечены как новые. Следует сказать о том, что не всегда удается определить, является ли цитата новой или мы ее уже видели, там где можно определить новые цитаты источник имеет маркер [N], при просмотре его через настройки, ну к этому мы еще вернемся. Итак, в этом разделе новые цитаты, сортированные по источникам и дате добавления.



 

Раздел с новыми цитатами

Что тут мы можем делать? Да ничего особенного, разве что отметить все цитаты как прочитанные. Пункт меню - “Все прочитано” пометит новые цитаты как прочитанные и закроет раздел. Тут так же можно обновить источники цитат все разом, ну и контекстное меню для цитаты тут тоже доступно.

Кнопка "Избранное", как и следует из название, откроет раздел с избранными цитатами. В этот раздел попадают цитаты, которые мы пометили как избранные через контекстное меню, или нажав на звездочке справа над цитатой, повторный “тап” (повторное нажатие) удалит цитату из избранного. Список цитат в избранном не имеет звездочек, но цитату по-прежнему можно удалить через контекстное меню, так же цитату можно “расшарить” или скопировать ссылку на нее, если на цитату возможно получить прямую ссылку. К слову говоря, в избранном работает поиск по сохраненным цитатам.



 

Избранное, тут работает поиск.


Кнопка с названием “Последний” возвращает нас к тому разделу и той цитате на которой мы закончили читать в прошлый раз. Кнопка “Обратная связь” - постарается запустить Gmail - если его нет, то другой почтовый клиент для того, чтобы вы могли высказать все, что думаете на счет Smiler непосредственно разработчику.

Кнопка “Настройки” - запускает настройки, конечно же =), как и следовало ожидать.

Осталось рассказать о самом чтении цитат. Тут все как и у Bogr - только лучше. Цитаты так же идут друг за другом списком, как и на сайтах, с которых они берутся. Цитаты подсвечиваются маркером слева или цветом заголовка, если Smiler смог понять, что они новые. Из окна чтения цитат можно обновить текущий цитатник, используя популярный нынче жест “Pull to Refresh” или по старинке нажав по значку в верхней панели или уж совсем консервативно - через меню.


 

Чтение цитат, Альма-матер или ради чего все затевалось


В Smiler на начальном уровне (главное, что заложен уже) реализован механизм навигации по цитатникам, то есть вы можете как в браузере осуществлять поиск по цитатам или переходить на любую страничку - сделав, если хотите, закладку на текущую, чтобы потом к ней вернуться. Со временем навигация будет работать везде, где это возможно, нужно только время. Стоит отметить, что навигация работает и будет работать на ресурсах, которые позволяют осуществлять постраничную навигацию. Понятное дело, что, например, для разделов в стиле “Случайные” или “Топ 100” о навигации речи идти не может.  Переключение между разделами реализовано жестом “Swipe” или по-нашему  “Сдвиг”. Любители потыкать пальцем в экран могут смело давить на иконку со стрелкой в верхнем левом углу - откроется список цитат, если мы открыли раздел из него. В тех цитатниках, в которых имеется возможность осуществлять поиск без особых “приседаний” - поиск работает.



 

Навигация по страницам и переключение между разделами


В Smiler реализована автоматическая загрузка и дополнение списка цитат, если вы дочитали его до конца. Ресурс позволяет загрузить следующую страницу, прямо как в Google Play =). Это, по-моему, удобнее, чем нажимать на кнопку, к тому же можно так загрузить хоть 100 страниц и потом их читать, если вы на даче с родителями, а интернета нет или в метро =). Контекстное меню, точно такое же как и для списка цитат раздела “Нечитано”.

Осталось ознакомиться с настройками, их много и они нужные. Лично я люблю, когда программу можно настроить так, как мне надо, Smiler умеет приспосабливаться к пользователю. 

Главный экран раздела с настройками приложения условно состоит из следующих разделов:
Настройка источников цитат и базы цитат, Настройка автоматического обновления и Настройка интерфейса и  раздел Обратная связь, который содержит форму для отправки отчетов, список изменений и управлением режимом отладки. Ну вернемся к главному - Каталог источников цитат.

На момент написания обзора (повторюсь) каталог содержал 142 источника цитат. Источники объединены по группам, если ресурс крупный и многоязычный или по языку, на котором “вещают” ресурсы.

Заголовок группы ресурса содержит информацию о выбранных,общем количестве источников в нем и краткое описание группы.



 

Настройка каталога источников цитат

Настройка источников в Smiler точно такая же как и в Bogr. Хотим читать цитатник - ставим напротив него галку. Список цитатников помимо названия содержит еще названия языка, на котором написаны цитаты и служебные маркеры, о которых я упоминал в начале обзора. В первую очередь маркеры полезны разработчикам и тестерам, во вторую очередь полезны любому любознательному гражданину.
Маркер [M]- говорит о том, что раздел можно скроллить вниз, и загрузка будет автоматическая, почти все цитатники можно скроллить, за редким исключением (например Топ Бездны на bash.im), если раздел можно только обновлять, то на это указывает маркер [R].
Маркер [P] говорит о том, что у раздела есть возможность навигации по страницам. Маркер [U] указывает на то, что раздел попадает в автоматическое обновление.
Про маркер [N] я уже говорил, в цитатнике можно определить новые цитаты и они будут показаны.
Если стоит маркер [S] - то по цитатнику работает поиск.
Есть Маркер [В] - то можно ставить закладки.



 

Выбор цитатников


За группами источников находятся опция для отключения автообновления списка источников, полезно, когда источник перестал отдавать цитаты и  не надо обновлять программу, а достаточно обновить только источники. По умолчанию включено.
Тут же имеется возможность сделать резервную копию базы цитат и настроек и восстановиться из резервной копии.

Так же стоит сказать об оффлайн чтении. Если указать в настройках сколько страниц необходимо загрузить для чтения оффлайн, то в окне списков цитатников, в меню, появится пункт для перехода к оффлайн чтению, в котором доступна загрузка цитат для источников, которые поддерживают постраничную загрузку. Этот функционал еще будет совершенствоваться для того, чтобы стать интуитивно понятным пользователю, но пока так.

Автоообновление, тут все просто, указываем интервал обновления и способ оповещения. При нажатии на уведомление запустится Smiler и откроется раздел - “Нечитано”

Раздел Интерфейс содержит много настроек поведения программы и ее интерфейса. В принципе, настройки сами за себя говорят, поэтому вот еще несколько скриншотов.







Разные настройки


В данный момент Smiler поддерживает четыре языка (Английский, Русский, Французский и Немецкий) интерфейса, так что любители попрактиковаться в иностранном останутся довольны.

Как это не печально, но я вынужден был опубликовать Smiler на Google Play  как платное приложение и причиной тому является не жажда наживы как многие могли подумать. Опыт публикации Donate версии Bogr показал, что собранных средств за полгода не хватит чтобы оплатить работу переводчика, не говоря уже о гонораре художника, который под моим чутким  руководством рисовал графику для программы, за что ему отдельное спасибо. На Google Play Smiler стоит смешные $0.99, на которые в этой стране не купить и бутылки молока. Всего на  этот проект было затрачено примерно полгода работы по вечерам в ущерб другим моим хобби, общению с друзьями и самое важное - общению с семьей. За что прошу прощения у любимой жены и дочки, и говорю им большое спасибо за то, что поддерживали меня в моих стараниях. Так же выражаю огромную благодарность моим друзьям, пользователям ресурса 4pda.ru, которые принимали активное участие в тесте Smiler, и всем пользователям Smiler, которые после покупки приложения не поленились поставить отзыв на Google Play или написать мне письмо с замечаниями, предложениями или словами благодарности.


Мне хочется верить, что у Smiler будет светлое будущее. Он станет более функциональным, чем сейчас, более удобным. В первую очередь это зависит от пользователей, именно поэтому в программе так много мест откуда можно связаться с разработчиками.








Роман Казанцев.
karabox@gmail.com