Introduction

parseltongue is a Google Chrome extension that enables users to learn the language of their choice with minimal effort, while interacting with the Internet as they normally would.

Inspiration

While our daily lives revolve around the use of the Internet, we felt that there wasn't a great way to learn a new language with minimal effort. We wanted to change this, so we aimed to develop a Google Chrome extension that teaches users a new language without adding another task to their to-do lists. With that in mind, our extension integrates with the normal web surfing and research that a user already engages in.

With parseltongue, a user no longer needs to devote time to learning a new language. The time already spent on the Internet can be leveraged to learn a new language. As a user develops a more substantial vocabulary, parseltongue translates more of the web page's words into the language being learned. A user can then view their progress over time and see how much they've improved.

What It Does

parseltongue is a Google Chrome extension that translates a percentage of a web page's words into the language that a user is trying to learn. As a user begins to learn and develop their vocabulary, a greater number of the words on a web page are translated. A user can then click on the words that are translated and check that they've either learned the word in the context or they still don't know what the word means. By clicking on the translated word, the English definition is displayed along with the user feedback check. Through the parseltongue dashboard, a user can view their progress over time and see how their comprehension percentage has increased.

How We Built It

We started out by sketching a mockup of our Chrome extension. Next, we decided on which technologies to implement to develop our solution and distributed technology workload amongst the members of our group based on our various skills and competencies.

Our chrome plugin functionality was written entirely in JavaScript. The plugin ran scripts in the context of the site being visited to change the visual appearence and UI of the page, and we ran javascript in the browser background the handle heavier utilities like storage. We used stdlib as the backend which tokenized, part of speech tagged, batch-translated according to a density (replace 40% of the nouns etc). Rather than attempting to do the thick translation logic in browser (which would have been severly blocking) we were able to asynchronously do our computationally heavy operations on stdlib.

Challenges

We faced many challenges in building this product, the first of which was the brainstorming process. It took a few hours to brainstorm and come up with our final project idea. Our next notable task was deciding on which technologies we would implement to develop our solution.

After deciding on our various technologies, we encountered a handful of issues connecting these various systems together. Our stack covered a wide variety of programming languages, systems, and designs including Google Chrome, Javascript, stdlib, and jQuery Bootstrap. Getting the puzzle pieces to fit together was a challenging, yet very rewarding problem to solve.

Accomplishments That We're Proud Of

We're proud of developing a Chrome extension that enables a user to intuitively learn a language. Our extension seamlessly integrates with Google Chrome and teaches the user the language of their choice. Ideally, we hope that this tool will enable people to communicate with others of different countries, cultures, and backgrounds. We envision a future where people don't view learning a new language and traveling as such a significant barrier to overcome. We hope that through the use of our extension, people can travel the world and experience it from a new perspective.

What We Learned

As we had some new hackers on our team, we learned that it's possible to develop an impactful piece of software in a short period of time. We also learned how to utilize stdlib to simplify our development process.

What's Next for parseltongue

We hope to implement algorithms and metrics to better track progress over time and move into a full embedded educational platform that just requires you to surf the web.

Built With

stdlib, jQuery Bootstrap, Javascript, and HTML

Built With

Share this project:

Updates