Welcome to Kap Lab Store

Kap Lab Blog

Kalileo v2.5.2 released

By Xavier Reynaert published on Friday, October 5, 2012 11:06:31 AM Europe/Paris

Hi folks, We've just released version 2.5.2 of Kalileo.

Although this is a minor release for the component itself, a lot of work has been done on demos by our team. We enhanced existing demos and added 3 new demos : a mapping demo, a mind map demo and an organization chart demo.

These enhancements point up recent improvments and features added to Kalileo such as level of detail handling, alignment, data driven graph control, edge bundling, node zoom limit and decorator zoom limit and more!

Adding 3 new use cases of Kalileo also shows how flexible the component is and how it can provide new visualization solutions to your business need.

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.
Posted in News

Kolbert v2.2 released

By Steeve Cayla published on Friday, July 6, 2012 10:50:14 AM Europe/Paris

Hi folks, We've just released version 2.2 of Kolbert.

You'll find mostly improvements and bugfixes in this release. Have a look at the release note.

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.
Posted in News

Kalileo 2.5 Additional release notes

By Xavier Reynaert published on Thursday, June 7, 2012 5:25:46 PM Europe/Paris

At KapLab, we are not only a classic product seller, we implement our products for our clients, we build to our customers applications centered on our product and we give a great concern to our support clients feedback. We rely on that to learn from such implementations and to hear from you in order to feed our roadmap with the useful bunch of features, corrections and improvements. The 2.5 version of Kalileo is born from such context to give response to several integration and implementation concerns. We will focus on this article on some of these features that level up Kalileo 2.5.

Kalileo 2.5 Improvements

Level of detail handling

In several implementation of Kalileo, mainly in geo-based applications, we have been faced to the famous demand of level of detail support. Item renderers (nodes and decorators) should be able to change their visual output (or state) according to the current Kalileo context (Zoom, bounds, children....). Even though, such functionality can be implemented via some hacking, the bounds of flexibility are very limited. Groups bounds , zoom ratio and position changes are difficult to detect on item renderers and thus the implementation become highly complicated.

We have taken into consideration such functional requirement while maintaining the same logic for item renderers creation (interface based). IMorphable interface have been introduced. It should be implemented on any context-aware item renderer in Kalileo. At any context change, the isMorphDirty property is set to true, enabling the item renderer to consider changing its state or visual output. The clippingShape property is provided in the interface implementation to indicate to Kalileo while processing the in/out links the way links clipping is performed (circular or rectangular based clipping). The interface can be applied on node, group and decorators.

In order to enhance the level of detail implementation flexibility, we have introduced several properties dealing with the graph scaling aspects and constraints :

  • Node zoom limit and decorator zoom limit used to control the maximum ratio of nodes and decorators and extremely useful for geo-based applications. Nodes and decorators will stop to be scaled at such a limit while being centered on their original position (Example : Long/Lat position).
  • View Constraints used to include refinements to zoom and pan operations in the case where a custom layer containing children.

Data Driven graph control

In Kalileo 2.5, we have introduced the concept of monitoring the visual output and graph structure via a data input. Two properties are sufficient to do so :

  • nodesDataProvider : An ICollectionView containing the list of node objects. Each node is referenced via its unique identifier (using nodeIDField). A node object can be considered visually as a Group if it has children (via groupChildrenField).
  • linksDataProvider : An ICollectionView containing the list of link objects. Each link is identified via its unique identifier (using linkIDField). Its extremities are extracted via linkSourceField or linkSourceFunction and linkTargetField or linkTargetFunction.

The position of nodes can be inferred directly from the node objects given their x/y fields on the data :

  • nodeXField or nodeXPositionFunction ;
  • nodeYField or nodeYPositionFunction.

Such input type can be used to monitor the graph and synchronize its content with the visual output. Kalileo infers any data changes on the rendered graph :

  • Structural modifications (add, remove, update, scope changes, grouping...);
  • Link extremities changes in the case where the source/target fields are Bindable (CollectionEvent dispatched in this case);
  • Position changes in the case where X/Y fields are Bindable (CollectionEvent dispatched in this case);
  • Link Styling in the case where link data is Bindable and a custom link style function is used;
  • Item renderers synchronization with unit data.

Edge Bundling

When the graph become dense and links highly over-number nodes, it becomes hard to the graph to convey a real, clear and useful information. A graph drawing technique named edge bundling have been a research subject for the last two years. Kalileo 2.5 provide two edge bundling algorithms that are commonly used in graph drawing field :

  • Hierarchical Edge Bundling : Suited for hierarchies that have been already computationally positioned using circular, balloon or radial graph layout.
  • Force Directed Edge Bundling commonly named FDEB : Suited for general graph and having a clearer and nicer output by applying forced on link segments.
