You are on page 1of 3

How Computers work – Midterm Submission

CM1030-01 | University of London, Goldsmiths

Brightwheel – A popular daycare management application

Joshua Yuk Yie Cheung

Student #: 220447469

January 2nd, 2023

Chosen Application:

Brightwheel is a mobile application I used to interact with daycare educators in the past week.

Data Representation:

Depending on the communication method and media types, different data types are collected,
represented, and used when interacting with childcare educators through the mobile application. At
the highest level of abstraction, it involves what we see visually, such as text and images. At the
lowest level, it involves binary code in the computer that moves from clients to a server or vice versa.
It extends across the internet via physical connections, such as Ethernet and optic fibre, or non-
physical connections, such as electromagnetic waves (Wi-Fi or cellular data).

The primary form of communication in the Brightwheel application involves a two-way built-in
text messenger between parents and educators. There is also a one-way communication from
educators to parents via an activity interface, with updates regarding a child’s nap times, potty times or
meals. Updates include images or videos of a child playing or participating in activities. Therefore, the
data represented below will involve three media types: text, image, and video.

The first data type is text, which is involved in the text messenger feature. At the highest level,
text data is a string of words that convey meaning. The letter characters use ASCII, each individually
represented by a number. For instance, the letter “G” is represented by 71. Each number translates
into binary code, which consists of an 8-bit pattern or 1 byte. Therefore, if a word consists of 5
characters, it would be 5 bytes or 40 bits.

The second media type, images, can be represented as data captured by a camera and
compressed to reduce file size and increase transmission speed. Further, square pixels stretching
horizontally and vertically can help to represent image data. A typical black and white pixel is 1 byte or
8 bits, whereas a colour pixel is 3 bytes or 24 bits. So, for a 400 x 400 image, this would equate to
160,000 pixels x 3 bytes = 480,000 bytes or 480KB. Therefore, at the lowest levels, binary code can
represent images.

The third media format is video, which visual images and audio data can represent. The video
consists of moving frames of images, which are also recorded through a camera and broken down into
binary code. For audio data, the microphone picks up microscopic changes in air pressure as
voltages, which translate to binary numbers.
On the recipient’s end, binary data received is converted and decompressed back to its
intended media type. If it involves visual display, a graphics processing unit (GPU) provides data
processing and rendering on a screen. If it involves audio, the binary sound data converts to audio
frequency data that involves playing through a speaker.

Computer Architecture:

The hardware that I use to access Brightwheel is the iPhone. The daycare staff and other parents
use a combination of iPhone and Android phones, which makes sense as the Brightwheel application
is available on both the Apple and Android App stores. The iPhone’s hardware components are similar
to a typical computer, except for some components such as a physical keyboard and mouse. The core
of the computer that performs the calculations is the central processing unit (CPU). The main memory
(RAM) stores data temporarily, while the mass storage is typically a Solid-State Drive (SSD), which
stores permanent files, such as images and files.

When launching Brightwheel, the application and the data acted upon copies from SSD to
memory, known as the “stored program concept.” Performing different functions in the Brightwheel
App involves executing code via the “fetch-execute cycle.” The CPU program counter contains the
address of the application instructions to fetch from memory. A “load” instruction fetches and loads the
instructions into the instructions register and then executes based on the binary pattern. The core of
the CPU, known as the Arithmetic Logical Unit (ALU), performs the calculations. Machine instructions
typically consist of a string of 16 bits, which involves 4 bits of OpCode and 12 bits of Operands. The
execution of instructions could involve various OpCodes that can add, transfer or control how the data
and the program behave. Other CPU registers exist that store operand data, which are acted upon by
OpCode. After each instruction, the CPU typically adds one to the program counter, so the CPU
fetches instructions from the following address in memory.

The computer architecture can also involve clients and the server. The clients would be the users,
such as the parents and daycare educators, whereas the server would be the remote AWS cloud
database or application servers. Although communication looks like it is between parent and educator,
the actual communication is between client and server using different network protocols (discussed in
the Network section below). The Brightwheel App on the client sends data to the network adapter,
which transmits data across the internet to the cloud database server. The result is an updated
interface for other involved parties, as other clients access data via an Application Programming
Interface (API) (explained in the OS and application section below).

