Interviews with developers exLibris
Makradar Technologies / / December 19, 2019
Bookplate - bookplate with the name or logo of the owner of the book and information about the composition of his library. Such an interesting name to its application gave the young team of developers from Rostov-on-Don. exLibris program is reader of books in EPUB format to upload function works through iTunes, by email or through the web-brazuer Safari.
The application includes the directory where the public domain are classical works of Russian and international literature. Reading area equipped with bookmarks and notes, footnotes, table of contents to navigate through the menu. Make reading convenient designed to adjust brightness, color schemes, font set and change page orientation depending on the position of the device.
Yesterday in the AppStore a new version exLibris. Along with some corrections, the possibility of reader rooted option disable anti-aliased text and hyphenation for Russian and English languages. Taking advantage of this occasion, we decided to ask a few questions to the creators exLibris Mikhail Lyubimov and Aleksei Grebenets.
Michael, Alex, what brings you to the Mac platform, which Apple products do you use in everyday life and work?
Michael:
On Mac OS, I have come quite ornate for a programmer by. At first, my tools were Windows and the .NET platform, then Perl and Linux. Two years ago, the director of our company "Boiling Point" suggested that I try to write applications for the new platform at the time iPhoneOS. Naturally I did not give up :). Since then, more interesting things I could not find the direction. As work and home machines use the MacBook, which is enough for my needs. From mobile devices - perhaps the whole range of iPhone and iPad Wi-Fi.
Alexey:
I on this issue has nothing to say. I began to develop more than by chance =)
When the iPad was in my hands, I was most impressed have three applications: Weather HD, Alice and of course iBooks. What are the most interesting programs out of which the iPad can "beat" any device of this kind, the same Galaxy Tab from Samsung?
Michael:
Although I do not know how to play a musical instrument, the first iPad app that struck me was Magic Piano - very interesting implementation of the piano, fully revealing the multitouch capabilities device. Games - is Angry Birds and Plants vs. Zombies. As for the iPad c comparison to the size of other similar devices, I think this is not quite correct. Each of these devices has its own niche in the market.
Alexey:
Really hard to talk about it without imagining looks like Galaxy Tab. In general, a strong effect was only on the fact that it is "balshoy iPhone."
How did the idea of developing applications for the AppStore? What is your role in the project and who was involved in it besides you?
Michael:
Given that the project only two of us, (and even two programmers) no rigid distribution of roles. There are tasks that a profile for me, is for Alexis. All work on the server side of the application made web programmers "boiling point." With a design helped us Roman Martirosyan, for which many thanks to him! The idea to name exLibris application came just from him.
Do you have any further applications in addition to ExLibris, already released for mobile devices?
Michael:
Of the already issued the most notable was my first app iProbkiWhich for a long time kept in the App Russian AppStore and a series of literary project applications "Ethnogenesis" the latest version of which we have already produced, together with Alexei.
How it was difficult to get started with Objective C? What problems did you encounter during the development phase?
Michael:
Special problems when meeting with Objective C was not. The language is simple enough to know the basics of C and understanding of OOP principles. Difficulties appear when the recess in the frameworks running as part of iPhone SDK. As it usually happens 80% of the project is carried out in 20% of the time. Rest of the time - the war for code optimization and control of subordinate component bugs. Particular difficulties may also be called to support both the iPhone and iPad platforms, in particular the weakest devices - iPhone 3G.
Alexey:
The very language Objective-C is very simple compared to C and C ++. All information relating to the differences between C and Objective-C is placed into a wiki page, wherein you do not even need to be familiar with C, since most of the features of C, you can not use generally. In Objective-C does not have such problems with memory management in C and there are no difficulties with templates in C ++. In general it is a good modern language, which you can safely put on a par with languages such as Java or C #.
There are also some difficulties, they mainly relate to the standard library. It's bad enough documentation (for example, some functions can only return an error code, without telling anything about its cause, and the description of such an error is often not impossible to find any documentation, nor even in google), often non-obvious method names (for example, to find the occurrence of a substring in the string, you will need use rangeOfString method:, although the name contains the word find would be accustomed to), difficulty in modifying the default behavior of some components (some of things that would seem to have done just deliver a lot of headaches - like a lot of effort you spend if you try to cut around the component UITextView frame).
How did the idea to create a reader for quite filled a niche in the AppStore? Is it possible to profit from the application of this kind or this is just a sample of its own forces and capabilities?
Michael:
When it became clear that the evolution of the reading room for Ethnogenesis rested in the original format of the book, I began to choose from already available and the most common formats. Each of them had its drawbacks and limitations, so choose EPUB, the most open and powerful, in our view, in terms of formatting features of the book.
Readers in the AppStore is actually not so much. And for truly high-quality general enough fingers of one hand. We decided to try to fill up the list of your application. Of course in addition to the free version of the reading room, we are interested to issue and pay (or with paid content) applications based on the established engine. To do this, we are looking for partners who want to sell their content (books, magazines, or any similar format for publication).
Alexey:
The idea has always been. The first reader was implemented in the application "Maroussia" read divided into plain text files and only able to move the table of contents (this was long before ibooks). Gradually, this reader was improved, until one day it was decided to try to go on display epub. We tried it out.
Revenue from this application of course possible, as much needed engine for reading books. Reader - it's just an opportunity to break in the engine and prepare it for integration into other applications.
That is why the reader is free. This is just a test site =)
Applications of other developers have studied long and hard. We looked at those functions, which have been in each of them (stanza, amazon, booq, ibooks, kobo, freebooks, i2reader and others), looked at the interfaces and reviews. In some ways exLibris - is the compilation of all the most useful of the other e-readers =)
On what was to focus in creating exLibris?
Michael:
The main focus, of course, focused on the application usability, stability and maximum supported format. Now, when she is the second version of the application, we always treat all who come to us reports about problems in the application and user reviews. The new version will be able to write us feedback from within the app, and send the book, which, in the opinion of the reader has problems displaying in exLibris. Thus, we plan to improve the product based on the opinions of users. And of course in the most densely immediate plans to do the design and usability of the interface.
Alexey:
There were 3 major problems - parsing epub'a (the main difficulties associated with parsing css), display of text on a plane (here the complexity associated with the breakdown of the elements on the page) and memory. the application memory is not always enough, and it's terribly slowed down the process of development.
With parsing epub'a's complicated - the fact that the structure of the standard epub file as such does not exist. There is, as most do, but nevertheless, you can often find books where css styles are not in a separate file and inserted into the the title of each xhtml pages, or books that do not have a table of contents file at all, or a book in which all the text (very large!) tucked in one file.
So there had to compromise, establishing a list of cases when the reader simply will not open the books. And of course we had problems with parsing css - support all standard css - it is a very difficult task, it was necessary to choose only a small subset of styles.
Displaying text on the plane also caused difficulties. The fact is that the only library for drawing CoreText text first, quite buggy, and, secondly, it does not allow a lot of necessary things (for example, does not allow the indentation left by right the edges). Therefore, despite the fact that as a result CoreText formed the basis of the application, then many of its functions have been replaced by their more stable and has extended functionality.
Problems with lack of memory probably began even before the first start-up (or rather the first run on the device failed precisely because of the lack of memory). Particularly awful things on the iPhone 3g. It is impossible to keep in memory is divided into pages the entire book (thrown everything but the current chapter), it is impossible to keep in memory the text of chapters (which means it is more difficult to search for). We have to save on everything. On textures on text information on the auxiliary controllers.
At this stage, it is with memory problems are the most important.
How 3d effect for page turning has been implemented?
Alexey:
Technically, it's really 3d effect is implemented using openGL. However, if you look closely, you will realize that there is no 3d =) In fact, the page simply bent so ...
Michael:
Interestingly, the majority of those who are trying to implement a similar effect in OpenGL begin to implement it in "full 3D». We went the other way and have done without him. If at first glance it seems natural to get the effect, we have achieved the task and will not spoil the magic explanation for its technical implementation :)
Are there any further plans for the AppStore market, there are already ideas for his conquest? :)
Michael:
Plans certainly are. Primarily, this addition our reader an interesting library of books and publications that fully reveal its potential. There is also almost a finished application for new service stations Geosocial evaluation. It is scheduled for the near future.
Alexey:
Plans complete. It is a pity that in the day only 24 hours.
Thank you Michael and Alex for the interesting and very informative answers to our questions. We wish them good luck and new ideas!
application page exLibris for iPad and iPhone (free)
Homepage exLibris project.