Universal Messenger

20
A Synopsis Report On UNIVERSAL MESSENGER Submitted By YADAV ARVIND 101P014 RADIOWALA ZAID 112P003 SHAIKH FARDEEN 112P016 ANSARI SAHEL 112P017 Under the guidance of Prof. Sonalii Suryawanshi in partial fulfillment for the award of the degree of Bachelor of Engineering [B. E. Computer Engineering] [2013 - 2014] at Department of Computer Engineering Rizvi College of Engineering New Rizvi Educational Complex, Off-Carter Road, Bandra(w), Mumbai - 400050 Affiliated to University of Mumbai

Transcript of Universal Messenger

ASynopsis Report On

UNIVERSAL MESSENGER

Submitted By

YADAV ARVIND 101P014RADIOWALA ZAID 112P003SHAIKH FARDEEN 112P016ANSARI SAHEL 112P017

Under the guidance of

Prof. Sonalii Suryawanshi

in partial fulfillment for the award of the degree of

Bachelor of Engineering[B. E. Computer Engineering]

[2013 - 2014]at

Department of Computer Engineering

Rizvi College of EngineeringNew Rizvi Educational Complex, Off-Carter Road,

Bandra(w), Mumbai - 400050

Affiliated to

University of Mumbai

MUMBAI UNIVERSITY

CERTIFICATEThis is to certify that

YADAV ARVINDRADIOWALA ZAIDSHAIKH FARDEEN

ANSARI SAHEL

of B.E. Computer Engineering have successfully submitted synopsis report on “UNIVERSAL MES-SENGER”, in partial fulfillment of the Degree of Bachelor of Engineering in Computer Engineer-ing under the guidance of ”Prof. Sonalii Suryawanshi”, from Rizvi College of Engineering, Ban-dra(W),Mumbai in the year 2013-14.

Prof. Sonalii SuryawanshiInternal Project Guide

Prof. Dinesh B. Deore Dr. Varsha ShahHOD, Computer Department Principal RCOE

Internal Examiner External Examiner

Date:

Acknowledgements

I am profoundly grateful to Prof. Sonali Suryawanshi for his expert guidance and continuous encour-agement throughout to see that this project rights its target.

I would like to express deepest appreciation towards Dr. Varsha Shah, Principal RCOE, Mumbai andProf. Dinesh B. Deore HOD Computer Department whose invaluable guidance supported me in thisproject.

At last I must express my sincere heartfelt gratitude to all the staff members of Computer EngineeringDepartment who helped us directly or indirectly during this course of work.

YADAV ARVIND

RADIOWALA ZAID

SHAIKH FARDEEN

ANSARI SAHEL

ABSTRACT

Our project UNIVERSAL MESSENGER is created for fast and esay-to-use mobile instant messagingservice for the user.The purpose of the app is to provide a very unique feature of language converter.Thisfeature allows different people from different countries speaking different languages to communicatewith each other without any language barrier.It is a normal chat application which uses the functionalitygoogle translator to convert the languages from one to another.In this application we can chat and sendsmileys,emotions,mp3’s,voice i.e recording, videos,contacts etc.The app is build on Android platform.UNIVERSAL MESSENGER is an alternative to SMS and MMS,that works via the internet,thus avoidingany charges that normal message incur.The app provides security and backup of the user data.No otherapp similar to our project is available in the market.Thus it makes the app one of its kind.DifferentAndroid pre-processing has been carried out inorder check whether the goal of making an languageconverter app is possible or not and we have got positive results.

Keywords- User experience; mobile phones; IM; chat; text messaging; multi-device services

Index

1 Introduction 1

2 Problem Statement & Objectives 22.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Literature Survey 33.1 UNIVERSAL MESSENGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.1.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.1.3 Disadvantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Theory, Methodology and Algorithm 44.1 Stastical Machine Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4.1.1 Googel Translator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5 Android Development Kit 75.1 SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75.2 NDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.3 APK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Eclipse Workbench 106.1 Eclipse as an IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

7 Plan of Work & Project Status 127.1 Proposed Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127.2 Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

8 Summary 13

References 14

List of Figures

1.1 Logo of the app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

4.1 Machine Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44.2 Actual Window of Google Translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75.2 Example code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6.1 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106.2 IDE Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Chapter 1 Introduction

Chapter 1

Introduction

