Skip to main content
Damon Skelhorn
Online Wardley Maps developer
View all authors

Release - June 2025 - Major Modernisation

ยท 5 min read
Damon Skelhorn
Online Wardley Maps developer

Welcome to the June 2025 release of OnlineWardleyMaps! This is our most significant modernisation update to date, featuring a complete TypeScript migration, enhanced user interface, and streamlined DSL syntax.

๐ŸŽฏ Key Highlightsโ€‹

โœจ Resizable Editor and Map Interfaceโ€‹

We've introduced a brand new resizable split pane interface that puts you in control of your workspace layout. Now you can dynamically adjust the space between the text editor and map canvas to suit your working style.

Editor Resize Feature

How it works:

  • Hover over the divider between editor and map to see the resize cursor
  • Click and drag left or right to adjust panel sizes
  • Automatic persistence - your preferred layout is saved in your browser
  • Smart constraints - 20% minimum to 60% maximum editor width to keep both panels functional

Perfect for different workflows:

  • More editor space (50-60%): Ideal for complex maps with detailed annotations
  • Balanced layout (33% default): Great for most mapping tasks
  • More map space (20-25%): Perfect when you primarily interact with the visual map
tip

The resize feature works seamlessly across light and dark themes, with the divider automatically adapting to your chosen interface style.

๐Ÿ”ง DSL Syntax Modernisationโ€‹

We've simplified and modernised the Domain Specific Language (DSL) to make it more consistent and intuitive.

Market and Ecosystem Componentsโ€‹

Legacy syntax (now removed):

market CustomerBase [0.9, 0.3]
ecosystem TechPlatform [0.4, 0.7]

New unified syntax:

component CustomerBase [0.9, 0.3] (market)
component TechPlatform [0.4, 0.7] (ecosystem)

Benefits of the new approach:

  • Consistent syntax across all component types
  • Decorator support - combine market/ecosystem with build/buy/outsource
  • Better tooling - improved syntax highlighting and auto-completion
  • Enhanced semantics - markets and ecosystems are clearly specialised components

Enhanced Decorator Combinationsโ€‹

The new syntax enables powerful combinations:

component SupplierMarket [0.8, 0.4] (market, outsource)
component TechEcosystem [0.6, 0.2] (ecosystem, build)
component Platform [0.5, 0.8] (market, buy)
note

Migration Guide: Existing maps using the legacy market and ecosystem syntax will continue to work, but we recommend updating to the new decorator syntax for future compatibility and enhanced features.

๐Ÿš€ Complete TypeScript Migrationโ€‹

OnlineWardleyMaps has undergone a complete migration from JavaScript to TypeScript, bringing significant improvements to code quality, developer experience, and application reliability.

What This Means for Usersโ€‹

  • Enhanced Performance - Better optimisation and faster rendering
  • Improved Reliability - Stronger type checking prevents runtime errors
  • Better Error Messages - More helpful feedback when something goes wrong
  • Future-Proof Architecture - Foundation for upcoming features and improvements

Technical Improvementsโ€‹

  • Unified Component Architecture - Consistent interfaces across all map elements
  • Type-Safe Link Strategies - Robust handling of component relationships
  • Modern React Patterns - Improved state management and component lifecycle
  • Enhanced Symbol System - Modular, performant SVG-based map elements

๐Ÿ› ๏ธ Architecture Enhancementsโ€‹

Unified Map Elementsโ€‹

The new TypeScript architecture introduces a unified component system that treats all map elements consistently:

interface UnifiedComponent {
id: string;
name: string;
type: string; // 'component' | 'anchor' | 'market' | 'ecosystem'
maturity: number;
visibility: number;
decorators?: ComponentDecorator;
// ... additional properties
}

Enhanced link strategies provide more reliable component connections:

  • Strategy Pattern Implementation - Clean separation of link determination logic
  • Evolution State Handling - Elegant support for evolved and evolving components
  • Performance Optimised - Efficient filtering and processing of complex maps

Modern Symbol Componentsโ€‹

