Mind Mapping Tools: What and Why?

by Vivek Singh

The beginning of a new project is often the time when all the stakeholders involved put on their thinking hats and brainstorm (and for good reason). The logical next step to this is putting down all the ideas and thoughts about the project in an organized and comprehensive manner. Structured ideas enable all interested to clearly analyze, comprehend, and prioritize possible next steps.

During the early part of my career, I always thought that coding was the single most important part of developing a mobile application. But with time as I started gaining experience, I was exposed to the different phases of the app development process (SDLC). It was then that I gained the understanding that coding an app is not self-sufficient; there are other processes that are as crucial as coding.

So what are these other processes about and why do we need them? The answer is very simple – for clarity’s sake! The clearer we are about the product, the more efficiently we can develop it.

Considering the present day scenario, do we really have the time to read lengthy pages of documents when multiple tasks compete for our attention simultaneously? Is capturing information from long documents a feasible way, considering the fast paced delivery environment? Can we really map such huge documents in a manner that is able to efficiently merge project teams and clients on a single platform?

So what can be done and what are the possible alternatives? One possible solution is optimizing the way we do our jobs by making use of the different mind mapping tools available in market. Mind mapping is a visual way of representing ideas and concepts in a way that shows the relationship between these ideas.

In this post, I am mentioning the mind mapping tool that I use frequently- ‘XMind’. XMind makes  not only my job but my life also easy. This tool helps map ideas onto a single screen, which eventually allows one to absorb all the thoughts in one go. The software supports all Microsoft Office formats allowing easy export of mind maps created inside XMind.

Here are some of the major features and benefits of this tool:

  • Rich set of different visualization styles
  • Allows sharing of created mind maps via their website
  • A number of templates to help you get started
  • Different icons and symbols
  • Allows deriving and mapping of requirements and functionality
  • Helps prioritize and schedule the structure for client meetings
  • Enables the client in getting a clear vision of the app
  • Features like Gantt charts, a presentation mode, export features, audio notes, a merge feature, privately online sharing, etc.
  • Most importantly- helps you in landing the project!

Here is a screenshot that describes the tool:


Best of all, the application is completely free and open source. If you do have some cash, go ahead and buy the paid commercial ‘Pro’ version which offers additional features including import/export features. The other mind mapping tools that have gained popularity are- Mindjet, Coggle, Freemind, and Mindnote. So go ahead, explore these tools and simplify your life!

Voice & Data Multiplexing Card


A leading public sector unit under Ministry of Defence, Government of India required a Voice and Data multiplexing card to be used in a Digital Electronic Private Automatic Branch Exchange (EPABX) system. The system should multiplex pulse code modulated (PCM) voice traffic and the ethernet data between two points over an E1 link.

KritiKal successfully delivered higher capacity, optimal cost and easily upgradable system along with support for hardware testing, environmental testing, complete integration & interoperability testing.

Our Solution

  • Customized system to bridge four Ethernet LANs over the existing E1 based telecom links by mapping of Ethernet frames in TDM as per HDLC (RFC1662).
  • KritiKal’s domain expertise and in-house IPs , with intimate knowledge of Linux Kernel networking enabled a technically viable, cost optimum solution in an aggressive time-frame. In-house product soft IP Core, PDH Framer was deployed for E1 Framing.
  • For transmission & reception over existing E1 based telecom links, user configurable ‘n’ x 64 Kbps voice traffic channels were mapped onto E1 format over existing E1 based telecom links.
  • Efficient and optimized FPGA design
  • CAS, CAS MFR2, DTMF signaling protocols were also supported complying to the ITU-T standard recommendations
  • Real Time Computation of Complex DSP functions was required to implement E1 signaling protocols on voice channels
  • Provision of working at 5V supply apart from the standard telecoms voltage levels of -48V
  • Hot-plugging into live backplane
  • E1 interface as per ITU-T G.703, G.704 and G732 hardware recommendations

Hardware Features

  • Exports bidirectional HDLC channel of 64 kbps for exchange of control and configuration information
  • Four Ethernet ports – 10/100 Mbps
  • MPC8321 processor used
  • 64MB DDR
  • NOR flash size – 4MB
  • FPGA used: Lattice XPS-17E
  • Linux v 2.6.XX Kernel with in-built Ethernet bridging utilities for implementing Ethernet encapsulation over E1. In-house product soft IP Core, PDH Framer used for E1 Framing