These algorithms reduced visual clutter and enable users to see link flows clearly and easily.

In this article, we gave an overview of the major features added to Kalileo 2.5. Several other features and corrections have been added to this version dealing especially with border panning and dragging, link routing, decorators user interaction, anchor handling and much more. We invite you to read the release notes, give Kalileo 2.5 a try and give us your feedback as usual to learn from your experience and to make your satisfaction with our products bigger and bigger.

Mohamed Amami.
Technical Lead on Kalileo

Posted in News

Kalileo v2.5 released

By Xavier Reynaert published on Thursday, June 7, 2012 5:24:49 PM Europe/Paris

Hi folks, We've just released version 2.5 of Kalileo.

You'll find new features, improvements and bugfixes in this release. Have a look at the release note.

We've also written a post to further explain the new improvements. Hope you'll like it!

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.
Posted in News

Kalileo 2.4 Additional release notes

By Steeve Cayla published on Friday, March 30, 2012 11:22:06 AM Europe/Paris

At KapLab, we highly take into consideration our customers needs, issues and requirements. New releases often answer these needs and enhance the product from the functional and technical points of views. The 2.4 version is particularly the result of support requirements combined to various experiences with Kalileo integration. It Includes several architectural and performance enhancements and a bunch of functional features dealing especially with the edition experience. We’ll particularly talk about new expand/collapse engine and the enhancements done on the layout engine. Then we’ll talk about several options added for easing the positioning of elements inside Diagrammer.

New Expand/Collapse Engine

The expand/collapse functionality on groups and nodes is a great feature in Kalileo. It is natively supported but when dealing with advanced constraints, integration becomes a bit more complicated. This leads to several backbones of hack sections in the functional implementation code. We have particularly focused our efforts on re-engineering the expand/collapse engine to make it more generic and to support high level integration constraints which we have been able to figure out from our customers requests. Enhancements that have been performed include:

  • Fast processing of hierarchies;
  • Programmatic access to the collapsed entities on the graph via nodesMap and linksMap properties on Visualizer or Diagrammer;
  • Direct access to information about the node context in an hierarchy or group (determine whether it is included in a collapsed hierarchy or collapsed container) via isVisibleInSubTree and isVisibleInContainer properties in any node instance;
  • Ability to add children nodes and link to a collapsed node or group without wondering about the visibility and layout context via addNodeElement and addLinkElement methods on Visualizer or Diagrammer;
  • Transparent and automatic handling of expand/collapse features on the layout engine and animation manager.

Enhancement on the layout engine

It’s common when using layouts to apply the algorithm on the whole graph. But in particular cases, some nodes or links should be ignored due to functional constraints. We have revamped the layout processing to handle such case.The links assigned to any non-included node are automatically routed to meet the aesthetics specifications. A single code line is needed to include a node (or a link) in the layouted graph:
myNode.includeInLayout = false;
Animated layouts such as the force directed or the circular packing layout have also been enhanced to leave the beta state. Add-ons for this type of layout are architectural and functional. In fact, starting from the 2.4 version, animated layouts natively support graphs containing nested graphs by applying the progressive layout computations recursively on the groups. Developing custom progressive layouts have also been much more simplified and fastened in this version by providing a basic Layout class -- ProgressiveLayout -- containing the basic directives for handling automatically nested graphs layout computation. The developer only needs to extend it and override two basic methods which reflect the progressive algorithm.

Grid and alignment support

As said before, we have focused on the edition tools in order to enhance the diagramming experience. Several tools have been added for this purpose:

  • Customizable Grid: A grid can be added to Visualizer using enableGrid property in Visualizer. The Grid can be customized via the gridStyle property and is responsive to scaling, panning and layout operations;
  • Grid Snapping: Nodes and groups can be automatically attached to grid bones using the parameters stored in the gridStyle property. The grid snapping can be enabled via the DisplaceActionData assigned to the default DisplaceAction;
  • Snapping Tool: this tool is useful when moving nodes and having them aligned with the extremity of other nodes. Using snapping techniques, nodes can be easily and automatically aligned thanks to visual helpers and magnetic snapping on aligned nodes.
  • Alignment methods: alignSelection and alignElements are two methods that have been added to enable developers to integrate several alignment options in their applications and thus give some nice options for the end-user at the edition step. Alignment directives include:
    • Horizontal centered alignment: aligning nodes at the horizontal center of the bounding box while maintaining the y coordinate unchanged;
    • Horizontal left alignment: aligning nodes at the left of the bounding box while maintaining the y coordinate unchanged;
    • Horizontal right alignment: aligning nodes at the right of the bounding box while maintaining the y coordinate unchanged;
    • Vertical centered alignment: aligning nodes at the vertical center of the bounding box while maintaining the x coordinate unchanged;
    • Vertical top alignment: aligning nodes at the top of the bounding box while maintaining the x coordinate unchanged;
    • Vertical bottom alignment: aligning nodes at the bottom of the bounding box while maintaining the x coordinate unchanged;
    • Vertical distribution: distributing nodes on the vertical center of the bounding box with equal gaps in a way that maintains the nodes in the same bounds;
    • Horizontal distribution: distributing nodes on the horizontal center of the bounding box with equal gaps in a way that maintain the nodes in the same bounds.

