CASE STUDY

SmartCity

Provides services for users, businesses, and brands, helping them to create their own "smart cities" and worlds.

Solution

Mobile Development

Industry

Travel & Tourism

Outcome

Computools successfully implements innovative ideas using the latest technologies. The experience and competence of engineers allow them to create, implement, and ensure the stable operating of applications with a wide range of features. The result of this project became an application that was distributed among local and international users. Due to the usefulness for a wide audience including various industries and businesses, the client's profit has increased several times.

Several key options we solved:

  • Implemented and customized a geospatial search engine.
  • Implemented social media platform options: sharing images, messaging, uploading and editing own photos, subscription, etc.
  • Built-in Internal 3D navigation, with the ability to use any other third-party navigation system or user's favorite travel app.

+78%
Throughput, Users
+61%
Average Order
+62%
Increasing Productivity
+58%
Increasing Revenue
-47%
Reducing Costs
53%
Business Process Automation

PROJECT DESCRIPTION

The client sought to create a product that would be equally useful to businesses and customers, would be able to connect them, and literally supplement the journey with useful information. The main principle is to display useful information about nearby establishments in the app and augmented reality, based on geo-data.
The Computoools's team took on the task of mobile app development to build the functionality of an Android application that would meet the needs of the target audience. The app shows the Wikipedia articles about the nearest objects, Google Place, general geo-content, and more. The application is also supplemented with an internal instant messenger that allows creating groups and sharing information in a new way. Chat Rooms can be private, public, or even just a place where users can collaborate with themselves until they're ready to invite others.

The app also allows to tag any object in any photo, link it back to its original place and discover it in Augmented Reality when the user is actually there. The app gallery gives info about the weather at the time of the photo, the current weather, the closest Wikipedia articles to the location of your photo.

The need to develop many separate elements of the application for each location

The lack of time for comprehensive testing

The great potential of the application for use in travel, advertising, brand promotion

Application with disruptive technology which helps to popularize it

Wide application functionality

Digital Transformation Communication Framework

Computools
Business Analyst
Project Manager
Team Lead
Developer
SmartCity
CEO
Communication

One of the important points of work on the mobile app development project is the establishment of a stable and high-speed communication system. This allows to make decisions and get approval quickly. Skype was used for interaction. This allowed exchanging information, conducting video and audio conferences during the discussion of the project.

Business Process Mapping

01
CONSULTING

Work on a mobile development project always starts with setting goals and objectives. The main expectations and visions for the finished product are identified too. Next, we begin data collection and analysis. The target audience, its needs are revealed. Competitors are also carefully studied, existing solutions are determined and their analysis is carried out. At this stage, the main possible barriers and risks are determined and solutions for them are selected.

02
DESIGN

The project specification is created: a step-by-step algorithm of actions for the project. The final specification is formed after the completion of the project. An interactive prototype of the future service is also being created, which allows to study the basic functionality and get detailed feedback from the customer.

03
ENGINEERING

Development begins with the selection of a team to work on this project. All participants undergo a careful selection, experts with the necessary knowledge, experience, and skills are selected among the employees of the company. After this, an intro meeting is held, tasks are distributed and the team proceeds to their implementation. Mobile development is conducted according to the chosen methodology and necessarily includes all types of testing.

Digital Platform & Technology

The stack of technologies needed to complete the tasks was determined by the team based on the goals and needs of the project. The optimal solutions were identified, allowing to provide the necessary functionality and stable operation of the platform.

Computools
Business Analyst
Project Manager
Team Lead
SmartCity
CEO
Project Coordinator
Communication
Java

Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages. This allows creating modular programs and reusable code. One of the most significant advantages of Java is its ability to move easily from one computer system to another.

Android SDK

Android SDK is an open-source platform, allowing the developers to share-worthy and precious technologies at a larger scale. It is coupled with many sets of libraries and the development tools, which help the software programmers to build and test a variety of applications Android SDK supports all android versions, which means developers can develop and test Android applications for older version devices’ also.

Retrofit 2