The number of mobile users are increasing day by day.This is leading for a demand of an better mobileinstant messaging service.There are many messaging options available for the user but the traditionalway is much costlier and less advanced.This problem is solved by various mobile messenger apps.Theseapps works via the internet,thus avoiding any charges for the normal message .Though there are manymessenger app available in the market,there is no messenger app that works as an language converter.

Figure 1.1: Logo of the app

Our project ”UNIVERSAL MESSENGER” is the only kind of an messenger that provides the facil-ity of language converter.The main goal of the app is to allow communication between different peoplefrom different countries speaking different languages to communicate with each other without any lan-guage barrier.The name of the app is ”Who’s there?”.The app is easy to use,reliable,robust,secure etc.Itmakes user to communicate at lower expense.It is a normal chat application which uses the functionalitygoogle translator to convert the languages from one to another.In this application we can chat and sendsmileys,emotions,mp3’s,voice i.e recording, videos,contacts etc.

Who’s there? app provides all the features of an ideal mobile messenger app.The plus point of theapp is that it provides an unique feature of language converter.The app stores the data at the users deviceand at the server, this provides security and backup of the user data.Once registered the user profile iscreated on the server .This profile is kept even if user stops using the app.So that in future the user canretrive its data.The person using the app does not need to be an technical expert.The user interface of theapp is design in such a way that it does not create any problem for the user to install and to use the app.Itis available for the whole 24 hours and seven days of the week.Thus it is an always available facilityfor communication required that the internet connection is available.As the app uses internet for sendingand receving messages the cost for the communication becomes lowest.

Rizvi College of Engineering, Bandra, Mumbai. 1

Chapter 2 Problem Statement & Objectives

Chapter 2

Problem Statement & Objectives

The main objective of the ”UNIVERSAL MESSENGER” is to allows different people from differentcountries speaking different languages to communicate with each other without any language barrier.Theapp is Android based.As the app provide many functionalities the chances of complexities increases.Theapp is an mobile messenger app along witha na language converter.The app is releated to communicationso there is need of different network protocols.

There are two main constraints that determine the efficiency of the app. They are Communicationand Language translation whose degree of satisfaction determines the quality of a ideal mobile messen-ger app. These constraints usually vary from algorithm to algorithm.

2.1 Objectives

The objective of this project is to allows different people from different countries speaking differentlanguages to communicate with each other without any language barrier.

Constraints:

• All time communication between the users irrespective of time.

• Language conversion in an understandable and meaning full manner.

• Easy to use,reliable and secure.

Rizvi College of Engineering, Bandra, Mumbai. 2

Chapter 3 Literature Survey

Chapter 3

Literature Survey

3.1 UNIVERSAL MESSENGER

3.1.1 Summary

UNIVERSAL MESSENGER is an mobile messenger app.The app is build on Android.The app is easyto use,reliable,robust,secure etc.It makes user to communicate at lower expense.The main goal of theapp is to allow communication between different people from different countries speaking different lan-guages to communicate with each other without any language barrier.The name of the app is ”Who’sthere?”.The plus point of the app is that it provides an unique feature of language converter..Thereare many messaging options available for the user but the traditional way is much costlier and less ad-vanced.This problem is solved by various mobile messenger apps.These apps works via the internet,thusavoiding any charges for the normal message .Thoug there are many messenger app available in the mar-ket,there is no messenger app that works as an language converter.Thus our project holds an importantplace in the messenger category.

3.1.2 Advantages

• The approach of providing an messenger app that allows language conversion gave very goodfeedback from the people. It removes the language barriers between the users that means differentpeople from different countries speaking different languages to communicate with each other.

• Avability of the app also makes it more efficent and an must-have app.

3.1.3 Disadvantages

• As the app provides language conversion the chances of the conversion in proper and meaningfulmanner becomes a matter concern.

Rizvi College of Engineering, Bandra, Mumbai. 3

Chapter 4 Theory, Methodology and Algorithm

Chapter 4

Theory, Methodology and Algorithm

Our mobile messenger app is designed specifically to allow different people from different countriesspeaking different languages to communicate with each other. The main task of the messenger is dividedinto two sections: Firstly, it should accurately establish a connection between the users for communica-tion. The second part of the messenger is that it must privide language transalation.The result ofn thelanguage translation should be proper and meaningful.

4.1 Stastical Machine Translation

