Next-Gen Open-Source Community Ecology Analysis Platform
Combining R's statistical power with modern UX design
Most ecological analysis software faces a critical trade-off:
- User-friendly tools lack statistical rigor
- Rigorous tools sacrifice usability
Ördin solves both. Built on battle-tested R packages (vegan, iNEXT, betapart) with an intuitive, modern interface inspired by VS Code.
| Feature | Ördin |
|---|---|
| Ordination Methods | 9 (NMDS, PCA, CA, DCA, PCoA, CCA, RDA, db-RDA, CAP) |
| Diversity Analysis | iNEXT rarefaction + 8 diversity indices |
| Beta Diversity | Full partitioning (turnover & nestedness) |
| Statistical Tests | PERMANOVA, ANOSIM, Mantel, envfit |
| Plot Export | Up to 600 DPI (PNG, PDF, SVG, TIFF) |
| Real-time Customization | 18+ plot parameters |
| Code Quality | A+ (98/100) |
| Learning Curve | Minutes, not weeks |
Ördin is a next-gen, open-source, cross-platform desktop application that brings modern community ecology analysis to everyone. No R coding required—just upload your data and start analyzing.
- Researchers - Publication-ready analyses and exports
- Students - Learn ecology without programming barriers
- Consultants - Next-gen reports with minimal setup
- Educators - Teaching tool with reproducible workflows
UI/UX Improvements:
- 🪟 Frameless Window Design: Custom title bar with NO OS chrome for clean, modern look
- 🎨 VS Code-Inspired Interface: Professional flat design matching industry standards
- 🎯 Activity Bar Navigation: Left-side activity bar with collapsible sidebar panels
- 📑 Tab Bar System: Multi-tab workspace with breadcrumb navigation
- ⚡ Window Controls: Custom minimize, maximize, close buttons integrated into title bar
- 🖱️ Draggable Title Bar: Native window dragging with
-webkit-app-region - 📐 Responsive Layout: Flexbox-based layout preventing overlap issues
- 🔧 Right Properties Panel: Collapsible properties panel with real-time plot customization
- ⚙️ Settings System: Comprehensive settings with 6 sections (Appearance, Plot Defaults, Analysis, Data, Performance, Advanced)
- 📚 Help System: Interactive help with 17 individual topic pages and smooth navigation
- ✅ Error-Free Console: Suppressed conflicting package JavaScript errors
Analysis Features:
- 📊 Enhanced Ordination Analysis: 9 ordination methods + 2 diversity modules with modular architecture
- Ordination: NMDS, PCA, CA, DCA, PCoA, CCA, RDA, db-RDA, CAP
- Diversity: iNEXT Estimation, Diversity Indices
- 🎨 Real-Time Plot Customization: Right panel with 18+ controls for instant plot updates
- Themes: Clean, Minimal, Dark, Classic, Light, Void (ggplot2-based)
- Typography: Font family, sizes (base, title, axis, legend, strip)
- Lines & Points: Line width, point size, shapes, colors
- Grids: Major/minor grid toggle, axis line width
- CI Ribbons: Show/hide confidence intervals, transparency control
- Legends: Row count, size, position customization
- Facets: Label size for multi-panel plots
- 📉 Advanced Ordination Features: Confidence ellipses, species scores, environmental vectors
- 💾 Dynamic Updates: All plot changes apply in real-time without re-running analyses
- 📤 Publication Exports: PNG, TIFF, SVG at 300 DPI with customizable dimensions
- 📈 Comprehensive Settings: 6 settings sections with persistent browser storage
Technical Improvements:
- ⚡ Optimized Startup: Splash screen with smooth transition to main window
- 🔒 Secure IPC: Preload script for window control communication
- 📱 DevTools Integration: Built-in developer tools for debugging
- 🎯 Production Ready: Fully tested and stable for deployment
- 🎨 Dark/Light Theme Toggle: Professional theme switching with persistent preferences
- ☀️ Theme Button: Positioned on far right of navbar (sun/moon icons)
- 💾 localStorage Persistence: Theme preference saved across sessions
- 🎨 Complete UI Adaptation: All elements respond to theme changes
- ⚡ Smooth Transitions: 0.2s ease animations on theme switch
- 🐛 CSS Architecture Fix: Eliminated quote escaping issues with class-based approach
- 🗺️ Ordination Module: 5 methods (NMDS, PCA, CA, DCA, PCoA) with 5 distance measures
- 📈 Diversity Indices Module: Shannon, Simpson, evenness, rarefaction, accumulation curves
- 🎯 Modular Architecture: Professional tab-based navigation (Diversity | Ordination | Indices | Help)
- 📊 Enhanced vegan Integration: 19 vegan functions (~9.5% coverage, up from 0.5%)
- 🎨 Enterprise UX: Clean, organized interface with dedicated modules
- Diversity Estimation: iNEXT-based rarefaction and extrapolation
- Individual-based and incidence-based data support
- Rarefaction and extrapolation methods
- Three visualization types: sample-size, coverage, completeness
- Hill numbers (q=0, 1, 2): Species richness, Shannon, Simpson diversity
- Bootstrap confidence intervals (95% default)
- Diversity Indices: Classic diversity and evenness metrics
- Alpha diversity: Shannon, Simpson, Inverse Simpson, Fisher's Alpha, Richness
- Evenness indices: Pielou's J', Simpson's E, Evar
- Export Formats: CSV, Excel, JSON
- 7 Ordination Methods:
- NMDS: Non-metric Multidimensional Scaling
- PCA: Principal Components Analysis
- CA: Correspondence Analysis
- DCA: Detrended Correspondence Analysis
- CCA: Canonical Correspondence Analysis (constrained)
- RDA: Redundancy Analysis (constrained)
- PCoA: Principal Coordinates Analysis
- Advanced Visualization:
- 5 Distance measures: Bray-Curtis, Jaccard, Euclidean, Manhattan, Canberra
- Confidence ellipses for site groups with automatic validation
- Species scores overlay with customizable display options
- Environmental vectors (biplot arrows) for interpretation
- 5 Plot themes: Dark, Light, Classic, Minimal, Publication
- Dynamic theme switching without re-running analyses
- Comprehensive legends explaining all plot elements
- Technical Features:
- 1-5 dimensions support
- Multiple scaling options (1, 2, 3)
- Data transformations: Hellinger, Chi-square, Log, Sqrt, PA, Wisconsin
- Stress values and quality assessment (NMDS)
- Eigenvalue percentages on axes
- Downloadable scores and eigenvalues (CSV)
- Modern Design: VS Code-inspired flat design with professional aesthetics
- Three-Panel Layout: Activity bar + collapsible sidebars (left & right) + main canvas
- Dynamic Sidebars: Context-aware content (Home, Data, Diversity, Ordination, Tests, Settings, Help)
- Theme System: Dark/light theme toggle with persistent preferences
- Real-Time Customization: Right panel with instant plot updates (no re-rendering needed)
- Settings System: 6 comprehensive sections:
- Appearance: Theme, font family, UI zoom (75-150%)
- Plot Defaults: Theme, DPI, format, dimensions
- Analysis Defaults: NMDS distance, k-dimensions, iNEXT bootstrap, permutations
- Data Management: Auto-save, validation, cache clearing
- Performance: Performance mode, caching options
- Advanced: R configuration, package versions (read-only)
- Help System: 17 individual topic pages with smooth navigation:
- Getting Started: Quick Start, What is Ördin, First Steps, Data Import
- Analysis Methods: Ordination, Diversity, Statistics, Visualization
- Tutorials: Import Guide, NMDS, iNEXT, Publication Plots
- Reference: Citations, Shortcuts, Export, Troubleshooting
- Support: FAQs, Bug Reports, Feature Requests
- About: Version info, Author, GitHub repository
- Modular Navigation: Tab-based interface with clear module separation
- Interactive Elements: Enhanced widgets, accordions, and form controls
- Loading States: Modern progress indicators and loading screens
- Multiple Formats: PNG, TIFF, SVG at publication quality (300 DPI)
- Consistent Dimensions: 12"×8" standard sizes
- Theme Support: Exports respect selected plot themes
- Data Exports: CSV, Excel, JSON for all analysis results
- Plot Components: Download scores, eigenvalues, and summary statistics
- Flexible Input: CSV files with automatic data type detection
- Environmental Data: Separate upload for environmental variables
- Data Validation: Automatic checking for common issues
- Sample Datasets: Included research data (spiders, birds, ciliates, ants)
- Cross-Platform: Works on Windows, macOS, and Linux
Before building Ördin, ensure you have:
-
Node.js (LTS version 18.x or 20.x)
- Download from nodejs.org
- Verify:
node -vandnpm -v
-
Git
- Download from git-scm.com
- Verify:
git --version
-
R (version 4.4 or higher)
- Download from r-project.org
- Verify:
R --version
-
Windows-Specific Tools:
- Cygwin: Install from cygwin.com with
wgetpackage - Innoextract: Run
choco install innoextract(requires Chocolatey)
- Cygwin: Install from cygwin.com with
-
Linux-Specific (Debian/Ubuntu):
sudo apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev \ libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev \ libpng-dev libtiff5-dev libjpeg-dev libcairo2-dev
-
Linux-Specific (Fedora/RHEL):
sudo dnf install -y libcurl-devel openssl-devel libxml2-devel \ fontconfig-devel harfbuzz-devel fribidi-devel freetype-devel \ libpng-devel libtiff-devel libjpeg-turbo-devel cairo-devel
git clone https://github.com/jm0535/0rdin.git
cd ordinnpm install# Open Cygwin terminal
cd /cygdrive/c/path/to/ordin
./get-r-win.sh./get-r-mac.sh# Use automated setup script (recommended)
chmod +x setup-linux.sh
./setup-linux.sh
# Or install R from your distribution's package manager
# Ubuntu/Debian: sudo apt install r-base r-base-dev
# Fedora: sudo dnf install R R-devel
# Arch: sudo pacman -S rRscript install-v3-packages.RThis installs the required R packages into the portable R installation:
- shiny
- bslib
- vegan
- iNEXT
- ggplot2
- DT
- readr
- readxl
- dplyr
- tidyr
- shinyjs
- waiter
- shinyFeedback
- shinycssloaders
- shinyWidgets
- openxlsx
- jsonlite
- clipr
- shinyBS
- shinyalert
- viridis
- RColorBrewer
npm startThis launches the Electron app in development mode with DevTools available.
-
Upload a CSV file with species abundance data:
- First column: Site names
- Remaining columns: Species abundances (numeric)
-
Select analysis type:
- Diversity Estimation: Uses iNEXT for rarefaction curves
- Ordination: Uses vegan for multivariate analysis
- Diversity Indices: Calculates classic diversity metrics
-
Configure parameters and click Run
-
Explore results with dynamic theme switching
-
Download summary tables and plots using the download buttons
npm run makeThis creates platform-specific installers in the out/ directory:
- Windows:
out/make/squirrel.windows/x64/Ördin-3.0.0 Setup.exe - macOS:
out/make/zip/darwin/x64/Ordin-darwin-x64-3.0.0.zip - Linux (Debian/Ubuntu):
out/make/deb/x64/ordin_3.0.0_amd64.deb - Linux (Fedora/RHEL):
out/make/rpm/x64/ordin-3.0.0-1.x86_64.rpm - Linux (Generic):
out/make/zip/linux/x64/ordin-linux-x64-3.0.0.zip
Share the generated installer with users. The app includes a portable R installation, so users don't need R installed on their system.
Installation:
- Windows: Run
.exeinstaller - includes splash screen on first launch - macOS: Unzip and drag
.appto Applications - Debian/Ubuntu:
sudo dpkg -i ordin_3.0.0_amd64.deb - Fedora/RHEL:
sudo dnf install ordin-3.0.0-1.x86_64.rpm - Other Linux: Extract
.zipand run./ordin
ordin/
├── src/
│ ├── index.js # Electron main process
│ ├── start-shiny.R # R Shiny server startup script
│ └── helpers.js # Utility functions
├── shiny/
│ ├── app.R # Main Shiny application
│ └── www/ # Static assets (logo, etc.)
├── build/
│ ├── icon.ico # Windows icon
│ └── icon.icns # macOS icon
├── docs/ # Comprehensive documentation
├── sample-data/ # Example datasets
├── get-r-win.sh # Windows R installation script
├── get-r-mac.sh # macOS R installation script
├── install-v3-packages.R # R package installation script
└── package.json # Node.js configuration
Ördin v2.3+ includes a theme toggle button on the far right of the navbar:
- Click the ☀️ (sun) icon in dark mode to switch to light theme
- Click the 🌙 (moon) icon in light mode to switch to dark theme
- Your preference is automatically saved and persists across app restarts
Dark Theme (default):
- Background: #1e1e1e (VS Code dark)
- Sidebar: #252526
- Text: #cccccc
Light Theme:
- Background: #ffffff
- Sidebar: #f8f8f8
- Text: #1e1e1e
Ördin v3.0 introduces advanced plot theming:
- Dark: High-contrast dark background with bright colors
- Light: Clean white background with strong colors
- Classic: Traditional academic styling
- Minimal: Subtle grids and clean presentation
- Publication: Black-and-white for journal submissions
Themes can be changed dynamically without re-running analyses.
- Place your logo in
shiny/www/logo.png - Update the UI to include it:
title = tagList(img(src = "logo.png", height = "50px"), "Ördin")npm audit fix
# or
rm -rf node_modules package-lock.json
npm install- Ensure
automagicis installed:install.packages("automagic") - Check R version compatibility (4.4+)
- Try installing packages manually in RStudio
- Clear the cache:
rm -rf out/ - Rebuild:
npm run make
- The app uses port 8888 by default
- Change it in
src/start-shiny.R:options(shiny.port = 8888)
Ördin implements comprehensive diversity analysis following modern ecological standards:
Diversity Estimation (iNEXT):
- Individual-based rarefaction (abundance data)
- Incidence-based rarefaction (presence/absence data)
- Coverage-based comparison (standardizes by sample completeness)
- Hill numbers (q=0, 1, 2) for true diversity measures
- Bootstrap confidence intervals for robust inference
Diversity Indices (vegan):
- Alpha diversity metrics for within-community diversity
- Evenness measures for distribution uniformity
- Rarefaction for standardized comparisons
- Species accumulation curves for sampling sufficiency
Ördin provides 7 ordination methods for community pattern analysis:
- NMDS: Non-metric dimensional scaling for non-linear relationships
- PCA: Principal components analysis for linear relationships
- CA: Correspondence analysis for unimodal species responses
- DCA: Detrended correspondence analysis to remove arch effect
- CCA: Canonical correspondence analysis for constrained ordination
- RDA: Redundancy analysis for linear constrained ordination
- PCoA: Principal coordinates analysis for distance-based methods
Ördin v3.0 introduces next-gen visualization capabilities:
- Confidence Ellipses: Statistical ellipses for site groups with validation
- Species Scores: Overlay species positions with customizable display
- Environmental Vectors: Biplot arrows showing environmental relationships
- Dynamic Theming: 5 plot themes with instant switching
- Comprehensive Legends: Clear explanation of all plot elements
- Axis Labels: Variance percentages for interpretability
- Export Options: Publication-quality images and data downloads
Ördin provides publication-quality export options for all analyses:
Raster Formats (300 DPI - publication standard):
- PNG - Universal compatibility, lossless compression
- TIFF - Journal submission standard, archival quality
- SVG - Vector format for scalable graphics
Data Exports:
- CSV - Universal data format
- Excel - Spreadsheet compatibility
- JSON - Structured data for programming
Export Settings:
- Dimensions: 12" × 8" (standard publication size)
- DPI: 300 for raster formats (journal requirement)
- Theme consistency: Respects selected plot themes
- Background: Theme-appropriate backgrounds preserved
Detailed guides organized in the docs/ directory:
Analysis Guides (docs/guides/):
- Ordination Guide - Comprehensive ordination analysis
- Data Management - Data handling and validation
- Biplot Guide - Biplot interpretation
- CCA/RDA Guide - Constrained ordination
- Plot Customization - Customization options
- Settings Guide - Application configuration
Setup Guides (docs/setup/):
- Linux Setup - Linux installation
- WSL Setup - Windows Subsystem for Linux
- Fedora Quick Start - Fedora-specific setup
- Publishing Guide - How to publish releases
Developer Documentation (docs/development/):
- Project Overview - Architecture and technology stack
- Reproducibility Guide - Reproducible research
- Security Audit - Security review
- Test Checklist - Testing guidelines
- Getting Started - Quick start guide
- Contributing - Development guidelines
- Code of Conduct - Community standards
- Code Standards - Coding conventions
- CHANGELOG.md - Complete version history and release notes
Historical documentation and implementation logs are preserved in the archive/ directory for reference.
MIT License - See LICENSE file for details
Jimmy Moses (jimmy.moses@pnguot.ac.pg)
- Inspired by Odin's wisdom from Norse mythology
- Built with Electron
- Powered by R Shiny
- Uses vegan and iNEXT packages
If you find Ördin useful, please consider giving it a ⭐️ on GitHub!
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: jimmy.moses@pnguot.ac.pg
If you use Ördin in your research, please cite:
Moses, J. (2025). Ördin: A cross-platform desktop application for community ecology analysis.
GitHub repository: https://github.com/jm0535/0rdin