Лайфхакер
Лайфхакер
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Куда поехать на выходные
Добрые новости
Стыдные вопросы
Есть мнение
Норм или стрём
Личный опыт
Объясняем за минуту
Сервисы
МакрадарТехнологии
10 сентября 2010

Интервью с разработчиками exLibris

Фото автора Konstantin Klimov
Konstantin Klimov

Интервью с разработчиками exLibris

Экслибрис — книжный знак с именем или эмблемой владельца книги и информацией о составе его библиотеки. Столь интересное название своему приложению дала молодая команда разработчиков из Ростова-на-Дону. Программа exLibris это читалка книг в формате EPUB с функцией загрузки произведений через iTunes, с помощью электронной почты или через web-бразуер Safari.

⚡ Новости из мира гаджетов, обзоры, гайды и не только — в телеграм-канале «Технологии | Лайфхакер».

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

Вчера в AppStore появилась новая версия exLibris. Наряду с некоторыми исправлениями, возможности ридера приросли опцией отключения сглаживания текста и расстановкой переносов для русского и английского языков. Воспользовавшись этим поводом, мы решили задать несколько вопросов создателям exLibris Михаилу Любимову и Алексею Гребенец.

Михаил, Алексей, что привело вас на платформу Mac, какие продукты Apple вы используете в повседневной жизни и работе? 

Михаил:

На Mac OS я пришёл достаточно витиеватым для программиста путём. Сначала моими инструментами были Windows и платформа .NET, после этого Perl и Linux. Два года назад директор нашей компании “Точка Кипения” предложил мне попробовать писать приложения под новую на тот момент платформу iPhoneOS. Естественно я не отказался :). С тех пор более интересного для себя направления я не нашёл. В качестве рабочей и домашней машины использую MacBook, которого вполне хватает для моих задач. Из мобильных устройств — пожалуй всю линейку iPhone и iPad Wi-Fi.

Алексей:

Мне по этому вопросу сказать нечего. Начал разрабатывать больше по воле случая =)

Когда iPad попал в мои руки, на меня самое сильное впечатление оказали три приложения: Weather HD, Alice и конечно iBooks. Назовите наиболее интересные программы, за счет которых iPad может “обыграть” любые устройства подобного рода, тот же Galaxy Tab от Samsung? 

Михаил:

Хотя я и не умею играть на музыкальных инструментах, первым iPad приложением, которое меня поразило, стало Magic Piano — весьма интересная реализация пианино, полностью раскрывающая мультитач возможности устройства. Из игр — это Angry Birds и Plants vs. Zombies. Что касается сравнений iPad c другими аналогичными по формату устройствами, я считаю это не совсем корректным. Каждое из подобных устройств имеет свою нишу на рынке.

Алексей:

Реально сложно говорить об этом не представляя себе как выглядит Galaxy Tab. А вообще сильный эффект был только от того что это “бальшой айфон”.

Как возникла идея разработки приложений для AppStore? Каковы ваши роли в проекте и кто участвовал в нем помимо вас? 

Михаил:

Учитывая, что в проекте нас всего двое, (да ещё и оба программисты) жёсткого распределения ролей нет. Есть задачи, которые более профильны для меня, и есть для Алексея. Все работы касающиеся серверной части приложения выполнены веб-программистами “Точки Кипения”. С дизайном нам помог Роман Мартиросян, за что ему большое спасибо! Идея назвать приложение exLibris пришла как раз от него.

Есть ли у вас еще приложения, помимо exLibris, уже выпущенные для мобильных устройств? 

Михаил:

Из уже выпущенных наиболее заметным было моё первое приложение iProbki, которое достаточно долго держалось в топе приложений русского AppStore и серия приложений литературного проекта “Этногенез” последние версии которого мы выпускали уже вместе с Алексеем.

Насколько сложно было начать работать с Objective C? С какими проблемами вы столкнулись на этапе разработки?

Михаил:

