uBooks — читалка книг для iPhone

    uBooks

    Я не ошибусь, если скажу, что у большинства пользователей мобильных гаджетов (телефон/смартфон/кпк) есть приложение для чтения книг, не обделены ими и пользователи iPhone, и вот сегодня я хотел поделиться с читателями Хабра небольшой историей о разработке приложения uBooks — надеюсь, оно займет должное место среди ваших приложений.


    Создание приложения


    Работа над приложением началась давно – это наш самый первый большой проект под iphone-os. Было сделано много исследований, т.к. язык Objective-C был в новинку нашим девелоперам, которые переходили на него с других языков (С, С++ и др.). Поэтому, к сожалению, времени на создание приложения ушло очень много.

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

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

    uBooks Screen 1uBooks Screen 2

    uBooks Screen 3uBooks Screen 4

    Вначале был разработан метод заливки книг в приложение через файловую систему iphone, т.е. с использованием сторонних браузеров. Но мы решили перестраховаться, и не дразнить цензоров apple этим фактом, чтобы не доказывать потом, что эти браузеры есть в appstore (тот же fileaid со ссылкой на diskaid). И тогда мы создали возможность заливки книг через wi-fi соединение, причем по двум протоколам: http и ftp. (Честно говоря, возможность подгружать книги через файловую систему осталась – достаточно перейти по такому пути — /var/mobile/Media/DCIM/uBooksLib :) ) В ближайшее время мы дополним варианты заливки, без использования wi-fi соединения.

    Также в ближайшее время мы расширим поддерживаемые форматы книг – к существующим .fb2 и .txt добавится html, и потом будет что-то еще.

    Итого, разработка и тестирование первой версии uBooks заняла несколько месяцев…

    Возможно кому-то будет интересно узнать, что в нашем приложении мы использовали следующие библиотеки:
    • FTP(DiddyFtpServer) – для организации FTP сервера
    • Cocoahttpserver – HTTP сервер
    • FMDatabase – обертка над SQLite.


    Штурм AppStore


    На этапе утверждения в apple тамошние цензоры не обошлись без неприятного сюрприза для нас – вначале наше приложение было отвергнуто. Причина reject-а заключалась в том, что мы использовали несанкционированные типы анимации при перелистывании страниц – наши девелоперы решили сделать приятное пользователям и добавили к трем общедоступным анимациям еще 3, взятые из приватных фреймворков apple. Правда, к чести самих цензоров, должен сказать, что это рассмотрение не заняло 2 недели и более, а всего 9 дней (в другом нашем проекте цензоры рассматривали приложение 21 день, прежде чем указали, что в нем не так). Конечно, мы быстро удалили неподобающие элементы и перезалили бинарник. Еще через 10 дней наше приложение было доступно в appstore!

    Лично я могу сделать вывод, что к теме читалок у apple более пристальное внимание, чем к ряду других (другое наше приложение – в теме travel), либо просто нам повезло и uBooks попал в руки более быстрого работника/работников apple.

    Результат


    Теперь любой из Вас может бесплатно (пока что) скачать наше приложение uBooks:
    http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=331005526&mt=8

    Если у Вас будут какие-то пожелания и предложения – мы с удовольствием их рассмотрим ;)

    P.S. В действительности, я сомневался к какому топику больше подходит данная статья, так что не судите строго, если усмотрели в статье слишком много саморекламы
    Поделиться публикацией
    Комментарии 79
      0
      Радует, что не «айБукс», вот только «юБукс» — не очень благозвучно ;)
        –1
        eBooks надо было сделать (или уже есть?)
          0
          Так оно так, еБукс, конечно, благозвучней :)
          Но ебуками называют специальные читальные девайсы, электронные книги.
            0
            eBooka

            По моему шикарно +)
          –2
          На WinMobile есть читалка с очень похожим названием — uBook.

          Кстати, u в начале — это по ходу µ (мю), по крайней мере так в µTorrent
            –1
            На симбиане все Ридерами зовутся. КуРидер, ЗэтИксРидер… :)
              0
              Ну, не только на Симбиане: AlReader, Adobe Reader, Microsoft Reader, MobiPocket Reader ;)
              +2
              на WM ИМХО лучший — ALReader. Название в стиле сибияновые читалок, ага
                0
                Я в курсе.
                Я к нему когда-то иконки рисовал :)
            –15
            читалка на яблочном телефоне! Ура товарищи! Ура! =)
              –2
              эээ, а что не было? O_O Сам видел народ, который с айфонов что-то читал.
                –14
                ну это могла быть и интернет страничка, слава Яблокам интернет работает прекрасно!
                  0
                  нет, это была точно книжка, но может быть в html.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    +1
                    это была рекурсивная шутка.
                    +8
                    А как же Stanza? Среди бесплатных ИМХО лучшая.
                      +7
                      ShortBook уже очень-очень давно есть и я его использую каждый божий день. Тянет книги с либрусека ;)
                        0
                        Аналогично, это была первая программа которую я купил в AppStore. Автору uBooks все равно респект — конкуренция это всегда хорошо.
                          0
                          это лучшая читалка из всех
                          бесплатная версия разрешает загрузку книг только с родного сайта
                          что обходится с пол пинка:
                          накидать в папку книжек, натравить туда апач
                          в телефоне прописать в /etc/hosts ххх.ххх.ххх.ххх www.shortki.com

                          даже как-то идея была сделать морду либрусека под айфон
                            0
                            а я сперва proxomitron использовать, чтобы перенаправлять запросы c shortki.com на lib.rus.ec, но быстро надоело прописывать прокси в настройках телефона, и комп нужно было держать включенным, и в пути книжку не скачаешь — через пару дней купил
                        +3
                        Проснись и пой. Читалок сейчас в AppStore вагон и маленькая тележка.
                        Из бесплатных:
                        iChitalka
                        uBooks (уже на втором месте в рейтинге бесплатных приложений)
                        Stanza
                        eRiader

                        Из платных:
                        ShortBook
                        i2Reader

                        и еще целая куча прог, которые мне даже было лень пробовать.
                        0
                        Молодцы, радует, что приложение Free. Один вопрос:
                        > Работа над приложением началась давно – это наш самый первый большой проект под iphone-os.

                        Представьте команду.
                          +5
                          Компания NIX Solutions Ltd.
                          +10
                          -нет глав
                          -нет номера страниц, только %
                          -нет коверов (обложки не загружаются, только превью) в fb2
                          -медленно открывает файлы
                          -столько рекламы я еще не видел. это просто песня, неужели появился безлимитный инет у всех?
                          -мало шрифтов, достаточно для простой работы но всётаки есть привычные )

                          -нет возможности сохранить книгу из телефона по http в комп

                          А так в целом для первого варианта неплохо даже очень.
                            0
                            Спасибо за конструктивные замечания.
                            Постараемся учесть их в следующих версиях.
                              0
                              картинки в fb2 видимо тоже не показывает?
                                0
                                картинки отображаются, а коверы — нет — они многих раздражают, возможно будут «опционально» отображаться, этот функционал завис в обсуждении…
                                  +2
                                  О_о Ткните пальцем в такого… нелюбителя обложек!..
                                0
                                Жесть ребята, вы не могли покрутить до этого haali reader и FBReader?
                                  +3
                                  Или хотя бы ShortBook.
                                    0
                                    Или PalmFiction на PalmOS, до сих пор надеюсь что хоть кто-то реализует все его фишки для iPhone, имхо лучшее что было вообще из всех читалок на всех PDA
                                0
                                А в платной версии тоже столько рекламы будет?

                                p.s. спасибо за программу, потестим намедни.
                                  +1
                                  В целом читалка удобная, спасибо.
                                  Хорошо, что можно самому менять шрифт, цвета и т.д. — в первую очередь полез именно туда)
                                  С пролистыванием и landscape тоже все ок.
                                  Единственное, хотелось бы побольше форматов — doc и pdf например добавить, чтобы использовать приложение более функционально,
                                  т.к. я например, читаю не только и не столько книги, сколько журналы, газеты и т.д.
                                  Кроме этого, оставила очень приятно впечатление, на iphone оставлю.
                                    +1
                                    Кстати, а чем вы руководствовались, когда придумывали свою програму!?
                                      0
                                      На момент старта разработки в AppStore не было бесплатных читалок, но разработка затянулась…
                                        +2
                                        Хммм, Stanza 1.3 (ранее просто не могу получить информацию) была доступна Aug / 27 / 2008
                                        Вы работаете над uBooks уже больше года?
                                          0
                                          К сожалению, я не помню точной даты старта проекта, он то что мы на тот момент промониторили AppStore на предмет фришных и функциональных читалок — это точно, может Stanza была на тот момент в AppStore, да только нам показалась больно сырой и функционально куцой…
                                            0
                                            Нихренасебескажуясебе
                                      +1
                                      Скачал. Установил.
                                      До этого пользовался BookZ Reader — там тоже была реализована загрузка книг через вай-фай. То чего мне не хватает после перехода на яблоко-ось это текстуры в качестве фона.
                                      И спасибо большое за работу!
                                        +3
                                        В Stanza тоже есть загрузка через Wi-Fi.
                                          0
                                          Угу. Но есть еще и альтернативы — через браузер. Он полдхватывает сам файлы, но не архивы :( а тут только один способ загрузки реализован.
                                            0
                                            Для сохранения из браузера используйте путь /var/mobile/Media/DCIM/uBooksLib
                                              0
                                              Спасибо )
                                              И за прокрутку спасибо тоже е дико не хватало в той читалке которой я пользовался.
                                        +2
                                        За ночной режим спасибо! Чертовски удобно. Респект NIX Solutions Ltd.
                                          +2
                                          так и в станзе оно есть, еще и яркость можно быстро регулировать. или тут что то революционное придумали?
                                          0
                                          Вы сделали с читалкой все, ВСЕ чего мне не хватало в Stanza. И картинки, и фиксированную ориентацию, и т.д. и т.п.

                                          У меня официально новая читалка для айфона. Спасибо вам огромное за проделанную работу.

                                          Могу только пожелать научиться поддерживать больше форматов. :)
                                            0
                                            Ну, вообще-то в станзе есть фиксированная ориентация.
                                              0
                                              да! и она — фиксированная вертикальная. no thanks.
                                                0
                                                Попробуйте перевернуть iPhone в момент запуска приложения и получите Landscape fixed… Если бы всё было так как вы пишете, я бы уже удалил Станзу :)
                                                  0
                                                  Да, конечно. Я знаю. И удивлен, что его не надо еще трясти, трижды притопнув ногой и плюнув через левое плечо. Stanza хорошая читалка, но я рад, что теперь я переживу без этого геморроя.
                                            0
                                            Очень странно что она не работает на первом айподтаче (даже поставить нельзя). Пишет что нужен микрофон, зачем?
                                              0
                                              О_о — к сожалению, мы не тестировали на первой версии, постараемся выяснить причину столь странного бага, спасибо за баг-репорт…
                                                0
                                                In America you listen to a music player
                                                In Soviet Russia a music player listen to you
                                                +1
                                                Перепробовала разные читалки.
                                                Согласна, что до настоящего времени Stanza была самой удобной для чтения, а вот заливка книг у нее была реализована преотвратно. Теперь буду пользоваться uBooks. Пока все нравится.
                                                Разработчикам — спасибо и ждем новых приложений.
                                                  +2
                                                  после подключения «сторонних» онлайн библиотек, другие читалки даже скачивать не хочется. Я уже и забыл, когда это руками заливал с компьютера книжу в айфон.

                                                  www.zone4iphone.ru/index.php?p_id=2
                                                    0
                                                    Вы просто человечище!
                                                    Спасибо за линк ;)
                                                  +3
                                                  при первом же запуске грохнулось. при втором запуске опять же грохнулось.
                                                  при третьем краш не повторился. не стабильно как-то :)
                                                    0
                                                    Приду домой — установлю, посмотрю.
                                                    Но сразу вопрос возник. А сколько оно будет стоить в будущем? Какая приблизительная цена?
                                                      0
                                                      Пока точно не решили, но скорее всего не больше, чем $1.99
                                                      Конечно, рекламы в платной версии не будет.
                                                      0
                                                      Вылетает при открытии запакованный zip'ом fb2. Со второго раза книжка уже показывается незапакованной, но все равно вылетает. И наконец с третьего раза открывает и работает нормально :)
                                                      Будем изучать дальше, пока нравится больше чем Stanza.
                                                        0
                                                        Аналогично, первый файл в зипе — не удалось сконвертировать книгу. Следующие уже нормально.
                                                        Не хватает настройки полей, как в ShortBook.
                                                        За ручной поврот — спасибо.
                                                          0
                                                          А можно прислать на мыло AntonShevchuk@gmail.com эти файлы…
                                                        +2
                                                        Субпиксельное сглаживание решает проблему медленного скроллирования.
                                                          0
                                                          кстати да, актуально — считайте снижение (а лучше регулирование) фичереквестом. Вот в AlReader под винмобайл — при автоскроллинге верхняя и нижняя тапзоны замедляли-ускоряли скроллинг.
                                                          в целом — отлично.
                                                          0
                                                          Кнопка «Delete» (после жеста «зачёркивания») не переведена.
                                                            0
                                                            Юзаю ShortBook и Станзу, вот будет еще и юБукс!
                                                            Замечательная программа. Молодцы:)
                                                              0
                                                              Ребят, обогнать Stanza очень не просто. Я сам ее использую год, и за это время так и не смог с нее слезть. Я скажу чего мне не хватает в Stanza и ради чего бы я перешел на uBooks.
                                                              1. Возможность скачивания fb2 через встроенный браузер (не работает в Stanza)
                                                              2. Поддержка epub библиотек (есть в stanza)
                                                              3. Полная и грамотная русификация
                                                              4. Дескопный мультиплатформеный клиент для закачки книг в iPhone (хотябы wifi и кстати есть у Stanza)

                                                              А по интерфейсу я думаю стоит все взять от Alreader2 (wm), и тогда цены вашей проге не будет!
                                                              Успехов!
                                                                –1
                                                                Если бы эта программа делала перевод слова по нажатию на него (например переводчиком lingvo) я бы купил ее за 10$ и еще бы радовался, что так дешево…

                                                                Странно, для WM такие читалки есть, а для Iphone OS нет. ( Возможность перевода в Stanza я не рассматриваю, т.к. online переводчик не всегда доступен. )

                                                                В общем ждем и надеемся, что вы прикрутите переводчик хотя бы с ENG to RUS для начала. (Большинству больше и не требуется)
                                                                  0
                                                                  эхх, только обрадовался, а тут… Остаюсь на станзе опять ((
                                                                  В общем вылетает она, как и все мои любимые программулины для iphone, как то rubook, finder.
                                                                  так и не смог запустить. Заставка — хлоп и домой…
                                                                  Что я не так делаю, если у всех робит а у меня нет? )))
                                                                  Может надо обновить прошивку у оси? Хотя стоит 3.0
                                                                  Я уже почти готов вернуть обратно 2.2 ради rubook. Stanza хороша, не спорю, но у меня огромная коллекция книг на компе и качать с инета как-то не супер, да и трафик дороговат.
                                                                    0
                                                                    Много программ в бекграунде?
                                                                      0
                                                                      ни одной, кроме телефона.
                                                                      удалил бэкграундер — нуль реакции
                                                                        0
                                                                        нашел причину отказа в работе. Создал папку для книг раньше времени. До первого запуска софтинки. Удалил, счас все работает.
                                                                        А про вафлю, это вы там в столицах избалованы, а мне как то нету особого смысла покупать карточку только для iphone. Деньги пока что с неба не сыплютЬси, я как то туда залез, там их почему-то вообще нету(на небе то)
                                                                          0
                                                                          Проверочку добавим…
                                                                    +1
                                                                    Чем она лучше Stanza, которая к тому же абсолютно бесплатная?
                                                                      0
                                                                      единственная, которой можно скормить книгу по проводу.
                                                                        0
                                                                        Ааа, ясно. Ну лично мне не проблема залить по wifi.
                                                                      0
                                                                      По мойму проблема с читанием в кровати с включенным акселерометром решается очень просто:
                                                                      1. Хоть акселерометр и чувствительный, то можно ж переворачивать после каких-то критичных поворотных значениях, и ставить задержку в 1 секунду, чтоб когда трясли телефоном, он сразу не переворачивался туда-сюда;
                                                                      2. + самое главное, можно сделать кнопку «запомнить положения», которая отключает акселерометр, ну или туже задержку увеличивает на неприличное количество.

                                                                      Лично для меня переворот акселерометром — довольно важная и удобная фича, отказываться от неё я все таки не решился б.
                                                                        0
                                                                        Понравилось, что минимум кнопок и экранов, функций достаточно (на первый взгляд).
                                                                        Странно отрисовываются и ведут себя стандартные контролы — сглаживаются там, где не должны, не реагируют на некоторые стандартные действия, или реагируют нестандартно. Может, такая прорисовка связана с субпиксельным сглаживанием для прокрутки, который тут упоминали, но ощущение странное.
                                                                        И немного раздражает нестандартное поведение:
                                                                        1) Скрол (который, я уверен, не просто так написан свой) ведет себя подобно стандартному, но не доконца — программеры непочувствовали основного в оригинале, когда копировали ;)
                                                                        2)… ну и др. контролы (например переключатели между FTP и HTTP, и еще где-то в настройках)
                                                                          0
                                                                          Скажите, я наверное тупой, но как удалить книжку из библиотеки?

                                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                          Самое читаемое