Today, I am happy to introduce you, my beloved readers one of my new project, An Universal Language Translator voice/text-messaging chat system. It’s still in barely a prototype implementation. But, I hope you can get and experience the idea I am trying to achieve here. Though I have several more works on it in the coming days, I will request you to check this and let me know what you think if something can be done in a better way. Which will be super helpful for me.
I live in Montreal, Quebec, where french is official/major speaking language. Very often I faced people, who only speak french(no English). I also tried to learn french(I know few words/sentences 😀 ), which seems difficult to achieve in short time a tight schedule of mine(besides study+work). I just wished if there were a convenient way to talk to people speaking different language, at least on mobile/remote communication.
Then, Few days ago, I participated in a virtual hackathon arranged by koding.com. There were couple of theme, among them, I selected the one I feel I was most interested in, guess what: ‘Challenges associated with real-time communication and translation’. And there the journey of this app starts!
I had final exam just 2/3 days after the hackathon, so it was tough decision to take, whether to participate in the competition or not. But I decided to participated finally.(exam wasn’t bad too 🙂 )
A Very Brief Overview Of this Universal Language Translator:
ULTraChat is a web-based real-time communication system, which allows you to communicate with people, who don’t speak/understand your language.
You can text chat with anyone in the group chat room, all theirs message will be shown in your own preferred language and yours to them as their preferred language. If multiple persons message you in different languages, you will see all of them in your native(which you can select from top left select box) language! The translation service are served by Yandex API, which supports a wide area of languages.
You can also communicate to other people(speaking different language) via voice as well. This is available in private chat system only. You can speak your own language, that will be recognized and played to your chat partner as robotic voice in his preferred language.
So, as you can see, its acting as an real-time language translator right in your chat app.
Result/Feedback I Received:
There were in total more than five hundred projects submitted in the competition. And projects were judged in three different rounds. I am happy to say that, it made its way to the final 100 projects! It was a great achievement for me, given that I didn’t expect it to score at all as didn’t able to invest much time and we didn’t have an descent user experience designer to make it look elegant it was in a very childish/amateur structure.
Also, on koding.com site’s hackathon discussion channel, I got a lot of positive comments, which was very inspirational. Thus I decided to make some more improvements before I share it on my blog.
Improvements Made Since Then:
The major need was that, at that time, the free chat API I was using, allowed at most 5 concurrent connections. I didn’t like it and wanted get over with this barrier. Thus I created a very basic chat server with socket.io and integrate with it instead of that third-party one.
Besides, I converted the jQuery codes to AngularJS as to make a better structure. And made some tweaks on the UI.
There are several limitations currently, on this app. Some of them are as below:
- Works On Google Chrome Only: The web speech technology is currently working on google chrome browser and partially on apple safari. So, I haven’t spent time on cross-browser compatibility yet and you should only expect to work this on google chrome browser only.
- Browser Permission: You will might need to allow microphone permission every-time you want to send voice message. This is because, the demo site where its hosted currently, isn’t under https. I will try to set an ssl certificate sometime soon.
Some more limitations are listed on homepage: http://demo.codesamplez.com/ultrachat/ .
Current Technology Stack:
- Yandex Translation API
- Bootstrap CSS Framework
- HTML5 Web Speech API Wrapper
I will really appreciate if you can check out this app and give me suggestions/feedbacks about this application. If you are having any trouble/issues with the application, please report it on ultrachat github issues.
Also, if you already checked the app, you can help by simply answering the questions on this form: http://goo.gl/Ce0N8k
You can also contribute by code as well! Specially, if you have some very good front-end skills. I am not highly expert front end developer, thus its kind of basic and have a lot of scope of improvements. Just create a ticket on github and I will help you with any questions/concerns.
The HTML5 web-speech api is also directly been used in this application and thus contributing on that library would directly help this app too!
Just a heads up that, I will also occasionally be online on this app. If you have any question about anything on this site, you can get in touch with me through this app! Keep in touch!