Last Wednesday, our team gathered up to hold one of our weekly learning sessions. During these sessions, we discuss components that make Active Textbook and answer the questions developers and designers might have about the product development. This week, we talked about Active Textbook servers and how they all come together, including a detailed talk on the architecture of different components.
In short, the ATB (ActiveTextbook) server provides all the back-end functionality. It serves as a portal through which different operations with bookshelves are being done. Interaction with the server is an essential part of the active elements in the reader, such as markup & annotations. These get stored in the database however, media files and the static parts of the book are being stored in the file system.
As the session progressed and our team prepared a few more questions, we touched upon how to make databases and servers more efficient and implement additional functionality, such as retaining markup and annotations across books and assignments. We are also looking into eventually breaking our monolithic codebase down into smaller components to address
separation of concerns.
To tackle fringe cases like
race conditions, such as when User A modifies an overlay offline at 2 PM, and User B deletes the overlay at 1 PM (what happens to the sync? Does the overlay exist?), it is essential to write some logic around how it can be handled.
When it comes to the user experience of the platform, we are planning to increase the speed at which annotations sync, making the process more responsive and robust.
We hold learning sessions every week. To learn more about Active Textbook and Evident Point’s most recent developments, follow our blog.