2. Existing Solutions
In regard to that, the Malaysian government has developed different types of digital platforms like websites and mobile apps in educating the masses regarding air pollution brought by haze. Some outstanding projects are MyIPU, which is a mobile phone application, and APIMS, which is a website aimed at helping citizens acquire air quality information during the hazy day’s crises [
12,
13].
2.1. MyIPU Application
Initiated by the Department of Environment Malaysia since 2017, this is a mobile application called MyIPU, which receives real-time API from various CAQM stations across Malaysia. In this context, it also offers current information on the extent of local pollution by using standardized health categories on air quality. Salient features of the MyIPU include current API for the nearest location readings, 24-hour API Trend Chart, and map view representing current reading from all CAQM stations across Malaysia. The paper is also complete with announcements and newspaper clips that outline air quality topics and have educational information on the Air Pollutant Index. However, this app has several drawbacks, including an application that is rarely updated, a number of technical bugs, crashes, and no default location setting, which is a great hassle for the users [
14,
15,
16].
2.2. Air Pollutant Index Management System Website
In 2018, the website APIMS was developed by the Ministry of Environment and Water, updating live hourly API readings by cities or states targeted for desktop users, while MyIPU was its mobile counterpart. APIMS features announcements, an hourly API table, and a map showing regional haze situations. Nevertheless, this website is very limited because the announcement was publicly listed to the latest of 2019, with the zoom function in the location map difficult to use by a senior, and also no support function [
17].
2.3. 2Addressing Current Challenges
The existing solutions, MyIPU and APIMS, are inefficient in a number of ways, for example, limited awareness of haze incidents and the lack of two-way communication between the government and the public. To this end, a new program is currently being developed: HazeAlert. This would be able to provide current updates and enable user feedback. This program can be envisioned as supporting SDG 13, Climate Action, through education of the public with regard to the risks related to haze and providing tools for user engagement. [
18,
19,
20,
21,
22].
2.4. HazeAlert: The Complete Solution
HazeAlert is a computer program that addresses air pollution, particularly haze, in support of SDG 13. The system will update in real time, while educating and engaging users through user-driven reporting. Supporting government administrators and public users alike, it ensures strong information governance while enabling active participation by individuals in efforts to improve air quality [
23,
24,
25,
26].
Key features of HazeAlert include:
Announcements: This feature will enable the real-time dissemination of critical haze updates, warnings, and active measures internally to government and public users. It allows administrators to create, edit, or remove announcements that keep the public informed of urgent matters.
FAQs: The page holds some accredited information that de-mystifies haze by addressing frequently asked questions and sheds light on the implications brought about by haze. It helps users make informed decisions by explaining concepts, impacts, and guidelines for safety.
User Reports: This page lets users contribute real-time data on any climate-related incident or observation. It fosters community engagement through which users can add, view, and remove reports regarding experiences related to haze and air pollution.
API Readings: This critical feature updates air quality based on location. This provides users with an opportunity to keep track of current API readings in their vicinity for proper awareness of the level of air quality.
User Profile: It allows users to make and manage their profile, view activities, and air quality reports. This will also help the government understand the demography of users to target public health more effectively.
HazeAlert tries to fill the gaps in the existing solutions and improve public awareness, involvement, and response to haze-related air pollution. With a combination of real-time data, user engagement, and educational resources, it truly empowers users to act in the light of air pollution and climate change challenges [
27,
28,
29].
This air pollution effects industries, smart systems [
30,
31,
32,
33], Air and road traffic [
34,
35,
36,
37,
38], health and safety [
39,
40] as well. 3.0 Proposed Methodology
3.1. Application Design Considerations
Development of HazeAlert pays great importance to the creation of an intuitive interface that is user-friendly. In every application, accessibility will determine how easily one can use the software; thus, it is a very major success factor in applications. The simplicity and clarity of the application design are necessary to avoid confusion in the design. The application should guide the user through clear pathways to perform some kind of task without lengthy user manuals or any previous knowledge of the system. The UI design needs to anticipate what users need and then make those options highly accessible; it should be intuitive and self-explanatory on all its interactive elements [
41].
3.1. Outputs Design
Outputs included in HazeAlert have been crafted to walk the user through the application with ease and clarity. At the opening of the program, the user has obvious choices of logging in, registering, or signing in as a guest. These are presented with short instructions, such as “Press x to [perform action],” to eliminate any confusion. The system is designed in a way that its main output functionality lets the user know their choices at any given time, corresponding to numbers associated with particular actions. It is also inclusive of the program view functions whereby the user selects some certain tasks or pages. Examples are “View Readings Page”. Certainly, there should be consistency in a very clear method of interaction that will limit the user from confusion; thereby, carrying out simple activities such as viewing air quality data would not need extra guidance.
The above example has two different scenes where the mentioned concept is followed. When the program starts, three different options appear before the user in which he or she can either login, register or sign in as a guest. They are explicitly highlighted, and sub-commands are also there explaining to press x to perform some action. This makes sure that the user not only knows what options are available to be performed but how to perform those also.
Below these options, the user is presented with the view functions. In this case, the user is still presented with options of actions that can be done such as “View Readings Page,” including the input they are supposed to provide. These instructions are considerably more subtle compared to the first set of options, but it is assumed that the user has grasped the general input mechanism of the program: entering the corresponding option number into the console. This approach reduces the likelihood that a user will be confused about what actions are available, let alone how to perform them.
Error Handling and Input Validation
The most important thing in design would be keeping the application robust and working even under different users’ mistakes. Since the program will be designed as a command-line interface, the user can get an opportunity to enter all sorts of values. Yet, invalid inputs or actions that might have been unforeseen by a developer stand a good chance of driving the application either to misbehave or crash. With the event of such risk, the program has implemented an effective error handling via Try…Catch mechanism to capture and handle any exceptions that come up, thereby ensuring that, even when there are mistakes, the smooth running of the program is continued.
Applying Try…Catch for Error Handling
The program uses Try…Catch blocks to prevent crashes of the application in case of incorrect user inputs. For example, a user may be prompted to select an option by typing in a number-for example, 1, 2, or 3-whereby the program should check any exceptions using a Try…Catch statement. If the user inputs anything other than an integer-a string or special character-the program catches the thrown Input Mismatch Exception and displays a custom error message, such as “Invalid input. Please enter an integer value,” without terminating. This allows the user to recover from the mistake and continue interactively using the program.
The Try…Catch mechanism further prevents the presentation of the user with complicated error messages that might perplex them. By catching the errors and presenting clear, tailored messages, the program improves user experience and minimizes frustrations.
An example of this can be seen at the very beginning of the program where the user is prompted to select an option to sign in.
Input Validation
Input validation in programming is an essential procedure that shows the data that a user is going to input is reasonable, and it is within the usual parameters. In HazeAlert, the input validations avoid invalid data so as to reduce unexpected results or the crashing of an application. A number of validations of inputs are carried out by the HazeAlert app, including type, presence, and range, for them to fit into the necessary criteria.
Range checking
Range checking means making sure user inputs fall into a specified set of values. For example, the program menu asks a user to select any one option from seven different options; each option corresponded to some actions. Similarly, in this, the number must be in the acceptable range between 1 and 7. Any digit other than a number within that range dismisses it, and it bounces the input prompting for the choice of a correct number. Thus, preventing any type of invalid choice chosen by the user because this may cripple how this program functions.
Check in length
The inputs for which the length of entered data is of essence already have their length checks. For instance, when a user creates an account, he/she needs to provide a password; the minimum length of such a password is 8 characters. If the user provides a short password, say “123,” then the program asks for a valid password from the user. This would ensure that only valid and correctly formatted inputs are accepted, which would help avoid length-related input errors altogether.
The example here shows the attempt of the user to create an account with the username “username Test” and, correspondingly, he types in the password “123.” However, since the length of the password is only 3 characters, the program denies it and requires the user to enter a password that would have at least 8 characters.
Intuitive design, understandable outputs, and strong error handling practices are some of the areas in which HazeAlert concentrates to make the system more user-friendly. The use of Try…Catch for error handling and a strict validation mechanism at the inputs ensures that the application remains operational and robust in case of erroneous input by users. The systematic approach to input validation by means of range and length checks further provides assurance that the input supplied by users would be valid and appropriate, hence limiting unexpected behavior. This therefore ensures that HazeAlert is effectively used in terms of educating the public on issues about air pollution and haze, while at the same time keeping its usability and user experience high.
2. Main Page
After logging in or using the guest mode, a user is brought to the main page, where he or she can interact with various sections of an application. The following functionalities were tested:
Profile Management: The profile option allows users to view, edit, or delete their profile information. When the main menu option ’1’ was selected, the user could update his details or delete his profile without problems.
Search Function: Users were allowed to search for announcements by entering ’6’. It works as intended: results related to the keyword entered appeared on screen, greatly enhancing the ease with which a specific announcement was accessed.
Log out and Exit: The application had an option to “Log Out” that could be selected just by pressing ’7’. It took the application to the default login screen; hence the user session was closed appropriately.
4.2. User Features
From the main page, the user has several options to interact with the content of the application. The following results were obtained:
Announcement Page: The user could see the Announcement Page on the main page by entering ’3’, which would display the latest announcements made by the admin. The display was clear, with each announcement clearly distinguished, providing users with important updates on air quality and related issues.
View/Add Reports: A user could also view or add a report by inputting ’4’. With this, the system would have given users a facility to report upon incident visibility observation as their contribution towards observing the current haze situation status.
Response upon entering showed confirmation validation that assures that submitted reports were the proper format immediately acting on the prompt from a user.
4.3. Admin Features
Admin users have more capabilities than regular users, such as managing content within the application. The following features were tested and worked as expected:
View/Edit/Delete/Add Announcements: The admin user can manage the announcements through the Announcement Page by selecting ’3’. They were able to create, modify, delete, and view announcements successfully. The interface was intuitive, thus allowing admins to maintain current and relevant information without difficulty.
Show/Edit/Delete/Add Reports: This is the option to manage reports posted by users in which an admin user can select ’4’. This allowed for the required moderation of user-generated content, ensuring that only high-quality, relevant information was published on the app. Without errors, the interface was clear, presenting options with respect to the disposition of the reports.
From the experimental results on the HazeAlert application, it follows that the system works seamlessly and that all key features work exactly as expected. It will also ensure that user input is validated and processed correctly for easy navigation and data integrity. The application segregates users/admins well, hence giving the right kind of access and usage to each of them. Overall, the app meets its design goals of providing accessible, clear, and user-friendly features to both the general public and administrators. The implementation of error handling and input validation ensures stability and reliability for users.
6. Conclusion and Result
This research work in Java-based programming encompasses all aspects of environmental concerns about haze. Relating HazeAlert to the Sustainable Development Goal 13 puts in focus how important the tracking and recording of environmental irregularities is in promoting knowledge and understanding of haze and air quality. The thirteenth Sustainable Development Goal has been widely regarded as a global framework for addressing the serious problem of climate change. This means that immediate remedies should be taken, along with giant strides towards reversing its negative effects. It is for this reason that HazeAlert has strategically embarked on SDG 13 by addressing air quality and haze, two of the very important aspects of climate action. Apart from monitoring and reporting environmental issues, the program is very active in supporting the overall objective of raising awareness and a sense of responsibility among citizens. HazeAlert is an educative tool with features such as real-time announcements, Frequently Asked Question repositories, and accurate API readings through customized user profiles, furthering the tenants of SDG 13 on raising climate awareness. HazeAlert is a reflection of the greater climate change agenda that SDG 13 represents; thus, it allows users to report instances and contribute to a collective effort in tackling environmental concerns.
HazeAlert is an important tool for the achievement of Sustainable Development Goal 13 on Climate Action in the Malaysian context. Malaysia, an area often concerned with haze-related issues, will greatly benefit from the potentiality of HazeAlert as an early warning system. This program helps people and communities take precautions by providing real-time information on air quality, aligned with the core of SDG 13 to enhance resilience to climate-related hazards. Additionally, the reporting feature in HazeAlert provides an avenue for community involvement and creates more informative crowdsourced data to drive policy decisions and intervention strategies. The air quality readings and frequently asked questions that this program encourages public knowledge and understanding of environmental issues address an essential part of SDG 13. By partnering with environmental non-governmental organizations, advocating evidence-based policies, and working together with government agencies, HazeAlert can actually play a crucial role in Malaysia’s climate action agenda, underpinning its importance in the country’s pursuit of sustainable development goals.
Benefits of HazeAlert
Beyond the fact that HazeAlert provides its users with beneficial curative benefits, the initiative also contributes immensely to the better education and sensitization of people in realizing the imperatives of SDG 13. By delivering timely and real-time environmental conditions and air quality through this program, users themselves are engaged in understanding the short-term impacts that climate change imposes. Education tools in HazeAlert develop a sense of mutual responsibility by taking part in group actions that contribute toward climate action through community outreach and the reporting of environmental problems. Users who engage with HazeAlert regularly are not only empowered through better decision-making regarding their immediate surroundings but also emerge as climate ambassadors, relating their efforts to the larger objectives of SDG 13. It is this Snowballing effect of increasing awareness and usefulness that underlines the pivotal role played by HazeAlert in promoting sustainable behavior and furthering the global climate action agenda.
Development Process
It took 2.5 months for seven committed programmers to develop HazeAlert in a structured manner. After discussing and brainstorming over the development of the concept of this project, the team did some deep research on SDG 13 so that the goals of the program were aligned with the climate action agenda. In the development phase, there were many discussions to help improve concepts and explain the overall complexity of the HazeAlerts. It could be envisaged that the experimentation with varied code implementation and challenges, the iterative processes of improving and optimization of the program, would pose the biggest challenges that the team encountered. Every single programmer put his maximum effort to the work continuously committed to the functionality and quality of the prototype.
Knowledge Gained
In addition to the core lessons learned about collaboration, problem-solving, critical thinking, and debugging, the development of HazeAlert provided valuable insight into a number of other key aspects of the software development process. The main understanding developed through this experience is that communication has to be effective; team members have to present themselves in an easy-to-understand manner so as to ensure that project goals, coding standards, and problem-solving techniques are realized by all. As the team worked around the project timeline, time management skills became more evident. Meeting deadlines efficiently required careful planning, prioritization, and flexibility. Because both coding and debugging are iterative, they foster persistence and patience through which the group starts to view any obstacles as no failure but great opportunities for growing and refining. This experience showed me the emphasis on user-centered design and inspired the team to continuously explore ways in which the features could be improved based on user input. This has been such an amazing team to grow with, through so many experiences that provided them with a wide comprehension of what the successful development of software means: collaborative, adaptable, and user-oriented, apart from technical ability.
Recommendations
Data visualization in HazeAlert is one of the challenges that were identified from the development process. Presently, the application does not provide a means of visualization for air quality data, which even increases user experience in accessing and making sense of the API readings. Probably, utilizing 3D arrays for display for more complex data is one probable avenue to meet this challenge. By using 3D arrays, the application should be able to present the user with a more realistic and user-friendly time-space variation in air quality conditions. In particular, this will make it easier for the user to identify patterns, trends, and anomalies in air quality. Such interactive visualizations of this type may further enhance the user experience by dynamically enabling the exploration of the readings. These will be upgrades that prove HazeAlert to be stronger in its effectiveness to raise environmental awareness and inspire the community to action by showing the rising importance of visualization for user engagement and comprehension of the data. Improving the model of the Frequently Asked Questions section in HazeAlert comprises the second likely enhancement. Today, traditional static-style FAQs stand the risk of featuring outdated or incomplete information. One strategic way of overcoming this challenge would be to rework the FAQs into a dynamic and adaptive system. An intuitive feedback mechanism will be inbuilt for users to suggest new ideas and questions, ensuring a participatory and iterative process for its continuous improvement. The set of FAQs will continuously be revised for their relevance and accuracy from time to time, considering comments and newly identified environmental concerns expressed by the users.
One direction that may be taken with HazeAlert could be an improvement in accessibility issues presented by its computer-based nature. Since all people do not have personal computers, the use of a cell phone application might be a very key development. HazeAlert is rendered more accessible and user-friendly with the development into software compatible with tablet and smartphone access. This means that anyone can have contact with it at any instance, regardless of how frequently one has access to a computer. By allowing users to access immediate environmental information while on the move, this mobile adaptation enhances the program’s utility,
while also increasing its user base. Push notifications can be included in the app to ensure users receive timely updates concerning environmental conditions and air quality. Besides, an intuitively designed app might make it easier for users to engage in views such as incident reporting or curated readings, which would promote a wider and smoother usage of the capabilities of HazeAlert. Generally speaking, moving to a mobile application would greatly expand the audience and influence of the program, something that would fall in line with the main objective of encouraging environmental consciousness and enabling user involvement in climate action.
Future Works
Predicting the future of Haze Alert’s impacts depicts a very bright path, which comes with more accessibility, interaction on the user’s end, and impact toward the environmental cause. The envisioned mobile application would create capabilities to democratize access to real-time environmental information across more barriers in computer access. This strategic shift is foreseen to increase the usage of HazeAlert and ensure that people from all walks of life can easily access critical air quality information anywhere, anytime. Therefore, it is envisioned that there will be heightened user engagement, leading to more comprehensive reporting of environmental events and increased active participation in climate change activities. HazeAlert is working towards a future where the application constitutes the driving force for informed decision-making, collective actions, and sustainable practices toward becoming a better and more ecologically sensitive community. In essence, the forecasted outputs at the far end constitute HazeAlert as one energetic and robust tool to actively contribute much towards a healthy and greener Earth worldwide.
Figure 1.
API Reading Table of the region haze Situation in October 2023 [
2].
Figure 1.
API Reading Table of the region haze Situation in October 2023 [
2].
Figure 2.
SDG 13 Targets and Their Possible Impacts [
9].
Figure 2.
SDG 13 Targets and Their Possible Impacts [
9].
Figure 3.
Inpatient rates across API categories (all years) [
13].
Figure 3.
Inpatient rates across API categories (all years) [
13].
Figure 4.
Comparison of mean inpatient rates during normal days and haze episodes for year 2005.[
13].
Figure 4.
Comparison of mean inpatient rates during normal days and haze episodes for year 2005.[
13].
Figure 5.
Different Types of Air Pollution Damage Tissue [
16].
Figure 5.
Different Types of Air Pollution Damage Tissue [
16].
Figure 6.
Trend of daily inpatient rates for the month of August, 2005.[
13].
Figure 6.
Trend of daily inpatient rates for the month of August, 2005.[
13].
Figure 7.
Spatial variations of annual-averaged PM10 concentration (µg/m3) at five DOE monitoring stations in the Klang Valley; Klang, Shah Alam, Petaling Jaya, Cheras and Kajang station from 2000 to 2009 [
17].
Figure 7.
Spatial variations of annual-averaged PM10 concentration (µg/m3) at five DOE monitoring stations in the Klang Valley; Klang, Shah Alam, Petaling Jaya, Cheras and Kajang station from 2000 to 2009 [
17].
Figure 8.
Spatial distribution of population density in six districts of the Klang Valley: Klang, Petaling, Kuala Lumpur, Gombak, Hulu Langat and Sepang from 2000 to 2009[
17].
Figure 8.
Spatial distribution of population density in six districts of the Klang Valley: Klang, Petaling, Kuala Lumpur, Gombak, Hulu Langat and Sepang from 2000 to 2009[
17].
Figure 9.
Proportion (%) of adverse physical health experienced (%) during daily commute and haze days.
Figure 9.
Proportion (%) of adverse physical health experienced (%) during daily commute and haze days.
Figure 10.
Proportion (%) of adverse physical health experienced (%) during daily commute and haze days.
Figure 10.
Proportion (%) of adverse physical health experienced (%) during daily commute and haze days.
Figure 11.
Hourly solar irradiation level during a normal day and during a hazy period.
Figure 11.
Hourly solar irradiation level during a normal day and during a hazy period.
Figure 12.
Region haze Situation at October 2023[
2].
Figure 12.
Region haze Situation at October 2023[
2].
Figure 13.
Petronas tower covered by haze in Kuala Lumpur city, Malaysia. Malaysia is hit by haze from forest fires that came from Indonesia Borneo island and Sumatra. Many forest areas and palm oil concessions in Indonesia were burned this year including the concession belonging to Malaysian and Singaporean companies.[
7].
Figure 13.
Petronas tower covered by haze in Kuala Lumpur city, Malaysia. Malaysia is hit by haze from forest fires that came from Indonesia Borneo island and Sumatra. Many forest areas and palm oil concessions in Indonesia were burned this year including the concession belonging to Malaysian and Singaporean companies.[
7].
Figure 14.
The network of SDGs and climate change (A) and normalized eigenvector centralities (B) for the country grouping Emerging Markets [
8].
Figure 14.
The network of SDGs and climate change (A) and normalized eigenvector centralities (B) for the country grouping Emerging Markets [
8].
Figure 15.
SDG 13: Take action to combat climate change [
9].
Figure 15.
SDG 13: Take action to combat climate change [
9].
Figure 16.
Relationships among social, environmental and economic sustainability [
11].
Figure 16.
Relationships among social, environmental and economic sustainability [
11].