The Eary Days - Incentives
The history of Askemos began in 1993. I just spent approximately 13 year
with computers as a hobby and later as undergraduate at the university. One
observation bothered me: there are so many "computer illiterates" who admit
that they don't understand the computer world. Among them people like my own
dad, who received two Ph D's and is usually regarded to be a smart man. So I
posited that it's not the peoples fault, but the computers, which provide
notions which don't fit the concepts people need to think.
It turned out, for instance, that one example of a near miss is the notion of a file,
where data typically is kept. If we compare that concept with "things we can
write on" as found in history, it compares more to a slate or white board that
to a sheet of paper, because we can wipe the text out reuse the space. But
slates are only used for special purposes and far outnumbered by text written
at paper, which is not reusable. Since paper was invented there where so many
cycles of invention that we definately had reusable paper in the stores if
that was the better concept. The reason for reusability was scarcity and not
the better concept.
A simillar problem exists with the urge to put every idea into a hirarchy
on computers, while a network (like a MindMap) fits much better. Once (1999)
for instance I did consulting with I B M. The department lost a couple of
thousend dollars in effort trying to agree upon a naming scheme for their
documentation. My claim that everybody should be able to have their own
naming, which fits their job duties was unheard. Finally they decided a scheme
but many employees used their own scheme while working and just checked their
results in when done - or forgot about it rushing to the next job and causing
another loss.
Not too far from this "compulsion problem" was the babylon of programming
languages. Virtually all of them are just different expression of the same
concept in terms of character sequences. But we can still write bad code in
any language. So what are they good for? Representation independance is needed
- we have it already, if a human brain can understand the code, or does anybody
believe that we store ascii characters in the head?
Distributed Data and Trade - The Market Move
Around 1997 the development of distributed file systems like freenet
became visible. Besides beeing concerned with update issues, which could easily
beeing avoided if they did not try to resemble a concept invented to deal with
the scarcity of hard disk space in 1970, they point towards a different need:
The integrity of the data must be ensured and data kept available
despite physical attacks, lost devices and DataErosion. Looking closer
at the concept, we find it very simillar to the situation of the internet
before the advent of the web. A lot of data stored at some point. Before at
ftp servers, now at freenet nodes. It's the same situation, we miss the
dynamic content. So the decision was to develop a scheme for dynamic content
under the assumtion that we already had usable a distributed file system.
Two years later the world moved at a related front to unify their data
representation with XML. From the post graduate studies I knew that it's
predecessor SGML is already able to represent the three aspects of expressions
(data, meta data and context - as the linguists know them). SGML was just too
complex, because of superflous concepts. Now we had a repesentation
independant data format and knew before that it will win because it fits the
purpose and has publicity.
With the development of the web it became visible that not only the
computer geeks form their own community on the net. Communities are ultimately
defined by the common interest of their members and a way to communicate and
exchange. By now we can find plenty of web sites, mail lists and chat rooms.
Their users depend ultimately on their service providers.
Exchange, or trade activities,
can not afford to depend on service providers,
they call for fine control over transferable rights
to use the property (IntellectualProperty here) in a tamper proofed virtual
data cloud.
The data cloud may depend on as many service providers
as their owner feels needed.
Year 2000 - The Big Step
In March 2000 I felt that I collected enough requirements and background to
develop the 0.6 version of the Askemos server. Beeing the 6th
prototype it' now mature enough for actual deployment. (The 0.4 version
is still in commercial use, but has shortcommings due to short sighted
requirements as mentioned above.) It was finally released to the public at
23th december 2000. This version solves most of the
requirements:
- Provides objects, messages, topology and protection.
- A protection system to be proud of. With no systematic need of
administrative power and as many local administrators as needed.
- All objects, ranging from invariants (like deeds) to complex applications,
are autonomous
(which means "write protected against any other object").
They can be understood as closures of a side effect free function
and some data.
- Topology: Objects exists at places in a network. Hirarchies are just a special
case.
- Objects answer to messages as an atomic operation.
- Message flow can be formally modelled with petri nets.
- Optimized for XML structured data (which is stored in parsed tree form, not serialized).
- Web user interface