GithubHelp home page GithubHelp logo

android-xmpp's Introduction

Abstract

Cloud computing could be deployed in the process of designing a mobile application in order to overcome the limits of smartphones like low-speed CPU, small memory and low battery. This project basically constructs an android application with the cloud assisted which allows people to watch the video and chat with others simultaneously. This application uses video from Youtube as the content provider. Furthermore, it chooses the App Engine powered by Google as the cloud. The chatting service is built on Extensible Messaging and Presence Protocol (XMPP).

Design

This application consists of two components: chatting service and video streaming. The backbone that enables chatting service is Extensible Messaging and Presence Protocol (XMPP). XMPP is an open-standard communications protocol for message-oriented middleware based on XML, and it is designed for near-real-time, extensible instant messaging (IM), presence information, and contact list maintenance [2]. Furthermore, this project needs to support group chatting since the number of people who are watching the same video is unsure. That’s the reason why App Engine plays an important role in this project. Google App Engine is a platform as a service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers [3].

The basic architecture of this project is as Figure 1 below. App Engine plays as a server and stores relevant information in Datastore. Meanwhile, it also serves the android client when requested. The way of sending data from servers to their applications on Android device is through Android Cloud to Device Messaging (C2DM), which provides a simple lightweight mechanism that servicers can use to tell mobile applications to contact the server directly, to fetch updated application or user data.

Figure 1

Program

  • Chatting Service WorkFlow

  • Group Chatting Service WorkFlow

Conclusion and Future Work

The aim of this project was to develop a mobile application with the cloud assisted to help the customers watch videos and chat with the others at the same time. This application was successfully developed and tested.

The video streaming service is achieved by following the Youtube API and Android API. On the other hand, the chatting service is based on XMPP. Furthermore, the App Engine helps to forward messages to achieve the so-called group chatting.

Future improvements could include making the cloud do more things for the mobile application. For example, the process of calculating the correct url for each video could be deployed on the cloud. The advantages are obvious. However, it also increases the complexity.

android-xmpp's People

Contributors

wihoho avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.