This DEMO site is in active development. (Almost daily updates at the moment) - June 2025
The entire contents of this page are edited in 'the original' iThoughtsX on my Mac. This demo software reads (and soon writes) to the original format which is sitting in a shared folder. No importing or exporting needed.
Most of the code is written by AI (ok wishful thinking, the reality is, AI writes the code (badly), and then I fix it and remove the spaghetti). It is still faster to work this way, but has its own unique frustrations!
The Goals for this project:
To keep the same file format (itmz) format for read and write (this means you dont lose anything since you don't need to export to a different format)
To reach feature parity with iThoughtsX for the features we all use on a daily basis
To provide a framework on top of which I can add all sorts of goodies that I wished iThoughtsX had included
To be able to run as a Web App on my phone or as a Native App on my desktop - Craig Scott originally intended to do an Android App, but it never happened... well now it can!
To be able to run on 'old' devices. (I have a perfectly good iPad2 which I'd like to be able to use as a recipe book in the kitchen)
About Me:
Contact me by email: sryan at smartblackbox dot com
Mini-Blog on my use of local AIs
How I'm using AI to help me write this: (click the (+) to expand this node and read on)
5th May: So, my GPU ran hot for hours trying unsuccessfully to do a simple refactor of some functions from the main script into a module. None of the small 32B parameter local models (Qwen3, Qwen2.5-Coder, GLM) can get their edit format right with Q4 quantisation, ended up doing it myself out of frustration this evening in 10 minutes manually with Vim
17th June: Made lots of progress, but needed to spend a few days to refactor and simplify the codebase. Once again the line count has grown to where the context is pushing the limits of my local ai, so I've added another js library and moved functions out of the main code to help speed up response time
19th June: Itching to work on this again, but client workload is too high - maybe the weekend can see me finalise some sort of drag and drop consistency across browsers. I've basically got it working with a separate implementation for touch and non-touch devices, but I'm not happy with it yet.
Here are some test nodes to play with (try moving them around with keyboard commands (if you are a seasoned iThoughtsX user), try using number keys to open N levels. (mouse drag is now implemented but drop targets are still work in progress
PRESS dot (".") to open up this folded node (or click the plus sign on the RHS)
This is some initial work in progress code for my evolving replacement for good old iThoughtsX
iThoughtsX Maps should live on forever!
I have lots of very large maps I still want to have access to if iThoughtsX stops working on the latest MacOS or Windows releases.
Features that are unlike iThoughtsX
Work in Progress
An investigation of Touch events for phone and tablet dragging
Yep, this is also quite different, it seems that the drag target is not available during the touchmove (weird) so it needs to be stored during touchstart, ok, some more code needed
Making some progress, now I have touch device events almost finished. Currently there is no visual feedback, but if you touch/move, the view scrolls, but if you touch/hold it changes into drag mode and I can capture the source and target node ids.
I am currently still working on mouse support for drag and drop to move elements around
I have the drag end event wired up with an animation that takes the dragged node back to its original position (drop code is still in progress)
Short Term Roadmap: (days)
drag and drop within the page using mouse or touch
Meanwhile, some re-factoring is in order as my main map.js is getting big again!
Medium Term Roadmap: (weeks)
More insert and delete commands
Deployable App for each platform
Change the nodes with links, to have a 'globe' icon like iThoughtsX did.
Visibility of some meta information (created and modified times)
Roadmap items now completed:
Movement and Hierachy Keys