Software Features

  • Implements R2 line signaling as per ITU-T recommendation Q.421, Q.422 and Q.424
  • Implements R12 inter-register signaling as per ITU-T Q.440, Q.441 recommendations
  • Supports CAS Decadic, CAS DTMF, CAS MFR2 and ITU-T G.832 signaling protocols. Efficient and optimized implementation of complex DSP algorithms for generation and detection of DTMF and MFC signals supporting 120 simultaneous subscriber calls

 Environmental Features

  • Industrial grade components (-20 degC to +70 degC).
  • Vibration resistant.
  • Surge and spike protection.
  • EMI / ESD tolerant.

  Design Tools

  • Design environment for FPGA: Lattice IspLever.
  • Hardware tool: ORCAD.
  • PCB Development: CADStar.
  • Software tool: Linux based Makefile project.

Mosaicing Lite

Multi-purpose mosaic generation engine


A leading defense Lab required a high-end processing system which would take input video and flight data and produce high quality mosaics of the same so as to help the defense personnel in interpreting the data.


The Mosaicing System is a high-end processing system employing state of the art computer vision and image processing techniques. The Mosaicing System software consists of several modules for facilitating video and telemetry I/O, free and geo mosaic generation, report generation and pre / post processing operations.

The Mosaicing System supports loading of offline video / telemetry data. It also supports capturing data streamed by VFDPS (Video Flight Data Processing System) and using the captured data for subsequent operations. VFDPS is a flight simulator system that streams synchronized video and telemetry data. Video data is streamed over a video cable and telemetry data is streamed over the network. The Mosaicing System is capable of capturing data over these two systems and uses it for subsequent mosaic generation process.

KritiKal’s Solution

Porting Mosaicing System from Visual Studio 6.0 to Qt

An earlier version of the Mosaicing System was developed using Visual Studio 6.0, which is an obsolete technology. On the other hand, Qt is a cross platform user interface design toolkit

Eliminates perspective effect from free mosaics for better viewing of large mosaics

In order to handle general camera motion, it is required that the projection surface be dynamic. Manifold approach to mosaicing exploits this idea by projecting thin strips from the images onto manifolds which are dynamically determined by the camera motion. While the limitations of existing mosaicing techniques are a result of using predetermined manifolds, the use of dynamic manifolds overcomes these limitations. With manifold mosaicing it is possible to generate high-quality mosaicing even for very challenging cases of forward motion and of zoom.

Improve blending algorithm to reduce seams in mosaic

When different images are stitched together, the adjacent pixel intensities may differ enough to produce artifacts in the generated mosaic. While seams are perceptible in gray scale mosaics, artifacts in color mosaics are significantly more prominent. Blending algorithms remove these artifacts and generate mosaics with lesser number of seams.

Moving object segmentation with replay on mosaic

Automatically determines whether an object in the current view is moving or not. This object is tracked across several frames and corresponding motion vectors are maintained. These motion vectors replay the movement of the segmented object on the mosaic. The Mosaicing System automatically identifies and segments a moving object.

Intuitive Summarized Replay

User has the option to mark certain sections of input video to be displayed as the “summarized video”. Video sequences for which mosaic segments were successfully generated would be included in the “summarized video”. User has the control to delete certain sections (not deemed useful) from the “summarized video”.



  • Load offline video and telemetry data as inputs to the system
  • Accepts an xml configuration file as input. The XML configuration file format will be pre-defined and will contain information about the offline video and telemetry data
  • Accepts uncompressed video files as input and MPEG-4 compressed video files as input. It also accepts text files containing telemetry data in a pre-defined format as input
  • Provides a convenient user interface to view the input video data
  • Displays the telemetry data in numerical format
  • Allows the user to mark interesting sequence(s) in the input video sequence. Mosaic corresponding only to the interesting sequence(s) shall be generated
  • Allows setting of start and end telemetry record indices, in the input telemetry sequence, corresponding to interesting sequence(s) in the input video
  • Gives the option to generate either a planar mosaic or a dynamic manifold mosaic.
  • Supports multiple blending algorithms
  • Supports pre-processing operations like constant brightness enhancement to be applied to input video data before processing it for mosaic generation
  • Gives the option of multiple blending algorithms
  • Generates free mosaics using input video data and geo mosaics using input video and telemetry data
  • Intelligently recovers from a mosaic break in case of large distortions undergone by individual video frames or due to absence of sufficient features
  • Stops extending the current mosaic segment and starts creating a new one, in case of large distortions undergone by individual video frames or due to absence of sufficient features
  • Gives the option of “summarized replay” facility to display outcome of a mosaicing run in a concise manner
  • Stores the movement of tracked object in the form of motion vectors
  • Allows cross compilation on both GCC (Linux platform) and Visual Studio 2008 (Windows platform)

