0% found this document useful (0 votes)
10 views15 pages

Design Report

The document is a design report for Google Maps, detailing its dynamic user interface, integration of real-time data, and personalized features aimed at enhancing user experience. It discusses design considerations, methodologies, and system architecture, emphasizing scalability, security, and accessibility. The report also outlines data structures, user interactions, and UI design principles that contribute to a seamless navigation experience.

Uploaded by

vishwasvk35
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views15 pages

Design Report

The document is a design report for Google Maps, detailing its dynamic user interface, integration of real-time data, and personalized features aimed at enhancing user experience. It discusses design considerations, methodologies, and system architecture, emphasizing scalability, security, and accessibility. The report also outlines data structures, user interactions, and UI design principles that contribute to a seamless navigation experience.

Uploaded by

vishwasvk35
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Software Engineering Project

Design Report
Google Maps

Submitted to:
Dr. Santosh Singh Rathore

Group Members:
Anant Maheshwari(2022BCS-007)
Aarthi Honguthi(2022BCS-031)
Kartikey Mishra(2022BCS-037)
Rithvika Mullapudi(2022BCS-048)
Introduction

Designing Google Maps involves creating a very dynamic and natural language
platform that reimagines navigation, location services and exploration. No longer is
Google Maps just a map; it is an all-inclusive ecosystem that blends real-time data,
personalized suggestions, and cool features to enhance user experience.

In today’s fast-moving world where mobility is the key thing, millions of people
around the globe find Google Maps an indispensable tool to use. Be it manoeuvring
through busy city streets, planning for a road trip or discovering hidden treasures in
a new neighborhood, this information system gives users confidence when
traversing any part of the world they may find themselves.

Google Maps is a web mapping service developed by Google. It offers satellite


imagery, aerial photography, street maps, 360° interactive panoramic views of
streets (street view), real-time traffic conditions, and route planning for travelling by
foot, car, bicycle, or public transportation.

Thus at its core even beneath its main surface, Google Maps design aims to enable
users to have a seamless intuitive experience. This includes making interfaces
adaptable across different devices and screen sizes; simplifying intricate navigation
tasks; and prioritizing relevant information that matches each user’s context among
others.

This implies that Google Maps design is highly dependent on the application of data
and machine learning to enable personalized recommendations and predictions. This
occurs by analyzing user behavior, and traffic patterns, among other contextual
aspects to enable Google Maps to make customized proposals and expectations.

Designing Google Maps would involve creating the user interface and experience,
as well as integrating various data sources such as satellite imagery, street maps, and
real-time traffic information. The design would need to consider factors such as
usability, accessibility, and providing relevant information to the user in an easy-to-
digest format. Additionally, a search function and routing capabilities would need to
be incorporated. The design would also include a way for a user to add and review
places, and it could also include a way for businesses and organizations to add their
information to the map.

The design of Google Maps also considers accessibility as a key factor to make the
platform usable and inclusive to all users regardless of their abilities or disabilities.
These may include features like voice-guided navigation for visually impaired users,
high contrasting modes for low vision individuals as well as supporting alternative
input devices for those suffering from mobility impairments.

Google Maps should be able to adapt and change when technology keeps moving
forward in an upward direction. This includes such things as augmented reality,
indoor mapping tools or even autonomous vehicles just to mention a few which will
enhance user experience thus making more functionalities available.

In summary, designing Google Maps requires persistent innovation and refinement


with the aim of providing people with simple solutions that will help them travel
through life effortlessly but confidently.

Design Considerations
The section highlights the issues and constraints that need to be addressed or
resolved before moving on to a comprehensive design solution. We need to study all
the requirements to prepare a comprehensive design solution for the Google Maps
web app.

Assumptions: Google Maps is not an open-source software. So we can’t have a


look over its entire codebase and make a comprehensive report based on that. This
report is based on several articles and interviews with the team members who have
been a part of the Google Maps development team.
Design Constraints: The technologies used are:
● Google Maps API
● Javascript, HTML5, CSS, React.js.
● Scalable Backend Frameworks like Express.js
● Google Cloud Platform.
● Machine learning and AI.
● Java / Kotlin / Swift for mobile development.
● Google Cloud SQL / Google Bigtable.
● Kafka.
● Cassandra.
● Jest.

Design Methodologies: Google Maps' development likely integrates elements


