The storage and processing of miscellaneous records such as customer databases, book and CD catalogs or bookkeeping count among the essential uses of a computer. The tools currently used for these tasks are either spreadsheets or relational databases. Both of these were designed in the 1970s – in other words at a time when the performance and memory capacity of computers were lower by several orders of magnitude (the quantitative boost of both computing power and memory – internal as well as hard drive – has been incredible since then: the computers of that time were a thousand times slower and had a memory that was a thousand times smaller). This is reflected in the elemental design of spreadsheets and relational databases: they were designed with maximum simplicity so that they could run on the computers existing at that time. Subsequent upgrades of these technologies are carried out in a non-conceptual and superficial manner, so their ever increasing complexity eventually renders them almost unusable.

Simplicity and Complexity

Sfairadora presents an attempt to rethink the essential requirements demanded by man of a computer when it processes data. In contrast to old technologies, its primary focus is not the complexity of technical implementation but rather its accessibility to human thinking. In other words, the most important thing in the equation is not the machine but man himself. The time a computer needs today to perform one command is shorter than the time it takes light to travel ten centimeters. This astonishing computing power must be made to serve individuals.
The fundamental idea is that simplicity must be regarded entirely as accessibility to human thinking and imagination. This interpretation of simplicity certainly does not need to result in the simplicity of the application’s respective internal mechanisms. Indeed, many of Sfairadora’s functions embrace an invisible complicated internal mechanism in order to appear simple and elegant when used. At the same time, it would be inappropriate to succumb to the illusion that everything can be done in a simple way. Complexity is an irrevocable part of our world. However, things must be organized so that they are first and foremost simple. Nonetheless, this desire for simplicity must not prevent the use of truly powerful and effective tools to solve more complex problems when necessary. To put it simply, the complexity of the available solution must go hand in hand with the complexity of the problem and with the level of the user’s experience – beginners must not be confused by incomprehensible technicalities and experts must not be bothered by needless limitations passed off as simplicity.

Data – Views – Presentations – Output

The main purpose of Sfairadora is the organization of smaller volumes of data. Unlike relational databases and spreadsheets, where data has the character of two-dimensional tables, it imposes no restrictions on the structure of data. The most important data type is a table. There are no restrictions in Sfairadora as to what the item of a column in the table can be which means it could be, again, another table. This arrangement is broadly applicable or even typical. For example, if we have a table of customers, it is completely natural to assign the list of orders that belong to each customer as a subordinate table.
The arrangement in which a subtable is nested within a table lays the foundations of table manipulation. Basic table operations group and ungroup, together with operations for ordering, filtering and reduplication, can be used very intuitively for the construction of data views. This technique of constructing views (database queries) based on the group and ungroup operations is not only more powerful than the Cartesian product used in relational databases but it is also more easily comprehensible. Moreover, users may create computed data items, whose value is derived from other values, using a user-supplied expression. This can be regarded as an analogy to spreadsheet functionality with the difference that data can be naturally named instead of using cryptic references to cell coordinates. Moreover, no restrictions apply to the complexity of the expressions – the supplied calculation can range from simple expressions to complex programs. Views can be named and saved so that the information required by the user is always available.
Sfairadora automatically creates corresponding presentations for all data and views. The term presentation refers to visual representation of data on the monitor – in other words, graphical representation of tables, dialogs for data entries, etc. The administration system makes always sure that the windows and controls have an optimal size and position, that they do not unnecessarily hide other information and that at the same time the information included in the control itself is visible. The appearance of the presentations can be modified using styles in a similar manner as the appearance of text documents. User comfort is further reinforced by the fact that the application saves the complete current layout of the presentations so that when it is reopened, the user can continue working from exactly the same point as when the application was last ended. Should the automatically created presentations be insufficient, the user can arbitrarily modify them or create completely new ones. An effective and easy-to-use R-D/C model (recursive data/control model) is provided to facilitate the design of presentations. Its power is proven by the fact that Sfairadora’s entire user interface has been developed by means of this model.
In order to produce text output, an adequate output template can be automatically created for all data, views and presentations. The output text is then created automatically according to the template upon any data modification. If required, the output template can be edited, or you can create a completely new one. In order to create templates, Enkidu language has been developed. Templates are created by means of a text editor that allows the user to format characters (font, style, etc) and paragraphs (alignment, line spacing, or indentation) or to use text tables.

Always at Hand

Last but not least, it is essential that the data structure can be continuously and arbitrarily modified while Sfairadora preserves existing data values to the utmost degree. Furthermore, the changes are propagated to all related components – if you add a column to a data table, it is also be added to the corresponding views and of course a corresponding presentation of that column is created.
Another essential feature is the error diagnostics – if an error occurs during data calculation, it is indicated by means of a red square in the corner of the respective control. The context menu then displays the sequence of the causes that have led to that error. Therefore, the appropriate point in the sequence can be selected and jumped to in order to fix the error.
In addition, Sfairadora allows you to copy data in many different ways. You can easily create a new table and copy selected data into it from a currently edited table or save into it the instant state of a view. When rows of a data table are copied into a text editor, a corresponding text table is created there. There are many other options available.