|
|
Note:
Any software mentioned below has been fully
explained in the "Developed Softwares" sections. |
|
|
|
|
|
|
|
|
|
- Windows, Web-based &
Internet-Enabled Apps
According to the requirements, I have developed several softwares each of which in the
required platform; some pure Windows Apps, others used as a Web App while the rest somewhere in the middle, as Internet-Enabled Apps.
|
|
|
|
|
- C, C++ and C# Languages
C-family languages have always been of my interest. All my softwares have been developed with one of the C-family-member languages depending on the time of development.
Date |
Language |
IDE |
1991-1996 |
C |
Turbo C |
1994-2006 |
C++ |
Borland C++, Visual Studio |
2006 to present |
C# |
Visual Studio |
|
|
|
|
|
- Beginning my Journey with Computer Graphics
in:
3D Graphs Master
3D Hall (Tallar)
|
|
|
|
|
Computer Graphics has always been my primary area of interest within the broader field of computer programming. The satisfaction derived from visualizing data through graphic algorithms is a unique experience—one that cannot be easily replaced or replicated.
My journey in graphics programming began in 1989 using the BASIC language on a Sinclair ZX81. By 1991, I was working on an 80286 PC, where I initially focused on rendering lines and circles before advancing to plotting mathematical functions on both the XY plane and later in a 3D XYZ space.
In 1994, I released my first significant graphics application, titled 3D Graphs Master. This program allowed users to define mathematical functions within a text-input environment, specify the plotting range, and visualize the graph with interactive zoom, pan, and rotation controls in both 2D and 3D.
Following this, I ventured into 3D graphics rendering. By 1996, I developed a software package similar to 3D Studio, which I named 3D Hall (or Tallar, in Persian). This application enabled users to construct complex 3D scenes by defining objects, their spatial positions, surface materials, lighting conditions, and more. The final rendered output closely resembled results produced by industry-standard tools such as 3D Studio Max.
I completed this project during the final years of my Bachelor’s degree. Upon graduation, I was assigned to a Compulsory National Service and selected to serve in the Army. During this time, I became acquainted with leading GIS platforms such as ArcView, Caris, SmallWorld, and MapInfo, as well as remote sensing and image processing tools including IDRISI, PCI Geomatica, and ER Mapper.
Leveraging my background in Computer Graphics, I proposed the development of a custom GIS application for my assigned unit. The proposal was approved, and I received targeted training covering the foundational principles of GIS and Remote Sensing, along with system presentations of the aforementioned software packages.
Over the next 16 months, I led the development of a GIS software solution capable of importing manually digitized 2D vector maps—including contour lines—from AutoCAD DXF files. Using this data, the program generated a 3D terrain model for advanced visualization and analytical purposes, which I discuss further below. This project, titled Martial Assistant, was formally recognized by the Army upon completion and later became the foundation of a business proposal from leading software firms in Iran.
|
|
|
|
|
|
|
|
|
- Development of Iran’s First 3D GIS Platform
in:
mGIS |
|
|
|
|
|
In 1999, I independently initiated and developed mGIS, which went on to become the first fully functional 3D GIS software in Iran.
At that time, most domestic GIS solutions focused solely on 2D mapping, supporting basic vector layers and database-linked spatial queries. In contrast, mGIS introduced full 3D visualization capabilities along with satellite image processing functions, which marked a significant breakthrough in local GIS technology.
After two years of individual development, the project evolved. I assembled and led multiple teams of developers who built specialized applications on top of the ready-made mGIS platform. Through ongoing enhancements, several subsystems were incorporated, and by 2005, mGIS had matured into a comprehensive GIS suite. Its simplicity, security, and focused feature set allowed it to serve as a practical alternative to existing solutions in a wide range of institutional environments.
|
|
|
|
|
|
|
|
- 3D Modeling & Analysis
in:
mGIS |
|
|
|
|
|
mGIS is capable of 3D Modeling of the terrain with natural features on it like woodlands, lakes, etc.
It can also do some 3D Analysis on the model including: - Distance calculations - Volume calculations - Path Finding
- Viewshed - Height Zoning - Slope Zoning - Shooting
- Watershed - Radar (waves propagation analysis) - etc.
|
|
|
|
|
|
|
|
|
|
- Image Processing
in:
mGIS |
|
|
|
|
|
In addition to its core GIS functionalities, mGIS supports the integration of various types of satellite imagery. These images can be superimposed with vector layers or draped seamlessly onto 3D terrain models for enhanced spatial visualization.
Given the need to interpret and render such imagery effectively, we extended mGIS to include a suite of image processing capabilities. These features were designed to enrich raster data and expand analytical possibilities within the platform. Key functionalities include:
- Image Rectification using Standard Algorithms
- Visual-Based Image Rectification (a proprietary method I developed)
- Image Classification
- Image Filtering
- Multi-band Combination to produce high-quality, color-enhanced satellite images
- Data Fusion: merging satellite images of varying resolutions
- Raster Enrichment Tool: combining satellite imagery with scanned maps to generate composite layers
- Change Detection via an innovative image morphing technique between temporal datasets
- And several other analytical tools tailored to remote sensing workflows
These enhancements positioned mGIS as a comprehensive GIS and image analysis solution, bridging spatial data with advanced remote sensing capabilities.
|
|
|
|
|
|
|
|
|
- System Simulations
in:
HeliFly
War Atlas
War Game |
|
|
|
|
|
One of the most valuable and engaging subsystems in any GIS application is a 3D flight simulation capability—allowing users to experience dynamic flight-throughs over terrain models enriched with satellite imagery and 3D objects.
To fulfill this vision, I developed HeliFly during the creation of mGIS. This application enables users to load any previously defined workspace from mGIS and simulate flights over the 3D terrain. It supports features such as fog simulation, collision detection, and real-time navigation. Additionally, users can design a 3D flight path within the mGIS environment and generate animated sequences for playback purposes.
Another feature I believed would greatly enhance the system was the graphical animation of military operations for use in training scenarios. Historically, such animations were created using sophisticated software like 3ds Max, Maya, or Poser. While these tools were powerful, they introduced several challenges:
- High production costs
- Extensive time requirements
- Limited flexibility in editing scenarios
Recognizing these limitations, I developed a subsystem named War Atlas. This module simulates military actions based on written narratives. The user simply types the scenario text, and a custom language interpreter I designed parses the content—detecting both syntactic and semantic errors. Once corrected, the software instantly generates a dynamic animation representing the action.
A key innovation in War Atlas is the freedom of movement during playback. Unlike traditional animation tools that produce fixed-view movies, War Atlas allows users to navigate the battlefield in real time. Observers can fly to any location, view any object from any angle, restart the simulation, or change their perspective. Playback controls include pause, rewind, and fast-forward, offering a more immersive and flexible experience than conventional animation systems.
To complement these capabilities, I introduced the WarGame subsystem—designed for strategic military simulation and scenario evaluation. The core goal of war simulation is to reduce potential costs in terms of human life and equipment by evaluating operations in a controlled virtual environment.
WarGame is a networked application where participants, acting as commanders, perform their predefined roles. A designated referee monitors all events from a separate node and assesses either the tactical soundness of the scenario or the performance of individual participants. Simulations can be executed in either 2D or 3D environments, featuring a full range of units such as companies, battalions, regiments, helicopters, aircraft, and artillery. Each unit is fully interactive, with its own command set—allowing users to direct movements and influence opposing forces dynamically.
|
|
|
|
|
|
|
|
|
- Custom Interpreters and Text Parsing Systems
in:
3D Graphs Master
mPL in mGIS
War Atlas
MEHRANN in MPE |
|
|
|
|
|
Throughout the development of my software applications, I frequently encountered scenarios requiring the parsing of text as input for processing tasks. To meet these needs, I individually designed and implemented a series of custom parsers—each built with its own unique grammar tailored to the requirements of the respective application. Notable examples include:
1. 3D Graphs Master
In this software, users input mathematical functions, which are then interpreted and rendered in either 2D or 3D environments. The parser translates the expression into visual form, enabling dynamic graphing and analysis.
2. mPL — mGIS Programming Language
As part of mGIS, I developed mPL, a proprietary scripting language designed to extend the core functionality of the platform. Comparable to VBA in Microsoft Excel or Python in ESRI products, mPL allows users to write custom programs that interact with the GIS environment. Using the mPL Integrated Development Environment (IDE), users can:
- Load and manipulate workspaces
- Pan and zoom maps
- Adjust camera angles and rotate 3D models
- Draw custom graphical elements
- Perform file I/O operations in both text and binary formats
The language supports conventional programming constructs such as loops and conditionals, and every script written in mPL can be registered as a menu item within the mGIS interface, significantly enhancing system flexibility.
3. War Atlas Interpreter
This interpreter supports scenario scripting in Persian, with potential adaptability to other languages. Users describe military actions in natural language, which the system parses for syntactic and semantic accuracy. Once validated, the interpreter generates a corresponding animated simulation of the scenario—bridging language and visual execution.
4. MPE — MEHRANN Programming Environment
Developed during my MSc studies, MPE is an integrated development environment specifically crafted for programming and experimenting with back-propagation neural networks. Built around MEHRANN (Mega-Edged Highly Reusable Artificial Neural Network), this system provides:
- Layer and edge definition
- Input of training datasets
- Real-time RMS error visualization during training
- Saving and reusing trained models with unseen data
The scripting language in MPE adopts a hybrid syntax influenced by BASIC and C++, offering an intuitive approach for designing, training, and deploying neural networks.
|
|
|
|
|
|
|
|
|
|
- Artificial Intelligence
in:
MPE
MEHRANN |
|
|
|
My Master’s dissertation focused on Feed-Forward Backpropagation Neural Networks, providing an opportunity to translate my theoretical knowledge of neural architectures into a practical solution.
The project centered on the visual recognition of mouth states within an image—specifically determining whether the mouth was closed, open, or semi-open. To achieve this, I developed a dedicated software application capable of processing facial imagery and classifying mouth positions based on extracted features and neural network analysis.
This work served as a foundation for future advancements in my neural network research and contributed directly to the development of MEHRANN (Mega-Edged Highly Reusable Artificial Neural Network), an adaptable framework designed to support a variety of learning models and recognition tasks.
|
|
|
|
|
|
|
|
|
- Internet-Enabled Apps
in:
IWS |
|
|
|
In 2006, following my employment at Viraman, Touchin, and Arvin Decorative Metals, I was tasked with developing software solutions to enhance inter-office communication and workflow coordination across multiple international branches. These companies—under the same ownership—had operational offices in Spain, Dubai, Iran, China, Russia, and South Korea. The initiative was driven by our CEO, who envisioned a streamlined platform to support global staff collaboration and task management.
Initially, I developed several standalone websites to facilitate internal communication and project follow-up. Each site reflected the foundational concepts proposed by our CEO and catered to the specific operational needs of the respective offices.
As the number of websites increased, navigating across platforms became cumbersome for users—especially when relying on bookmarks or remembering individual URLs. To resolve this, I designed and implemented a centralized software system known as IWS (Integrated Web-Sites). This Internet-enabled application unified access to all internal websites within a single interface and provided a robust communication toolkit.
Key features of IWS include:
- Unified Login: Seamless access to all integrated websites without repetitive authentication
- Online Presence Detection: View which staff members are online across global offices
- Real-Time and Offline Chat: Communicate instantly or leave messages for later retrieval
- Software Repository: Download essential internal tools and resources
- Time Zone Viewer: Monitor local time across international branches
- Holiday and Workday Tracker: View country-specific calendars and schedules
- Weather Updates: Get current conditions for office locations for travel planning
- Daily Reporting: Submit work summaries that are automatically emailed to managers each evening
- Language Support: Built-in access to Google Translate for multilingual collaboration
This platform significantly improved cross-border communication, operational transparency, and workflow efficiency across the organization’s global footprint.
|
|
|
|
|
|
|
|
|
- Accounting & Financial Apps
in:
Fractal Accounting |
|
|
|
In late 2008, I was assigned the task of developing a web-based accounting software to serve as a unified financial management platform across multiple affiliated companies. The goal was to establish a standard accounting system accessible to teams in different regions.
Development began with one of the smaller companies in Dubai, and by mid-2010, the system was deployed for practical use. The company entered its opening balances and inventory records, and soon began logging transactions across purchasing, sales, production, payments, and receipts. At the close of the 2010 financial year, the software successfully executed year-end procedures and automatically initiated the 2011 fiscal cycle. They have continued using the system ever since.
Following its initial deployment, the software underwent continuous development and has been implemented in five additional organizations since 2011. It includes all standard features expected from a modern accounting solution and has proven stable and effective across varying operational requirements.
In 2017, Fractal Accounting was formally adopted by Aceromet FZCo, located in Dubai, UAE. For four months, I worked closely on-site with users to observe workflows, gather feedback, and tailor new functionalities aligned with their specific business needs. In December 2018, Aceromet LLC, a newly established company in Sharjah, UAE, also selected Fractal Accounting as their core financial system.
Today, Fractal Accounting is an international web-based application serving more than 50 users across diverse departments—including management, inventory, production, sales, and finance. Its adaptability and centralized architecture continue to support companies seeking reliable, scalable, and accessible financial operations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|