После выхода первой версии HabraReader для iOS прошло уже 3 месяца — за это время мы провели большую работу по улучшению программы и сегодня хотим представить ее результаты для всех читателей habrahabr. Мы поработали над скоростью, исправили ряд досадных ошибок и добавили большое количество новых возможностей среди которых:
- доступ к различным разделам сайта, включая лучшее и свою ленту
- возможность добавлять/редактировать комментарии
- редактирование своей ленты
- голосование за пользователя или пост
- синхронизация избранного с сайтом
- возможность просмотра подробной информации по автору поста или самому посту
- настройка размера и типа шрифта по своему вкусу
- кэширование отдельных постов
- и многое другое...
Всем, кому интересно, добро пожаловать под кат (много скриншотов).
Новые возможности
Разделы
Прежде всего была переработана модель с целью поддержки различных разделов сайта. В итоге в левую панель был вынесен список со всеми разделами, а список хабов был спрятан за отдельную кнопку:
Кроме того, в настройки была добавлена возможность выбрать раздел по умолчанию, который будет загружаться при старте приложения. Это полезно, так как некоторые пользователи читают свою ленту, некоторые только тематические разделы, а у других есть время только на то, чтобы почитать лучшее за неделю.
Так же в данный список были добавлены пара виртуальных разделов со списком всех за кэшированных и прочитанных постов. Теперь, когда нет интернета, всегда без проблем можно найти все посты, которые сейчас можно почитать, а так же найти интересный пост, который вы читали совсем недавно, но не добавили в избранное.
Подробная информация
Теперь при тапе с задержкой на посте одним пальцем показывается подробная информация по этому посту. Эту же информацию можно получить при чтении самого поста.
Тут можно проголосовать за пост (только для авторизованных пользователей), добавить/удалить в избранное/в кэш/прочитанное, настроить внешний вид (об этом ниже), а так же узнать подробную информацию по автору поста. Таким образом, теперь есть возможность кэшировать каждый пост индивидуально.
Как видно на скриншоте, можно не только узнать подробно об авторе, но и проголосовать за него (опять же при наличии авторизации).
Настройки
Для каждого человека удобство гарнитуры и размера шрифта индивидуальны, поэтому мы решили добавить эти настройки в программу. Их можно вызвать из подробной информации по статье и изменить по своему вкусу. Также можно настроить шрифт независимо в списке постов и при чтении каждого конкретного поста:
Авторизация
Одним из самых больших изменений в новой версии стала поддержка авторизации и все новые возможности, который из этого следуют:
Прежде всего, авторизованный пользователь теперь может читать свою ленту в списке разделов и редактировать её! Делается это простым использованием переключателя во вкладке хабов:
Кроме того, теперь можно синхронизировать все избранное на устройстве с избранным на сайте. Причем поддерживается 3 режима:
- Объединение всего избранного на устройстве и на сайте. Будет построено объединение списка избранного с устройства и с сайта и затем все недостающие посты будут добавлены как на устройство так и на сайт.
- Установка списка избранного как на сайте. Текущий список избранного на устройстве будет удален и на его место загружен список с сайта.
- Установка списка избранного как на устройстве. Список избранного на сайте будет заменен на список избранного с устройства.
Так же можно добавлять комментарии при чтении статьи и голосовать за них:
Ну и, конечно, можно всегда следить за своим рейтингом и кармой.
Исправления
Первая версия страдала некоторыми детскими болезнями, которые мы постарались исправить.
Плавность прокрутки
Плавность прокрутки была не впечатляющей. Именно с исправления этого недуга мы начали разработку версии 2.0. Вначале мы выкинули обертку в PrettyKit-классы каждого поста, затем включили загрузку всех картинок до habracut сразу при загрузке постов. Для iPhone мы поменяли группировочный стиль таблицы на простой, что так же положительно сказалось на плавности прокрутки. Кроме того, мы значительно уменьшили интенсивность пересчета размера и layout'а для каждого поста, а так же оптимизировали внутренние кэши.
Реклама
Еще одним раздражающим моментом была реклама в списке постов, которая мешала нажать кнопку загрузки следующих постов. С ней мы поступили просто, переместив ее на экран чтения конкретного поста.
Заключение
Мы очень старались, чтобы новая версия понравилась и оставила бы только положительные эмоции. Надеюсь, все обладатели iOS устройств будут читать этот пост (и все последующие) уже через HabraReader и не остануться разочарованны.
Поддержку по программе можно получить тут.
Цена версии без рекламы снижена на 66%.
Само приложение можно скачать по этому адресу.
Автор: anton_ai_ivanov