Operating Systems and Applications:

The Brightwheel application is an executable code file which forms the application’s core and is
easily downloadable from a mobile App store. Code libraries within the operating system (OS) add
functionality. There is also an interface library, which is code to help display buttons, menus, and other
interactive items. There are resource files which help to polish the user interface and store App
preferences.

Although seldom used, Brightwheel also consists of a web-based application accessible via a
desktop browser. Brightwheel’s web server consists of template pages formatted to render a nice
layout. Blank spaces would generally exist for data such as a child’s name, age and gender, which
populate from a database. The web server application will merge templates with data to create
complete web pages transmitted to the client’s browser. Brightwheel databases use Structured Query
Language (SQL), which is a popular language used for relational database management systems and
are easy to access for computers. The database constantly expands when provisioning new accounts
for parents or updating and transferring data. Given that numerous different versions of the same
application exist for different users (parents/teachers) and devices (computers, mobile, tablets), an
API makes it possible to access this data universally. Similar to web pages, Brightwheel’s mobile
application can also use templates for its interface, which pull data from the SQL database via an API,
given the correct user credentials.

I use Apple’s iOS as the primary operating system to access the Brightwheel application. Apple
iOS runs using apple’s own GUI and uses the Unix-like kernel called BSD. The operating system
provides mobile screen space for Brightwheel. The graphical user interface (GUI) of the OS provides
interface widgets. One key distinction of a mobile phone is the lack of a physical keyboard and mouse.
Instead, the keyboard is a piece of software provided by the OS, which allows for typing in text
commands for the messenger feature. The touchscreen utilizes a touchscreen driver, which
communicates with the iOS’ keyboard software utility. Utilities are mini-applications bundled with
operating systems which perform a specific function. The keyboard utility then sends the data to
Brightwheel, which tells the iOS GUI library to render it on the screen as a message.
Regarding the kernel, the Brightwheel App will use memory allocated via the memory manager of
iOS. The Brightwheel App also allows the saving of photos or videos to a mobile phone via copying
from main memory to the iOS’ file system located on permanent storage, such as the mobile phone’s
SSD.

Networks and Internet:

The Brightwheel application uses the network adapter from the mobile phone to send data over
the internet to reach the server, which involves computers and devices and physical and wireless
connections. As mentioned earlier, the computers involved are clients and servers. Networking
devices include routers, which form the basis of the internet, connecting different types of networks
and translating packets between protocols. Physical or wired connections include Ethernet, optic fibre
and coax cables, whereas wireless connections include electromagnetic waves such as cellular data
and Wi-Fi. Typically, it would involve using the Wi-Fi connection on a local area network (LAN) at
home or at the daycare. Without a Wi-Fi connection, the next best alternative is cellular data.

Data packets sent across the internet are wrapped in nested packets. For example, binary data
regarding a media type wrap in an application layer. The packet wraps within a transport layer, with
TCP being the most common web and mobile protocol due to its reliability. The transport layer wraps
within a network IP layer, which is essential for routing to the correct destination IP address. Finally,
the outermost layer is the link layer that handles transmission across physical networks, such as
Ethernet or Wi-Fi protocols. The reverse happens at the destination. Each layer is unwrapped layer by
layer until the destination device, e.g. database server, extracts the innermost application packet and
updates the data in its database. Afterwards, any client device can see the updates in their device
interfaces.

As the Brightwheel application is accessible to anyone with an internet connection, it is vital to set
up security controls to prevent unauthorized access. For parents’ account logins, strict password
requirements are in place. There is also an option for two-factor authentication, which provides an
extra layer of protection. In addition, each parent has a security code for checking a child in or out at
daycare.

Brightwheel guarantees the data privacy of their application through data encryption. The data
sent across the internet is encrypted, protecting personal or sensitive information by making the
message unreadable unless the intended recipient has the appropriate key code.

You might also like