📜 ⬆️ ⬇️

eReader Prestigio: unity and struggle of opposites of one reader


Huge hello to readers and users of GeekTimes, who looked to our blog!

Do you like to read books? More than sure that among us there are many lovers to read in the transport, or before going to bed, or at the resort under the scorching rays of the southern sun. Someone prefers to hold in their hands a book in a firm, beautiful binding and poterebit tight pages. But more and more readers are moving to reading e-books, because of the convenience and ease of use. Someone loves fiction, someone prefers exclusively professional, but before each of us there is one and the same question: what is more convenient and comfortable to read your favorite books ?!

Today, as promised in the first article , we begin the cycle of publications about Prestigio products from 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 to a popular Android e-book reader with support for many convenient features 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 an application, as well as ways to solve them, touch upon the aspects of interaction with the authorities and individuals to obtain legal access to literary works and placement in the library.
')
But first things first.

Prehistory


In 2012, in the depths of Prestigio, the idea of ​​launching its line of tablets, which later was to become the basis for managing the Prestigio smart home eco system, matured. In order to start working in this direction - simply speaking, in order to test one's strengths - it was proposed to work out the development model when creating a portable and interactive library or at least a “ bookshelf ”.

In addition, the founder of the company, Belarusian by nationality, was eager to see the works of national authors in the Belarusian language available to everyone at any point on the globe, including works from the list of the school curriculum. But we will tell about this in a special interview with the founder of Prestigio. In the meantime, we note that for this purpose, an apparatus for the automatic digitization of books was purchased at its own expense, as well as agreements were signed with publishers and rightholders. As a result, our users who speak and / or learn Belarusian have full and, most importantly, free (!) Access to over 3000 (!) Works of literature in the EPUB format !


In the store you can purchase and read more than 50,000 books in more than 25 languages ​​of the world . Naturally, some of them are distributed free of charge.


Most books, of course, are in Russian, but other languages ​​are not lagging as the store develops.

So, there is a desire, there are opportunities, and practically no competitors: then 3-4 years ago, reading e-books from various devices was only in vogue, besides, they mostly read on special devices with an E-ink display . As for applications for ordinary smartphones, then there was no special choice and variety of programs for reading, in particular for tablets. The market just had a rapid development with the release of cheap $ 100 tablets.

In the world of Android devices at that time, Gingerbread aka Gingerbread (2.3) reigned undividedly, and this version was exclusively for smartphones, and its Honeycomb was provided for tablets. A version of the great association Android 4.x, which appeared in 2011, still had to win its users.


The history of the appearance of various versions of Android ( Source )

How the reader was created: the winding way up


First steps: outsourcing development or when things don’t go as planned


Unfortunately, a big problem was the lack of experience in both interface design and Android programming. Only ideas were in the air, therefore, in order to shift them into a real product, Prestigio decided to hire a third-party development team that would allow, as it seemed, to simplify the process of creating an 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 enough experience - the FB Reader command. 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 autumn of 2012, the eReader Prestigio version 1.0 was born, which was initially only available for Prestigio tablets (as a pre-installed version), because the reader was developed as an embedded library.


In some ways, the eReader Prestigio and FB Reader were like two peas in a pod.


But there were also distinctive differences in design and functionality: for example, the FB Reader lacks a “ bookshelf ” as such, the file manager has been changed.

Unfortunately, by the end of 2012, due to the high cost of development for such a local product, contacts with the FB Reader team were broken, and the code written by that time was requisitioned. The second attempt to give the project to an outsourt equally turned into a fiasco, although the second version of the application was released, with the addition of new functionality and options, but more on this later. In the end, I had to look for internal opportunities to continue working on the application.



Expensive lesson: outsourcing development, of course, has its advantages (for example, if you want to create an application and forget about it in terms of support and updates), but it is also not without significant flaws. Lack of motivation of the outsource developer himself or a group of developers working for a fixed, often hourly rate, and delaying the project deadlines. The customer needs to work out the project given to the outsourcing, to the smallest details, because the game of "ping-pong" can cost and probably will cost too much.

DRM and Adobe: no DRM in any way, but with DRM it’s hard


The next milestone and a big step forward was the connection of DRM ( Digital Rights Management ) books using Adobe's RMSDK in application version 2.0, as well as the creation of a full-fledged store and personal account or, let's say, “ library card ” for synchronization between devices. By this time, the development paradigm of the application began to change: the available for all version of Google Play replaces the purely local product.

The reader, of course, wonders: why add DRM books and support for DRM formats at all?
The answer is very simple: the main purpose of creating this application was to have a portable library, available at any point of the replacement ball, in any languages ​​with the possibility of buying any books if desired. And then there is a dilemma: either pirated versions of books, or full and legal DRM-content. Unfortunately, piracy, to put it mildly, is not encouraged in the majority of the country, especially the so-called civilized world, which is why it cannot be done without legalizing content. And this is one of the main reasons why we cannot connect the Flibuts catalog directly through the reader.

In addition, through feedback, requests from our users from Poland, Germany, the Czech Republic and other EU countries began to come in to some moment to add some of their favorite and interesting books in their native languages. To our deep regret, the situation with the legislation on the territory of the former USSR makes it extremely difficult to conclude contracts and promote DRM books in Russian, Ukrainian and Belarusian languages ​​at affordable prices, but in European countries literary works can only be distributed. But about this at a deeper level, as already noted above, we'll talk another time.