Machine translation, sometimes referred to by the abbreviation MT (not to be confused with computer-aided translation, machine-aided human translation (MAHT) or interactive translation) is a sub-field ofcomputational linguistics that investigates the use of software to translate text or speech from one nat-ural language to another. On a basic level, MT performs simple substitution of words in one naturallanguage for words in another, but that alone usually cannot produce a good translation of a text becauserecognition of whole phrases and their closest counterparts in the target language is needed. Solving thisproblem with corpus and statistical techniques is a rapidly growing field that is leading to better transla-tions, handling differences in linguistic typology, translation of idioms, and the isolation of anomalies.Current machine translation software often allows for customization by domain or profession (such asweather reports), improving output by limiting the scope of allowable substitutions. This technique isparticularly effective in domains where formal or formulaic language is used. It follows that machinetranslation of government and legal documents more readily produces usable output than conversationor less standardised text. Improved output quality can also be achieved by human intervention: for

Figure 4.1: Machine Translation

Rizvi College of Engineering, Bandra, Mumbai. 4

Chapter 4 Theory, Methodology and Algorithm

example, some systems are able to translate more accurately if the user has unambiguously identifiedwhich words in the text are names. With the assistance of these techniques, MT has proven useful asa tool to assist human translators and, in a very limited number of cases, can even produce output thatcan be used as is (e.g., weather reports). The progress and potential of machine translation have beendebated much through its history. Since the 1950s, a number of scholars have questioned the possi-bility of achieving fully automatic machine translation of high quality.Some critics claim that there arein-principle obstacles to automatizing the translation process.

4.1.1 Googel Translator

Google Translate is a free, multilingual statistical machine-translation service provided by Google Inc.to translate written text from one language into another. Before October 2007, for languages otherthan Arabic, Chinese and Russian, Google used a SYSTRAN based translator which is used by othertranslation services such as Yahoo! Babel Fish, AOL, and Yahoo. On May 26, 2011, Google announcedthat the Google Translate API had been deprecated and that it would cease functioning on December1, 2011, ”due to the substantial economic burden caused by extensive abuse.” The shutting down of theAPI, used by a number of websites, led to criticism of Google and to developers questioning the viabilityof using Google APIs in their products. On June 3, 2011, Google announced that they were cancellingthe plan to terminate the Translate API due to public pressure. In the same announcement, Google saidthat it would release a paid version of the Translate API.

Figure 4.2: Actual Window of Google Translate

The service limits the number of paragraphs, or range of technical terms, that will be translated. It ispossible to enter searches in a source language that are first translated to a destination language allowingyou to browse and interpret results from the selected destination language in the source language.[8]For some languages, users are asked for alternate translations such as for technical terms, to be includedfor future updates to the translation process. Text in a foreign language can be typed, and if ”Detect

5

Chapter 4 Theory, Methodology and Algorithm

language” is selected, it will not only detect the language but will translate it into English by default.The homepage of English Wikipedia translated into Portuguese Google Translate, like other auto-

matic translation tools, has its limitations. While it can help the reader to understand the general contentof a foreign language text, it does not always deliver accurate translations. Some languages producebetter results than others. Google Translate performs well especially when English is the target lan-guage and the source language is one of the languages of the European Union. Results of analyses werereported in 2010, showing that French to English translation is relatively accurate and 2011 and 2012showing that Italian to English translation is relatively accurate as well. However, rule-based machinetranslations perform better if the text to be translated is shorter; this effect is particularly evident in Chi-nese to English translations. Texts written in the Greek, Devanagari, Cyrillic and Arabic scripts can betransliterated automatically from phonetic equivalents written in the Latin alphabet.

6

Chapter 5 Android Development Kit

Chapter 5

Android Development Kit

Android software development is the process by which new applications are created for the Androidoperating system. Applications are usually developed in the Java programming language using theAndroid Software Development Kit, but other development tools are available.Android is created bythe Open Handset Alliance which is led by Google. The early feedback on developing applicationsfor the Android platform was mixed. Issues cited include bugs, lack of documentation, inadequate QAinfrastructure, and no public issue-tracking system. (Google announced an issue tracker on 18 January2008.) In December 2007, MergeLab mobile startup founder Adam MacBeth stated, ”Functionality isnot there, is poorly documented or just doesn’t work... It’s clearly not ready for prime time.” Despitethis, Android-targeted applications began to appear the week after the platform was announced. Thefirst publicly available application was the Snake game.The Android Dev Phone is a SIM-unlocked andhardware-unlocked device that is designed for advanced developers. While developers can use regularconsumer devices purchased at retail to test and use their applications, some developers may choose notto use a retail device, preferring an unlocked or no-contract device.

