Smart Office: Development of a Mobile Application for Android with
Firebase Services Oriented to GroupMe Messaging
Liliana Enciso
1,2
, Jos
´
e Guarnizo
2
, Edisson Torres
2
and Pablo Alejandro Quezada-Sarmiento
3
1
Grupo Investigaci
´
on IoT - Network Communications on Smart Environment, Universidad T
´
ecnica Particular de Loja, San
Cayetano Alto, Loja, Ecuador
2
Departamento de Ciencias de la Computaci
´
on y Electr
´
onica, Universidad T
´
ecnica Particular de Loja, San Cayetano Alto,
Loja, Ecuador
3
Escuela de Inform
´
atica y Multimedia, Universidad Internacional del Ecuador, Quito, Ecuador
Keywords:
GroupMe Messaging, Firebase, Chat, Android, Smart, Mobile Application.
Abstract:
The courier service GroupMe is born for the need to manage instantaneous messages for groups of persons
in particular, especially the chat the public enjoys good reputation in general. Nevertheless, it plays a funda-
mental role in the growth and Internet expansion. The applications of courier service GroupMe have taken
big part of the market and have turned into a tool of work more and more used in personal, professional,
social ambiences and into emergency situations. The mobile application under the name of the messaging
FriendsChats GroupMe: Account with a service provided by Google called Firebase, which allows you to
store the information in the cloud quickly and safely. In view of the fact that applications that offer the same
service of communication have been developed with primitive tools such as the cloud storage (no security),
for this reason it is advisable to implement Firebase, the same that provides read / write rules, avoiding new
safety rules. The project was carried out in O.S. Android with the participation of two specialists: a functional
development and another one of the interface. Implementing Firebase to Android, any information that is
entered in the database is synchronized with different devices with the application.
1 INTRODUCTION
The Messaging GroupMe is one of the ways of com-
munication with friends immediately via the Internet.
Cited in the paper (Trigo and Mart
´
ın, 2006). It must
be borne in mind that should not be compared with
the Email (EC), as these are very different tools for
communication. Published in (A. and G., 2017).
One of the big differences between GroupMe and
EC; is that with the GroupMe you can witness to
friends, that is to say it is known when you are con-
nected in the instant, in contrast with the EC, it would
have to wait for the recipient to go to the mailbox and
review the messages. The same thing happens in other
applications like (Enciso et al., 2018), (Enciso et al.,
2017).
Currently, GroupMe has given a shift toward mo-
bile applications, cross-platform applications or web
services that require no application to operate, obtai-
ned from the article (Guru, 2016).
GroupMe allows communication with all con-
nected systems, playing exactly in favor of those who
communicate. There are also conferences in group,
are instant and can be sent to multiple contacts at the
same time. Mentioned in the blog (Apple, 2015)
Based on studies of market, will be used these de-
vices to be able to create the application mentioned
above. Today, around 49% are Smartphone devices.
Mentioned in the report (Nielsen, 2012), the which al-
lows for greater expansion in the use of the developed
application. Published in the article (Vidal, 2012).
We analyzed the services offered Firebase, as it
is since it came on the market has been very welco-
med by many developers, because that offers reliabi-
lity, security and speed in the handling of information.
Quoted in the blog (Alvarez, 2016).
In the present is proposed to carry out a applica-
tion of GroupMe (group messages), integrating the
services of Firebase and TinyBD. Giving the struc-
ture and functioning of the databases in real time. Re-
ferente to blog (Anton, 2015).
It is not intended do an application with such mag-
nitude as WhatsApp or Messenger, applications with
a large global market; but if, an app that allows com-
454
Enciso, L., Guarnizo, J., Torres, E. and Quezada-Sarmiento, P.
Smart Office: Development of a Mobile Application for Android with Firebase Services Oriented to GroupMe Messaging.
DOI: 10.5220/0007235204540461
In Proceedings of the 14th International Conference on Web Information Systems and Technologies (WEBIST 2018), pages 454-461
ISBN: 978-989-758-324-7
Copyright © 2018 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
munication between a certain group of people, offe-
ring optimization in message response time, privacy
and security of storage in the cloud. Similar features,
mentioned in (KDE, 2012).
The specific objectives are, redacted in (Rodriguez
and Lagos, 2016):
Developing a mobile application which allows the
registration of users in the internal database of the
movil. the TinyBD.
Incorporate the services of Firebase, for the syn-
chronization of information between users.
All information that is sent and received will be
stored in the cloud of the Firebase.
The scope of this project is the development of a
mobile application, incorporating the services of Fire-
base (reading and writing), and the application will be
developed on Android (functions and the application
interface), so that the same is correctly well done and
be pleasing to users.
2 RELATED WORK
Windows Live Messenger: Enables communication
between two or more users, with the arrival of the
Messenger it was possible to chat, speak or make vi-
deo calls between two computers. (Trigo and Conde,
2006). Using the main idea of Windows, was analy-
zed tools to help perform the same function, but of
a more secure and efficient, which provide Firebase
with safety rules.
Once Messenger began to get a great market,
Vyrros Andrew development IMessage and des-
cribe: That is a messaging service developed at Ap-
ple,supports that users send more than 300 billion
messages per day using IMassage. (Trautschold and
Mazo, 2012). The problem I had was that it did not
have storage tool information in the cloud, any mes-
sage that was received, was stored in the device’s in-
ternal memory. Firebase provides ample storage size
for that customer information is always available.
Google launched its long-awaited messaging ser-
vice called Google talk: Which seeks to other people
the way you choose, you can be: email, instant mes-
saging or voice, is a service similar to that currently
offers Skype. (Mercurio and SAP, 2005). It was one
of the first applications that were developed with the
service of Firebase, to control the rules of users, ena-
bling encryption when you register the client and the
de-encryption when retrieving customer profile infor-
mation.
DoneSitios: It allows you to give benefits and
solutions on the concept that know about (Ecua-
dor) as for example, education, health, tourist sites,
etc. (Bravo and Faican, 2017). There is great si-
milarity with doneSitios, since it has an informative
”chat”. for the development of the application will
implement the service of Firebase in order to develop
a similar application for the transmission of informa-
tion of a synchronously with a large group of clients.
2.1 The Unified Modeling Language
(UML)
The UML is one of the tools most exciting in the
world of systems development.
This allows us to generate designs that capture the
ideas for the development of an application. In the
figure 1. The Use Case Diagram, in which details the
functional structure of the application.
Figure 1: Description of the actions of the system.
2.2 The GroupMe
The messaging GroupMe, includes messages in real
time and allows in group communication between the
clients. In the application developed, all persons that
are registered will be able to see all messages that
have been sent and whether they will be able to ans-
wer those messages (Room, 2012). And some im-
portant developments during these times, which are
detailed in (D. and H.G., 2010):
It was the implementation in the DISH (Programd
Logic for Automatic Teaching Operations) used at
the beginning of the decade of 1970.
It appeared on the internet in November 1996.
The service of GroupMe offers a window where
you write the message in plain text, icons or emo-
ticons.
It differs from the chat and other tools of conver-
sation in which access is immediate and perma-
nent at the click of a button of the navigation of
the site.
Smart Office: Development of a Mobile Application for Android with Firebase Services Oriented to GroupMe Messaging
455
(a) Architecture two layers of Firebase
(b) The organizational structure of FriendsChats
Figure 2: Technologies implemented.
2.3 Firebase
Firebase was founded in 2011 by Andrew Lee and Ja-
mes Tamplin, is the new and improved Mobile de-
velopment platform in the cloud. It was acquired
by Google in October 2014, and from there has gi-
ven new features. Information retrieved from the arti-
cle (A.B., 2011).
In the Figure 2.a. The functional architecture of
the Firebase, has a architecture two layers (client/-
server) starting from a customer to transmit informa-
tion to the server, which transmission is made in bi-
directional lines. Borja summarized, That the same
requires a client GroupMe that performs the service,
also is different from the email. There are messaging
programs that serve as a great help for your shipment
arrives instantly. the main features of the GroupMe,
the mentioned in the article (Bravo, 2016).
Figure 2.b. Presents the basic structure and orga-
nization of GroupMe, implementing in Firebase. It
can be seen that the data go in bi-directional and that
all message passes through the firewall to be filtered.
2.4 Add Firebase to Android
2.4.1 Add the SDK
If you want to integrate libraries of Firebase to one
of your projects, you must perform some basic tasks
that help in the preparation of the project of Android
Studio(Studio, 2008).
Code 1: Complement google-services.
1 b u i l d s c r i p t {
2 d e p e n d e n c i e s {
3 c l a s s p a t h com . g o o g l e . gms :
goog l e s e r v i c e s : 3 . 0 . 0
4 } }
In the code 1. We describe how to include add-ons
to Android, obtained from the manual (Developers,
2016):
Line 1: Contains the main package the all of code,
which allows you to add rules to file build.gradle.
Line 2: We incorporate the dependency package
to the file.
Line 3: We include the add-in google-services.
Code 2: Complement Gradle.
1 a p p l y p l u g i n : com . a n d r o i d .
a p p l i c a t i o n
2 a n d r o i d { }
3 d e p e n d e n c i e s {
4 co m p i l e com . g o o g l e . f i r e b a s e :
f i r e b a s e c o r e : 9 . 6 . 1
5 / / ADD THIS AT THE BOTTOM
6 a p p l y p l u g i n : com . g o o g l e . gms .
goog l e s e r v i c e s
7 }
In the code 2. It is described how to include
dependencies that will be used in Android, obtained
from the manual (Developers, 2016):
Line 1: Corresponds to the file app/build.gradle.
Line 2: It is incorporated the packages of An-
droid.
Line 3: It is incorporated the dependency package
to the file.
Line 4: Compile the service of Firebase.
L
´
ınea 6: You add the line apply plugin to enable
the add-in GRADLE.
2.4.2 Safety Rules in Firebase
The rules of security are used to protect the data of the
application developed; Firebase has three types for
verification of the security, found in the channel (De-
sarrolloWeb.com., 2016b).
We must remember that these security levels must
have the same data model you are working on the pro-
ject.
For the purpose of the application developed will
need the rules of writing and reading for users; these
ITSCO 2018 - Special Session on Internet of Things and Smart Communities
456
rules are organized in the form of a tree. Adapted
from the virtual manual of (DesarrolloWeb.com.,
2016a).
Code 3: Rules of reading and writing.
1 {
2 ” r u l e s ” : {
3 ” . r e a d ” : tr u e
4 ” . w r i t e ” : t r u e
5 }
6 }
The editions of the rules will have to be
done manually from the official page of Firebase
https://firebase.google.com/?hl=es-419 go to console,
once inside we will modify the rules of Firebase,
giving them true values for editing by the user, in the
co de 3, It describes the activation of the rules of
reading and writing that will own the users:
L
´
ınea 2: Pack of rule.
L
´
ınea 3: Reading rules are given a true value.
L
´
ınea 4: Reading rules are given a true value.
Once these simple steps are completed, it will no
longer be needed to return to the Firebase page. Now
we will focus on the project that was developed in
Android Studio and App Inventor. Explained in the
video (DesarrolloWeb.com., 2016a).
2.5 APP Inventor
APP Inventor is an application of Google Labs, for
the creation of applications for Android devices (Net,
2015). This application has been one of the great
innovations of the last years on the part of Google,
because it has allowed the newest programmers to
make their own applications with different objectives.
It is necessary to have an account that the appli-
cation would not serve to the creation of application
that contains a great magnitude since for reasons that
only supports a limited number of services. Retrieved
from comments by (TuAppInventor, 2016).
Some characteristics that can be exploited in the
course of their use are:
The creation of simple applications, suitable for
any Android operating system.
Easy importation of add-ons that we want to im-
plement.
Dynamic blocks holding the Android code.
2.5.1 Supporting Features of App Inventor
When building applications for Android; Works with
two tools, detailed in the official page l (Riego, 2017):
1. App Inventor
2. App Inventor Blocks Editor
2.5.2 Operation of an Application in App
Inventor
The Android program is based on events, that is, an
action has to occur for the corresponding reaction to
take place. Recovered from (D
´
ıaz, 2016).
Figure 3. The diagram for the execution of the events
carried out by Android is explained.
Figure 3: Execution Diagram on Android.
In the case of programming in other languages,
such as Arduino, programming is based on a cycle in
which the code is executed in a linear fashion. Within
the cycle it is checked if the action has occurred, thus
executing what corresponds. Recovered from (D
´
ıaz,
2016).
Figure 4. The diagram for the execution of the
actions in Arduino is explained.
Figure 4: Execution Diagram on Arduino.
2.5.3 In the Translation of Android Studio to
App Inventor
In the App Inventor tutorial proposed by Luis D
´
ıaz
explains that in the development of the interface that
Smart Office: Development of a Mobile Application for Android with Firebase Services Oriented to GroupMe Messaging
457
will own the application for the user, the developer
can make use of the Various elements of App Inven-
tor tool, from buttons and text boxes to elements that
allow modifying the way the elements are displayed
and displayed. Detail in the instructive (D
´
ıaz, 2016).
Figura 7.a. It details the process for developing the
application with the App Inventor tool, which compi-
les the code from the Android server, previously loa-
ded.
3 RESULTS
During the execution of the present project, an ade-
quate application has been developed to identify the
main operation of GroupMe with the services of Fire-
base.
However, the respective investigations of the tools
and services that would be used in the present project
have been carried out, which were detailed previously.
The GroupMe application was initially developed
in the Android Studio IDE, it developed the source
code, in which it was implemented and actived the de-
pendencies and the rules that will allow the adecuate
use of in the compiler.
Figure 7.b. Some of the registered users are pre-
sented in the respective tests made to the prototype
of the application. Pepe and toni, users are appreci-
ated, and at the same time the encrypted information
of each user is presented.
Figure 5. The results of the compilation are appre-
ciated with one of the users entered, once it is obtai-
ned information of the user it is said that the user rules
are activated.
Figure 5: Firebase compilation results for the import.
3.1 Translation of the Source Code
In the translation of IDE Android Studio a App In-
ventor, 3 simple steps were taken:
1. We pack the Android studio project.
2. Load into App Inventor.
3. Initialize the App Inventor server.
3.1.1 Components
Figure 6: Components retrieved from the Android server.
In figure 6, the components loaded automatically
when you create the project coupled with the packa-
ging that was previously translated from the Android
studio IDE, the image shows that the entire applica-
tion will be enclosed in a Screen, for the reason that
only work in a window.
3.1.2 Interface
For the case of the division of the sections we will use
the layouts, which are identified with the icon with
two white circles and a green strip, which can be seen
in figure 8. These are used to give styles Presented by
sections as shown in the figure. 9. In which the field
with the label USUARIO, has two icons and a label,
which forms a single section, and this will facilitate
for the manipulation in the modeling of the applica-
tion.
3.1.3 Code for App Inventor
For the presentation of the code that has our applica-
tion we will make it in three parts and explain the use
of the services that were used for the execution of the
project:
1. TinyBD Code. - Used for storing and registering
users.
2. Firebase Code. - Used for the storage of the infor-
mation sent.
ITSCO 2018 - Special Session on Internet of Things and Smart Communities
458
(a) Funcional structure of App Inventor incorporating Android
Studio (Java).
(b) Defaul users in the creation of the data
Figure 7: App Inventor structure and default users.
Figure 8: Final interface of the application.
3. Notificaci
´
on Code. - Used for synchronization
with Firebase, which will notify when there is mo-
vement in the base of Firebase.
TinyBD Code: figure 10, it presented the struc-
ture Testing on mobile devices and in the same ways
Of the code, with which the application could stock
and register new users
Firebase Code: figure 11, the connection with the
Firebase service is appreciated, which will send the
data obtained from the cloud each time the notifier
has a positive value.
Notificaci
´
on Code: figure 12, the code that is pre-
sented runs constantly until it receives a positive va-
lue, the positive value occurs when it receives infor-
Figure 9: TinyBD Code.
Figure 10: Firebase Code.
mation in the database of Firebase and will proceed to
execute the code of Firebase to proceed the synchro-
nization of the presented messages.
Smart Office: Development of a Mobile Application for Android with Firebase Services Oriented to GroupMe Messaging
459
Figure 11: Code which notifies the Firebase service that
there is activity to synchronize.
3.2 Application Execution and Testing
Once the development process is completed, the com-
pilation and construction of the application proceeded
testing on mobile devices and in the same ways in
emulators for S.O. Android.
Final application icon: The icon was appreciated
in Figure 13. Icon created and retrieved from the page
http://iconion.com/es/.
Figure 12: Application Icon.
3.2.1 Application Testing
For application testing, it was performed on the follo-
wing devices:
Mobile device - Samsung Ace Lite 4.
Device virtual machine (emulator) - BlueStacks 2.
Figure 14. The implementation of the application
is presented in the virtual machine, with the username
’Diana’.
Figure 13: Try number 1.
Figure 15. Corresponds to the user with the
mobile device, with the username. ’Alfonso’.
Figure 14: Try number 2.
4 CONCLUSIONS
All the objectives and requirements established
throughout the development of the project have been
fulfilled. The main one was to create a mobile ap-
plication for Android capable of offering the group
communication service.
The developed application allows the sending and
reception of flat texts that allows the communication
between the users. For the storage of the information
it will do with the Google Serves tool called Firebase.
In addition, the application has been validated
with the device Samsung Ace Lite 4 and console emu-
lator BlueStacks. You need a connection to mobile
data or a wifi connection for the synchronization be-
tween the device and the Firebase BD. All this de-
monstrates the use of new technologies that arise in
this generation. Since Google distributes some free
services for developers in a way that can be used for
studies, hobbies, or for monetary reasons.
It is important to note that FriendsChat allows pe-
ople to be in contact with each other. It also helps us
to work, work, ideas, form a meeting, and it is a very
economical and effective way.
Finally, with the culmination of the project we
learned to develop a project from beginning to end,
going through all its phases, acquired new knowledge,
or expanded many of them on Java, Android, mo-
del client-server, SQL, and other necessary skills that
have been required during all phases.
REFERENCES
A., F. and G., S.-T. (2017). Analysis of Android Intent Ef-
fectiveness in Malware Detection. Computers and Se-
ITSCO 2018 - Special Session on Internet of Things and Smart Communities
460
curity. AndroDialysis.
A.B., F. (2011). Firebase. Master’s thesis, General Techni-
cal Report. General Technical Report - US De-
partment of Agriculture, Forest Service, (INT-182) ,
pp.270-271.
Alvarez, M. A. (2016). Introducci
´
on a firebase.
http://www.desarrolloweb.com/articulos/introduccion-
firebase-backend-nube.html.
Anton, C. (2015). Manejo de datos en tiempo real con po-
lymer y firebase. Platzi.
Apple, R. (2015). Groupme, la nueva mensajer
´
ıa in-
stant
´
anea que le hace competencia a what’s app. rin-
conapple.
Bravo, B. (2016). Firebase auth en android. DISQUS.
Bravo, D. and Faican, A. (2017). Donesitios es una apli-
caci
´
on en dar soluciones creativas a problemas cotidi-
anos a tr
´
aves de herramientas eficientes y vanguardis-
tas.
D., B. and H.G., K. (2010). A methodology for empiri-
cal analysis of permission-based security models and
its application to android. Communications Security.
Proceedings of the 17th ACM conference on computer
and communications security, Chicago, Illinois, USA,
pp. 73–84.
DesarrolloWeb.com. (2016a). Autenticaci
´
on de usuarios en
firebase. DesarrolloWeb.com.
DesarrolloWeb.com. (2016b). Reglas de seguridad en fire-
base. DesarrolloWeb.com.
Developers, G. (2016). Firebase en Android. Number 1.
Google Developers.
D
´
ıaz, L. (2016). Como funciona una aplicaci
´
on en App
Inventor Creando la interfaz de usuario.
Enciso, L., Baez, R., Maldonado, A., Zelaya-Policarpo, E.,
and Quezada-Sarmiento, P. A. (2018). E-mail client
multiplatform for the transfer of information using the
smtp java protocol without access to a browser. In
Rocha,
´
A., Adeli, H., Reis, L. P., and Costanzo, S.,
editors, Trends and Advances in Information Systems
and Technologies, pages 1124–1130, Cham. Springer
International Publishing.
Enciso, L., Pachar, J., Palacios, C., Zelaya, E., and Pablo,
Q.-S. (2017). Instant messaging application (mi-utpl).
pages 762–766. cited By 3.
Guru, S. (2016). Desarrollando aplicaciones ios con datos
en tiempo real con firebase y swift. slidesharel.
KDE (2012). Introducci
´
on a la mensajer
´
ıa instant
´
anea.
KDE Documentation Sitio, page 4.
Mercurio, E. and SAP (2005). Google lanza su esperado
servicio de mensajeria instant
´
anea.
Net, A. (2015). Que es el app inventor para que sirve. App
Moviles.
Nielsen (2012). Un 49% de los tel
´
efonos en espa
˜
na son
smartphones.
Riego, A. R. (2017). Primeros pasos app inventor. https://
sites.google.com/site/appinventormegusta/primeros-
pasos.
Rodriguez, D. and Lagos, A. (2016). 7 consejos para plan-
tear objetivos. Entrepreneu, page 1.
Room, G. (2012). La historia de la mensajer
´
ıa instant
´
anea.
geek’srooM.
Studio, A. (2008). Conoce android studio. develope.
Trautschold, M. and Mazo, R. (2012). Using iMessage.
Springer.
Trigo and Mart
´
ın (2006). Menciona la mensajer
´
ıa de Mes-
senger. 2006 ed.
Trigo, V. and Conde, M. (2006). Windows Live Messenger.
TuAppInventor (2016). Dudas sobre app inventor.
Vidal, H. M. (2012). Aplicaci
´
on para dispositivos m
´
oviles.
UPC.
Smart Office: Development of a Mobile Application for Android with Firebase Services Oriented to GroupMe Messaging
461