We do not believe current technology will meet the demands of ubiquitous computing. Using current technology it is not possible to simply move information from place to place. This lack of data fluidity creates a huge cost on the information technology industry. A large amount of time is spent by developers changing the format of data. From database to XML, from XML to file format, from file format to documentation; the list of formats are endless.
It is surprising that after so many years there are so few solutions to this problem. There are currently only a few data encoding standards. ASN1 is an old telecommunications standard which is complex and doesn't have the tools to make it easy to use. XML is the current data encoding choice for many applications. However its text based representation makes it complex for many applications where large amounts of data or binary data need to be recorded. Other standards such as IIOP are embedded in the CORBA technology and can not be reused.
Our vision is based on the idea that a concept has a minimal size of binary data. This minimal format should be the format used to record and exchange information between applications and across networks. It should be the format which can be moved between heterogenous systems and software easily,securely and simply.
We have created Argot as a new data encoding method to support our vision of data fluidity. Argot provides a binary data description able to describe any well structured binary data. Much of Argot's strength comes from its ability to describe its own data, creating a completely self describing data format. Argot creates the language which makes information fluidity required for pervasive computing a reality.
Argot can be used to describe data in any application and is totally language independent, however it becomes much more powerful when combined with our middleware software - Colony. Colony provides the infrastructure to communicate the Argot language concepts. The combination of Argot and Colony creates a powerful base to develop a range of solutions.
Our aims are to create solid base and tools to make it easier for developers to build distributed applications. We are starting from scratch to ensure we don't carry any baggage from other systems.