In this article, we have detailed the main features and enhancements provided in the new Kalileo version. This version includes also several other architectural enhancements dealing with link routing, memory leaks that haven’t been detailed. We invite you to read the release notes, give Kalileo 2.4 a try and give us your feedback as usual to learn from your experience and to make your satisfaction with our products bigger and bigger.


Mohamed Amami.
Technical Lead on Kalileo

Posted in News

Kalileo v2.4 released

By Steeve Cayla published on Friday, March 23, 2012 11:45:16 AM Europe/Paris

Hi folks, We've just released version 2.4 of Kalileo.

You'll find new features, improvements and bugfixes in this release. Have a look at the release note.

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.
Posted in News

Kalileo v2.3 released

By Steeve Cayla published on Tuesday, January 17, 2012 1:00:00 AM Europe/Paris

Hi folks, We've just released version 2.3 of Kalileo.

You'll mostly find improvements and bugfixes in this release. Have a look at the release note.

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.
Posted in News

Improvement details on Kalileo 2.2

By Steeve Cayla published on Wednesday, November 16, 2011 3:40:11 PM Europe/Paris

The new Kalileo release is rich of interesting features. We have been working especially on resolving some performance and aesthetics issues. In this blog ticket, we will give a concise overview of some of these features.

Bitmap panning as a solution for large graphs

Many customers have expressed their satisfaction on the rendering and layout speed of large graphs. But, when speaking about basic interactions with such graphs, they noticed the low speed and lagging effects especially when panning which is the most basic interaction with huge diagrams.
Before speaking about the solution we have included, it is obvious to precise the meaning of a huge graph from Kalileo consideration and with respect to Flash Display List limitations. A huge graph is a graph containing more than 1000 elements including nodes and links (without consideration of decorators). The number definition may be doubled when using Sprite based elements on any components of the Kalileo product. From such definition, any Flex/Flash developper can deduce that changing the position of each of these elements at once and at each mouse move event leads inevitably to performance problems. In order, to get rid of these repetitive displacements and their performance impact, we have added a bitmap panning option on the PanAction via its PanActionData (enableBitmapPan property). When activating this option, on each panning action start (Mouse Down event), a bitmap of the Visualizer is computed, all graph artifacts are made invisible to let the user pan the Bitmap exclusively to the chosen position (Mouse Move event). At position validation (Mouse Up event), the computed Bitmap is deleted from the DisplayList to show and validate the new positions of the graph elements. The result is very interesting and we think that such solutions may be extended to some other interactions (Zoom, Node displacement with huge link dependencies....).

Enhancements on the Hierarchical Cyclic Layout

Flow diagrams are generally organized via the Hierarchical Cyclic Layout for the best aesthetic representation. The previous versions of Kalileo have some aesthetic issues when combining link anchoring, edge crossing minimisation and Hierarchical Cyclic Layout. In the research field, this kind of problem is addressed via link routing techniques that can lead to serious performance falls especially when performing these computations on a Web context.
Considering these facts, we have enhanced our layout with:

  • Better support of anchors when computing an edge's path via a proprietary local node routing. The aesthetic result is not optimal but can be considered as a good deal between performance and aesthetics;
  • Consideration of link anchoring on nodes when dealing with edge crossing minimization problem;
  • Support of overlapping links' segments separation on both orthogonal and free links' shape.

Enhancements on links support

