Abstract

In this page we presents some of the ideas around the KD Lightning (ILLUSIE) platform, implicitly we comment about the justification for this project, and the rationale behind the lack of deadlines and a roadmap, and many more things. We briefly comment the decisions made about the architecture, design and implementation. Also, in this page we shows some of the components already implemented in the platform. Finally, we presents some comments and future directions for this project.

Formerly: ILLUSIE.
codename: Your Environment for New Insights

Introduction

Nowadays, the field of machine learning and related areas are growing towards different directions. The research and applications in this area ranges from hardware & video-games to innovative techniques that mimic the human brain, moreover, every month we read about the amazing research carried out by prestigious institutions world-wide.
Nowadays, there are dozens of software libraries and applications that focus the different specific application areas in this field. However, there are just a few large software projects that points towards the integration and the foundation of a standard pipeline for the industry. In this regard, some people points out that it's too early to put rails in this area... while others says that it's too pricey. Still, there are remarkable projects towards integration and innovative UIs in this field, just to cite a few; KNIME, RapidMiner, VTK, Orange...

KD Lightning (a.k.a. ILLUSIE) presents our humble experimental research in this area.

Rationales

Software Design & Architecture

We are not reinventing the wheel, moreover, based on the experience of other people developing large projects, and walking on the shoulders of giants. We propose a modular architecture & design resembling what it's in use by the Blender Foundation. That is, we have considered software modularity, reusability, performance, portability... and so on.

Implementation

We are not prototyping (we have already do that in Java years ago), so, we are implementing the KD Lightning platform on top of modern C/C++, we have already considered the use of Python and Javascript as embedded scripting languages. We have included an Entity Component System as is used in modern Game Engines like Unreal. One of our hobbies (to play video-games) have paid out here, moreover from time to time we analyze pieces of code from platforms like CryEngine, Unreal, and the like.

Implementation+

We are using Linux and Qt/KDE as our main developing environment. The Qt library is used in many relevant and large projects like KDE and Autodesk|Maya, so we are pretty sure about our bet. Linux has hundreds of ready to use libraries for C/C++ development, so, we are not reinventing the wheel here. However, we carefully choose each third-party library that we include in the KD Lightning platform, we prefer TP-Libs that are available for Windows too.

Components

Next, we presents a brief overview of some of the implemented components in the KD Lightning platform. It's worth mentioning that this project it's in a "work in progress" status ...

Main Window

MainWindow

Editors

SpreadSheet SQLBrowser

SQLBrowser SQLBrowser

Viewers

Outliner Outliner

Outliner Outliner

Concluding Remarks

Years ago we start developing Data Mining|Machine Learning algorithms in Europe, at that time the Java platform was very popular world-wide. In recent years we have made a prototype implementing and integrating some of our own algorithms in a UX resembling the approach used in applications that make use of "viewports". From that experience we search for similar software (State of the Art/Industry) and we find amazing products/prototypes like; Orange, Knime, Salford, VTK, and many more. However, we were unable to find a product that meet what we have in mind.

Therefore, we start ILLUSIE {Dutch. Illusion, Unreal... [We choose that name because the "datasets" are reflections like images reflected in the water.]} We are far from being able to release a complete product, we are advancing one step at a time. Moreover, at the moment it's hard to tell if we will continue and at which speed.

We are based in Mexico at the moment, in a broad sense the country conditions are not bad and the institutions promoting science and technology are pushing as they can, however, all the main software (and developers) companies/apis that we have found are based in Europe/Canada/US/Japan or Russia, that being said, it's hard to tell about a formal project, including deadlines, release dates, workloads, and so on.