Our Core Platform consists of a number of technologies aimed at promoting rapid application development across major platforms. We are currently focussed on porting this technology to Android with the goal of making it easy to write applications that work across Windows, Linux and mobile platforms from a single code base. Developers have the choice of developing compiled code in C or C++, or alternatively write scripts in Fluid, DML and RIPPLE. Whatever the choice, the code remains write-once run-anywhere without entailing any significant overhead.
The following is a summary of our core technologies. Dedicated pages providing an in-depth analysis will be returning to the website at a later stage:
Dynamic Markup Language (DML)
The Dynamic Markup Language is an XML based language designed for the production of application user interfaces. It has been proven as a useful tool for the rapid development of UI prototypes that can then take a program all the way to production. Because DML is devised primarily for laying out application UI's, it is typically used in conjunction with Fluid in order to provide program logic.
Examples of DML's capabilities can be observed in the majority of our client projects, Vodafone and The Key Revolution in particular.
DML will be freely available to the public again at the release of our core platform for Android.
Fluid is a scripting language that is based on Lua, a popular language for game and embedded developers. It includes a large number of additional features in order to make it a viable alternative to programming in traditional system languages such as C/C++, as we wanted a scripting language that could handle any task demanded of it. As such, Fluid provides full integration with our core platform and includes low-level support for address pointers, memory and buffer handling; type-casting and object management. While these additions are extremely powerful for a language of this nature, it still remains an easy language to use and is a step forward for technical developers that want to make quick progress in application development without sacrificing important capabilities when they are needed.
RIPPLE was initially developed as a response to the difficulty in porting existing HTML engines to new platforms. It now serves as one of our primary research vectors to allow any application to embed page-based content while maintaining minimal overhead. But RIPPLE is no mere HTML alternative and stands its own ground in offering a number of unique features. This includes full-featured editing comparable to that of word processing applications. Data transclusion (loading external data into a document and manipulating it) is standard, as are templates - similar to CSS, but allows you to define your own tags and functional extensions. Conditional statements can be embedded in the page layout for processing at the client, making it much easier to offload processing from the server and reduce resource usage. For embedded programmers, functionality can also be extended by writing custom plugins in C/C++ using the Rocklyte SDK.
At this stage RIPPLE is still in an alpha development phase, but is being actively used in our software (as seen in many screenshots). Please stay tuned for further news on the development of RIPPLE and its eventual beta release.
The Rocklyte SDK is a multi-platform development kit that insulates programs against their host environment. Programs developed for our SDK will work on any of our supported platforms (e.g. Windows, Linux, Android) with a simple recompile. This allows you to maintain a single code base and save on maintaining code for multiple operating systems. The SDK supports C and C++ as well as Fluid, our Lua-based scripting language.
The functionality provided by the SDK covers everything from simple features such as resource allocation and managing files, to complex support for graphics, windows, gadgets, audio, databases, languages, cryptography, networking and more. Based on a component design, you can also extend it by writing your own components in C/C++. The build can be adjusted for your own purposes, allowing you to remove unnecessary components for distribution and avoid 'code bloat' altogether. Our binaries can be distributed with your program and there is no need for a pre-installation - it even works when isolated on a USB stick.