In many use cases (BPM, UML...), diagramming experience needs to integrate algorithms to avoid links overlapping with nodes or links segments. These algorithms are generally considered as Edge Routing algorithms.
In the previous versions, a general edge routing algorithm has been proposed and acts on the whole graph. But, as we are aware of our customers needs, we have noticed the need of live edge routing meaning that any new created link need to be routed to minimize overlapping with all the other graph elements in a pseudo-immediate manner. Thus, we have provided several methods to perform routing directives pragmatically. A great enhancement has been also performed on the LinkAction behavior and customization level with:

  • the support of link routing with respect to anchoring constraints;
  • the support of live routing at link creation time (via enableRouting on the routingParam of LinkActionData) and event at link pre-creation when the user moves the ghost link (via enableDynamicRouting on the routingParam of LinkActionData);
  • the ability to automatically nudge overlapping link segments for more visibility. This feature can be activated or not within routing via (enableNudging and enableDynamicNudging on the routingParam of LinkActionData);
  • the auto-assignment of link extremities anchoring if the source or/and the target have anchors with respect to the created link shape.

We are aware that edge routing algorithms are continuously enhanced and we will be following these enhancements.

Besides, links extremity and anchoring can be modified by the user by just dragging the extremity to target/source node of your choice or to the requested anchoring position. This behavior can be totally customized and live link routing is also supported on the ExtremityChangeAction via its ExtremityChangeActionData.

Posted in News

Kalileo v2.2 released

By Steeve Cayla published on Wednesday, November 16, 2011 2:23:27 PM Europe/Paris

Hi folks,

We've just released version 2.2 of Kalileo.

You'll mostly find improvements and bugfixes in this release. Have a look at the release note.
We've also written a post to further explain the new improvements. Hope you'll like it!

Enjoy and don't forget to use the forum to give us your feedback!

Kap Lab Team.

Posted in News

Kolbert Released!

By Steeve Cayla published on Thursday, October 6, 2011 3:31:48 PM Europe/Paris

Dear Kap Lab community,

We've just released version 2.1 of Kolbert today.

First, please welcome Pictogram Chart! Pictogram charts are diagrams that use same-sized pictograms to convey number data.
Because in some charts variation in size does not allow accurate comparison (wider images can lead users to think that the data values are larger, ...) repeated pictograms represent a fixed value that can be counted if necessary.
Take a look at our demo to see it in action. By the way, this is our first Spark based component!

Speaking of which, Elastic Search is also based on Spark architecture now. You can now customize the filters as you wish.

If you played a bit with the Pictogram Chart demo, you may have noticed we updated all previous Kolbert demos with a new look: Treemap, RadarChart, RingChart and Elastic Search.
As usual, the source code is available for all of them!

This release also comes with several improvements as well as bug fixes. Please have a look at the release notes.

Kap Lab's success depends on your satisfaction so let us know how it goes in our forum.

Kap Lab Team

Posted in News

Kalileo v2.1.2 released

By Steeve Cayla published on Friday, September 9, 2011 4:04:33 PM Europe/Paris

Hello everybody,

We've just released version 2.1.2 of Kalileo today!

New features, improvements and bug fixing are at the Rendez-vous More information is available in the release note.

Enjoy and let us know how it goes!

Kap Lab team.

Posted in News

Klovis v1.0 released!

By Steeve Cayla published on Wednesday, July 13, 2011 4:10:18 PM Europe/Paris

We're really excited to announce the release 1.0 of Klovis!

A bit more than a year ago, we decided to open-source some of the components we use in our projects.
Release after release, we added more components and libraries, fixed bugs, added documentation, code samples and so on.

Whether you're doing pure AS3 projects or using the latest Flex SDK version (4.5.1), you will for sure find some
useful components that will save you time in your everyday job.

In order to ease the discovery of the component without the need to browse the documentation in search of
interesting ones, we've started to add demos for some of them. We've made 15 demos for this release, and we plan
to add a lot more in the near future. Of course, we still encourage you to read the documentation, there is a
lot of stuff to discover.

As usual, the release notes contains important information regarding changes in the 1.0 release of the product.

We are always interested in what you think about our products, so please use the forum and the bug tracker
to give your feedback and send your questions.

Kap Lab Team.

Posted in News

Kalileo v2.1 released

By Steeve Cayla published on Thursday, April 28, 2011 4:16:33 PM Europe/Paris

Hello everybody,

We've just released version 2.1 of Kalileo today!

New features, improvements and bug fixing are at the Rendez-vous More information is available in the release note.

Enjoy and let us know how it goes!

Kap Lab team.

Posted in News

Kap Labs Dataviz components 2.0 are out!

By Steeve Cayla published on Friday, March 11, 2011 4:21:25 PM Europe/Paris

Dear Kap Lab community,

2010 was a very rewarding year for Kap IT in France and all over the world through its lab, Kap Lab. We owe it all to you and foremost we wanted to thank you warmly for your constant support and feedback.
Today, after more than one year of intensive R&D, Kap Lab proudly introduces version 2.0 of its Flex Data Visualization components reviewed in 2 new packages: Kalileo for diagramming and Kolbert for reporting.