All map symbols have been modernised with:

  • React.memo Optimisation - Prevents unnecessary re-renders
  • Consistent Theming - Better support for light/dark modes
  • Type Safety - Full TypeScript coverage with proper interfaces
  • Modular Design - Easy to extend and maintain

๐Ÿ“ˆ Performance Improvementsโ€‹

The TypeScript migration brings noticeable performance improvements:

  • Faster Map Rendering - Optimised component lifecycle and memoisation
  • Reduced Memory Usage - Better garbage collection and state management
  • Improved Responsiveness - Smoother interactions and transitions
  • Enhanced Scalability - Better performance with large, complex maps

๐Ÿ”ฎ Looking Forwardโ€‹

This release establishes a solid foundation for future enhancements:

  • Plugin Architecture - Framework for community extensions
  • Advanced Analytics - Enhanced map analysis and insights
  • Collaboration Features - Real-time collaborative editing capabilities
  • Mobile Optimisation - Improved experience on tablets and mobile devices

๐Ÿ“š Documentation Updatesโ€‹

Our documentation has been updated to reflect all changes:

๐Ÿ”— Supporting the Projectโ€‹

OnlineWardleyMaps remains free and open-source. If you find it valuable, consider supporting its development:

Patreon

Follow @MapsAsCode on X (Twitter) for updates and Wardley mapping insights!


Ready to explore the new features? Visit OnlineWardleyMaps and experience the modernised interface and enhanced DSL capabilities. Your maps have never looked better or been easier to create!

New OnlineWardleyMaps documentation

ยท 2 min read
Damon Skelhorn
Online Wardley Maps developer

We are excited to announce the launch of our brand new documentation site for Online Wardley Maps (OWM). This site is designed to provide a comprehensive, easy-to-navigate resource for all things related to OWM, including our powerful DSL, plugins, and tools.

Whatโ€™s New?โ€‹

  • Detailed Documentation: Explore in-depth guides and references covering the Online Wardley Maps DSL, features, and usage.
  • Visual Examples: See screenshots and GIFs demonstrating how to use the VSCode and Obsidian plugins, as well as the web editor.
  • Getting Started Guides: Step-by-step instructions to help you quickly create and share your own Wardley Maps.
  • Open Source Focus: Learn about our open source philosophy and how you can contribute to the project.
  • Cross-Platform Support: Documentation for using OWM in your browser, VSCode, and Obsidian.

Why This Mattersโ€‹

OnlineWardleyMaps is more than just a website โ€” it is a comprehensive platform consisting of a powerful tool, its own language/DSL, a set of plugins, and the free (open source) OnlineWardleyMaps website. Together, these components empower strategic thinking through visual mapping. Our new documentation site reflects this by making it easier than ever to learn, use, and contribute.

Get Involvedโ€‹

We encourage you to explore the documentation, try out the examples, and join the community. Your feedback and contributions help shape the future of Online Wardley Maps.

Thank you for being part of this journey!


tip

Check out the Getting Started guide to begin creating your own Wardley Maps today.

note

The documentation site is continuously evolving. Stay tuned for more updates and new features.

Wardley Maps for Obsidian.md

ยท 2 min read
Damon Skelhorn
Online Wardley Maps developer

Wardley Maps in Obsidianโ€‹

Iโ€™m excited to announce a new project aimed at expanding access to Wardley mapping across even more tools, next up - Obsidian.md. For anyone who hasn't used it, Obsidian.md is a powerful, local-first note-taking tool loved by researchers, thinkers, and creators. Its flexibility and extendability make it a great home for Wardley mapsโ€”allowing you to visualise strategic landscapes directly within your notes.

As always, it's open-source by default. This new open-source plugin brings the popular, open format (OnlineWardleyMaps or OWM) for Wardley maps right into Obsidian. With it, you can create and interact with maps as part of your markdown files, offering a new way to keep maps tightly integrated with your workflows. While itโ€™s still in early stages and requires a manual installation, the goal is to publish it soon for easy access.

Thanks for supporting this journey to make Wardley maps available in more tools. I hope this plugin inspires new ways of working with strategy and mapping in your daily notes!

