Why Me (NiM)?

Long story short... today has been a bit harder to deal with than most of late. It was filled with lots of pacing around the room, attempts to gain some sort of comfort from hand to face gesturing, and a more than healthy number of thoughts that are too bleak to go into here. At 4:14pm, I hope that I've at least made it to a point at which I will conclude another day and wake up to a new one tomorrow... I digress ("short" was the point). Part of the thoughts aforementioned, have included NiM, and for the last few hours I've been pondering its future, etc... wondering why people use it (including myself because it IS what I use), wondering if it really matters. Does it?

Why I Use NiM

The obvious answer might be... "Because I built it", or some such variation of that sentiment. And while that may be true, I dug deeper with the goal of finding out why other developers are still using it after all this time. In doing so I had to fire up the node debugger with a hello world just to see what the non-NiM croud scape looked like (i.e. what is about://inspect talking about now days). I'm already familiar with vscode and the fact that it will happily lock you into it's environment/ide and has it's own built in debugger and debugging capabilities... further, with it's consumption/adoption of the Chromium codebase for the Edge browser, they have you locked regardless assuming your browser of choice is Edge... which speaks to why they likely felt free to addopt MV3 regardless of the [s#%t show that it appears to be] (https://github.com/w3c/webextensions/issues/51) at least in terms of Node.js developer lock in. Put another way, if they can't capture what you're doing in VSCode... maybe they can capture it in Edge... if not today... when their browser market share grows as it likely will.


After briefly using about://inspect, I can say that I feel confident in the default message I stil have for NiM Twitter sharing, NiM IS > about://inspect. And it's a shame that it was killed off by the powers that be... and more people don't use it. For one, the debugger session opens up in an entirely new window and that doesn't seem to be configurable as it is with NiM where I can have my debugging sessions in a tab or even a tab group (see Group Inspector Tabs under options) like this...


as well, the session did not re-connect automatically (see Manual vs Auto) even when leaving the old window open and restarting a node process using the same debugging port. Instead a new window is opened with the old defunct window being left... defunct, for me to go in and clean up later, vs NiM just handling all that for me (see Close Automatically).

So yeah, I don't feel like I'm missing anything by using NiM... in fact quite the opposite. The alternatives are...

  1. Invest completely into VSCode. However, I feel that for many things, the browser is the closest source of truth when it comes to Node.js development so why not debug as close as possible to "the truth".
  2. Just use about://inspect since it's built in. I think I just showed how that lacks.
  3. Keep using NiM.

If it ain't broke...

If only things where that simple. So if you haven't been following Google's migration to MV3... therein lies the problem. NiM is built on background.js and heavily relies on that whole paradigm. Basically it has to be responsive to new node debugger instances that are spun up and as such must be "alive" to detect such instances. MV3 basically kills of the idea of a continuous background process for worker processes which SLEEP by design and without hacking do not behave in a manner consistent with what an application like NiM or (a slew of others, and if you're at all iterested you'd do well to check out the great points https://github.com/cuylerstuwe makes here) need to exist.

Based on Google's timeline, NiM will effectively be killed next year, unless some significant changes are made. That said... I'd love to hear from other developers and users of NiM to see why/how they use NiM as well as any feedback as to how they would like to see NiM changed in the future to evolve around the upcoming changes that Google will be making... your feedback is valued and appreciated. [email protected]

Privacy | Terms