0x1 Introduction
APITable, from a technical perspective, is a visual database product that supports real-time collaboration.
It combines the features of collaborative documents with the structured field types of databases, and from this foundation, derives a variety of interactive views. The three keywords "real-time collaboration," "visualization," and "database" are the fundamental product characteristics of APITable, and they form the foundation for our application architecture and the technical challenges we face.
Database
At the core of APITable's data management is a relational database model. However, it is quite different from the relational databases that are commonly known in the tech world. Our target users are not engineers but the general public. Therefore, the concepts of tables and fields in APITable are more flexible and closer to real-world business scenarios compared to relational databases. We use 15 basic fields to describe the data structure of the real world and 9 advanced fields for functions such as calculations and preset data. Among them, the two "magical" fields—Magic Link and Rollup—are APITable's secret weapons. They are the key elements that allow us to achieve data association, aggregation, and complex dynamic model building without SQL statements.
Visualization
Isn't every SaaS product visualized? Tables, charts, and dashboards are not uncommon. What's special about APITable's visualization?
Yes, it is indeed special. When traditional systems are used for visualization, they usually have several characteristics.
BI-class visualization systems, i.e., large chart screens, can freely select data sources and generate visual charts through configuration, but they cannot perform data write operations. In other words, they only do visualization and not write interaction.
Interactive visualization components such as tables, dashboards, lists, calendars, etc., can perform data display and data editing operations, but they require corresponding data structure definitions and API interface development support to handle these complex data interactions.
APITable's views, as the core of its visualization capabilities, are based on a universal data model layer (snapshot) and universal data operation encapsulation (JOT), with visualization interaction capabilities encapsulated according to field type characteristics. This means that developing APITable views does not require any additional API support, but it also implies extremely high requirements for universality and configurability.
Real-time Collaboration
The biggest difference between APITable and traditional web applications is "real-time collaboration." From a user experience perspective, real-time collaboration brings not only the difference between refreshing and not refreshing but also a change in usage logic that is more akin to the experience of using desktop applications. These include:
Real-time data collaboration and automated conflict resolution
Undo and redo, where any change can be undone
Cursor-based batch operations
Batch copy and paste
In other words, when implementing any table-related functionality, we need to consider the above four basic principles. Therefore, understanding the data model, operation model, calculation model, and real-time collaboration theory is crucial, and you will learn more about the technical module design in subsequent documents.
Homework
Create a practical APITable datasheet that uses Rollup for summary calculations and visualizes the statistics with charts, with more than two views.