Obsidian with Wardley Maps

Installationโ€‹

From within Obsidian.

  1. Open Obsidian Settings
  2. Navigate to "Community plugins" and click "Browse"
  3. Search for "Wardley Maps" and click Install
  4. Enable the plugin in Community plugins

Obsidian Settings

License & Sourceโ€‹

This project is licensed under the AGPL-3.0 license and the source code can be found at github.com/damonsk/obsidian-wardley-maps.

Support the Projectโ€‹

If you find obsidian-wardley-maps, OnlineWardleyMaps or vscode-wardley-maps valuable, consider supporting its development:

Patreon

Follow on X (Twitter) @MapsAsCode for updates and announcements!

Your support helps maintain and improve this plugin as well as OnlineWardleyMaps and vscode-wardley-maps. Every contribution is appreciated. Thank you for your support!

Release - December 2023

ยท 5 min read
Damon Skelhorn
Online Wardley Maps developer

Welcome to the December release of OnlineWardleyMaps. Major release to bring Quality of Life improvements and new features.

New Featuresโ€‹

Pipelines V2โ€‹

We've revamped the pipeline components to enhance the positioning of choice components. This improvement introduces a new syntax, detailed below.

Key Highlights:โ€‹

Improved Positioning:โ€‹

Experience enhanced placement of choice components within your pipelines for a more streamlined and intuitive workflow.

New Syntax:โ€‹

Explore the updated syntax that accompanies this change, providing you with a more expressive and efficient way to define your pipeline components.

Backward Compatibility:โ€‹

Fear not! Both the new and old syntax will be supported, ensuring a smooth transition for all users.

Legacy syntax & viewโ€‹

The old syntax created a view which positioned two components at the given maturity.

pipeline Kettle [0.1, 0.9]

Legacy Pipeline View

Version 2 syntax & viewโ€‹

New version allows nested components which only require their maturity to be specified as they will inherit visibility position from the parent pipeline.

component Kettle [0.45, 0.57]
pipeline Kettle
{
component Campfire Kettle [0.50]
component Electric Kettle [0.63]
}

Version 2 Pipeline View

View an example map which highlights the changes

You can now specify additional context to links by using the optional operator. This will allow you to highlight which links are "limited by", "constraint" or "feedback loop" without using notes. Example below.

Hot Water->Kettle; limited by 

Optional text

Evolve name changesโ€‹

It may be the case that the evolved component will need to represent something new.

Like Physical Space to Virtual Space.

You can now specify the new name of the evolved component using the syntax below. Virtual Space will be the new component name.

component Physical Space [0.91, 0.46]
evolve Physical Space->Virtual Space 0.8

Evolve name changes

View an example map which highlights the changes

Map Iterationsโ€‹

Iterations represent a significant evolution in the way you interact with your Wardley Maps. They allow you to capture the dynamic nature of your landscape over time, enabling a richer and more detailed representation of the evolution of your strategic elements.

Possible uses:โ€‹

Time-Phased Evolution:โ€‹

With Iterations, you can now create snapshots of your Wardley Map at different points in time, capturing the evolution of components, relationships, and strategies.

Enhanced Strategic Planning:โ€‹

Plan and visualize the future states of your landscape by creating iterations that depict the expected evolution of your components and their interdependencies.

Historical Insights:โ€‹

Gain valuable insights into the historical development of your landscape by navigating through different iterations, allowing you to analyze trends, patterns, and the effectiveness of strategic decisions over time.

Improved Collaboration:โ€‹

Collaborate seamlessly with your team by sharing and discussing specific iterations, fostering a shared understanding of the evolving landscape and supporting strategic decision-making.

Effortless Mapping Updates:โ€‹

Easily update and modify your Wardley Map in each iteration, reflecting changes and adaptations as your landscape evolves.

Iterations empower you to move beyond static representations, allowing you to embrace the dynamic nature of strategic planning. By incorporating time-phased evolution into your Wardley Maps, you can make informed decisions, adapt to change, and drive success in an ever-evolving landscape.