Особых проблем при знакомстве с Objective C не было. Язык достаточно прост для знающих основы C и понимающих принципы ООП. Сложности появляются при углублении в фреймворки идущие в составе iPhone SDK. Как обычно это бывает: 80% проекта выполняется за 20% времени. Остальное время — война за оптимизацию кода и борьбу с багами нижестоящих компонент. Отдельной трудностью также можно назвать поддержку обоих платформ iPhone и iPad, в частности самого слабого из устройств — iPhone 3G.

Алексей:

Сам язык Objective‑C очень простой по сравнению с С и С++. Вся информация относящаяся к различиям между С и Objective‑C помещается в одну wiki страничку, причем вам даже не нужно хорошо знать С, так как большинство возможностей языка С можно не использовать вообще. В Objective‑C нет таких проблем с управлением памяти как в C и нет сложностей с шаблонами как в С++. В целом это хороший современный язык, который можно смело ставить в один ряд с такими языками как Java или C#.

Там есть и свои сложности, в основном они относятся к стандартным библиотекам. Достаточно плохая документация (например некоторые функции могут возвращать только код ошибки, не сообщая ничего о её причине, причем описание такой ошибки часто не получается найти ни в документации, ни даже в гугле), часто неочевидные названия методов (например для того чтобы найти вхождение подстроки в строку вам потребуется использовать метод rangeOfString:, хотя название содержащее слово find было бы привычнее), сложность в модификации стандартного поведения некоторых компонент (некоторые вещи которые, казалось бы, должны делаться просто, доставляют много головной боли — например много усилий вы потратите если попытаетесь обвести компоненту UITextView рамкой).

Как возникла идея создать ридер для довольно заполненной ниши в AppStore? Возможен ли доход от приложения такого рода или это лишь проба собственных сил и возможностей? 

Михаил:

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

Ридеров в AppStore на самом деле не так уж и много. А для действительно качественных вообще хватит пальцев одной руки. Мы решили попытаться пополнить этот список своим приложением. Естественно кроме бесплатной версии читалки мы заинтересованы выпустить и платные (либо с платным контентом) приложения на базе созданного движка. Для этого сейчас мы ищем партнёров, желающих продавать свой контент (книги, журналы или любые схожие по формату публикации).

Алексей:

Идея была всегда. Первая читалка была реализована в приложении “Маруся”, читала разбитый на файлы plain text и умела только переходить по оглавлению (это было задолго до появления ibooks). Постепенно эта читалка улучшалась, пока в один прекрасный день не было принято решение попробовать перейти на отображение epub. Попробовали, получилось.

Доход от данного приложения конечно возможен, так как многим нужен движок для чтения книг. Ридер — это всего лишь возможность обкатать движок и подготовить его к интеграции в другие приложения.

Именно поэтому ридер бесплатен. Это всего лишь испытательный полигон =)

Приложения других разработчиков изучали долго и кропотливо. Смотрели на те функции, которые были в каждом из них (stanza, amazon, booq, ibooks, kobo, freebooks, i2reader и другие), смотрели на интерфейсы и отзывы. В некотором роде exLibris — это компиляции всего наиболее полезного из других читалок =)

IMG_0228.jpg

На чем было сосредоточено основное внимание при создании exLibris?

Михаил:

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

IMG_0234.jpg

Алексей:

Было 3 больших проблемы — парсинг epub’a (основные сложности связаны с парсингом css), отображение текста на плоскости (здесь сложности связаны с разбивкой элементов на страницы) и память. Памяти приложению не хватало всегда, и это ужасно замедляло процесс разработки.

С парсингом epub’a все сложно — дело в том, что стандарта структуры epub файла как такового не существует. Есть то, как делает большинство, но, тем не менее, часто можно встретить книги, где стили css не вынесены в отдельный файл и вставлены в заголовок каждой xhtml страницы, или книги в которых в принципе нет файла оглавления, или книги в которых весь текст (очень большой!) засунут в один файл.

Поэтому тут пришлось идти на компромисс, устанавливая список случаев когда читалка просто не будет открывать книги. Ну и конечно были сложности с парсингом css — поддерживать весь стандарт css — это очень сложная задача, пришлось выбрать только небольшое подмножество стилей.

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

