· Michael Antensteiner · Local First · 4 min read
A short introduction to Local First applications
The open web should make high quality applications available to everyone.
We at AppSpark believe in the concept of the open web, which should make high quality applications available to everyone, in web browsers that support standards for deep operating system integration. Local-first apps meet this description. But what are local-first apps in short?
Local first applications store and process data on the user’s device and only optionally on a remote server, while server-based applications store and process data primarily on a remote server. The key differences between these two types of applications are how they handle data, their ability to work offline, and their security and privacy.
Local first apps store data on the user’s device, which means that users can access and edit their data even when they are not connected to the internet. In contrast, server-based applications always require an internet connection to access and edit data, as it is stored on a remote server. This means that server-based applications are not (or only with large additional effort) able to work offline, whereas local first applications can continue to function even without an internet connection. Local storage means that user triggered operations are processed almost instantly, so when done right the user experience may be vastly better compared to the client-server request model.
Another difference between local first and a server-based architecture is their security and privacy. Because local first apps store data on the user’s device, the data is less susceptible to hacking and other forms of cyberattacks or provider misuse. In contrast, server-based applications store data on a public remote server, which makes it more vulnerable to these types of threats. The local first approach gives users complete control over their data which brings data portability, whereas server-based applications may require users to trust the service provider with their personal, sensitive information which is prone for unintended use, for example being profiled or sold to advertisers. With the data on servers the users may also experience data lock-in.
End-to-end encryption can be a useful factor to consider when evaluating local first and server-based applications. For local first applications due to the solely local data processing end-to-end encryption is easier to implement and protects the confidentiality of data that is processed only on the user device and stored only fully encrypted on the server. Unintended usage of the data on the server ruled out, because it is technically not possible. This by default privacy preserving feature is way harder to implement with traditional client-server architectures.
Overall, local first applications offer several advantages over server-based applications, including the ability to work offline, improved security and privacy, and better performance. However, local first applications also have some limitations, such as the need for users to have sufficient storage on their devices and the potential for data to be lost if the device is damaged or lost.
Also reliable data synchronization across devices and to achieve near real-time data consistency in case of very frequent write operations can be challenging. Server-based applications, on the other hand, do not have these limitations, but they do require an internet connection to function and may not offer the same level of security, privacy and data portability as local first applications. Very large cooperative systems with big datasets are better fit with a server-based approach.
While being less common with modern web browsers, some operating system features may not be available for integration in the desired quality. To achieve full feature richness a hybrid app framework can be used. This means that hybrid apps have the advantages of both native and web apps, such as the ability to access device features and hardware, as well as the ability to be easily updated and accessed from any device with a web browser.