Wardley Map Iterations

Quality of Life Improvementsโ€‹

Facelift & Light/Dark Themesโ€‹

OWM has moved away from Bootstrap and now using MaterialUI. With this change comes a more modern look and feel.

Dark / Light modes.โ€‹

By default, OWM will load using a dark theme, including the editor. You can also take advantage of dark maps by using the style dark.

You can toggle light/dark theme from the left hand menu.

Dark Theme

Alt text

Classic Online Wardley Mapsโ€‹

Not ready to move across? You can still access the old website - https://classic.onlinewardleymaps.com

Unsaved Changesโ€‹

Using the browser, the user will be prompted if they navigate away when there are outstanding map changes. This one gets me all the time.

Presentation / Editor Modeโ€‹

This will allow you to hide the map text / editor to give a fullscreen view of the map. This will also allow maps to be viewed from a mobile device in portrait mode.

Presentation View

Fullscreen mode.โ€‹

Remove the header and iterations and go fullscreen with your map and editor. You can also use this with Presentation mode leaving you with just your map.

Toggle Fullscreen

Export as SVGโ€‹

Now you can take your maps and load them directly into your favorite SVG editor. This feature empowers you to further customise and refine your maps using the tools you love.

Export as SVG

Bugfixesโ€‹

Changes to drag/dropโ€‹

A bug manifested after elements on the map are moved followed by a ESC key press later on. The keypress would incorrectly revert the moved element often making the map appear broken.

Usage Guideโ€‹

Until today, the documentation website (this website) was not accessible via the onlinewardleymaps.com website. A navigational link has been added into the "More" menu (top right) and in the footer.

Release - May 2021

ยท 2 min read
Damon Skelhorn
Online Wardley Maps developer

Welcome to the May release of OnlineWardleyMaps. Minor release to bring Quality of Life improvements.

Quality of Life Improvementsโ€‹

Quick Adding Componentsโ€‹

Until today, the only way to add new map components is via the editor. This QoL improvement will allow you to double click anywhere on the map to quickly place a component. Key bindings are present, Press Enter to add or Escape to cancel.

Quick Linking Componentsโ€‹

Until today, the only way to link components was via the editor. This QoL improvement will allow you to click and point to create a new link. To do this, first press CTRL or CMD if MacOS. You'll notice component that can be linked will have a blue drop shadow. Whilst keeping CTRL/CMD pressed, Click the component and begin to move your mouse. You'll notice a line will start to draw. Next, go to the compoent you'd like to connect (whilst keeping CTRL/CMD pressed) and finally click to complete the link.

  1. Press and hold CTRL/CMD throughout the process.
  2. Click the start component.
  3. Move your mouse to the end component.
  4. Click the end component.
  5. Release CTRL/CMD.
  6. Done.

At any point, you can release CTRL/CMD and the linking process will cancel.

Display Code Snippets

Bugfixesโ€‹

A small bug presented itself when dragging/dropping components (the maptext was not correctly updated with new coordinates) when the first line of the maptext was either a comment or blank line

Wardley Maps for Visual Studio Code

ยท 3 min read
Damon Skelhorn
Online Wardley Maps developer

Wardley Maps for Visual Studio Code is a Wardley Map generator. It takes map code written in the editor and renders it as a Wardley Map. You can interact with the map by repositioning components by dragging or dropping. Changes made via the rendered map are reflected back into your map code.

Getting Startedโ€‹

First, you need to make sure you have Visual Studio Code installed. Skip ahead if you're already setup.

Head over to https://code.visualstudio.com/download and download and install the version for your operating system.

Get the extensionโ€‹

Once Visual Studio Code is installed and running, search and install Wardley Maps extension from the Extensions panel. To get to the Extensions panel, from the file menu, select View -> Extensions. You can also use the keyboard shortcut (Windows) Ctrl+Shift+X (macOS) Cmd+Shift+X.

Simply search for and install the extension Wardley Maps shown below.

