eReader Prestigio: unity and struggle of opposites of one reader

Huge greetings to readers and users of GeekTimes who have glanced at our blog!
Do you like to read books ?! More than sure that among us there are many lovers of reading in transport, or before bedtime, or at a resort under the scorching rays of the southern sun. Someone prefers to hold in their hands a beautiful hardback book and flabby plump pages. But more and more readers are switching to reading electronic books, because of the convenience and ease of use. Someone loves fiction, someone prefers exclusively professional literature, but each of us faces the same question: what is more convenient and comfortable to read our favorite books ?!
Today, as promised in the first article, we begin the series of publications about Prestigio products with the history of the creation and development of one of the Prestigio software products - eReader Prestigio. This application was originally developed as a home library, but in a couple of years it has grown into a popular Android e-reader with support for many convenient functions and all popular formats of both electronic and audio books. Under the cut, we will discuss some of the problems that we had to face when developing the application, as well as ways to solve them, we will touch upon aspects of interaction with official authorities and individuals to obtain legal access to literary works and placement in the library.
But first things first.
Background
In 2012, the idea of launching its line of tablets matured in the bowels of Prestigio, which in the future was to become the basis for managing the Prestigio smart home eco-system. To start working in this direction - in other words, to test our strengths - it was proposed to work out a development model when creating a portable and interactive library, or at least a “ bookshelf ”.
In addition, the founder of the company, a Belarusian by nationality, was eager to see the works of national authors in the Belarusian language, accessible to everyone who wanted anywhere in the world, including works from the list of the school curriculum. But we will talk about this in a special interview with the founder of Prestigio. In the meantime, we note that for these purposes, an apparatus for the automatic digitization of books was purchased at our own expense, and agreements with publishers and copyright holders were concluded. As a result, our users speaking and / or studying the Belarusian language have full and, most importantly, free (!) Access to over 3,000 (!) Works of literature in EPUB format !
In the store you can purchase and read over 50,000 books in more than 25 languages of the world . Naturally, some of them are distributed free of charge.

Most of the books, of course, are in Russian, but other languages do not lag behind as the store develops.
So, there is a desire, there are opportunities, and there are practically no competitors: then 3-4 years ago reading electronic books from various devices only became fashionable, In addition, they mostly read on special devices with an E-ink display . As for applications for ordinary smartphones, then a special selection and variety of reading programs did not yet exist, in particular for tablets. The market was just about to boom with the release of cheap $ 100 tablets.
In the world of Android devices at that time, Gingerbread Manners aka Gingerbread (2.3) reigned supreme, and this version was exclusively for smartphones, and for tablets, its own Honeycomb was provided. And the version of the great association Android 4.x, which appeared in 2011, still had to conquer its users.

The history of the various versions of Android ( Source )
How the reader was created: a winding path up
First steps: outsourcing development or when things go wrong
Unfortunately, the lack of experience, both in terms of interface design and programming for Android, turned out to be a big problem. Only ideas were in the air, so in order to shift them into a real product, Prestigio decided to hire a third-party development team that would allow, as it seemed then, to simplify the process of creating the application as much as possible, as well as minimize development costs.
And it is quite natural that the choice fell on a team that already had sufficient experience - the FB Reader team . Within six months, a concept design was developed, the main blocks of the application were drawn and spelled out, and the same " bookshelf " was added". And by the fall of 2012, the eReader Prestigio version 1.0 was born, which was initially available only for Prestigio tablets (as a pre-installed version), because the reader was developed as an integrated library.

In some ways, eReader Prestigio and FB Reader were like two drops of water similar

But there were also characteristic differences in design and functionality: for example, FB Reader lacks a “ bookshelf ” as such, the file manager has been changed
. Unfortunately, by the end of 2012 due to the high development cost for such a local product, there were contacts with the FB Reader team torn, and the code written by that time was requisitioned. The second attempt to outsource the project equally turned out to be a fiasco, although the second version of the application was released with the addition of new functionality and options, but more on that below. In the end, I had to look for internal opportunities to continue working on the application.

