User:Renamed user ablguwe/GSoC 2014 proposal
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
Inline translation
editName and contact information
edit- Name
- Roman Zaynetdinov
- romanznet@gmail.com
- IRC or IM networks/handle(s)
- zaynetro
- Web Page / Blog / Microblog / Portfolio
- github.com/zaynetro
- Location
- Turku, Finland
- Typical working hours
- During the day time in UTC+02:00 time zone
Synopsis
editProject Idea
editWhat is the purpose?
editHelp people in reading complex texts by providing inline translation for unknown words. For me as a non-native English speaker student sometimes is hard to read complicated texts or articles, that’s why I need to search for translation or description every time. Why not to simplify this and change the flow from translate and understand to translate, learn and understand?
How inline translation will appear?
editWhile user is reading an article, he could find some unknown words or words with confusing meaning for him. At this point he clicks on the selected word and the inline translation appears.
What should be included in inline translation?
editThus it is not just a translator, it should include not only one translation, but a couple or more. Also more data can be included such as synonyms, which can be discussed during project completion.
From which source gather the data?
editWiktionary is the best candidate, it is an open source and it has a wide database. It also suits for growing your project by adding different languages. Also other candidates can be found to make translation more precise.
Evaluation
editThere are two ways in my mind right now.
- First is to make a web-site built on Node.js with open API for users. Parsoid could be used for parsing data from Wiktionary API which is suitable for Node. A small JavaScript widget is also required for front-end representation.
- Second is to make a standalone library which can be used alone on other resources as an add-on or in browser extensions. Unfortunately, last option is more confusing for me at this point.
Example
editAfter clicking on the word simple window appears with information about this word. Instead of "Info about this word" more data should be shown at least a couple of meanings like on this page.
Growth opportunities
editAs an example I am leaving in Finland right now and I don’t know Finnish as I should to understand locals, therefore this project can be expanded by adding more languages support for helping people like me reading, learning and understanding texts in foreign languages.
Suggested solution
edit“You could basically write a node service that pulls in the Parsoid HTML for a given wiktionary term and extracts the info you need from the DOM and returns it in a JSON response to a client-side library. Alternatively (or as a first step), you could download the Parsoid HTML of the wiktionary article on the client and extract the info there. This could even be implemented as a gadget. We recently set liberal CORS headers to make this easy.” by Gabriel Wicke.
- Possible mentors
Deliverables
edit(editing)
- Week 1:
- understanding the structure and required modules if they'll be needed
- writing a descriptive list of tasks
- Weeks 3-4: writing the server side and getting information about Parsoid
- Weeks 3-4: understanding Parsoid and implementing support
- Weeks 4: finding and resolving bugs, and writing documentation
Participation
editIn the beginning of the project I will create a tasks list, which I will be editing during the completion of the project, it will help me to understand the current progress and also writing a report to the mentor (if needed). I am planning to publish the source to my github account for the whole project period. After doing this project I am not planning to stop developing it, on the contrary I want to continue working on it.
About you
edit- Education completed or in progress
- Bachelor degree in Information Technology in progress
- How did you hear about this program?
- From a friend, who participated in the previous Google Summer of Code
Past experience
editCompletely redesigned my school schedule and successfully presented it in the school exhibition.
I decided to learn JavaScript and Node.js from scratch and this project is what I came up with. Also I learned how to work with non-relational databases and how to organize your work combining studying and doing the project at the same time.
Any other info
editCurrently I don't have a big projects portfolio, cause I just started, but I am reading a lot and following JavaScript updates and new techniques. The most important slogan for me is "Making the web a better place".