Friday 31 May 2013

argot 1.3.b3 released

As a step towards a full release of Argot, I've decided to release Argot 1.3.b3 (beta 3).  This release includes a number of significant changes and is nearly ready for a full release.  It includes the following changes:
  • Removed packages. The older 1.2.x versions of Argot includes packages which are designed to operate in a more traditional request/response environment.  As the Argot 1.3 release is targeted towards MQTT and the Internet of Things, these packages will be released in a separate argot-remote package in the future.
  • Removed example. The older 1.2.x versions of Argot included a bookstore example which was modeled on older RPC mechanisms.  Once again, as this release is targeted towards the Internet of Things I've decided to remove it.  More relevant examples will be provided in the future.
  • Updated the meta dictionary.  The Argot meta dictionary defines the core types from which all other data types are defined.  The updates includes combining a number of extensions which are not strictly required by the meta dictionary, but make maintenance and implementation easier.  This allowed removing a few classes from the library.
  • Documentation removed.  The documentation provided with the older version is out of date and would be more confusing than anything else.  Removed until this is updated in the future.
  • Additional cleanup.   Changes such as updating the name of the bool type to boolean and various other small changes were made.  The full list is maintained in the readme file.
Given this release contains no documentation and only one example is provided, it is only for the brave.  The next steps are to create examples which show off the capability of Argot better and ensure the core library and compiler are thoroughly tested. To that end I've acquired a Freetronics EtherTen and a Freetronics Cube.  These are both Arduino compatible and will provide great examples of Argot in action.


Saturday 25 May 2013

Argot website is up!

A little less than a month ago, I committed to getting Argot online again.  I have been spurred on by the rise of activity surrounding the Internet of Things, and in particular the transport layer MQTT.  I feel that Argot provides a unique solution not currently available which will fit nicely with MQTT and the Internet of Things. The Argot website is still sparse, however over the next few weeks/months I will be releasing more software and documentation. To start, I have provided a simple example which demonstrates the development of an Argot application in Java.  You can view this on the 'Quick Start' page and easily install it to Eclipse to try it out.

There's still a few things to be done before I can release the next release of Argot (v1.3.0).  These include:
  • Update the Argot compiler to make it a little easier to use.  The current Argot language is based around S-Expressions, however, for many this looks quite foreign.  I plan a few small tweaks to make the most common data structures easy to define.
  • Strip out extensions from the core Argot library.  In the past, a few extensions have crept into the main Argot library.  These are being separated to simplify the core Argot library.
Following this, I will be continuing development of an Argot MQTT extension.  The planning for this has already started and has been documented on the MQTT mailing list.  I'll write more about this later.

In regards to the website, I'm particular pleased with the new logo and design which was put together with the assistance of my wonderful wife and sister.