Retrofit is a REST Client for Java and Android. It makes it relatively easy to retrieve and upload JSON (or other structured data) via REST-based web services. Retrofit is basically used in the following three classes: model class which is used as a JSON model; interfaces that define the possible HTTP operations; Retrofit.Builder class - Instance which uses the interface and the Builder API to allow defining the URL endpoint for the HTTP operations.

rxJava

Reactive extensions in Java allow you to manipulate multiple actions that occur due to certain system events simultaneously. Rx gives you a possibility to use functional transformations over streams of events and it doesn't require using nasty things like callbacks and global state management.

ButterKnife

Butter Knife is small, simple, and lightweight. It allows developers to perform injection on arbitrary objects, views, and OnClickListeners so they can focus on writing useful code. Consider Android ButterKnife a reduction library.

Specification

The goal was to build a social network app based on innovative concepts and elements. It is positioned as a disruptor in the travel industry, providing both consumers and travel professionals the Geo-best ways to discover, create, and share quality, local content. It is concerned to provide content relevant to the world around users. It shows the closest Wikipedia article, Google Place, user's, and his friend’s shared geo-based content, etc. Its capabilities also include tagging any object in any photo, linking it back to its original place, and discovering it in Augmented Reality.

COMPUTOOLS TEAM

Computools carefully chooses a team to work on a project to provide web development services on the highest level. The main task is to select experts whose skills and experience will allow to realize the tasks efficiently, quickly, and at a high level of quality. For this project, designers and developers who had experience working on a variety of similar projects were selected. The constant solution of the challenge tasks allows employees to increase their level and satisfy customer requirements as much as possible.

Business Analyst
Nikita Abelmasov
Project Manager
Victoria Semenchenko
Team lead
Vladyslav Komarov
UX/UI Designer
Denis Gubrienko
Developer
Sergey Komarov
Developer
Vlad Noda
Quality Assurance Engineer
Gleb Kovalenko

BACKSTAGE

Developing an app solution for business we strive to properly organize workflow keeping it active and fast. Our company uses the latest technology for brainstorming, sharing experiences and ideas. Thanks to this, our teams are so effective and efficient.

Dev meetings
At developer meetings, our employees share experiences and their project successes. This helps to see and evaluate the work from the outside. In some cases, the exchange of experience helps to find the best solution for the next section of the project.
Team Brainstorming
Brainstorming is one of the most productive ways a team can work on a project if necessary to find an original solution. Each participant has the opportunity to offer an idea, even the craziest. Truly innovative solutions appear in the discussion.
Feedback
The Computools team fostered transparency through continuous project delivery and regular feedback sessions. The client could assess and evaluate the progress and introduce new requirements, spurring the developers to increase efficiency and find innovative solutions

Internal Communication Flow

Computools engineers employed an established communication framework when supporting the client’s in-house IT department. Skype enabled them to uphold a brisk development pace and stay on top of the occurring issues. The team suggested Jira as a go-to task assignment and management platform.

Project Management Methodology

To work on the project, the optimal methodology is selected, which determines how the code will be developed, tested, and released. For this project, Scrum, a flexible agile methodology, was chosen.

Scrum addresses complexity in work by making information transparent, so that people can inspect and adapt based on current conditions, rather than predicted conditions.ransparency of common terms and standards is required in Scrum development to ensure that what is being delivered is what was expected. A frequent inspection ensures progress and detects variances early on so that adjustments can be made quickly. The most common Scrum events for inspection and adaptation are Sprint Planning, Daily Scrum, or "Stand Up", Sprint Review, and Sprint Retrospective.

PROJECT TIMELINE

1 week
2 weeks
13 months
1
Background
Defining goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining main restrictions and providing solutions for them
  • Identifying the main risks
2
Strategy
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
Implementation
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Development of a road map, dividing the development process into parts
  • Implementation of the first series of solutions
  • Implementation of developed elements of the platform
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design

We develop the architecture of the product to build a solid design, to ensure the functions' flexibility and their harmonious interaction.

Computools
Architect
Project Manager
UX/UI Designer
SmartCity
CEO
Project Coordinator
Communication

Engineering

The development was divided into conventional parts since Scrum was chosen as the methodology. This allowed testing already created code and making quick fixes. Code combining and additional testing was also carried out according to the compiled plan.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/android-template

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.