Dear lesson: outsourcing development is over, it has its advantages (for example, if you need to create an application and forget about it in terms of support and updates), but it is not without significant flaws. Lack of motivation for the outsourcing of the developer or a group of developers working for a fixed, often hourly fee, and delaying the deadlines for the project. The customer needs to work out the project, which is outsourced, to the smallest detail, because playing a “ping pong” can be costly and will certainly cost too much.
DRM and Adobe: no DRM, but hard with DRM
The next milestone and a big step forward was the inclusion of DRM ( Digital Rights Management ) books using RMSDK from Adobe in version 2.0 of the application, as well as the creation of a full-fledged store and personal account or, say, a “ library card ” for synchronization between devices. By this time, the application development paradigm began to change: a purely local product is being replaced by an accessible version for everyone through Google Play.
The reader will naturally wonder: why add DRM books and support for DRM formats?
The answer is very simple: the main goal of creating this application was to have a portable library, accessible at any point of the replacement ball, in any language with the ability to purchase any books if desired. And here a dilemma arises: either pirated versions of books, or full and legal DRM content. Unfortunately, piracy, to put it mildly, is not encouraged in most countries, especially the so-called civilized world, which is why it is impossible to do without legalizing content. And this is one of the main reasons why we cannot connect the Flibuts directory directly through the reader.
In addition, through feedback at some moment, requests began to come from our users from Poland, Germany, the Czech Republic, other EU countries to add certain favorite and interesting books in their native languages. To our deep regret, the situation with legislation in the territory of the former USSR makes it extremely difficult to conclude agreements and promote DRM books in Russian, Ukrainian and Belarusian at affordable prices, but literary works can only be distributed in European countries. But we will talk about this at a deeper level, as noted above, another time.
And although features such as OPDS ( Open Publication Distribution System) have already been implemented in the code) -directory, the basis for the store and personal account, all this had to be developed, improved and just maintained. Having completely disillusioned with the outsourcing, I had to assemble my own development team and begin, in fact, to build everything anew on the prepared foundation.
To the existing problems, one more was added. Around the middle of 2014, an RMSDK update was released with new libraries from Adobe, which had a number of significant drawbacks:
- the library consumed half of the downloaded application volume, respectively, for normal operation it was necessary to cut it very much before compiling and adding to the application;
- the library does not work with the text itself, but converts it into picture-pages that cannot be fed to a speech synthesizer (text-to-speech);
- the library is native and requires compilation for different versions of the OS and devices exclusively on the MAC, which created a number of difficulties.
Highlights: Slow EPUB
After the next update of the application, in which a new library from Adobe was added, complaints began to come from users that books in the EPUB format load extremely slowly when read. Debriefing showed that one of the reasons lies in the updated version of RMSDK. So, in the case of reading EPUB using the Adobe DRM system, when you start reading a book, the pages are preliminarily counted and prepared for display, which takes some time. However, the approach to the concept of the page when zooming and changing the text display settings is different: for Adobe, this amount remains the same, and in our reader it is recalculated in accordance with these new parameters, which again takes considerable time. As a result, I had to use the old library and optimize the page layout process itself.
By the way, FB Reader team went another way by offering to download and install add-ons - plugins - to the basic version of the program, that St. about him difficult to work with him.
Great unification of Android and FullHD screens
The next important step was the redesign of the graphical shell and the problems that brought the combination of the tablet and smartphone versions of Android into a single Android 4, as well as the release of devices with a full FullHD-display.
The process of redesigning the graphical shell of the application took about half a year, along with which the transition to the new Android 4 menu was carried out: instead of the four lower buttons, only 3 remained, and the upper notification area changed. Plus, from 2012 to 2014 there was an active introduction of FullHD displays on smartphones, that is, displays with a resolution of 1920 by 1080 pixels. If memory serves, one of the first swallows was HTC Butterfly. It turned out that the software implementation of various effects, for example, the flipping effect, strongly slows down on many devices due to program graphics acceleration, which led to the introduction of hardware acceleration implemented on OpenGL . In fact, the application was reborn in version 3.0.

