Understanding the Three Types of User Data in WebApps
Publication date: 2024-03-14When it comes to user data in web applications, there are three main types that you should be familiar with: personal, public, and group. In this brief overview, we’ll explore each type and discuss some current trends shaping the way web apps handle user data.
The attention-grabbing image.
The evolution of user data
In the early days of web applications, a simple architecture ruled supreme: a back end (server) and a front end (browser). Initially, all data — including HTML pages — was publicly available on the server. Users could connect to the server using a web browser and navigate from page to page. However, it didn’t take long for the need to restrict access to certain information to arise. This is how ‘group information’ was born: through the use of secure connections like HTTP basic authentication (http://user:pass@site.com/). The next major milestone came with the advent of personalization, as web apps began to adapt pages for individual users through technologies like cookies and Common Gateway Interface (CGI).
Thus, three distinct types of user data access were formed:
- Public: Data that could be read and written by everyone.
- Private: Data that should only be accessible to a specific user.
- Group: Data that was meant for a designated group of users.
The impact of web application architecture on data
Due to the client-server architecture, all data was initially stored on servers. With limited internet bandwidth, data caching was introduced at various levels (server, proxy, CDN, browser). While private data posed fewer challenges since users accessed their own information, caching became problematic for public and group data. Updates to data on the server took time to propagate before all users received the same data. However, with the advent of Server-Sent Events (SSE) and WebSockets, this situation improved significantly. Now, servers can directly push updated information to users’ browsers, enhancing responsiveness and ensuring consistent data across users.
As all data, including private data, was initially stored centrally on servers, companies emerged that capitalized on processing users’ personal data. These corporations analyzed user behavior, preferences, and social connections to deliver targeted advertising and improve overall user experiences. However, as users became increasingly concerned about their privacy, they demanded limitations on global corporations’ access to their personal data.
To address these concerns, solutions were developed on the browser side for storing and managing personal data locally. Technologies like localStorage and IndexedDB allowed users to store their information directly in their browsers, giving them more control over their data. Additionally, cloud storage options with robust security measures and decentralized platforms like Solid have emerged to provide users with greater autonomy over their personal information.
The decentralization
At present, users can comfortably store and process substantial amounts of personal data in their browsers or external storage facilities that are inaccessible to the server directly. This ability allows data to be decoupled from the server’s control, which primarily focuses on distributing and updating web application code and managing public information.
Moreover, users can now also store group information by circumventing the server through various means. For smaller groups, like pairs, data can be exchanged directly between users using WebRTC (Web Real-Time Communication). However, for larger groups, processing such group information aligns more closely with handling public information. In these cases, transmission through the server becomes a preferable option due to its ability to manage and distribute data efficiently to all group members.
The Stracey Barbrand effect
The Barbra Streisand effect is a well-known phenomenon in the field of internet culture. It refers to the unintended consequences that can arise when an attempt is made to hide, remove, or censor information. The effect occurs when efforts to suppress information lead to increased public interest and awareness of that information.
The reverse process is when unused information disappears from the Internet. It often happens that some meme, video, or picture constantly comes across on public resources, and after some time the fashion passes, and the relevant information becomes impossible to find. I call it “The Stracey Barbrand effect” — a term that refers to the phenomenon of public information fading away over time.
This trend highlights the importance of personal storage for users. Even if data is publicly available, there may be instances where it holds significant value or sentiment to an individual. By storing such information locally in a personal storage, users can ensure that their cherished memories and valuable data remain accessible, regardless of its popularity or relevance on the wider web.
Conclusion
Regardless of the data type (public, group, or private), there’s a growing demand for personal data storage on the client side in modern conditions. Presently, it’s feasible to store all data on the browser side, leveraging technologies like IndexedDB, Cache Storage, and Service Workers. This shift leaves the server primarily responsible for distributing and updating application code while reducing its load and facilitating the transition to more sustainable, partially decentralized architectures.
Technologies such as WebRTC, which benefit from the increasing mobile internet channel bandwidth, will further alleviate server loads and enable seamless communication between users without relying on intermediaries. The increasingly powerful capabilities of end devices, particularly smartphones, enable not only the storage of substantial data but also the execution of resource-intensive tasks like encryption.
In my view, these developments will significantly reshape our conventional web applications in the next 5–10 years, leading to more personalized and decentralized experiences that prioritize user privacy, control, and autonomy.
If you enjoyed this article, please give it a clap and follow me for more content!
Stay connected:
Thank you for your support!
Data, origin, access, and the user profile meet in the wider browser environment described in Browser as an Operating System for Developing Modern Applications.