It's hard not to imagine the disappointment! Look at page 23 of the
Dialog Building Block chapter in the ToolKit documentation
That is terribly sad yet hilarious at the same time.
(Having been through the slow, flaming death of a company during the "Dot com" bust I can completely sympathize. Every engineer working there believed with all their heart that they had some great technology, and unlike a lot of dot-coms I'd say that they legitimately did have something worthwhile, but sometimes the world just isn't ready, or... whatever.)
In part at least I think where Apple really went wrong with the Lisa is instead of building an "open system" they decided to go all-in on trying to own the whole widget. (Your comparison with iOS was indeed very apt there.) The Macintosh gets a lot of flack for being a closed *hardware* box, but unlike with the Lisa the Mac team made a genuine effort to get third party developers onboard from day one. I can't help but think the Lisa might have faired better if they'd had at least preliminary Toolkit documentation and a reasonable build system available on release; I kind of have to wonder if there might have been some overarching confusion on the part of the entire team about whether the Lisa Office System was in fact going to be the "Operating System" of the computer or if it was always intended to be a self-contained "Integrated Software Suite" (ala something like AppleWorks/Framework/Lotus Symphony/etc) that Apple controlled the horizontal and vertical of exclusively. (Again you can make iffy comparison to iOS'es original intention that "third party development" be limited to optimized web apps.)
Maybe in the end you can just attribute it all to hubris. Sure, Apple hired plenty of brilliant people, but you've got to be careful about letting people like that get sucked into believing that they're "smarter than everyone else" and being blinded as a result. The utter failure of Apple's Disk Storage division (around the same time as the Lisa, non-coincidentally enough) seems to have been largely the result of the engineers stubbornly sticking to ideas they thought were brilliant and world-shattering when really, no, they just weren't that great. I hate to say it, but maybe Steve Jobs was onto something by regularly subjecting his employees to humiliating abuse. That's one way to keep them from getting too comfortable. Granted it might not be the optimal one.
my point of view is that the hardcoded mmu is the major flaw of lisa because 68000 is not restartable processor
Yesterday I randomly looked up details on the MMU (because "virtual memory" was mentioned above and, so far as I was aware, the Lisa didn't actually support virtual memory in the "transparent demand paging" sense) and frankly the patent description and the documentation in the Lisa hardware manual left me scratching my head. As you note the 68000 doesn't support restarting from a page fault... but beyond that, it doesn't seem like even the prospect of demand paging is brought up. (By comparison, the documentation for the MMU in the roughly contemporaneous SUN-1 makes a big point of talking about how the MMU *will* support it when the CPU does and, indeed, the Sun-2 uses almost exactly the same design with the substitution of a 68010.) It's... weird, frankly. The Lisa isn't a multi-user machine, and if you *just* want hardware protection for supervisor-verses-user code anyway you can still manage that with a significantly simpler design. Do the Lisa OS/applications actually leverage the multiple virtual address space context feature in any meaningful way, or does the MMU just get set up once when loading LOS and is mostly left alone at that point?
The 68000 is good at handling relative addressing (IE, it's not hard to make code mostly-arbitrarily relocatable) so you don't really *need* a flat virtual memory space per task. (Machines like the Amiga and the Mac got by mostly fine without it.) I have this vague recollection (I can't find a reference quickly so I'll stick to the vagueness, maybe I'm mistaken) that the Apple III included a simple MMU that allowed the location of the stack (and maybe the zero page?) to be changed using a simple register, which can be really useful if you're trying to multi-task on the 6502 because normally the locations of those are fixed. My jaded theory is that *maybe* by analogy with the 6502 the Lisa team decided that the speed improvement you can get on the 68000 from using the "short" 16 bit addressing mode was significant enough that it was worth implementing an MMU that would let each task have its own mapping for the first 32k of RAM.