Figure 5.1: Android

5.1 SDK

The Android software development kit (SDK) includes a comprehensive set of development tools. Theseinclude a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, andtutorials. Currently supported development platforms include computers running Linux (any modern

Rizvi College of Engineering, Bandra, Mumbai. 7

Chapter 5 Android Development Kit

desktop Linux distribution), Mac OS X 10.5.8 or later, Windows XP or later; for the moment onecan develop Android software on Android itself by using [AIDE - Android IDE - Java, C++] app and[Android java editor] app. The officially supported integrated development environment (IDE) is Eclipseusing the Android Development Tools (ADT) Plugin, though IntelliJ IDEA IDE (all editions) fullysupports Android development out of the both and NetBeans IDE also supports Android developmentvia a plugin.Additionally, developers may use any text editor to edit Java and XML files, then usecommand line tools (Java Development Kit and Apache Ant are required) to create, build and debugAndroid applications as well as control attached Android devices.

5.2 NDK

The Android NDK (Native development kit) is a companion tool to the Android SDK that lets you buildperformance-critical portions of your apps in native code. It provides headers and libraries that allowyou to build activities, handle user input, use hardware sensors, access application resources, and more,when programming in C or C++.Libraries written in C and other languages can be compiled to ARM,MIPS or x86 native code and installed using the Android Native Development Kit. Native classes canbe called from Java code running under the Dalvik VM using the System.loadLibrary call, which ispart of the standard Android Java classes. Complete applications can be compiled and installed usingtraditional development tools. The ADB debugger gives a root shell under the Android Emulator whichallows native ARM, MIPS or x86 code to be uploaded and executed. Native code can be compiled usingGCC on a standard PC. Running native code is complicated by Android’s use of a non-standard C library(libc, known as Bionic). The graphics library that Android uses to arbitrate and control access to thisdevice is called the Skia Graphics Library (SGL), and it has been released under an open source licence.Skia has backends for both Win32 and Unix, allowing the development of cross-platform applications,and it is the graphics engine underlying the Google Chrome web browser. Unlike Java applicationdevelopment based on the Eclipse IDE, the NDK is based on command-line tools and requires invokingthem manually to build, deploy and debug the apps. Several third-party tools allow integrating the NDKinto Eclipse and Visual Studio.

The NDK is a toolset that allows you to implement parts of your app using native-code languagessuch as C and C++. For certain types of apps, this can be helpful so you can reuse existing code librarieswritten in these languages, but most apps do not need the Android NDK.

Before downloading the NDK, you should understand that the NDK will not benefit most apps. As adeveloper, you need to balance its benefits against its drawbacks. Notably, using native code on Androidgenerally does not result in a noticable performance improvement, but it always increases your appcomplexity. In general, you should only use the NDK if it is essential to your appnever because yousimply prefer to program in C/C++.

Typical good candidates for the NDK are self-contained, CPU-intensive operations that don’t allocatemuch memory, such as signal processing, physics simulation, and so on. When examining whether ornot you should develop in native code, think about your requirements and see if the Android frameworkAPIs provide the functionality that you need.

8

Chapter 5 Android Development Kit

5.3 APK

Android application package file (APK) is the file format used to distribute and install application soft-ware and middleware onto Google’s Android operating system; very similar to an MSI package inWindows or a Deb package in Debian-based operating systems like Ubuntu. To make an APK file, aprogram for Android is first compiled, and then all of its parts are packaged into one file. An APK filecontains all of that program’s code (such as .dex files), resources, assets, certificates, and manifest file.As is the case with many file formats, APK files can have any name needed, provided that the file nameends in ”.apk”. APK files are ZIP file formatted packages based on the JAR file format, with .apk fileextensions. The MIME type associated with APK files is application/vnd.android.package-archive. AnAPK file is an archive that usually contains the following folders:

Contents:

• META-INF directory:

• MANIFEST.MF: the Manifest file

• CERT.RSA: The certificate of the application.

• CERT.SF: The list of resources and SHA-1 digest of the corresponding lines in the MANIFEST.MFfile; for example:

Figure 5.2: Example code.

9

