Introduction
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.