Design and Implementation of a Data Filtering and Sorting Interface in React; The Death of Flash

Author:
Kuo, Calvin, School of Engineering and Applied Science, University of Virginia
Advisors:
Morrison, Briana, EN-Comp Science Dept, University of Virginia
Earle, Joshua, EN-Engineering and Society, University of Virginia
Abstract:

Web development is one of the most popular fields in software development today. Unlike traditional computer programs or apps tailored to a particular operating system or device, any internet-connected device can access a website through the World Wide Web, whether it’s a phone, a tablet, a laptop, or a desktop computer. While the first websites consisted largely of static documents, over time, users and developers built upon these foundations to build sites where the server could dynamically respond to users’ requests. Today, modern websites run code on both the server and the client, allowing sites to take advantage of the strengths of both platforms to create interactive experiences.

The technical portion of this paper focuses on the present state of web development through the lens of the design and implementation of a modern web application built in React using an agile development methodology. The University of Virginia Development Hub developed this application, the Clinical Decision Support Tool, for the Neonatal Antibiotic Stewardship under the supervision of David Kaufman, MD, of the University of Virginia School of Medicine.

The goal of the application is to help neonatal clinicians prescribe the appropriate dosage and type of antibiotics based on several factors, including physiological characteristics such as age and weight, their symptoms, and test results. It is important for clinicians to use the most specific treatment possible to prevent antibiotic resistance, by trying to eradicate the infection completely while also attempting to minimize the side effects to the patient.

The primary technologies used in the app was the React framework and the MongoDB data platform. React is an open-source frontend JavaScript library, originally developed by Facebook, that allows developers to build user interfaces out of reusable components. MongoDB is a JavaScript-based document-oriented web platform that served as the database backend for this project. JavaScript is a programming language that runs in browsers and is what makes many websites interactive.

Initially, although the system collected the inputted data into a MongoDB database, there was no user-friendly way to access the data. Our internship team designed and implemented a user interface with the React framework to display this data. This enabled the user to specify an arbitrary number of filters and sorts, allowing a non-technical user to easily view the desired subset of the data. In addition, we also designed the interface to allow later extension and customization with additional features and visualizations of the relevant data.

The STS portion of this paper focuses on the history of web development through the lens of Adobe Flash Player, from its release in 1996 to its discontinuation in 2020. Flash played a pivotal role in the development of the modern web, acting as a platform that unleashed the creativity of amateurs and professionals alike in remaking the web with features such as animation, interactivity, vector graphics, and video to web browsers. To determine what factors played a role in its demise, this portion analyzes the social and technological factors that initially carried it to success, as well as the changes in these factors that led to its decline.

On the internet, both servers and clients must mutually understand a protocol for it to be useful. While several web standards have become universal such as IP, HTTP, HTML, CSS, and JS, others have since fallen into obscurity. Unlike other technologies which just failed to catch on or still survive in a limited capacity, Flash dominated the web for nearly a decade before being discontinued, with many historical sites that were never updated no longer being accessible.

To determine what the underlying causes of Flash’s success and subsequent decline, we examine the history of the web and the role that Flash played from 1995 to today. Flash was released as a browser plugin during the first browser wars between Netscape Navigator and Internet Explorer, brining those aforementioned features to what had previously been static websites. By contrast, its downfall occurred during the second browser wars, during the rise of internet-connected mobile devices. At this time, standards committees adopted open standards such as HTML5, CSS, JS, SVG, and HLS that would replicate much of Flash’s functionality.

In analyzing these events, we chose to apply the approaches of social construction of technology (SCOT), social influence, technical code, and technological stasis. We comment on how Flash suffered from technological stasis due to its emphasis on backwards compatibility, how Apple’s “walled garden” philosophy acted to exclude Flash from the iPhone, how the internet shifted from being more distributed to more centralized, and address what may have been the ultimate cause of Flash’s decline and what steps Adobe might have been able to take to prevent it.

Degree:
BS (Bachelor of Science)
Keywords:
Web development, React, MongoDB, Adobe Flash Player, Social construction of technology
Notes:

School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Briana Morrison
STS Advisor: Joshua Earle

Language:
English
Issued Date:
2023/05/09