IMS. ← All docs

Why the app can feel slow, and how it's addressed

IMS is a build-free web app (a deliberate choice: all code is open and
readable, nothing hidden behind a compiled bundle). Because of this, a
screen loads not one file but dozens of separate ones — and there are a
few typical reasons this can feel slow. Below is what's already been
fixed, and what you can check yourself if it slows down again.

Already fixed in this release

  1. 127.0.0.1 instead of localhost. On some Windows machines the
    word localhost first tries to connect over IPv6, gets no response for
    about 2 seconds, and only then tries the regular address — and this
    happens on EVERY new connection, of which a single screen can make
    dozens. We measured this directly (see "How to check" below) — actual
    server work responds in 40-130 milliseconds, while the connection wait
    was eating up to 4 seconds. That's why all our scripts and the browser
    address use http://127.0.0.1:8010, not localhost.

  2. Browser cache for UI files. Previously the browser re-downloaded
    every interface file on each visit. Now the server tells the browser
    "this file can be cached", so on a repeat visit anything unchanged is
    read from disk, not over the network.

  3. "Busy" cursor while waiting for a server response. Previously,
    clicking a button gave no sign the app was already working — which
    tempted users to click again while it was still processing. Now the
    cursor turns into a "wait" icon for the duration of the request.

  4. Don't store the app inside OneDrive/Google Drive/Dropbox. Folders
    that sync in real time noticeably slow down file access — and this app
    has a lot of files. Keep IMSD on a plain local disk.

If it slows down again — how to check what's wrong

The most reliable approach is not to guess but to see where the time is
actually going:

  1. Open the app in the browser, press F12 (opens developer tools).
  2. Go to the Network tab.
  3. Check Preserve log, if available.
  4. Repeat the action that feels slow (open a screen, click a button).
  5. Right-click the request list → Save all as HAR — this saves a
    .har file.

That file can be handed off for analysis — it shows exactly how much time
went into connecting, how much into the server response, how much into
downloading the file. That's how cause #1 above was found — without such
a file it would have been just a guess.

What we deliberately don't do (and why)