Browser dictionary extension: more than an online translator

Skyeng School has a Vimbox Translator extension for web browsers that can translate English texts of web pages into Russian. At first glance, there is nothing special about this, and similar services are a dime a dozen, but in reality this thing is very important for the school’s ecosystem, and we hope that it will be useful not only for our students, but also for third-party users. Today we will tell you why we think so, how we developed this extension, what it can do and what his team is working on at the moment.
Huge plans
The extension for Chrome and Safari (Firefox and Opera are still being upgraded) has been in our plans for a very long time. But the first question that confronted the finally assembled development team was “why?”. We did not want to do “another extension-translator”, we needed to come up with some kind of our chip.

Therefore, we developed an extensive roadmap with a classic set of iterations, customer development, development plans, description of unique features that complement the translation. The most important of them, originally conceived, is synchronization with our mobile application, the ability to add words for learning directly from the browser. However, already at the time of product design, we had an understanding that the ecosystem of our school is still closed, and the interest around the product and company is growing. We wanted to reach people whom we are interested in, but who do not have the opportunity to study at school.

The development was divided into three stages. The first stage is the creation of a basic word translation tool that is not overloaded with functionality. At the second stage, we planned to come up with the mechanics of involving the user in the learning process, some demonstration that learning English is great. So we wanted to push the user to authorization and connecting advanced functionality. Well, the third stage is the conversion of the user into a school student.
A detailed concept was developed, a description of the functionality for each stage, and it seemed to us that it should shoot.
Return to earth
However, when we began to expand and analyze the conversion funnels of related products, it became obvious that attracting new school customers through this product is a very non-trivial task: the conversion is very small and the goal is too ambitious. Therefore, having already begun work on the project, we decided to shift our focus, simplify the mechanics, throw out cool but unobvious chips, and make a simple and understandable extension that would benefit primarily school students; we want them all to install it. Although external users can also use the extension, we no longer rely on them as potential students of the school.
Here the story simplified, but at the same time it was clear that, starting with the basic functionality, we will not bring anything new to the market; it will be difficult for us to compete with peers, even having a loyal audience. Therefore, a bet was made on integration with a mobile application, the benefit is our unique advantage: none of the competitors has such a set of mechanics for memorizing words.
At the same time, we began to think not only about the basic tasks, but tried to find a more fundamental approach, look at our product in the context of its consumption. What else might a user working with textual information need? This fundamental reflection led to the concept of a symbiosis of additional services, which should help us create a unique product.
And we started to come up with these services.
Secret sauce
The first of these was the readability mode, in which all excess garbage, banners, side columns and more are thrown from the web page. Only useful content remains: text, illustrations, videos. The menu has visual display settings - fonts, colors; in the same place - deeper mechanisms of interaction with interactive translation. This mode is primarily intended for comfortable reading and translation of English texts: the translation of all added words is displayed in the text, there is a sidebar with a local dictionary for this article and other options for working with the source. We plan to continue to actively develop the functionality of this service.



Further, we thought that reading in English is a laborious task that requires time and effort, which leads to problems with high-quality control of the flow of information. We came up with a cool example - bookmarks (bookmarks) and applications for deferred reading. Why not make your own virtual bookmarking system based on our application? We can provide the user with a repository where he can drop articles from the network that have been read or scheduled for reading. Articles are structured according to meta tags, statistical information useful for language learners is added to them - how much time it took to read the text, how many words were added to the dictionary to study, how much the text turned out to be difficult to understand - here we see a lot of possibilities of near and distant perspective, very hope to implement everything.
Finally, the whole story with the collection of information about the user’s interaction with the text perfectly fits the recommendation system. If we understand what he reads and how, we can recommend analogues on the subject, content, level of difficulty, to consolidate the learned words, etc. etc. We know the level of the student, we know that he reads what he added to the dictionary, we can compose his thesaurus, on the basis of which, when opening an article, we can provide him with a summary of the words that will cause him problems with understanding. Thus, we improve its interaction with the text and increase the effectiveness of the training itself. For us, this is the most promising direction of development - we will improve the student’s work with the text and increase the usefulness of this work, and not just polish the interaction with the dictionary.
Expansion and ecosystem
The browser extension is part of the Skyeng ecosystem. Roughly speaking, the ecosystem is one user profile in various services, which can be anything, where English is involved and there is an opportunity to improve its knowledge: our Vimbox platform, our mobile applications, some third-party developments - even online movie theaters, even computer games. The heart of the data and functionality of these services is a common dictionary, which we plan to synchronize and keep in the backend of a mobile application (the dictionary is a rather conditional simplified concept, in fact, all the experience of interacting with text is taken into account). All applications collect words in this dictionary. There can be any number of services, they can be implemented on different platforms in different contexts, but everywhere you can add words to the general dictionary.

Now the extension is able to identify parts of speech, learned to work with regular expressions. Grammar translation currently uses semantics from Google, but in the future everything will depend on the capabilities of the central Wimbbox dictionary.
The general idea is that the deeper the user plunges, the more elements of the ecosystem he uses in his account, the more he gets the benefits of learning English. Now an account can be created not only by a school student. The pending list of words will be tied to authorization and stored in the cloud: you can add a word on your computer at work, and learning at home from your phone is a seamless integration.
Zoo and perspectives
It is clear that our expansion is not quantum physics. Everything was clear from the client side initially - they took the dictionary API, made an extension, made friends. When they started to do synchronization, problems got in.
We (the extension development team) imagined our project as a full-fledged backend with history, meta-information on user actions; we assumed that directly from the extension it would be possible to supply word sets to any services of the Skyeng ecosystem. Everything turned out differently: the mobile development team was in charge of the backend, and now this whole dictionary backend is an entity that sits very tightly in the mobile application. There were incidents and conflicts in the implementation of dynamic work and authorization. We believed that the user would be able to make changes on any client, but, faced with reality, we realized that now it is impossible to do this: changes can only occur in our extension, because the mobile application only deals with viewing the database. This is a new experience, a new cloud dictionary interaction architecture, and a new challenge for the mobile team. They will need to learn how to supply flexible tools to the user so that the mobile application is no longer just a viewer, but allows them to fully work with data: change pictures, move words, edit sets - these tasks were formulated based on the results of our joint work related to the extension.

When we made an internal test version without authorization and distributed it to employees in order to study the basic usage scenarios, we saw that the local dictionary page is uninformative: the user sees just a set of words indicating where they were added from. They began to communicate with colleagues, find out who uses how, and revealed two patterns: someone is interested in printing lists of words and hanging on the wall, while someone prefers to upload to other data formats and drive it somewhere. We quickly made two buttons, now the page of the personal dictionary can be printed or downloaded in the form of CSV. This is a quick response to the first feedback.
They started testing on the school’s audience - everyone seems to like everything, there are no global shoals, but people have an urgent need for self-editing of sets that are generated automatically. If you add two words from the article - you get a set of two words, it is inconvenient to learn it, they asked for the opportunity to combine sets, edit, break. It is clear that such functionality is very in demand, and its implementation is our main current task; we are rolling out the dictionary editor today, a server for storing pending texts will appear in the extension in the coming weeks.

As always, we remind you that we are constantly developing and actively looking for cool employees in our development teams. For example, several full-stack (including lead ) and product designer vacancies are now openon vimbox . You can work remotely, but it will be possible in our new office on Taganka!