Flip Overview

 

About Flip

Flip is a data model library, designed as a framework, real-time collaboration-oriented, transactional, portable and compact.

Key Points

Flip features a number of key points to your application :

Those key points are detailed below.

Prerequisites

Multi/single user, good practices

The library has been conceived to let developers test their programs as single user with great chances to get it right for multi user. Particular efforts were made to avoid temporal impacts on development iteration. No server is required during development cycles.

Moreover, our team set some good practices over the last few years to help you implement a solid architecture that will stand the test of time and be able to meet new needs.

In fact, we experienced that industrial implementation of the model yields the best correct-lines-to-total-lines ratio. The unique way Flip works offers users to work in real-time collaboration without feeling any latency caused by the Internet.

Undo, redo, history, copy, paste

Flip’s very structure makes it unnecessary to manage undo and redo with specific code, which allows for super fast implementation of new industry-specific functionalities. The library can generate one or many undo/redo histories according to your needs.

Likewise, you can implement copy/paste with the same simplicity, while enjoying the unlimited possibilities of customization offered by this feature.

Document format, document version, validation

The default back-end writing format has a data structure similar to that of PDF. This has many advantages, including:

The use of a text editor in debug mode offering outstanding readability, even with documents weighing 100MB+. Simple and efficient, no matter how complex the model is.

The document works on its own version. Graphs of multiple versions are available (branches for A/B testing for instance). The document conversion system has been successfully tested in production environment including radical paradigm changes.

Flip also allows you to set up a dynamic model validation system, regardless of the complexity involved. It can even handle structural model validation with no additional code. It doesn’t generate orphan objects: actually, we haven’t got any in 5 years of development.

Thread Flip

Flip has its own thread system, which allows for a lock-free multi-threaded architecture with no concern with competing thread systems. Even more, there can be several thread flips in different system processes with no impact on development iterations.

Interoperability

Flip has been designed to integrate with external engines without imposing its own architecture: IDs, references, and any other system used by external engines can be integrated in Flip’s engine, without the need to maintain specific glue code : each Flip object can store multiple represented objects.

Flip’s unique change detection system within a document let the client code parse the change in any directions to match external engines object life-time constraint for example.