Kalileo - Kap Lab's Diagrammer and Visualizer reloaded


Kalileo: interactive graph-based interfaces made easy

Kap Lab's Diagrammer and Visualizer 2.0 are released in a merged version for an even more interactive data visualization experience.

Enhanced performances and new features galore!

Optimizations on data processing and layouts computation have been performed and you will find all the features needed to build powerful graph-based applications (BPM, Data Mining, Network Cartography.): smart grouping, new layouts, visual sub-components, zoom effects, import/export, link easing... AND MORE! See the release note and the features tour videos.

Easier integration ever

Architecture of Diagrammer and Visualizer have been deeply reengineered to be based on common foundations, respecting the power and extensibility of Flex components (full CSS styling, fully extensible through public interfaces...). Furthermore our documentation has been totally reviewed, consolidated in one place, Kap Lab's Developer Guide, and embedded with our components. For more integration support, check our website: sample applications, developer videos, forum, migration guide.


Kolbert - Flex Reporting package


Kolbert: Flex package for your advanced reporting dashboards

Treemap, Radar Chart, Ring Chart and Elastic Search are now bundled in a single package: Kolbert.
These reporting components benefit from the same new data processing library as Kalileo, which will enhance parsing performances from 3 to 10 times depending on the input format.See the release note for complete list of changes.


New licenses including full support


New commercial licenses including full support

For Kalileo and Kolbert, community versions remain free and support is now included in the Standard and OEM commercial licenses (special discount for start-ups, academic institutes and open source projects). To existing customers: don't worry, we'll come back to you really shortly with special offers on upgrade. All information available on the new Kap Lab Store.


Anew, thanks to Kap Lab's faithful users and customers (thanks to you!), without whom we wouldn't have made it. We have put a lot of efforts in this major release for it to fully meet your expectations and projects' needs. Give it a try, build wonderful applications, and let us know how it goes: Kap Lab's success depends on your satisfaction!

Rendez-vous on Kap Lab!

Cyril Daloz
CEO Kap IT
Posted in News

Kolbert Reporting Package

By Steeve Cayla published on Friday, March 11, 2011 3:41:12 PM Europe/Paris

Welcome Kolbert!

Treemap, Radar Chart, Ring Chart and Elastic Search, all our reporting components are now bundled in one single package: Kolbert.

Release notes

In this new release, all our components benefit from a brand new data computation library that will enhance your parsing performances:

  • Optimization to 3 times of the overall data parsing and reading directives.
  • Optimization to over 10 times CSV parsing.
  • Enhancing internal data structures for fast data consumption and rendering.
Posted in News

Radar Chart and TreeMap released

By Steeve Cayla published on Wednesday, December 15, 2010 4:35:43 PM Europe/Paris

Hi there everyone!

Fresh from the oven, here are two new versions of our reporting components Radar Chart (1.6.3) and TreeMap (1.6.4). We've made a couple of improvements such as the ability to label and sort axis in Radar Chart - which was asked in the forum -, and some 6 improvements in TreeMap. Have a look at their respective release notes by clicking on the version number above.

Best regards and happy development,

Kap Lab team

Posted in News

New releases and updates of our Flex development tools

By Steeve Cayla published on Tuesday, November 9, 2010 4:38:46 PM Europe/Paris

Dear community,
We release today some new stuff in our Flex development tools.

Firstly, we're glad to announce a new console: ParsleyConsole.
Parsley is our current framework of choice and we thought it would be great to offer the Flex community a console that shows what's happening inside their applications.
We've already provided other frameworks console in the past with the Cairngorm Console and the PureMVC Console and we had a lot of good feedback for them. We really hope you'll enjoy this one as well.

And the good news keeps getting better! We've also decided to publish the source code of all our consoles. (LGPL Licence)
You'll find a link to grab the source code on each console page. Feel free to contribute to any console by adding the features you've always dreamt of.

Last but not least, a new version of the Klovis libraries is available. We added a spark LoginBox/AdvancedLoginBox with a default skin in the Flex 4 UI library.
Most of other improvements have been made in the AS3 library, especially with the collections classes. More info can be found in the release notes.

Stay tuned.

Kap IT Team.

Posted in News

Why Kap Lab?

Kap Lab exists because innovation is our passion. Enjoy our products and help us to give you the best.

Cyril Daloz
CEO Kap IT

About Kap IT

Kap IT is a software and services company leader on Adobe RIA technologies: Flex, AIR, AS3, Flash, LiveCycle...

Kap Lab project is based on Kap IT's R&D department and projects experience.

Learn More About Kap IT

 Top News

  Latest Updates: 2012/10/05

Released on:

Need Information?