And although the code already introduced features such as the OPDS ( Open Publication Distribution System ) catalog, the base for the store and personal account, all this needed to be developed, improved and simply maintained in a working condition. Having completely become disillusioned with outsourcing, we had to assemble our own development team, and, in fact, begin to build everything anew on the prepared foundation.

To the existing problems one more was added. Around the middle of 2014, RMSDK was updated with new libraries from Adobe, which had a number of significant drawbacks:

Working moments: slow epub
After the next update of the application, in which a new library from Adobe was added, complaints from users began to arrive that books in the EPUB format are loaded very slowly when they are read. Debriefing showed that one of the reasons lies in the updated version of RMSDK. For example, in the case of reading EPUB using Adobe's DRM system, at the beginning of reading a book, a preliminary counting of the pages and their preparation for display takes place, 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 number 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, the FB Reader team went the other way, offering to download and install add-ons - plug-ins - to the main version of the program, which, according to him, makes it difficult to work with it.

Great combination of Android and FullHD-screens


The next important step was the redesign of the graphical shell and the problem, which brought with it the integration 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.

About half a year was taken by the process of redesigning the graphical shell of the application, at the same time moving to the new Android 4 menu: instead of the four lower buttons, only 3 remained, in addition, 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, then one of the first swallows was Butterfly from HTC . At the same time, it turned out that the software implementation of various effects, for example, the paging effect, strongly slows down on many devices due to software acceleration of graphics, which led to the introduction of hardware acceleration implemented on OpenGL . In fact, the application was born again in version 3.0.


Significant difference: software scrolling with the setting "forced graphics acceleration" (left) and implemented on openGL (right) for FullHD display

Of course, not without excesses. So some manufacturers of devices (we will not point with a finger), declared support for OpenGL2, although in fact the chipsets did not have such support, which simply led to empty pages during reading. While other manufacturers incorrectly calculated and indicated in the firmware the screen resolution, which is automatically read when the interface is drawn, which also affected the displayed image:


Funny bugs, due to incorrect data provided by the manufacturer in the firmware

Working moments: the desire of users - good or harm?
One day a most interesting story happened to the development team. A specially organized public opinion poll showed that not many users use reading settings (font size and type, backlight, etc.), and most of them were in favor of replacing the expanded settings with a couple of main buttons. Well, the desire of users - the law: made and released a new version of the application.

Later it turned out that the vast majority of users decided to ignore this survey, while awarding the application with angry reviews after the implementation of the new reading settings. It was necessary to redo it back 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 customize the displayed text on the screen:


Now the text setting options are divided into basic, pop-up immediately, and additional

A similar situation occurred with the background, the picture that the user sees when reading. The audience was divided into two camps: those who want presets, that is, pre-defined background colors, and those who wish to see a full-fledged color scheme with fine color adjustment. So far, the gamma wheel version has won, but we will definitely add some of the most popular presets in future versions.

The moral of this fable is as follows: 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 hard to tolerate radical change.


New processors from Intel 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 the devices were available since 2012. Few people then thought that this would require inhuman efforts from developers, because changing the architecture without the appropriate means of transfer from platform to platform actually means writing a new application for a new architecture.

Intel even conducted master classes, calling for active development for the x86 platform (and even at Habré ). However, soon after a successful launch and some state of shock, the giants Google and Intel agreed and released a special compiler for cross-architectural application creation ( reviewed in the Intel blog ).

Instead of a conclusion: Plans for the future


Today, the Prestigio eReader reader has more than eight million users on 9000 (!) Various Android devices, support more than 25 language packs, more than 50,000 books in these languages, some of which can be enjoyed absolutely free of charge 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. Plus, you can install the ColorDict dictionary directly from the application and instantly translate unfamiliar words in foreign literature, which makes it much easier to read unadapted texts. At the same time, the reader is made in the ergonomic style of Material Design and has an user-friendly interface.


Reader in the updated style Material Design


All supported formats in one place, including audiobooks


Comparing eReader with other readers ( Source )

However, the eReader Prestigio team is not sitting idle. Just a couple of months ago, Helloween and just finished the New Year holidays, which our reader met with the updated festive styling.


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 plugin (again, the process is slowed down due to the large size of the library), and also in the plans of a PDF parser. But with the new HTML5 and EPUB3 formats, unfortunately, we will have to wait a little while, due to the fact that the formats have not yet come to a single common denominator and are constantly being supplemented, corrected and changed.

A speech synthesizer system (text-to-speech or TTS) is already built into the reader and, paradoxically, it would sound, people with visual impairments use it cleverly. At the moment, this is Google's built-in TTS, which, perhaps, does well with English texts, but does not work well with other languages. Support for third-party speech synthesizers in the form of loadable plug-ins will be implemented soon, which will allow our users to choose the most comfortable TTS for them.

Work on the expansion of the library and coverage of all new works of literature are constantly. However, we are not able to predict all the aspirations and desires of users, so we will soon launch a special service with which you, dear book lovers, will be able to request a certain book that is not yet in the library, and we will try as much as possible. add there.

And we almost forgot: soon we will announce a competition for interesting themed wallpapers for reading rooms with valuable prizes from Prestigio, so do not forget to subscribe to our blog and follow our news and updates.
You are not difficult, but we are pleased!

Download the eReader Prestigio application for your Android device for free by clicking on the links:

eReader Prestigio

Text prepared by Tiberius

Source: https://habr.com/ru/post/389919/


All Articles