Chapter 6 Eclipse Workbench

Chapter 6

Eclipse Workbench

The Eclipse Platform uses plug-ins to provide all the functionality within and on top of the runtimesystem. The Eclipse Platform’s runtime system is based on Equinox, an implementation of the OSGicore framework specification.

In addition to allowing the Eclipse Platform to be extended using other programming languagessuch as C and Python, the plug-in framework allows the Eclipse Platform to work with typesettinglanguages like LaTeX, networking applications such as telnet and database management systems. Theplug-in architecture supports writing any desired extension to the environment, such as for configurationmanagement. Java and CVS support is provided in the Eclipse SDK, with support for other versioncontrol systems provided by third-party plug-ins.

With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means thatevery plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect,all features are ”created equal” Eclipse provides plug-ins for a wide variety of features, some of whichare through third parties using both free and commercial models. Examples of plug-ins include a UMLplug-in for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others. The Eclipse

Figure 6.1: Eclipse

SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Javacompiler and a full model of the Java source files. This allows for advanced refactoring techniques andcode analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespaceallowing external file modifications as long as the corresponding workspace ”resource” is refreshedafterwards.

Eclipse implements widgets through a widget toolkit for Java called SWT, unlike most Java applica-tions, which use the Java standard Abstract Window Toolkit (AWT) or Swing. Eclipse’s user interfacealso uses an intermediate graphical user interface layer called JFace, which simplifies the constructionof applications based on SWT.

Rizvi College of Engineering, Bandra, Mumbai. 10

Chapter 6 Eclipse Workbench

6.1 Eclipse as an IDE

In computer programming, Eclipse is a multi-language Integrated development environment (IDE) com-prising a base workspace and an extensible plug-in system for customizing the environment. It is writtenmostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, otherprogramming languages including Ada, C, C++, COBOL, Fortran, Haskell, JavaScript, Lasso, Perl,PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy, Scheme, andErlang. It can also be used to develop packages for the software Mathematica. Development environ-ments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++and Eclipse PDT for PHP, among others. The initial codebase originated from IBM VisualAge.[2] TheEclipse software development kit (SDK), which includes the Java development tools, is meant for Javadevelopers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such asdevelopment toolkits for other programming languages, and can write and contribute their own plug-inmodules. Released under the terms of the Eclipse Public License, Eclipse SDK is free and open sourcesoftware (although it is incompatible with the GNU General Public License[3]). It was one of the firstIDEs to run under GNU Classpath and it runs without problems under IcedTea.

Figure 6.2: IDE Example

11

Chapter 7 Plan of Work & Project Status

Chapter 7

Plan of Work & Project Status

7.1 Proposed Modules

• Gathreing information about messenger.

• Establishing connection between users

• Data detection

• Data Extraction

• Recognition of language

• Using translator for language coversion.

• Testing of all the modules.

7.2 Scheduling

The following table shows the expected flow of work for the accomplishment of the required result.

Table 7.1: Plan of WorkNo. Describtion Duration Complexity Status

1 Literature Survey: Gathering information for mes-senger

1 week 2 Done

2 Literature Survey: communication detection andExtraction techniques

1 week 3 Done

3 Literature Survey: Various methods available forlanguage translation

2 weeks 4 Done

4 Application of preprocessing techniques to the ac-quired connection

2 weeks 4 Done

5 Use of language translator 2 weeks 2 Done6 Setup and Implementation 2 weeks 3 Done7 Use of different approaches for activation 2 weeks 3 Done8 Coding: Environment setup for Android imple-

mentation and building class template4 week 5 Pending

9 Testing of the messenger (android)code 2 week 4 pending10 Final testing of the messenger application 1 week 3 pending

Rizvi College of Engineering, Bandra, Mumbai. 12

Chapter 8 Summary

Chapter 8

Summary

From the of the above proposed system one can learn many aspects of a android developement kit .Thiswill give the complete knowledge of designing of android application.We will also learn the software de-velopment strategies and various programming techniques for PC and Mobile based applications.Hencewe created a chat application which can convert the instant messages on a single click without using anexternal translator.

Rizvi College of Engineering, Bandra, Mumbai. 13

References

References

[1] ”eclipse.org”, For downloading eclipse .

[2] ”mvaayoo.com”, To get the activation code.

[3] ”http://google.com”

Rizvi College of Engineering, Bandra, Mumbai. 14