Below are the parts of the tech report that I have heavily contributed to, which I am immensely proud of: (reformatted for the blog)
Executive Summary
This report is a response to a request for a design proposal to improve current process designs.
Its purpose is to address the limitations of existing parking systems and propose modifications to enhance them.
This report provides background information and context for the proposed solution,
which aims to address the problem of real-time parking availability information being inaccessible to drivers.
Currently, the lack of such information leads to traffic congestion around shopping malls, as drivers waste time queuing to get into the mall's car park. This report proposes, to CapitaLand, a solution in the form of a super application called ParkingGoWhere. The application features a parking lot booking system and a recommendation system. The booking system allows users to reserve a parking lot slot in advance, which can help to reduce the time spent queuing for parking. The recommendation system suggests the nearest Capitaland shopping mall with available parking when the user's selected mall's car park is full, which can help to reduce congestion in the area. These features will allow for increased visitation rate and integration of inter-mall businesses, along with decreased waiting time, and enable better route planning for visitors.
These benefits will lead to an increase in revenue and improved traffic conditions in and around CapitaLand malls.
Existing Software Used in Applications
Developing an application for both Android and iOS can be a complicated process that requires time and effort.
When it comes to the development of an application there are a few key items,
referred to as “Technological Stack”, that are essential to the process.
Development Tools
As stated by Haije(2019), development tools are software that aims to assist in mobile application development.
There are two types of development tools: Native and Cross-platform.
Native development tools are able to maximise the features of the platform
while cross-platform development tools enable the development of applications on multiple platforms simultaneously.
Programming Languages
Figure 5
Programming codes
Note. Figure 5 shows examples of programming languages with written codes. Designli.com
Programming languages are formal languages that are used to write computer programmes (see figure 5).
Most development tools are only compatible with some programming languages.
User Interface Design (UI)
Figure 6
Adobe XD
Note. Figure 6 shows a screenshot of Adobe XD, a UI Software. Toptal.com
Different platforms involve different design principles and conventions, such as screen size optimizations and aspect ratios,
however, there is no requirement for different UI software for the application to be optimised.
Hence, the selected software used for both the Android and iOS platforms is the same.
Application Programming Interface (API)
An API is a software that enables interaction between multiple applications,
it can also be used to extend the functionality of a mobile application.
APIs also allow for integration for both the developer and the user.
The integration makes general tasks for developers easier and provides better services for users (Tatis, 2023).
With a functioning API, developers will be able to fully utilise a device’s features like camera, locations, sensors and calendars.
Backend
Figure 6
Backend
Note. Figure 7 shows the function of a Backend. back4app.com
As explained by Tomazik (2022), a backend is part of an application that does not run on the device itself, but on a server instead.
It allows the application to store, analyse, and process data, allowing interaction with other systems and devices.
Ideal results
In summary, with the selection of technical stacks, ParkingGoWhere will ideally be user-friendly, fast, convenient, and smooth.
In the development aspect, ParkingGoWhere’s development will be ideally non-complex, easy, and efficient.
Proposed Solution
The proposed solution is to implement a car park availability application, called ParkingGoWhere to make car parks operations more manageable.
The implementation includes using development tools to create a parking lot booking system, real time updates for parking lot availability,
recommendations to other CapitaLand car parks in case the destination car park is full.
The light sensors used to give reliable lot status would be discussed in this segment as well.
Parking Lot Booking System
A feature that ParkingGoWhere provides would be for users to book a specific slot within the shopping mall’s parking lot.
Through the application’s interface, the user can select an available slot, select the time slot for parking (intervals of 5 minutes),
and proceed to payment on the application itself.
Figure 9
Booking system
Note. Figure 9 shows an example of the application’s booking system page, created by Team RISE.
In the event that the users did not park in their booked slot, that specific slot will be opened to the public after a grace period for 15 minutes
and payment will not be refunded.
If the user did not leave the car park after the end booking grace period of 5 minutes, they will be fined with an additional fee
by the gantry system when they exit the mall’s parking lot.
If a driver parked in a slot that is booked by another user, the driver will be fined a penalty fee when they exit the car park via the gantry system,
while the user who booked the slot gets assigned another slot.
If the car park is made full in the aforementioned scenario, the user who rightfully booked the slot will be refunded the amount paid through the app.
Software Used to Create the Application
As mentioned above, the softwares used will be different for both the Android and iOS platforms, as using cross-platform development tools and
programming languages will compromise the quality of the application.
Stacks like the UI software and API are able to be applied on both platforms as it will not impact the quality of the application.
Development Tools
The application produced with a cross-platform development tool deteriorates the quality compared to native development tools.
Hence, the choice would be to use a native development tool for better quality. The selected development tools are Android Studio and Xcode.
According to Haije (2019), Android Studio is an Android development tool built by Google. It is very easy to use and enables shortcuts for coding and designing,
making it the top choice for the Android platform.
As stated by Furman (2023), Xcode is the official development tool by Apple, and it has the perfect compatibility with main iOS programming languages like Swift and Objective-C.
Xcode allows its user to fully utilise the features of the iOS platform, making it the preferred choice for the iOS platform.
Programming Language
The selected programming language to be used are: Android - Kotlin, and iOS - Swift.
According to Kotlin (2023), it is a popular language that are used by many companies. It has also been declared the second official language by Google, behind Java.
Kotlin provides cleaner coding and greater readability and has superior compatibility with Android.
Swift is the most used programming language as not only is it easy to read and use, but it is also fast and powerful.
Swift is endorsed by Apple itself, explaining its superior compatibility with the features of the iOS platform. (Apple, 2023).
User Interface Design (UI)
The selected UI software used for both the Android and iOS platforms is Adobe XD. It is powerful and easy to use and provides workflow features to help users focus on development Rae (2020).
Application Programming Interface (API)
APIs can be easily created with the aforementioned selected development tools (Android Studio and Xcode), hence there will be no selection of APIs.
Backend
One of the most popular backend service providers is Firebase. Firebase is chosen as it allows for real-time database updates, cloud storage, and analytics, which would be of utmost importance for the functionality of ParkingGoWhere.
Firebase also offers seamless integration with Android and iOS (Vyas, 2022).
In addition, ParkingGoWhere has to acquire data about parking lots and its availability,
the team can acquire the same data through the API provided by the Urban Redevelopment Authority (URA).
As explained by URA (n.d), they publish data for public use and are accessible for the development, creation and innovative applications of external parties.
URA provides codes that can be inputted into ParkingGoWhere’s programming, which will then allow the execution of the command to fetch data (see figure 10).
With URA’s API implemented, the application will be able to collect car park lot availability and car park rates.
Figure 10
URA’s api for car park availability
Note. Figure 10 shows a screenshot of URA’s api for car park availability. ura.gov.sg
Alternatively, CapitaLand can also provide the same data and an API can be developed from that.
It will not be very challenging to acquire the mentioned data as it is already made available to the public on their website (see figure 11).
Figure 11
CapitaLand website on car park lot availability
Note. Figure 11 shows the car park lot availability on CapitaLand’s website. CapitaLand.com
In summary, the selected technological stacks are:
Android - Android Studio (Development Tool), Kotlin (Programming Language)
iOS - Xcode (Development Tool), Swift (Programming Language)
Both platforms - Adobe XD (User Interface Design Software), self-programmed API within the development tools, Firebase (Backend)
Recommendations to Other CapitaLand Car Parks
In the event that the shopping mall car park that the user has chosen is full, the application will recommend an alternative shopping mall owned by CapitaLand to the user.
The suggested mall will be recommended based on the nearest location and car park slot availability.
A map that is similar to Google Maps will be displayed to guide the user there.
Light Sensors to be Used
As mentioned above, LED indicators help vehicle owners identify vacant lots easily due to the change in colour of the LED indicators, with the LED indicators turning green when the lot is vacant, and red when occupied. As the application features a booking system, there is a need to have an indication that would represent the lot being booked as such, the colour blue was decided as the colour that would indicate a booked lot. A possible sensor that can be used for would be 1+D3’s guidance sensor, whereby the ultrasonic sensors and LED indicator are integrated into the same device, allowing greater precision and quicker changes in the status of a lot.
Comments
Post a Comment