Проблемы с нехваткой памяти начались наверно ещё до первого запуска (точнее первый запуск на устройстве не удался именно по причине нехватки памяти). Особенно ужасно дела обстоят на iPhone 3g. Невозможно держать в памяти разбитую на страницы книгу целиком (выбрасывается все кроме текущей главы), невозможно держать в памяти текст глав (а это значит, что сложнее осуществлять поиск). Экономить приходится буквально на всем. На текстурах, на текстовой информации, на вспомогательных контроллерах.

На данном этапе именно проблемы с памятью остаются самыми важными.

Каким образом был реализован 3d эффект для перелистывания страниц?

Алексей:

Технически, это действительно 3d эффект, реализованный с помощью openGL. Однако если присмотреться, то вы поймете, что 3d там нет =) На самом деле страница просто загибается так, …

Михаил:

Интересно, что большинство из тех, кто пытается реализовать подобный эффект в OpenGL начинают воплощать его в “полном 3D”. Мы пошли другим путём и обошлись без него. Если с первого взгляда получившийся эффект кажется естественным, то мы добились поставленной задачи и не будем портить магию объяснением её технической реализации :)

IMG_0235.jpg

Имеются ли в дальнейшем планы в отношении рынка AppStore, уже есть идеи по его завоеванию? :)

Михаил:

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

Алексей:

Планов полно. Жаль что в сутках только 24 часа.

Спасибо Михаилу и Алексею за интересные и весьма содержательные ответы на наши вопросы. Пожелаем им удачи и новых идей!

Страница приложения exLibris для iPad и iPhone (free)

Домашняя страница проекта exLibris.

Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
Это интересно
Не только стройматериалы: как экосистема «Петровича» закрывает все задачи по ремонту

Не только стройматериалы: как экосистема «Петровича» закрывает все задачи по ремонту

Реклама
Гид по здоровому весу. Что нужно знать об ожирении

Гид по здоровому весу. Что нужно знать об ожирении

Как начать заниматься спортом, если вы живёте в небольшом городе: 5 простых и доступных способов

Как начать заниматься спортом, если вы живёте в небольшом городе: 5 простых и доступных способов

Большая батарея, мощное железо и яркий экран: делимся впечатлениями о новом iQOO Z11

Большая батарея, мощное железо и яркий экран: делимся впечатлениями о новом iQOO Z11