from various life cycle models, but Agile methodologies, particularly Scrum and
eXtreme Programming, are prominent. The software operational model had
provisions for very rapid updates using Continuous Deployment when combined
with Continuous Integration, thus making the code stable. Prototyping and user
feedback guide iterative development of the features to make sure they are aligned
with user needs. Lean start-up principles enable rapid experimentation and validated
learning that optimizes successful features and adapts less successful ones. Overall,
Google Maps has developed as an iterative process, so it is very close to the users to
respond to their feedback for continual innovation and improvement. The basic agile
tenets of iterative development and close collaboration have indeed been the
hallmarks of its evolution, fostering organizational responsiveness and pace with
advancing technologies.

System Environment:

Scalability and Flexibility: With a modular design, Google Maps helps


developers split the system into the following smaller components: independently
deployable services, using the microservices architecture. On the other hand, the
loose coupling between different modules helps in effective integration but at the
same time provides different modules with the ability to scale up, which is always
taken seriously by the developer. To make the best use of resource management and
auto-scaling, the platform uses technologies containerized through platforms like
Kubernetes, which enable the platform to support various types of loads. It should
strictly adhere to best practices during continuous monitoring and optimization.
Agile development practices will ensure quick adaptation of the app to new
requirements and changes in technologies so that Google Maps keeps being flexible
and responsive to user needs.

Security: Google Maps developers place high security with multilayers of the same.
It uses strong cryptographic protocols to be in a position to protect the user from
losing his data during transmission and storage. They also take measures for regular
check-ups and audits regarding security, vulnerability assessment, or any other
proactivity other than reactivity. For access, authenticating mechanisms of access
controls ensure that the information is restricted from reaching only the respective
authorized parties. Even industry standards and compliance requirements of Google
Maps ensure that the information data is private and kept integral. Further
strengthened with continuous monitoring and the right response mechanisms in
place, the security measures remain intact and allow developers to respond quickly
to new threats and vulnerabilities emerging at all times, hence still keeping the
platform in high-security trust and confidence with its users.

Architecture
System Design
System design is a structured approach to creating systems that take into account all
the relevant parts, such as building design, computer hardware, computer software
and data flow. These could be divided into smaller tasks by either bottom-up or top-
down approaches to facilitate complicated system development. It encompasses
requirement analysis, architecture definition, hardware and software specification
and mapping out of the data flow. Additionally, systems design is closely related
with systems analysis, engineering and architecture all contribute towards this whole
process. Alignment with development goals can be achieved through collaboration
with engineers, analysts architects and stakeholders. In essence, systems design acts
as a guide for developing efficient scalable systems.
Data structures used

Geospatial database: A database that stores, queries and indexes the spatial data in
an efficient manner. It represents objects that are defined in a geo space.
Example - PostGIS, Redis Geohash.

Geospatial databases can store, index, query and analyze the data based on their
spatial location and relationships, which is not possible with traditional relational
databases. They are often used to store and manage data from satellite imagery, aerial
photography, and other geospatial data sources.

Geospatial Indexing: Geospatial indexing is the process of organizing and indexing


geographic or spatial data in a way that allows for efficient querying and retrieval of
that data. This allows the search algorithm to quickly eliminate large portions of the
data that are not relevant to the search, reducing the amount of data that needs to be
searched.
There are several types of spatial indexes, including R-tree, Quadtree and Grid. Each
of these indexes uses a different approach to organizing and indexing spatial data,
but they all have the goal of allowing for fast searching and retrieval of spatial data.
QuadTree Indexing: In this, the quadtree divides/separates the plane into four
quads. It has one root node and four sub-quad trees which have exactly four children.
It’s a simple technique that is used for indexing spatial data where the root represents
the entire area and each internal node represents one area(quadrant) covered in half
along both axes. The leaf nodes of a quadtree index are where the actual data is
stored and can be easily searched. Queries can be performed by traversing the tree,
starting at the root node, and moving down the tree to the nodes that are most likely
to contain the relevant data. This allows the search algorithm to quickly eliminate
large portions of the data that are not relevant to the search, reducing the amount of
data that needs to be searched.

Data Flow Diagram(DFD)

Zero-level DFD - Context Diagram


First-level DFD for Google Maps

Data Dictionary

User Profile
Field Type Can be Null Default

UserID Integer Not Null Auto-increment

Username Varchar(50) Not Null None

