FineReader, ABBYY’s optical character recognition (OCR) application, which now has millions of users worldwide from Antarctica to Greenland and the North Pole and takes the leading places in OCR market, turns 23 this year.
That is only a little less than the age of a lesser-known ABBYY product, the Lingvo dictionary application, which happens to be the company’s first. It may seem a bit strange that the young developers at BIT Software (as ABBYY was called back then) started working OCR technologies right after launching a dictionary application, but in fact this is no coincidence.
The packaging of FineReader 2.0
FineReader’s roots stem from the early 90s, when BIT Software began developing an ambitious solution called Lingvo Systems that allowed users to scan documents and translate them into a different language. It consisted of four components, of which only one, Lingvo, was made by ABBYY. The three components from third parties provided OCR, text correction, and translation functions.
Lingvo Systems’ output translations were very rough, but generally good enough to get the point across to the reader. When it came to OCR, however, things were far from satisfactory. The program needed extensive training before it could begin recognizing text: whenever it encountered a new character in a specific font on the image, it required the user to confirm the correct result. After several such confirmations it would begin to recognize that character, provided it was printed in the same font and size. But if the font face or size changed, the training process had to be started from scratch. Furthermore, even after training the quality of recognition results left much to be desired.
By that point we were not the only company in need of quality OCR, and market demand for such technology began to take off. A product that would satisfy this demand was bound to appear sooner or later, so we were faced with a choice: wait for somebody to provide the right tech, or begin developing our own.
By 1992, the OCR problem was becoming urgent: sales were hurting and the competition was gaining ground. The decision to begin development was made in November, and the deadline was set for May 1993. Creating this kind of technology from scratch in such a short time is impossible, so we acquired a prototype OCR program that was developed by a young scientist at home as a hobby. The scientist’s work was promising, considering it was created by just one person in his spare time, but it was by no means close to a commercial implementation. The program was developed for MS DOS and could only process uncompressed BMP images, while we needed it to work under Windows and process at least some of the image formats in widespread use at the time, such as TIFF.
The effort required to turn the scientist’s prototype into a commercially viable product was immense, but it was also inspiring: by the time we were putting the finishing touches on FineReader 1.0, we already knew what we wanted to do in the next version. This invites the question that if we really had all these great ideas, why didn’t we simply include them in the first release? The answer is simple: we had to release version 1.0 as soon as possible, because the company was running out of money. If version 1.0 didn’t come out when it did, there would never have been a version 2.0. The first release enabled us to finance development of the next version, which was superior in almost every way: it made far fewer recognition errors, was much better at retaining the formatting of the original document, and provided unprecedented recognition accuracy.
The program came on four floppy disks
Our development efforts were shaped by our vision of the ideal OCR application, which included two features that became FineReader’s key advantages: support for all popular fonts and multiple languages.
The necessity of multiple language support appeared to be a no-brainer: many documents of a technical nature contained words written in several languages. For some reason, however, all OCR software available at the time only recognized one language, which made them impractical for many applications. Since FineReader could recognize text in several languages, it had a considerable advantage. Support for a wide variety of languages continues to be one of the strong points of our OCR technologies to this day.
Support for all popular fonts meant that FineReader’s users did not need to change settings every time the program encountered text in a different font or size. Today, we are used to the fact that OCR software handles all but the most exotic characters, but this was not the case when the first versions of FineReader came out. Back then, OCR applications required training by users even when processing common fonts used in books, and this training often had to be repeated due to insignificant variations in input text, such as when a different font size appears in the document, or when scans of varying quality were fed to the program.
The launch of FineReader 1.0 was met with considerable interest. Existing OCR software did not satisfy the customer’s demands, so FineReader appeared in the right place at the right time. We made five hundred copies of the first version, over a hundred of which were bought in the first month of sales. By the standards of the time these numbers were epic: even Lingvo, which was considered to be a successful and popular product, rarely surpassed a hundred sales in a month.