Реклама
Комментарии
Paul Dmitryev
10.09.10 13:30
судя по скринам - замечательная программа, жаль только минимум 3.2 iOS требует.
Anonymous
11.09.10 11:36
А почему жаль?
Anonymous
11.09.10 11:39
Кстати, 3.2 - это версия для iPad. Пока что единственная.
Михаил Любимов
11.09.10 13:45
Это приложение работает на обоих платформах iPhone и iPad. Исключением является iPhone2G, на который iOS 4 не ставится.
Что вы могли пропустить
Google создала карманный ИИ‑переводчик, которому не нужен интернет
Google создала карманный ИИ‑переводчик, которому не нужен интернет
0
Вчера
Новости
Устройства
Студент из Южной Кореи создал навигатор, прокладывающий маршрут в тени
Студент из Южной Кореи создал навигатор, прокладывающий маршрут в тени
0
Вчера
Новости
Технологии
Samsung разрабатывает дешёвую версию часов Galaxy с недельной автономностью
Samsung разрабатывает дешёвую версию часов Galaxy с недельной автономностью
0
Вчера
Новости
Устройства
9 вещей, которые не стоит делать при использовании общедоступного Wi-Fi
9 вещей, которые не стоит делать при использовании общедоступного Wi-Fi
0
Вчера
Технологии
Технологии
Huawei представила пауэрбанк на 12 000 мА·ч с функцией поиска без интернета
Huawei представила пауэрбанк на 12 000 мА·ч с функцией поиска без интернета
0
Вчера
Новости
Устройства
Sega выпустила коллекцию ретро-часов в стиле культовых приставок Mega Drive, Saturn и Dreamcast
Sega выпустила коллекцию ретро-часов в стиле культовых приставок Mega Drive, Saturn и Dreamcast
0
Вчера
Новости
Устройства
Американский стартап Deep построил на дне океана жилую капсулу для учёных
Американский стартап Deep построил на дне океана жилую капсулу для учёных
0
5 августа
Новости
Технологии
«Подключение не защищено»: сайты российских банков перестали открываться в браузере — что делать
«Подключение не защищено»: сайты российских банков перестали открываться в браузере — что делать
0
5 августа
Технологии
Технологии
Huawei показала умные часы Watch GT 7 и 7 Pro с новыми режимами
Huawei показала умные часы Watch GT 7 и 7 Pro с новыми режимами
0
5 августа
Новости
Устройства
Huawei представила MateBook Pro S — ноутбук весом 798 граммов с автономностью до 18 часов
Huawei представила MateBook Pro S — ноутбук весом 798 граммов с автономностью до 18 часов
0
5 августа
Новости
Устройства
В Китае создали дрон‑светильник на «поводке» — для походов и пикников
В Китае создали дрон‑светильник на «поводке» — для походов и пикников
0
5 августа
Новости
Устройства
Одна оценка, разные плюсы: в DxOMark сравнили Oppo Find X9 Ultra и Vivo X300 Ultra — два главных камерофона года
Одна оценка, разные плюсы: в DxOMark сравнили Oppo Find X9 Ultra и Vivo X300 Ultra — два главных камерофона года
0
5 августа
Новости
Устройства
Google закроет «Google Ассистента» в сентябре — он уступит место Gemini
Google закроет «Google Ассистента» в сентябре — он уступит место Gemini
0
5 августа
Android
Новости
Что лучше — Poco X8 Pro или Poco X8 Pro Max
Что лучше — Poco X8 Pro или Poco X8 Pro Max
0
5 августа
Устройства
Устройства
Honor показала фитнес-браслеты серии Band 11 с GPS и автономностью до 26 дней
Honor показала фитнес-браслеты серии Band 11 с GPS и автономностью до 26 дней
0
4 августа
Новости
Устройства

Новые комментарии

Аватар автора комментария
Иван Иванов6 часов назад

0 / 0

А мне в какой-то степени зашла 4. Ненужная, с плохим экшном, но в какой-то степени самое правильное продолжение. Я слышал, что был вариант сценария, где Том в финале просыпается и идет на работу, вот 4 это оно и возведенное в абсолют и доведенное до абсурда. Это не тот стильный киберпанк на котором выросло мое поколение, но что-то в нем есть
Warner Bros. подтвердила разработку новой части «Матрицы»
Аватар автора комментария
Сергей Захаров8 часов назад

0 / 0

Вызывает некоторые сомнения Шаг3. 25 минут на сухой сковороде, на среднем огне? И собственного сока будет достаточно, чтобы не подгорело?
Трендовая паста с кабачками в одной сковороде
Аватар автора комментария
Андрей Андреевич9 часов назад

0 / 0

Если откровенно замучились решать вопрос (качает, но плохо; не качает; качало, но перестало) то пожалуй вот рецептик http://videohosting38.ru/youtube Да, клянчит донаты, но работоспособно! Кому это действительно помогло, поддержите плюсиком не спама ради, а а целью увеличения общественной пользы..
Как скачать видео с YouTube на любое устройство в 2026 году
Аватар автора комментария
Артём Березин13 часов назад

0 / 0

Снова начнутся необоснованные блокировки-перестраховки
Минцифры предложило механизм компенсаций жертвам телефонного мошенничества
Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

Реклама
Лайфхакер
Информация
О проектеРубрикиРекламаРедакцияВакансииО компании
Подписка
TelegramВКонтактеTwitter (X)PinterestYouTubeИнициалRSS
Правила
Пользовательское соглашениеПолитика обработки персональных данныхПравила применения рекомендательных технологийПравила сообществаСогласие на обработку персональных данныхСогласие для рекламных рассылокСогласие для информационной программы
18+Копирование материалов запрещено.
Издание может получать комиссию от покупки товаров, представленных в публикациях