A significant difference: software flipping with the setting "forced graphics acceleration" (left) and implemented on openGL (right) for FullHD display
Of course, there were some excesses. So, some manufacturers of devices (let's not point fingers) declared support for OpenGL2, although in reality the chipsets did not have such support, which simply led to blank pages while reading. While other manufacturers incorrectly calculated and indicated in the firmware a screen resolution that is automatically read when the interface is drawn, which also affected the displayed picture:

Funny bugs, due to incorrect data laid down by the manufacturer in the firmware
Working moments: user desires - good or harm ?!
Once a most interesting story happened with a development team. A specially organized public opinion poll showed that not many users use the reading settings (font size and type, backlighting, etc.) and most of them spoke in favor of replacing the expanded settings with a couple of main buttons. Well, the desire of users is the law: they made and released a new version of the application.
Subsequently, it turned out that the vast majority of users decided to ignore this survey, while rewarding the application with angry reviews after implementing the new reading settings. I had to redo it as soon as possible and divide the settings into two main groups: those that most users could easily use, and advanced options for someone who likes to carefully configure the displayed text on the screen:

Now the text options are divided into main ones that pop up immediately, and additional.
A similar situation happened with the background, the picture that the user sees when reading. The audience was divided into two camps: those who want presets, that is, predefined background colors, and those who want to see a full-fledged color gamut with fine-tuning color. So far, the version with the gamma wheel has won, but we will definitely add some of the most popular presets in future versions.
The moral of this fable is this: any survey shows the opinion of only the active part of the audience, behind which a much more significant mass of people may be hiding. They just want to use their favorite application, and they are very difficult to endure radical changes.
Subsequently, it turned out that the vast majority of users decided to ignore this survey, while rewarding the application with angry reviews after implementing the new reading settings. I had to redo it as soon as possible and divide the settings into two main groups: those that most users could easily use, and advanced options for someone who likes to carefully configure the displayed text on the screen:

Now the text options are divided into main ones that pop up immediately, and additional.
A similar situation happened with the background, the picture that the user sees when reading. The audience was divided into two camps: those who want presets, that is, predefined background colors, and those who want to see a full-fledged color gamut with fine-tuning color. So far, the version with the gamma wheel has won, but we will definitely add some of the most popular presets in future versions.
The moral of this fable is this: any survey shows the opinion of only the active part of the audience, behind which a much more significant mass of people may be hiding. They just want to use their favorite application, and they are very difficult to endure radical changes.
New Intel processors based on x86 architecture: developer nightmares
The year 2014 was marked by the release of new processors from Intel based on the x86 architecture, which very quickly began to capture the market, although the “prototypes” of devices were available since 2012. Few people thought then that this would require inhuman efforts from the developers, because changing the architecture without the appropriate means of transferring from platform to platform actually means writing a new application for the new architecture.
Intel even held master classes, urging them to actively develop for the x86 platform (and even on Habré ). However, shortly after a successful launch and some shock state, the giants Google and Intel agreed and released a special compiler for cross-architectural application creation ( review on the Intel blog ).
Instead of a conclusion: Future plans
Today, the eReader Prestigio reader is more than eight million users on 9000 (!) Various Android devices, support for more than 25 language packs, more than 50,000 books in these languages, some of which can be enjoyed absolutely free in one of the ten most common book formats ( FB2, DOC, RTF, TXT, DJVU, HTML, MOBI, EPUB and EPUB2, PDF), as well as MP3 and AAC audio files. In addition, you can install the ColorDict dictionary directly from the application and instantly translate unfamiliar words in foreign literature, which greatly facilitates the reading of non-adapted texts. At the same time, the reader is made in the ergonomic style of Material Design and has an intuitive user interface.

Reader in the updated style of Material Design

All supported formats in one place, including audio books
Comparison of eReader with other readers ( Source )
However, the eReader Prestigio team is not sitting idle. Just a couple of months ago, Helloween passed and the New Year holidays, which our reader met with an updated festive styling, just ended.

So we celebrated Halloween

And such wallpapers were presented for the New Year holidays.
In the near future we will add support for the DOCX format as a plug-in (again, the process is slowed down due to the large size of the library), and also plans for a PDF parser. But with the new HTML5 and EPUB3 formats, unfortunately, you have to wait a while, due to the fact that the formats have not yet come to some common denominator and are constantly being updated, adjusted and changed.
A speech synthesizer system (text-to-speech or TTS) is already built into the reader and, paradoxically, it sounds smartly used by people with vision problems. At the moment, this is Google’s built-in TTS, which, maybe, does a good job with English texts, but works poorly with other languages. Soon, support for third-party speech synthesizers will be implemented in the form of loadable plug-ins, which will allow our users to choose the most comfortable TTS for them.
Work to expand the library and cover more and more new works of literature is ongoing. However, we are not able to predict all the aspirations and desires of users, so we will soon launch a special service, with the help of which, dear book lovers, you can request a specific book that is not yet in the library, and we will try their best add there.
And we almost forgot: soon we will announce a contest for interesting thematic wallpapers for the reader with valuable prizes from Prestigio, so do not forget to subscribe to our blog and follow our news and updates.
It’s not difficult for you, but we are pleased!
Download the eReader Prestigio application for your Android device absolutely free by clicking on the links:

eReader Prestigio
Text Prepared by Tiberius
Only registered users can participate in the survey. Please come in.
Are you a user of eReader Prestigio?
- 11.6% Yes, and quite a while 26
- 3.1% Yes, installed a couple of months ago 7
- 83% No 186
- 2.2% Difficult to answer, maybe something was lying around somewhere 5
Did you download the eReader Prestigio app after reading the article?
- 10.2% Yes! 19
- 56.2% No, I use another reader and everything suits 104
- 33.5% No, I use a special reading device (Kindle, PocketBook, etc.) 62
Would you like to add something to change in the eReader Prestigio reader?
- 10.4% Yes, I will unsubscribe in the comments or PM 17
- 9.8% No, everything suits and so 16
- 79.6% I'm bees! 129