Image Enhancement & Change Detection Module

Day and Night Surveillance of a Large Area made Efficient


A north India based leading Defense establishment wanted an application software for day and night surveillance of a large area, using a high range panning camera which could support ranges as high as few kilometers. The software should detect, in real-time, any un-authorized movement and raise appropriate alarms, hence facilitating unmanned surveillance of sensitive areas, 24×7. This posed many challenges, important ones being the quality of input video, changing weather conditions etc. Hence it was mandatory to apply robust image enhancement techniques as a pre-processing step to ensure the reliable and efficient detection & tracking of intruders.

KritiKal Solutions designed and developed a PC based Image Enhancement and Change Detection Module (IECDM), which takes input from a live video feed from a continuously panning camera and detects and tracks unauthorized movement in IR, near IR or visual domains.


  • Poor quality of input video due to variable and usually harsh weather conditions and long range
  • Detection of slow moving objects
  • Determining the direction of moving objects
  • Acquiring data in a systematic format i.e. useful data logging
  • Identification and classification of target object

KritiKal’s Solution

The PC based software designed and developed by KritiKal Solutions, creates mosaics from a live video feed coming from a continuously panning camera and detects the changes across different frames of the same scene. It tracks the detected objects, giving its accurate geographical location on the output video. Its in-built image enhancement techniques provide better quality output, enabling reliable and efficient, manned/unmanned surveillance of the sensitive areas. The software comes with a secure configuration mechanism, making it tamper proof.

FeaturesImage Enhancement

  • Day and night operation with range as high as 4-5Kms
  • Support for both Thermal and CCD cameras
  • Real-time seamless video mosaicking
  • Change detection, tracking and change trail display on mosaiced video, giving accurate geographical location of the intruding object
  • In-Built Image enhancement techniques to provide better quality output
  • Includes post-processing activities such as:
    • On demand zoomed view of a particular frame of the scene
    • Extensive activity logs for recording history of the intruder movement
  • Configurable options to set up grid references

Value Addition

  • Integrated solution for image mosaicing and change detection, enabling real time surveillance of a large area.
  • Support for Thermal and CCD cameras ensures day and night 24×7 operation.
  • Can be used in a surveillance vehicle or control room scenario
  • An ideal solution for Border Surveillance, Coastal Surveillance, and Homeland Security

Future Enhancements in Pipeline

  • Classification of the detected targets based on profile of its movement
  • Addition of Image fusion algorithm to fuse video inputs from CCD and Thermal cameras, making it possible to use both inputs to their advantage

Encryption Algorithm for Defense / Security Agencies

KritiKal Solutions understands all software layers and design the best solution for the requirements. For a high security application, we have designed a custom encryption algorithm and cryptographic protocol.

Our specific skill set:

  • Design ciphers
  • Design custom security devices
  • Design cryptographic protocols
  • Implement secure code

 Applications: Scramblers, Secure Handsets, Bulk Encryption Units

Encryption & Cryptography

Classic Cryptographic Assurances include Confidentiality, Message Integrity, Non-Repudiability and sometimes Anonymity Assurances.

Our expertize lies in designing Secure Cryptographic Modules, Ciphers and Custom

  • Security Devices: Our strength lies in our capability to thoroughly understand the existing Software Layers and subsequently identify and design the best possible solution to any cryptographic problem. We have also designed custom Encryption Algorithms and Cryptographic Protocols.
  • Cryptographic Modules:- Making secure protocols is a real challenge that involves integrating the Cryptographic Services with an already existing large Software Stack. This also involves writing Secure Code which addresses a definite level of security. We at KritiKal possess the expertize and the experience to address these challenges and deliver superior services.
  • Cipher Design:- KritiKal is known to very well negotiate the tradeoff between efficiency of the Cipher and addressing all the security objectives. Custom Security Devices:- Design of Custom Services and Security Devices is one of the core areas of our skill set. The quality of these services increases exponentially on limited integration with external software stacks.

Emergency Lightning Systems

An Intelligent Backup for LED Luminaires


A leading Safety Lighting and LED Luminaires manufacturing company wanted to develop an Emergency Lighting System for enhancing and internalizing its current offering of a backup sSystem for emergency luminaires.

An Emergency Lighting System is a battery-backed lighting device that runs automatically on Battery when there is a failure or interruption of power supply to the normal lighting system.