Alternatively, if you are familiar with VSCode, you can shortcut this process by entering the following command into the Command Palette ((Windows) Ctrl+Shift+P / (macOS) Cmd+Shift+P). ext install damonsk.vscode-wardley-maps

Searching for VS Code Extension

Using the extensionโ€‹

Syntax Highlightingโ€‹

To reduce the cognitive load when reading maps as code, this extension brings with it syntax highlighting.

To enable syntax highlighting, you have two options. By default, any file with an extenion of .wm or .owm will auto enable the syntax highlighting.

For existing files, or new unsaved files, you can set the Language Mode.

Using the Command Palette (keyboard shortcut: (Windows) Ctrl+Shift+P (macOS) Cmd+Shift+P) enter Change Language Mode, press enter and then select Wardley Map

Setting Language Mode

Displaying Mapsโ€‹

Using the Command Palette (keyboard shortcut: (Windows) Ctrl+Shift+P (macOS) Cmd+Shift+P) enter Wardley Maps: Display Map and then press enter.

Display Wardley Map

Auto Completionsโ€‹

To access the code completions (or intellisense) within the text editor, press Ctrl+Space. Code completions (shown in red below) will contain both the keywords (such as component anchor ecosystem) as well as any variables specific to your map. For example, component Hot Water [...] will result in a variable Hot Water. Variables can be used to link components in a value chain. Hot Water->Water

Display Code Completions

Snippetsโ€‹

Similar to code completions, to access snippets within the text editor, press Ctrl+Space. Snippets (shown in yellow below) are complete examples which you can modify, you may tab between placeholders for quick editing.

The following snippet anchor name [0.9, 0.1] has three placeholders.

anchor <initial text cursor> [<tab to edit>, <tab again to edit>]

Display Code Snippets

License & Sourceโ€‹

This project is licensed under the MIT license and the source code can be found at github.com/damonsk/vscode-wardley-maps.

Support the Projectโ€‹

If you find obsidian-wardley-maps, OnlineWardleyMaps or vscode-wardley-maps valuable, consider supporting its development:

Patreon

Follow on X (Twitter) @MapsAsCode for updates and announcements!

Your support helps maintain and improve this plugin as well as OnlineWardleyMaps and vscode-wardley-maps. Every contribution is appreciated. Thank you for your support!

Using Pioneers, Settlers and Town Planners

ยท One min read
Damon Skelhorn
Online Wardley Maps developer

Usageโ€‹

pioneers [<visibility>, <maturity>] <width> <height>
settlers [<visibility>, <maturity>] <width> <height>
townplanners [<visibility>, <maturity>] <width> <height>

Let's look at each partโ€‹

pioneers, settlers and townplanners are keywords. Each new line in your editor should begin with one of these keywords.

<visibility> and <maturity> are the co-ordinates of where you want the block to appear on your map. For example 0.9, 0.2 would translate roughly to Visible and Custom Built.

As we build it up it should now look like

pioneers [0.9, 0.2]

Next up are the width and height properties. These are numbers. A good starter would be 150 80.

pioneers [0.9, 0.2] 150 80

An example of a Web Site component with pioneers would look like:

component Web Site [0.82, 0.25]
build Web Site
pioneers [0.9, 0.2] 150 80

Outputโ€‹

My helpful screenshot

Tips and Tricks - Creating a Legend

ยท One min read
Damon Skelhorn
Online Wardley Maps developer

Pioneers, Settlers and Town Planners Exampleโ€‹

Notes are generic pieces of text that you can place anywhere on a map. They can be versatile and allow you to add more context.

Here is an example of using note elements combined with pioneers, settlers and townplanners elements to create a legend in the top right of the map.

Template (copy and paste into your map)โ€‹

// PST Legend Top Right
pioneers [0.95, 0.83] 120 30
settlers [0.88, 0.83] 120 30
townplanners [0.81, 0.83] 120 30

note Pioneers [0.91, 0.85]
note Settlers [0.84, 0.85]
note Town Planners [0.77, 0.85]

Outputโ€‹

Pioneers, Settlers and Town Planner Legend Example

To get started with this template click here to clone this example.