Email Varchar(100) Not Null None

Password Varchar(255) Not Null None

Profile Picture Varchar(255) Null NULL

Saved Locations JSON or Array Null [] (empty array)

Search History
Field Type Can be Null Default

SearchID Integer Not Null Auto-increment

UserID (FK) Integer Not Null None

Search Query Varchar(255) Not Null None

Timestamp Datetime Not Null Current timestamp


Location

Field Type Can be Null Default

LocationID Integer Not Null Auto-increment

Latitude Decimal Not Null 0

Longitude Decimal Not Null 0

Address Varchar(255) Null NULL

City Varchar(100) Null NULL

State Varchar(100) Null NULL

Country Varchar(100) Null NULL

Postal Code Varchar(20) Null NULL

Description Text Null NULL

Rating Float Null NULL

Reviews Text or JSON Null NULL

Routes
Field Type Can be Null Default

RouteID Integer Not Null Auto-increment

Start Location Integer (FK) Not Null None

End Location Integer (FK) Not Null None

Distance Float Not Null None

ETA Time or Datetime Not Null None

Transportation Mode Enum or Varchar Not Null None

Steps Text or JSON Null NULL


Geographical Data
Field Type Can be Null Default

GeoDataID Integer Not Null Auto-increment

LocationID (FK) Integer Not Null None

Geographical
JSON or Text Null NULL
Features

Traffic Data
Field Type Can be Null Default

TrafficID Integer Not Null Auto-increment

LocationID (FK) Integer Not Null None

Traffic Congestion
Enum or Varchar Null NULL
Level

Traffic Incidents Text or JSON Null NULL

Timestamp Datetime Not Null Current timestamp

Businesses and POIs


Field Type Can be Null Default

POIID Integer Not Null Auto-increment

Name Varchar(255) Not Null None

Location (FK) Integer Not Null None

Category Varchar(100) Null NULL

Rating Float Null NULL

Reviews Text or JSON Null NULL

Contact Information JSON or Text Null NULL


User Interactions
Field Type Can be Null Default

InteractionID Integer Not Null Auto-increment

UserID (FK) Integer Not Null None

Action Varchar(50) Not Null None

Timestamp Datetime Not Null Current timestamp


Component Design

Activity Diagram
User Interface Design

1. Organizing principles:
● Google Maps arranges its related features and functionalities logically, thus
making it easier for users to locate and access the required options.
● For instance, just like map layers, zoom controls and search functionality are
placed together in the interface of navigation tools while settings and
customization options are kept separately.
2. Simplicity principle:
● It is minimalistic yet intuitive in design and not complicated at all by Google
Maps’ interface.
● Basic operations such as searching places, finding directions or even
exploring nearby areas are easily done with as few keystrokes as possible.
● Errors messages are shown on-screen when deemed necessary for guiding
people about exactly where they went wrong such as entering a non-existent
address or choosing an invalid route.
3. Visibility principle:
● All features of Google Maps can be accessed through an interface that is easy
to read.
● A clear picture is painted so that one does not feel overwhelmed by several
choices such as map views, navigation aids or settings that can be found on
the site.
● Key features are prominently displayed, while less frequently used options are
accessible through menu or secondary interfaces to prevent clutter.
4. Feedback Principle:
● Google Maps keeps users informed about their actions, activities, and any
errors or exceptions through a system of messages and notifications.
● For example, when users search for a location, Google Maps provides real-
time feedback, such as autocomplete suggestions and search results, to help
users refine their queries.
● Additionally, error messages are displayed when users encounter issues, such
as when a location cannot be found or when there is a problem with the
network connection.
5. Reuse Principle:
● Consistent naming conventions and design patterns are used throughout
Google Maps to ensure clarity and avoid ambiguity.
● For example, common actions such as zooming in/out, panning the map, and
saving favorite locations are performed using consistent controls and gestures
across different parts of the interface.
● This consistency helps users understand how to interact with the interface and
reduces the learning curve associated with using Google Maps.

By adhering to these UI design principles, Google Maps provides users with a


seamless and intuitive mapping experience, allowing them to navigate, explore, and
discover the world around them with ease.

References
1. https://www.google.com/maps/about/#!/
2. https://en.wikipedia.org/wiki/Google_Maps
3. https://www.techtarget.com/whatis/definition/Google-Maps

You might also like