Emergency Lighting Systems are essential and frequently employed as a required safety feature for public facilities and work places, such as escape routes, anti-panic lighting in cinema halls and railway stations. An Emergency Lighting System usually consists of a combination of safety signs and general luminaires equipped with an emergency lighting function.


  • An emergency lighting system must work faultlessly in all situations
  • Achieving the defined Efficiency in Charger and DC-DC Section
  • Load regulation in DC-DC and Battery Charging Profile in Charger Section
  • Touch screen based GUI with rich visualization functionalities
  • Touch response and accuracy
  • Software task prioritization


  • Automatic power failure detection and switching the system to Emergency mode thereby utilizing the battery power
  • Efficient way of battery charging in a phased manner
    • Constant current charging
    • Constant voltage charging
    • Battery temperature dependent charging voltage
  • Highly efficient DC-DC converter with 12V Battery input and 230V, 230W DC output. This is to support the emergency mode where this DC-DC converter is the only source of energy for the output load
  • Touch screen based GUI makes the system more interactive and easily accessible
  • Touch screen based GUI has the following functionalities (including auto refresh):
  • Displaying system parameters such as input supply condition, battery charging and capacity, mode of operation and output load condition
  • The GUI also provides menu for System commissioning, Functional Test and Duration Test
  • Support for advanced peripherals USB-OTG and Ethernet along with Data logging ability
  • Power section, load controlling unit and communication module design for MoM

KritiKal’s Solution

KritiKal designed and developed both Hardware and Software for the Emergency Lighting System. The main hardware modules are Monitoring Module (MoM) and Central Battery Unit.

A high speed ARM-Cortex core based Micro controller and RTOS used in the design helps in real time control of Hardware modules. Ethernet and USB OTG peripheral have been incorporated for connectivity data logging. A user friendly touch screen based GUI has been implemented which has various functionalities like displaying System parameters, Real Time Clock, on the screen Keypad, Commissioning and Test menus.

Future Enhancements in Pipeline

Implementation of Power-line Communication between Central Battery Unit and Output luminaries (Monitoring Modules).

Crane Monitoring System


Client is one of the leading construction equipment fabricators in India, manufacturing Cranes, Pick and Carry Vehicles and Back Hoe Loaders for the construction industry


To design and develop a safe load indicator unit for cranes covering the SLI/LMI Hardware, Software and the desktop utility for use in all load monitoring applications. The monitoring device would perform sensor measurements and calculate the corresponding safe load for the operator to monitor.

crane monitoring

Project Scope

  1. To design and develop system which supports:
  • Interfaces for pressure transducers, accelerometers, load cells, dynamo-meters, and slew sensors
  • System reports through console and printer
  • Graphical Display of parameters through a linear bar graph and numeric display of the
  • current state
  • Variety of cranes like lattice, pick and carry, telescopic slew, ELL
  • Pressure based load monitoring and line pull based load monitoring
  1. The PC interface software for one-time configuration of the monitoring device. The monitored equipment geometry can be fed into the on board memory which enables the system to be used for various applications. The system can also log events for determining the equipment performance at a later stage.
  2. Post-delivery support and release management.


  • New area of expertise: Client’s domain knowledge and KritiKal’s expertise with controllers and embedded software brought the product to fruition
  • Optimized software design: The software was to cater to a generic segment of cranes and sensors. The configuration tables had to ensure generality even while addressing small footprint
  • Rugged system design: The design had to counter vibrations and harsh environment conditions

Technology Specifications


dsPIC33FJ256GP510-I/PF 16 bit Digital signal controller
Serial Flash 1 MB SPI flash
Real Time Clock Interfaced on I2C Bus
Graphical Display Interfaced on microcontroller parallel Data Bus
PC Console Asynchronous Serial Data (UART)
Analog channels Six channels interfaced through controller through optical isolators, using on chip 12 bit ADC channels
Accelerometers Digital accelerometers interfaced with controller through RS485 transceivers. Used for sensing inclination and tilt
Digital switches Interfaced with controller through digital optical- isolators


  • Embedded development in C. Modular design with each modules interacting with each other through clearly defined interfaces
  • Event driven design. The software operates through a series of callbacks. No module in the design is allowed to block or busy-wait
  • Protocol for exchange of data between the desktop utility and the device. The protocol ensures correctness and reliability of the data
  • Console implementation through a lexical parser
  • .NET based PC configuration generation and programming utility. Configurable design with
  • Provision for extensions in the future